diff --git a/.gitignore b/.gitignore index ecedc18..fb86a6e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ node_modules/ -build/ scripts/doxity/package-lock.json +kovan.env diff --git a/.travis.yml b/.travis.yml index 88dc5d9..5328acd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,5 +14,4 @@ before_script: - truffle version script: - npm run test - - npm run test:simulate - npm run lint diff --git a/MAINNET_DEPLOYMENT_INSTRUCTIONS.md b/MAINNET_DEPLOYMENT_INSTRUCTIONS.md new file mode 100644 index 0000000..1f88a72 --- /dev/null +++ b/MAINNET_DEPLOYMENT_INSTRUCTIONS.md @@ -0,0 +1,154 @@ +# DigixDAO Mainnet Deployment & Setup + +## Overview + +#### Pre-existing contracts +* DGD ([0xE0B7927c4aF23765Cb51314A0E0521A9645F0E2A](https://etherscan.io/address/0xe0b7927c4af23765cb51314a0e0521a9645f0e2a)) +* DGD Badge ([0x54BDa709FED875224EAe569bb6817d96ef7Ed9ad](https://etherscan.io/address/0x54bda709fed875224eae569bb6817d96ef7ed9ad)) +* DGX ([0x4f3AfEC4E5a3F2A6a1A411DEF7D7dFe50eE057bF](https://etherscan.io/address/0x4f3afec4e5a3f2a6a1a411def7d7dfe50ee057bf)) +* DGX Demurrage Reporter ([0x5BE87E2eEC56629a223Ccd4f4861d2cCaCE213A9](https://etherscan.io/address/0x5be87e2eec56629a223ccd4f4861d2ccace213a9)) +* Carbon Voting 1 ([0x9f56f330bcEB9d4e756BE94581298673e94ED592](https://etherscan.io/address/0x9f56f330bceb9d4e756be94581298673e94ed592)) +* Carbon Voting 2 ([0xDEC6c0Dc7004BA23940C9eE7cB4a0528Ec4C0580](https://etherscan.io/address/0xdec6c0dc7004ba23940c9ee7cb4a0528ec4c0580)) +* Multi-sig wallet (FUNDING_SOURCE) ([0x75bA02c5bAF9cc3E9fE01C51Df3cB1437E8690D4](https://etherscan.io/address/0x75ba02c5baf9cc3e9fe01c51df3cb1437e8690d4)) +* Multi-sig wallet (ROOT) (**TO DEPLOY**) + +#### Contracts to deploy +* DigixDAO storage +* DigixDAO service +* DigixDAO interactive + +#### Multi-sig wallet (FUNDING_SOURCE) +* Already deployed on the ETH mainnet [here](https://etherscan.io/address/0x75ba02c5baf9cc3e9fe01c51df3cb1437e8690d4) +* It transfers ETH funds to `DaoFundingManager` contract + +#### Multi-sig wallet (ROOT) +* Has to be deployed +* Deployment root account adds multi-sig contract as root +* It removes deployment root account from the DigixDAO root +group + +## System setup + +#### DAO contracts +* Clone the [dao-contracts repository](https://github.com/DigixGlobal/dao-contracts) +``` +$ git clone git@github.com:DigixGlobal/dao-contracts.git +``` +* Nuke the `node_modules` directory and `package-lock.json` file if present +``` +$ rm -rf node_modules/ +$ rm -rf package-lock.json +``` +* Install package dependencies +``` +$ npm i +``` +* Check the versions of truffle (v4.1.15) and solc (v0.4.25) +``` +$ ./node_modules/.bin/truffle version +``` + +#### Sigmate keystore +* Install the [Sigmate NPM package](https://www.npmjs.com/package/@digix/sigmate) +``` +$ npm i -g @digix/sigmate +``` +* Ensure that the sigmate version is `3.2.0`, from the output of +``` +$ sigmate --help +``` +* Create sigmate keystore with at least 20 accounts. Generate password in a +secure way +``` +$ sigmate keystore +``` +and follow as prompted +* Create a file `digixdao-mainnet-deployment.env` with file permission `600`, +and add the following content +``` +export KEYSTORE= +export PASSWORD= +``` +* Source the environment variables +``` +$ source /path/to/digixdao-mainnet-deployment.env +``` + +#### Fund relevant accounts +* Print the relevant accounts +``` +$ ./node_modules/.bin/truffle exec scripts/mainnet-deploy/0_print_relevant_accounts.js --network mainnet +``` +* Fund the accounts based on the printed information + +## Contract Deployment and Initialization + +#### Compile and deploy +* Compile the contracts +``` +$ rm -rf build/ +$ ./node_modules/.bin/truffle compile +``` +* Adjust `gasPrice` as per requirement in `truffle.js` file +* Deploy the contracts +``` +$ FUNDING_SOURCE=<> DGX_DEMURRAGE_REPORTER=<> DGD=<> DGD_BADGE=<> CV_1=<> CV_2=<> DGX=<> ./node_modules/.bin/truffle migrate --network mainnet +``` +Provide the addresses of the necessary contracts that have already been deployed +on mainnet. The `FUNDING_SOURCE` is the multi-sig contract that is holding all +the 400,000 ETH for DigixDAO. +* This deployment will be in the following parts: + * Deploying `library` contracts + * Part A, B and C for deploying `storage` layer contracts + * Deploying `service` layer contracts + * Part A, B, C, D and E for deploying `interactive` layer contracts + +#### Configuration after deployment +* Lock the `ContractResolver` forever +``` +$ ./node_modules/.bin/truffle exec scripts/mainnet-deploy/1_forever_lock_contract_resolver.js --network mainnet +``` +* Add Ledger accounts as the `Founder`, `PRL` and `KYC Admin` roles +``` +$ LEDGER_FOUNDER= LEDGER_PRL= ./node_modules/.bin/truffle exec scripts/mainnet-deploy/2_add_ledgers_as_roles.js --network mainnet +``` +For instance, if you wish to add 2 founders and 3 PRLs, provide comma-separated address values +``` +$ LEDGER_FOUNDER=0xabc,0x123 LEDGER_PRL=0xaaa,0xbbb,0xccc ./node_modules/.bin/truffle exec scripts/mainnet-deploy/2_add_ledgers_as_roles.js --network mainnet +``` +* Add the multi-sig contract address as root in the directory +``` +$ MULTISIG=<> ./node_modules/.bin/truffle exec scripts/mainnet-deploy/3_add_root.js --network mainnet +``` +* Recover leftover funds from the sigmate `root` account +``` +$ COLLECTOR=<> GAS_PRICE_IN_GWEI=<> ./node_modules/.bin/truffle exec scripts/mainnet-deploy/4_recover_leftover_funds.js --network mainnet +``` +provide it the address of the deployed multi-sig wallet (`FUNDING_SOURCE`) contract to `collect` all the leftover funds. Also provide what is the gas price as set in `truffle.js` file. If `GAS_PRICE_IN_GWEI` is not provided, a default value of 20 GWEI will be assigned +* Remove the default `root` (`accounts[0]`) from Gnosis multi-sig GUI. + * Option 1: Submit a transaction from Gnosis Multi-sig wallet interface (check [here](https://github.com/DigixGlobal/dao-contracts/blob/mainnet-deploy/MAINNET_DEPLOYMENT_INSTRUCTIONS.md#steps-to-get-data-field-for-the-above-transaction) for detailed instructions on getting these parameters) + * Option 2: First, get payload to remove the root user: + ``` + DaoIdentity.at(DaoIdentity.address).removeGroupUser.request('') + ``` + Then, get the destination and data and get payload to submit a transaction in the MultiSig, to be done by one of the key holders: + ``` + # in Gnosis repo + MultiSigWallet.at(MultiSigWallet.address).submitTransaction.request('', 0, 'data from previous step') + ``` + Finally, get the other key holders to send this payload: + ``` + # assuming transaction id is 0 + MultiSigWallet.at(MultiSigWallet.address).confirmTransaction.request(0) + ``` + +* Transfer funds into the `DaoFundingManager` contract + * From the `FUNDING_SOURCE` multi-sig wallet + * Transaction to send ETH to `DaoFundingManager` + + +* Set start of first quarter: +Get one of the founders to send this transaction: +``` +Dao.at(Dao.address).setStartOfFirstQuarter.request() +``` diff --git a/build/contracts/ACOwned.json b/build/contracts/ACOwned.json new file mode 100644 index 0000000..c05be9e --- /dev/null +++ b/build/contracts/ACOwned.json @@ -0,0 +1,2381 @@ +{ + "contractName": "ACOwned", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "new_owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_new_owner", + "type": "address" + } + ], + "name": "change_owner", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claim_ownership", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610393806100206000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063253c8bd4146100675780634552b04f146100c25780638da5cb5b14610119578063f7a79a0214610170575b600080fd5b34801561007357600080fd5b506100a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061019f565b604051808215151515815260200191505060405180910390f35b3480156100ce57600080fd5b506100d76101fe565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561012557600080fd5b5061012e610224565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561017c57600080fd5b50610185610249565b604051808215151515815260200191505060405180910390f35b60006101a9610310565b15156101b457600080fd5b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156102a757600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050905600a165627a7a72305820d684d1e2f21f894bf1e0d43ad5e885ff817cf17d2a5469bb0d333819a2d4cde90029", + "deployedBytecode": "0x608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063253c8bd4146100675780634552b04f146100c25780638da5cb5b14610119578063f7a79a0214610170575b600080fd5b34801561007357600080fd5b506100a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061019f565b604051808215151515815260200191505060405180910390f35b3480156100ce57600080fd5b506100d76101fe565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561012557600080fd5b5061012e610224565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561017c57600080fd5b50610185610249565b604051808215151515815260200191505060405180910390f35b60006101a9610310565b15156101b457600080fd5b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156102a757600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050905600a165627a7a72305820d684d1e2f21f894bf1e0d43ad5e885ff817cf17d2a5469bb0d333819a2d4cde90029", + "sourceMap": "89:932:64:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;89:932:64;;;;;;;", + "deployedSourceMap": "89:932:64:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;672:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;672:173:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;135:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;135:24:64;;;;;;;;;;;;;;;;;;;;;;;;;;;111:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;111:20:64;;;;;;;;;;;;;;;;;;;;;;;;;;;849:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;849:169:64;;;;;;;;;;;;;;;;;;;;;;;;;;;672:173;774:13;288:10;:8;:10::i;:::-;280:19;;;;;;;;809:10;797:9;;:22;;;;;;;;;;;;;;;;;;836:4;825:15;;672:173;;;:::o;135:24::-;;;;;;;;;;;;;:::o;111:20::-;;;;;;;;;;;;;:::o;849:169::-;914:13;959:9;;;;;;;;;;;945:23;;:10;:23;;;937:32;;;;;;;;983:9;;;;;;;;;;;975:5;;:17;;;;;;;;;;;;;;;;;;1009:4;998:15;;849:169;:::o;527:141::-;606:14;657:5;;;;;;;;;;;643:19;;:10;:19;;;630:33;;527:141;:::o", + "source": "pragma solidity ^0.4.25;\n\n/// @title Owner based access control\n/// @author DigixGlobal\n\ncontract ACOwned {\n\n address public owner;\n address public new_owner;\n bool is_ac_owned_init;\n\n /// @dev Modifier to check if msg.sender is the contract owner\n modifier if_owner() {\n require(is_owner());\n _;\n }\n\n function init_ac_owned()\n internal\n returns (bool _success)\n {\n if (is_ac_owned_init == false) {\n owner = msg.sender;\n is_ac_owned_init = true;\n }\n _success = true;\n }\n\n function is_owner()\n private\n constant\n returns (bool _is_owner)\n {\n _is_owner = (msg.sender == owner);\n }\n\n function change_owner(address _new_owner)\n if_owner()\n public\n returns (bool _success)\n {\n new_owner = _new_owner;\n _success = true;\n }\n\n function claim_ownership()\n public\n returns (bool _success)\n {\n require(msg.sender == new_owner);\n owner = new_owner;\n _success = true;\n }\n\n}\n", + "sourcePath": "@digix/cacp-contracts-dao/contracts/ACOwned.sol", + "ast": { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ACOwned.sol", + "exportedSymbols": { + "ACOwned": [ + 18682 + ] + }, + "id": 18683, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 18589, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:64" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Owner based access control\n @author DigixGlobal", + "fullyImplemented": true, + "id": 18682, + "linearizedBaseContracts": [ + 18682 + ], + "name": "ACOwned", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 18591, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 18682, + "src": "111:20:64", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18590, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "111:7:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 18593, + "name": "new_owner", + "nodeType": "VariableDeclaration", + "scope": 18682, + "src": "135:24:64", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18592, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "135:7:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 18595, + "name": "is_ac_owned_init", + "nodeType": "VariableDeclaration", + "scope": 18682, + "src": "163:21:64", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18594, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "163:4:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 18603, + "nodeType": "Block", + "src": "274:37:64", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 18598, + "name": "is_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18642, + "src": "288:8:64", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 18599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "288:10:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18597, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "280:7:64", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "280:19:64", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18601, + "nodeType": "ExpressionStatement", + "src": "280:19:64" + }, + { + "id": 18602, + "nodeType": "PlaceholderStatement", + "src": "305:1:64" + } + ] + }, + "documentation": "@dev Modifier to check if msg.sender is the contract owner", + "id": 18604, + "name": "if_owner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 18596, + "nodeType": "ParameterList", + "parameters": [], + "src": "271:2:64" + }, + "src": "254:57:64", + "visibility": "internal" + }, + { + "body": { + "id": 18627, + "nodeType": "Block", + "src": "397:126:64", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 18611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 18609, + "name": "is_ac_owned_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18595, + "src": "407:16:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 18610, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "427:5:64", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "407:25:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 18622, + "nodeType": "IfStatement", + "src": "403:95:64", + "trueBody": { + "id": 18621, + "nodeType": "Block", + "src": "434:64:64", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18612, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18591, + "src": "442:5:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18613, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "450:3:64", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 18614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "450:10:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "442:18:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18616, + "nodeType": "ExpressionStatement", + "src": "442:18:64" + }, + { + "expression": { + "argumentTypes": null, + "id": 18619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18617, + "name": "is_ac_owned_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18595, + "src": "468:16:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "487:4:64", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "468:23:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18620, + "nodeType": "ExpressionStatement", + "src": "468:23:64" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 18625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18623, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18607, + "src": "503:8:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "514:4:64", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "503:15:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18626, + "nodeType": "ExpressionStatement", + "src": "503:15:64" + } + ] + }, + "documentation": null, + "id": 18628, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "init_ac_owned", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18605, + "nodeType": "ParameterList", + "parameters": [], + "src": "337:2:64" + }, + "payable": false, + "returnParameters": { + "id": 18608, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18607, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 18628, + "src": "380:13:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18606, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "380:4:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "379:15:64" + }, + "scope": 18682, + "src": "315:208:64", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 18641, + "nodeType": "Block", + "src": "624:44:64", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18633, + "name": "_is_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18631, + "src": "630:9:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 18637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18634, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "643:3:64", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 18635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "643:10:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 18636, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18591, + "src": "657:5:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "643:19:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 18638, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "642:21:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "630:33:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18640, + "nodeType": "ExpressionStatement", + "src": "630:33:64" + } + ] + }, + "documentation": null, + "id": 18642, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "is_owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18629, + "nodeType": "ParameterList", + "parameters": [], + "src": "544:2:64" + }, + "payable": false, + "returnParameters": { + "id": 18632, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18631, + "name": "_is_owner", + "nodeType": "VariableDeclaration", + "scope": 18642, + "src": "606:14:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18630, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "606:4:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "605:16:64" + }, + "scope": 18682, + "src": "527:141:64", + "stateMutability": "view", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 18659, + "nodeType": "Block", + "src": "791:54:64", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18651, + "name": "new_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18593, + "src": "797:9:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18652, + "name": "_new_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18644, + "src": "809:10:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "797:22:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18654, + "nodeType": "ExpressionStatement", + "src": "797:22:64" + }, + { + "expression": { + "argumentTypes": null, + "id": 18657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18655, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18649, + "src": "825:8:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18656, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "836:4:64", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "825:15:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18658, + "nodeType": "ExpressionStatement", + "src": "825:15:64" + } + ] + }, + "documentation": null, + "id": 18660, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 18647, + "modifierName": { + "argumentTypes": null, + "id": 18646, + "name": "if_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18604, + "src": "725:8:64", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "725:10:64" + } + ], + "name": "change_owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18645, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18644, + "name": "_new_owner", + "nodeType": "VariableDeclaration", + "scope": 18660, + "src": "694:18:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18643, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "694:7:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "693:20:64" + }, + "payable": false, + "returnParameters": { + "id": 18650, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18649, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 18660, + "src": "774:13:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18648, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "774:4:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "773:15:64" + }, + "scope": 18682, + "src": "672:173:64", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18680, + "nodeType": "Block", + "src": "931:87:64", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 18669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18666, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "945:3:64", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 18667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "945:10:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 18668, + "name": "new_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18593, + "src": "959:9:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "945:23:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18665, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "937:7:64", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "937:32:64", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18671, + "nodeType": "ExpressionStatement", + "src": "937:32:64" + }, + { + "expression": { + "argumentTypes": null, + "id": 18674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18672, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18591, + "src": "975:5:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18673, + "name": "new_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18593, + "src": "983:9:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "975:17:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18675, + "nodeType": "ExpressionStatement", + "src": "975:17:64" + }, + { + "expression": { + "argumentTypes": null, + "id": 18678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18676, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18663, + "src": "998:8:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18677, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1009:4:64", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "998:15:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18679, + "nodeType": "ExpressionStatement", + "src": "998:15:64" + } + ] + }, + "documentation": null, + "id": 18681, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "claim_ownership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18661, + "nodeType": "ParameterList", + "parameters": [], + "src": "873:2:64" + }, + "payable": false, + "returnParameters": { + "id": 18664, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18663, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 18681, + "src": "914:13:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18662, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "914:4:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "913:15:64" + }, + "scope": 18682, + "src": "849:169:64", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 18683, + "src": "89:932:64" + } + ], + "src": "0:1022:64" + }, + "legacyAST": { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ACOwned.sol", + "exportedSymbols": { + "ACOwned": [ + 18682 + ] + }, + "id": 18683, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 18589, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:64" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Owner based access control\n @author DigixGlobal", + "fullyImplemented": true, + "id": 18682, + "linearizedBaseContracts": [ + 18682 + ], + "name": "ACOwned", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 18591, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 18682, + "src": "111:20:64", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18590, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "111:7:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 18593, + "name": "new_owner", + "nodeType": "VariableDeclaration", + "scope": 18682, + "src": "135:24:64", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18592, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "135:7:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 18595, + "name": "is_ac_owned_init", + "nodeType": "VariableDeclaration", + "scope": 18682, + "src": "163:21:64", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18594, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "163:4:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 18603, + "nodeType": "Block", + "src": "274:37:64", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 18598, + "name": "is_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18642, + "src": "288:8:64", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 18599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "288:10:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18597, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "280:7:64", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "280:19:64", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18601, + "nodeType": "ExpressionStatement", + "src": "280:19:64" + }, + { + "id": 18602, + "nodeType": "PlaceholderStatement", + "src": "305:1:64" + } + ] + }, + "documentation": "@dev Modifier to check if msg.sender is the contract owner", + "id": 18604, + "name": "if_owner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 18596, + "nodeType": "ParameterList", + "parameters": [], + "src": "271:2:64" + }, + "src": "254:57:64", + "visibility": "internal" + }, + { + "body": { + "id": 18627, + "nodeType": "Block", + "src": "397:126:64", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 18611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 18609, + "name": "is_ac_owned_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18595, + "src": "407:16:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 18610, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "427:5:64", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "407:25:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 18622, + "nodeType": "IfStatement", + "src": "403:95:64", + "trueBody": { + "id": 18621, + "nodeType": "Block", + "src": "434:64:64", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18612, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18591, + "src": "442:5:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18613, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "450:3:64", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 18614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "450:10:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "442:18:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18616, + "nodeType": "ExpressionStatement", + "src": "442:18:64" + }, + { + "expression": { + "argumentTypes": null, + "id": 18619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18617, + "name": "is_ac_owned_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18595, + "src": "468:16:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "487:4:64", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "468:23:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18620, + "nodeType": "ExpressionStatement", + "src": "468:23:64" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 18625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18623, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18607, + "src": "503:8:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "514:4:64", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "503:15:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18626, + "nodeType": "ExpressionStatement", + "src": "503:15:64" + } + ] + }, + "documentation": null, + "id": 18628, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "init_ac_owned", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18605, + "nodeType": "ParameterList", + "parameters": [], + "src": "337:2:64" + }, + "payable": false, + "returnParameters": { + "id": 18608, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18607, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 18628, + "src": "380:13:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18606, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "380:4:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "379:15:64" + }, + "scope": 18682, + "src": "315:208:64", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 18641, + "nodeType": "Block", + "src": "624:44:64", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18633, + "name": "_is_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18631, + "src": "630:9:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 18637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18634, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "643:3:64", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 18635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "643:10:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 18636, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18591, + "src": "657:5:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "643:19:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 18638, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "642:21:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "630:33:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18640, + "nodeType": "ExpressionStatement", + "src": "630:33:64" + } + ] + }, + "documentation": null, + "id": 18642, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "is_owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18629, + "nodeType": "ParameterList", + "parameters": [], + "src": "544:2:64" + }, + "payable": false, + "returnParameters": { + "id": 18632, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18631, + "name": "_is_owner", + "nodeType": "VariableDeclaration", + "scope": 18642, + "src": "606:14:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18630, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "606:4:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "605:16:64" + }, + "scope": 18682, + "src": "527:141:64", + "stateMutability": "view", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 18659, + "nodeType": "Block", + "src": "791:54:64", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18651, + "name": "new_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18593, + "src": "797:9:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18652, + "name": "_new_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18644, + "src": "809:10:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "797:22:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18654, + "nodeType": "ExpressionStatement", + "src": "797:22:64" + }, + { + "expression": { + "argumentTypes": null, + "id": 18657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18655, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18649, + "src": "825:8:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18656, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "836:4:64", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "825:15:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18658, + "nodeType": "ExpressionStatement", + "src": "825:15:64" + } + ] + }, + "documentation": null, + "id": 18660, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 18647, + "modifierName": { + "argumentTypes": null, + "id": 18646, + "name": "if_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18604, + "src": "725:8:64", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "725:10:64" + } + ], + "name": "change_owner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18645, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18644, + "name": "_new_owner", + "nodeType": "VariableDeclaration", + "scope": 18660, + "src": "694:18:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18643, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "694:7:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "693:20:64" + }, + "payable": false, + "returnParameters": { + "id": 18650, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18649, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 18660, + "src": "774:13:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18648, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "774:4:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "773:15:64" + }, + "scope": 18682, + "src": "672:173:64", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18680, + "nodeType": "Block", + "src": "931:87:64", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 18669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18666, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "945:3:64", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 18667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "945:10:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 18668, + "name": "new_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18593, + "src": "959:9:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "945:23:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18665, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "937:7:64", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "937:32:64", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18671, + "nodeType": "ExpressionStatement", + "src": "937:32:64" + }, + { + "expression": { + "argumentTypes": null, + "id": 18674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18672, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18591, + "src": "975:5:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18673, + "name": "new_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18593, + "src": "983:9:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "975:17:64", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18675, + "nodeType": "ExpressionStatement", + "src": "975:17:64" + }, + { + "expression": { + "argumentTypes": null, + "id": 18678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18676, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18663, + "src": "998:8:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18677, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1009:4:64", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "998:15:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18679, + "nodeType": "ExpressionStatement", + "src": "998:15:64" + } + ] + }, + "documentation": null, + "id": 18681, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "claim_ownership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18661, + "nodeType": "ParameterList", + "parameters": [], + "src": "873:2:64" + }, + "payable": false, + "returnParameters": { + "id": 18664, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18663, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 18681, + "src": "914:13:64", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18662, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "914:4:64", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "913:15:64" + }, + "scope": 18682, + "src": "849:169:64", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 18683, + "src": "89:932:64" + } + ], + "src": "0:1022:64" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.912Z" +} \ No newline at end of file diff --git a/build/contracts/AddressIteratorInteractive.json b/build/contracts/AddressIteratorInteractive.json new file mode 100644 index 0000000..3e4f2e0 --- /dev/null +++ b/build/contracts/AddressIteratorInteractive.json @@ -0,0 +1,7479 @@ +{ + "contractName": "AddressIteratorInteractive", + "abi": [], + "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a723058202f1d27d765697f8af93523b6bede8410a86c5be653c3f21bc5e5b97038f53ace0029", + "deployedBytecode": "0x6080604052600080fd00a165627a7a723058202f1d27d765697f8af93523b6bede8410a86c5be653c3f21bc5e5b97038f53ace0029", + "sourceMap": "100:8673:74:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;100:8673:74;;;;;;;", + "deployedSourceMap": "100:8673:74:-;;;;;", + "source": "pragma solidity ^0.4.19;\n/**\n @title Address Iterator Interactive\n @author DigixGlobal Pte Ltd\n*/\ncontract AddressIteratorInteractive {\n\n /**\n @notice Lists a Address collection from start or end\n @param _count Total number of Address items to return\n @param _function_first Function that returns the First Address item in the list\n @param _function_last Function that returns the last Address item in the list\n @param _function_next Function that returns the Next Address item in the list\n @param _function_previous Function that returns previous Address item in the list\n @param _from_start whether to read from start (or end) of the list\n @return {\"_address_items\" : \"Collection of reversed Address list\"}\n */\n function list_addresses(uint256 _count,\n function () external constant returns (address) _function_first,\n function () external constant returns (address) _function_last,\n function (address) external constant returns (address) _function_next,\n function (address) external constant returns (address) _function_previous,\n bool _from_start)\n internal\n constant\n returns (address[] _address_items)\n {\n if (_from_start) {\n _address_items = private_list_addresses_from_address(_function_first(), _count, true, _function_last, _function_next);\n } else {\n _address_items = private_list_addresses_from_address(_function_last(), _count, true, _function_first, _function_previous);\n }\n }\n\n\n\n /**\n @notice Lists a Address collection from some `_current_item`, going forwards or backwards depending on `_from_start`\n @param _current_item The current Item\n @param _count Total number of Address items to return\n @param _function_first Function that returns the First Address item in the list\n @param _function_last Function that returns the last Address item in the list\n @param _function_next Function that returns the Next Address item in the list\n @param _function_previous Function that returns previous Address item in the list\n @param _from_start whether to read in the forwards ( or backwards) direction\n @return {\"_address_items\" :\"Collection/list of Address\"}\n */\n function list_addresses_from(address _current_item, uint256 _count,\n function () external constant returns (address) _function_first,\n function () external constant returns (address) _function_last,\n function (address) external constant returns (address) _function_next,\n function (address) external constant returns (address) _function_previous,\n bool _from_start)\n internal\n constant\n returns (address[] _address_items)\n {\n if (_from_start) {\n _address_items = private_list_addresses_from_address(_current_item, _count, false, _function_last, _function_next);\n } else {\n _address_items = private_list_addresses_from_address(_current_item, _count, false, _function_first, _function_previous);\n }\n }\n\n\n /**\n @notice a private function to lists a Address collection starting from some `_current_item` (which could be included or excluded), in the forwards or backwards direction\n @param _current_item The current Item\n @param _count Total number of Address items to return\n @param _including_current Whether the `_current_item` should be included in the result\n @param _function_last Function that returns the address where we stop reading more address\n @param _function_next Function that returns the next address to read after some address (could be backwards or forwards in the physical collection)\n @return {\"_address_items\" :\"Collection/list of Address\"}\n */\n function private_list_addresses_from_address(address _current_item, uint256 _count, bool _including_current,\n function () external constant returns (address) _function_last,\n function (address) external constant returns (address) _function_next)\n private\n constant\n returns (address[] _address_items)\n {\n uint256 _i;\n uint256 _real_count = 0;\n address _last_item;\n\n _last_item = _function_last();\n if (_count == 0 || _last_item == address(0x0)) {\n _address_items = new address[](0);\n } else {\n address[] memory _items_temp = new address[](_count);\n address _this_item;\n if (_including_current == true) {\n _items_temp[0] = _current_item;\n _real_count = 1;\n }\n _this_item = _current_item;\n for (_i = _real_count; (_i < _count) && (_this_item != _last_item);_i++) {\n _this_item = _function_next(_this_item);\n if (_this_item != address(0x0)) {\n _real_count++;\n _items_temp[_i] = _this_item;\n }\n }\n\n _address_items = new address[](_real_count);\n for(_i = 0;_i < _real_count;_i++) {\n _address_items[_i] = _items_temp[_i];\n }\n }\n }\n\n\n /** DEPRECATED\n @notice private function to list a Address collection starting from the start or end of the list\n @param _count Total number of Address item to return\n @param _function_total Function that returns the Total number of Address item in the list\n @param _function_first Function that returns the First Address item in the list\n @param _function_next Function that returns the Next Address item in the list\n @return {\"_address_items\" :\"Collection/list of Address\"}\n */\n /*function list_addresses_from_start_or_end(uint256 _count,\n function () external constant returns (uint256) _function_total,\n function () external constant returns (address) _function_first,\n function (address) external constant returns (address) _function_next)\n\n private\n constant\n returns (address[] _address_items)\n {\n uint256 _i;\n address _current_item;\n uint256 _real_count = _function_total();\n\n if (_count > _real_count) {\n _count = _real_count;\n }\n\n address[] memory _items_tmp = new address[](_count);\n\n if (_count > 0) {\n _current_item = _function_first();\n _items_tmp[0] = _current_item;\n\n for(_i = 1;_i <= (_count - 1);_i++) {\n _current_item = _function_next(_current_item);\n if (_current_item != address(0x0)) {\n _items_tmp[_i] = _current_item;\n }\n }\n _address_items = _items_tmp;\n } else {\n _address_items = new address[](0);\n }\n }*/\n\n /** DEPRECATED\n @notice a private function to lists a Address collection starting from some `_current_item`, could be forwards or backwards\n @param _current_item The current Item\n @param _count Total number of Address items to return\n @param _function_last Function that returns the bytes where we stop reading more bytes\n @param _function_next Function that returns the next bytes to read after some bytes (could be backwards or forwards in the physical collection)\n @return {\"_address_items\" :\"Collection/list of Address\"}\n */\n /*function list_addresses_from_byte(address _current_item, uint256 _count,\n function () external constant returns (address) _function_last,\n function (address) external constant returns (address) _function_next)\n private\n constant\n returns (address[] _address_items)\n {\n uint256 _i;\n uint256 _real_count = 0;\n\n if (_count == 0) {\n _address_items = new address[](0);\n } else {\n address[] memory _items_temp = new address[](_count);\n\n address _start_item;\n address _last_item;\n\n _last_item = _function_last();\n\n if (_last_item != _current_item) {\n _start_item = _function_next(_current_item);\n if (_start_item != address(0x0)) {\n _items_temp[0] = _start_item;\n _real_count = 1;\n for(_i = 1;(_i <= (_count - 1)) && (_start_item != _last_item);_i++) {\n _start_item = _function_next(_start_item);\n if (_start_item != address(0x0)) {\n _real_count++;\n _items_temp[_i] = _start_item;\n }\n }\n _address_items = new address[](_real_count);\n for(_i = 0;_i <= (_real_count - 1);_i++) {\n _address_items[_i] = _items_temp[_i];\n }\n } else {\n _address_items = new address[](0);\n }\n } else {\n _address_items = new address[](0);\n }\n }\n }*/\n\n}\n", + "sourcePath": "@digix/solidity-collections/contracts/abstract/AddressIteratorInteractive.sol", + "ast": { + "absolutePath": "@digix/solidity-collections/contracts/abstract/AddressIteratorInteractive.sol", + "exportedSymbols": { + "AddressIteratorInteractive": [ + 22018 + ] + }, + "id": 22019, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 21725, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:74" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Address Iterator Interactive\n@author DigixGlobal Pte Ltd", + "fullyImplemented": true, + "id": 22018, + "linearizedBaseContracts": [ + 22018 + ], + "name": "AddressIteratorInteractive", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 21789, + "nodeType": "Block", + "src": "1329:301:74", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 21763, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21757, + "src": "1339:11:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 21787, + "nodeType": "Block", + "src": "1490:136:74", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21776, + "name": "_address_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21761, + "src": "1498:14:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 21778, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21739, + "src": "1551:14:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 21779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1551:16:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 21780, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21727, + "src": "1569:6:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 21781, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1577:4:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "id": 21782, + "name": "_function_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21733, + "src": "1583:15:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "id": 21783, + "name": "_function_previous", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21755, + "src": "1600:18:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + ], + "id": 21777, + "name": "private_list_addresses_from_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22017, + "src": "1515:35:74", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_bool_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,bool,function () view external returns (address),function (address) view external returns (address)) view returns (address[] memory)" + } + }, + "id": 21784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1515:104:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "1498:121:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 21786, + "nodeType": "ExpressionStatement", + "src": "1498:121:74" + } + ] + }, + "id": 21788, + "nodeType": "IfStatement", + "src": "1335:291:74", + "trueBody": { + "id": 21775, + "nodeType": "Block", + "src": "1352:132:74", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21764, + "name": "_address_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21761, + "src": "1360:14:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 21766, + "name": "_function_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21733, + "src": "1413:15:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 21767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1413:17:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 21768, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21727, + "src": "1432:6:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 21769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1440:4:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "id": 21770, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21739, + "src": "1446:14:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "id": 21771, + "name": "_function_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21747, + "src": "1462:14:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + ], + "id": 21765, + "name": "private_list_addresses_from_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22017, + "src": "1377:35:74", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_bool_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,bool,function () view external returns (address),function (address) view external returns (address)) view returns (address[] memory)" + } + }, + "id": 21772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1377:100:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "1360:117:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 21774, + "nodeType": "ExpressionStatement", + "src": "1360:117:74" + } + ] + } + } + ] + }, + "documentation": "@notice Lists a Address collection from start or end\n@param _count Total number of Address items to return\n@param _function_first Function that returns the First Address item in the list\n@param _function_last Function that returns the last Address item in the list\n@param _function_next Function that returns the Next Address item in the list\n@param _function_previous Function that returns previous Address item in the list\n@param _from_start whether to read from start (or end) of the list\n@return {\"_address_items\" : \"Collection of reversed Address list\"}", + "id": 21790, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "list_addresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21758, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21727, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "767:14:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21726, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "767:7:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21733, + "name": "_function_first", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "816:63:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + "typeName": { + "id": 21732, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 21728, + "nodeType": "ParameterList", + "parameters": [], + "src": "825:2:74" + }, + "payable": false, + "returnParameterTypes": { + "id": 21731, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21730, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "855:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21729, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "855:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "854:9:74" + }, + "src": "816:63:74", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21739, + "name": "_function_last", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "914:62:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + "typeName": { + "id": 21738, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 21734, + "nodeType": "ParameterList", + "parameters": [], + "src": "923:2:74" + }, + "payable": false, + "returnParameterTypes": { + "id": 21737, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21736, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "953:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21735, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "953:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "952:9:74" + }, + "src": "914:62:74", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21747, + "name": "_function_next", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "1011:69:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + "typeName": { + "id": 21746, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 21742, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21741, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "1021:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21740, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1021:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1020:9:74" + }, + "payable": false, + "returnParameterTypes": { + "id": 21745, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21744, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "1057:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21743, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1057:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1056:9:74" + }, + "src": "1011:69:74", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21755, + "name": "_function_previous", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "1115:73:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + "typeName": { + "id": 21754, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 21750, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21749, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "1125:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21748, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1125:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1124:9:74" + }, + "payable": false, + "returnParameterTypes": { + "id": 21753, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21752, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "1161:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21751, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1161:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1160:9:74" + }, + "src": "1115:73:74", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21757, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "1223:16:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21756, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1223:4:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "766:474:74" + }, + "payable": false, + "returnParameters": { + "id": 21762, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21761, + "name": "_address_items", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "1301:24:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 21759, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1301:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21760, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1301:9:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1300:26:74" + }, + "scope": 22018, + "src": "743:887:74", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 21854, + "nodeType": "Block", + "src": "2953:296:74", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 21830, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21824, + "src": "2963:11:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 21852, + "nodeType": "Block", + "src": "3111:134:74", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21842, + "name": "_address_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21828, + "src": "3119:14:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 21844, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21792, + "src": "3172:13:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 21845, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21794, + "src": "3187:6:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 21846, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3195:5:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "id": 21847, + "name": "_function_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21800, + "src": "3202:15:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "id": 21848, + "name": "_function_previous", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21822, + "src": "3219:18:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + ], + "id": 21843, + "name": "private_list_addresses_from_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22017, + "src": "3136:35:74", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_bool_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,bool,function () view external returns (address),function (address) view external returns (address)) view returns (address[] memory)" + } + }, + "id": 21849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3136:102:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "3119:119:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 21851, + "nodeType": "ExpressionStatement", + "src": "3119:119:74" + } + ] + }, + "id": 21853, + "nodeType": "IfStatement", + "src": "2959:286:74", + "trueBody": { + "id": 21841, + "nodeType": "Block", + "src": "2976:129:74", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21831, + "name": "_address_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21828, + "src": "2984:14:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 21833, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21792, + "src": "3037:13:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 21834, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21794, + "src": "3052:6:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 21835, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3060:5:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "id": 21836, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21806, + "src": "3067:14:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "id": 21837, + "name": "_function_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21814, + "src": "3083:14:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + ], + "id": 21832, + "name": "private_list_addresses_from_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22017, + "src": "3001:35:74", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_bool_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,bool,function () view external returns (address),function (address) view external returns (address)) view returns (address[] memory)" + } + }, + "id": 21838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3001:97:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "2984:114:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 21840, + "nodeType": "ExpressionStatement", + "src": "2984:114:74" + } + ] + } + } + ] + }, + "documentation": "@notice Lists a Address collection from some `_current_item`, going forwards or backwards depending on `_from_start`\n@param _current_item The current Item\n@param _count Total number of Address items to return\n@param _function_first Function that returns the First Address item in the list\n@param _function_last Function that returns the last Address item in the list\n@param _function_next Function that returns the Next Address item in the list\n@param _function_previous Function that returns previous Address item in the list\n@param _from_start whether to read in the forwards ( or backwards) direction\n@return {\"_address_items\" :\"Collection/list of Address\"}", + "id": 21855, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "list_addresses_from", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21825, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21792, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2373:21:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21791, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2373:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21794, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2396:14:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21793, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2396:7:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21800, + "name": "_function_first", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2444:63:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + "typeName": { + "id": 21799, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 21795, + "nodeType": "ParameterList", + "parameters": [], + "src": "2453:2:74" + }, + "payable": false, + "returnParameterTypes": { + "id": 21798, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21797, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2483:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21796, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2483:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2482:9:74" + }, + "src": "2444:63:74", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21806, + "name": "_function_last", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2541:62:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + "typeName": { + "id": 21805, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 21801, + "nodeType": "ParameterList", + "parameters": [], + "src": "2550:2:74" + }, + "payable": false, + "returnParameterTypes": { + "id": 21804, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21803, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2580:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21802, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2580:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2579:9:74" + }, + "src": "2541:62:74", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21814, + "name": "_function_next", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2637:69:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + "typeName": { + "id": 21813, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 21809, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21808, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2647:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21807, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2647:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2646:9:74" + }, + "payable": false, + "returnParameterTypes": { + "id": 21812, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21811, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2683:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21810, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2683:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2682:9:74" + }, + "src": "2637:69:74", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21822, + "name": "_function_previous", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2740:73:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + "typeName": { + "id": 21821, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 21817, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21816, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2750:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21815, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2750:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2749:9:74" + }, + "payable": false, + "returnParameterTypes": { + "id": 21820, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21819, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2786:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21818, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2786:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2785:9:74" + }, + "src": "2740:73:74", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21824, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2847:16:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21823, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2847:4:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2372:492:74" + }, + "payable": false, + "returnParameters": { + "id": 21829, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21828, + "name": "_address_items", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2925:24:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 21826, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2925:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21827, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2925:9:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2924:26:74" + }, + "scope": 22018, + "src": "2344:905:74", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22016, + "nodeType": "Block", + "src": "4335:859:74", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 21882, + "name": "_i", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4341:10:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21881, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4341:7:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 21883, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4341:10:74" + }, + { + "assignments": [ + 21885 + ], + "declarations": [ + { + "constant": false, + "id": 21885, + "name": "_real_count", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4357:19:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21884, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4357:7:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 21887, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 21886, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4379:1:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4357:23:74" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 21889, + "name": "_last_item", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4386:18:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21888, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4386:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 21890, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4386:18:74" + }, + { + "expression": { + "argumentTypes": null, + "id": 21894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21891, + "name": "_last_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21889, + "src": "4411:10:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 21892, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21867, + "src": "4424:14:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 21893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4424:16:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4411:29:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21895, + "nodeType": "ExpressionStatement", + "src": "4411:29:74" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 21904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 21898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 21896, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21859, + "src": "4450:6:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 21897, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4460:1:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4450:11:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 21903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 21899, + "name": "_last_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21889, + "src": "4465:10:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 21901, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4487:3:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 21900, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4479:7:74", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 21902, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4479:12:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4465:26:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4450:41:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 22014, + "nodeType": "Block", + "src": "4547:643:74", + "statements": [ + { + "assignments": [ + 21917 + ], + "declarations": [ + { + "constant": false, + "id": 21917, + "name": "_items_temp", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4555:28:74", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 21915, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4555:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21916, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4555:9:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 21923, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 21921, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21859, + "src": "4600:6:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 21920, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4586:13:74", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", + "typeString": "function (uint256) pure returns (address[] memory)" + }, + "typeName": { + "baseType": { + "id": 21918, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4590:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21919, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4590:9:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + } + }, + "id": 21922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4586:21:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4555:52:74" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 21925, + "name": "_this_item", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4615:18:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21924, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4615:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 21926, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4615:18:74" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 21929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 21927, + "name": "_including_current", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21861, + "src": "4645:18:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 21928, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4667:4:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4645:26:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 21941, + "nodeType": "IfStatement", + "src": "4641:106:74", + "trueBody": { + "id": 21940, + "nodeType": "Block", + "src": "4673:74:74", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 21930, + "name": "_items_temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21917, + "src": "4683:11:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 21932, + "indexExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 21931, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4695:1:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4683:14:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21933, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21857, + "src": "4700:13:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4683:30:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21935, + "nodeType": "ExpressionStatement", + "src": "4683:30:74" + }, + { + "expression": { + "argumentTypes": null, + "id": 21938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21936, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21885, + "src": "4723:11:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 21937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4737:1:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4723:15:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21939, + "nodeType": "ExpressionStatement", + "src": "4723:15:74" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 21944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21942, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21925, + "src": "4754:10:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21943, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21857, + "src": "4767:13:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4754:26:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21945, + "nodeType": "ExpressionStatement", + "src": "4754:26:74" + }, + { + "body": { + "id": 21984, + "nodeType": "Block", + "src": "4861:175:74", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21962, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21925, + "src": "4871:10:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 21964, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21925, + "src": "4899:10:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 21963, + "name": "_function_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21875, + "src": "4884:14:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + "id": 21965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4884:26:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4871:39:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21967, + "nodeType": "ExpressionStatement", + "src": "4871:39:74" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 21972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 21968, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21925, + "src": "4924:10:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 21970, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4946:3:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 21969, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4938:7:74", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 21971, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4938:12:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4924:26:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 21983, + "nodeType": "IfStatement", + "src": "4920:108:74", + "trueBody": { + "id": 21982, + "nodeType": "Block", + "src": "4952:76:74", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4964:13:74", + "subExpression": { + "argumentTypes": null, + "id": 21973, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21885, + "src": "4964:11:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21975, + "nodeType": "ExpressionStatement", + "src": "4964:13:74" + }, + { + "expression": { + "argumentTypes": null, + "id": 21980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 21976, + "name": "_items_temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21917, + "src": "4989:11:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 21978, + "indexExpression": { + "argumentTypes": null, + "id": 21977, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21882, + "src": "5001:2:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4989:15:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21979, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21925, + "src": "5007:10:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4989:28:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21981, + "nodeType": "ExpressionStatement", + "src": "4989:28:74" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 21958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 21952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 21950, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21882, + "src": "4812:2:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 21951, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21859, + "src": "4817:6:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4812:11:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 21953, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4811:13:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 21956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 21954, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21925, + "src": "4829:10:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 21955, + "name": "_last_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21889, + "src": "4843:10:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4829:24:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 21957, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4828:26:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4811:43:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 21985, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 21948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21946, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21882, + "src": "4793:2:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21947, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21885, + "src": "4798:11:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4793:16:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21949, + "nodeType": "ExpressionStatement", + "src": "4793:16:74" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 21960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4855:4:74", + "subExpression": { + "argumentTypes": null, + "id": 21959, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21882, + "src": "4855:2:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21961, + "nodeType": "ExpressionStatement", + "src": "4855:4:74" + }, + "nodeType": "ForStatement", + "src": "4788:248:74" + }, + { + "expression": { + "argumentTypes": null, + "id": 21992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21986, + "name": "_address_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21879, + "src": "5044:14:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 21990, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21885, + "src": "5075:11:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 21989, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5061:13:74", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", + "typeString": "function (uint256) pure returns (address[] memory)" + }, + "typeName": { + "baseType": { + "id": 21987, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5065:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21988, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5065:9:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + } + }, + "id": 21991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5061:26:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "src": "5044:43:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 21993, + "nodeType": "ExpressionStatement", + "src": "5044:43:74" + }, + { + "body": { + "id": 22012, + "nodeType": "Block", + "src": "5129:55:74", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 22004, + "name": "_address_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21879, + "src": "5139:14:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 22006, + "indexExpression": { + "argumentTypes": null, + "id": 22005, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21882, + "src": "5154:2:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5139:18:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 22007, + "name": "_items_temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21917, + "src": "5160:11:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 22009, + "indexExpression": { + "argumentTypes": null, + "id": 22008, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21882, + "src": "5172:2:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5160:15:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5139:36:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 22011, + "nodeType": "ExpressionStatement", + "src": "5139:36:74" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 22000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 21998, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21882, + "src": "5106:2:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 21999, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21885, + "src": "5111:11:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5106:16:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 22013, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 21996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21994, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21882, + "src": "5099:2:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 21995, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5104:1:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5099:6:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21997, + "nodeType": "ExpressionStatement", + "src": "5099:6:74" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 22002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5123:4:74", + "subExpression": { + "argumentTypes": null, + "id": 22001, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21882, + "src": "5123:2:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22003, + "nodeType": "ExpressionStatement", + "src": "5123:4:74" + }, + "nodeType": "ForStatement", + "src": "5095:89:74" + } + ] + }, + "id": 22015, + "nodeType": "IfStatement", + "src": "4446:744:74", + "trueBody": { + "id": 21913, + "nodeType": "Block", + "src": "4493:48:74", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21905, + "name": "_address_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21879, + "src": "4501:14:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 21909, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4532:1:74", + "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": 21908, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4518:13:74", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", + "typeString": "function (uint256) pure returns (address[] memory)" + }, + "typeName": { + "baseType": { + "id": 21906, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4522:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21907, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4522:9:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + } + }, + "id": 21910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4518:16:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "src": "4501:33:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 21912, + "nodeType": "ExpressionStatement", + "src": "4501:33:74" + } + ] + } + } + ] + }, + "documentation": "@notice a private function to lists a Address collection starting from some `_current_item` (which could be included or excluded), in the forwards or backwards direction\n@param _current_item The current Item\n@param _count Total number of Address items to return\n@param _including_current Whether the `_current_item` should be included in the result\n@param _function_last Function that returns the address where we stop reading more address\n@param _function_next Function that returns the next address to read after some address (could be backwards or forwards in the physical collection)\n@return {\"_address_items\" :\"Collection/list of Address\"}", + "id": 22017, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "private_list_addresses_from_address", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21876, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21857, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "3983:21:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21856, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3983:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21859, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4006:14:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21858, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4006:7:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21861, + "name": "_including_current", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4022:23:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21860, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4022:4:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21867, + "name": "_function_last", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4080:62:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + "typeName": { + "id": 21866, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 21862, + "nodeType": "ParameterList", + "parameters": [], + "src": "4089:2:74" + }, + "payable": false, + "returnParameterTypes": { + "id": 21865, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21864, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4119:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21863, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4119:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4118:9:74" + }, + "src": "4080:62:74", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21875, + "name": "_function_next", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4177:69:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + "typeName": { + "id": 21874, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 21870, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21869, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4187:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21868, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4187:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4186:9:74" + }, + "payable": false, + "returnParameterTypes": { + "id": 21873, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21872, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4223:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21871, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4223:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4222:9:74" + }, + "src": "4177:69:74", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3982:265:74" + }, + "payable": false, + "returnParameters": { + "id": 21880, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21879, + "name": "_address_items", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4307:24:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 21877, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4307:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21878, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4307:9:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4306:26:74" + }, + "scope": 22018, + "src": "3938:1256:74", + "stateMutability": "view", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 22019, + "src": "100:8673:74" + } + ], + "src": "0:8774:74" + }, + "legacyAST": { + "absolutePath": "@digix/solidity-collections/contracts/abstract/AddressIteratorInteractive.sol", + "exportedSymbols": { + "AddressIteratorInteractive": [ + 22018 + ] + }, + "id": 22019, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 21725, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:74" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Address Iterator Interactive\n@author DigixGlobal Pte Ltd", + "fullyImplemented": true, + "id": 22018, + "linearizedBaseContracts": [ + 22018 + ], + "name": "AddressIteratorInteractive", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 21789, + "nodeType": "Block", + "src": "1329:301:74", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 21763, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21757, + "src": "1339:11:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 21787, + "nodeType": "Block", + "src": "1490:136:74", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21776, + "name": "_address_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21761, + "src": "1498:14:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 21778, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21739, + "src": "1551:14:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 21779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1551:16:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 21780, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21727, + "src": "1569:6:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 21781, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1577:4:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "id": 21782, + "name": "_function_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21733, + "src": "1583:15:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "id": 21783, + "name": "_function_previous", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21755, + "src": "1600:18:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + ], + "id": 21777, + "name": "private_list_addresses_from_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22017, + "src": "1515:35:74", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_bool_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,bool,function () view external returns (address),function (address) view external returns (address)) view returns (address[] memory)" + } + }, + "id": 21784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1515:104:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "1498:121:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 21786, + "nodeType": "ExpressionStatement", + "src": "1498:121:74" + } + ] + }, + "id": 21788, + "nodeType": "IfStatement", + "src": "1335:291:74", + "trueBody": { + "id": 21775, + "nodeType": "Block", + "src": "1352:132:74", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21764, + "name": "_address_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21761, + "src": "1360:14:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 21766, + "name": "_function_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21733, + "src": "1413:15:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 21767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1413:17:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 21768, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21727, + "src": "1432:6:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 21769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1440:4:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "id": 21770, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21739, + "src": "1446:14:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "id": 21771, + "name": "_function_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21747, + "src": "1462:14:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + ], + "id": 21765, + "name": "private_list_addresses_from_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22017, + "src": "1377:35:74", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_bool_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,bool,function () view external returns (address),function (address) view external returns (address)) view returns (address[] memory)" + } + }, + "id": 21772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1377:100:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "1360:117:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 21774, + "nodeType": "ExpressionStatement", + "src": "1360:117:74" + } + ] + } + } + ] + }, + "documentation": "@notice Lists a Address collection from start or end\n@param _count Total number of Address items to return\n@param _function_first Function that returns the First Address item in the list\n@param _function_last Function that returns the last Address item in the list\n@param _function_next Function that returns the Next Address item in the list\n@param _function_previous Function that returns previous Address item in the list\n@param _from_start whether to read from start (or end) of the list\n@return {\"_address_items\" : \"Collection of reversed Address list\"}", + "id": 21790, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "list_addresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21758, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21727, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "767:14:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21726, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "767:7:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21733, + "name": "_function_first", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "816:63:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + "typeName": { + "id": 21732, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 21728, + "nodeType": "ParameterList", + "parameters": [], + "src": "825:2:74" + }, + "payable": false, + "returnParameterTypes": { + "id": 21731, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21730, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "855:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21729, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "855:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "854:9:74" + }, + "src": "816:63:74", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21739, + "name": "_function_last", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "914:62:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + "typeName": { + "id": 21738, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 21734, + "nodeType": "ParameterList", + "parameters": [], + "src": "923:2:74" + }, + "payable": false, + "returnParameterTypes": { + "id": 21737, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21736, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "953:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21735, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "953:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "952:9:74" + }, + "src": "914:62:74", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21747, + "name": "_function_next", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "1011:69:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + "typeName": { + "id": 21746, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 21742, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21741, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "1021:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21740, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1021:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1020:9:74" + }, + "payable": false, + "returnParameterTypes": { + "id": 21745, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21744, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "1057:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21743, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1057:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1056:9:74" + }, + "src": "1011:69:74", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21755, + "name": "_function_previous", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "1115:73:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + "typeName": { + "id": 21754, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 21750, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21749, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "1125:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21748, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1125:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1124:9:74" + }, + "payable": false, + "returnParameterTypes": { + "id": 21753, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21752, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "1161:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21751, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1161:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1160:9:74" + }, + "src": "1115:73:74", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21757, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "1223:16:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21756, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1223:4:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "766:474:74" + }, + "payable": false, + "returnParameters": { + "id": 21762, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21761, + "name": "_address_items", + "nodeType": "VariableDeclaration", + "scope": 21790, + "src": "1301:24:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 21759, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1301:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21760, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1301:9:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1300:26:74" + }, + "scope": 22018, + "src": "743:887:74", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 21854, + "nodeType": "Block", + "src": "2953:296:74", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 21830, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21824, + "src": "2963:11:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 21852, + "nodeType": "Block", + "src": "3111:134:74", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21842, + "name": "_address_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21828, + "src": "3119:14:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 21844, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21792, + "src": "3172:13:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 21845, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21794, + "src": "3187:6:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 21846, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3195:5:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "id": 21847, + "name": "_function_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21800, + "src": "3202:15:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "id": 21848, + "name": "_function_previous", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21822, + "src": "3219:18:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + ], + "id": 21843, + "name": "private_list_addresses_from_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22017, + "src": "3136:35:74", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_bool_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,bool,function () view external returns (address),function (address) view external returns (address)) view returns (address[] memory)" + } + }, + "id": 21849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3136:102:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "3119:119:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 21851, + "nodeType": "ExpressionStatement", + "src": "3119:119:74" + } + ] + }, + "id": 21853, + "nodeType": "IfStatement", + "src": "2959:286:74", + "trueBody": { + "id": 21841, + "nodeType": "Block", + "src": "2976:129:74", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21831, + "name": "_address_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21828, + "src": "2984:14:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 21833, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21792, + "src": "3037:13:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 21834, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21794, + "src": "3052:6:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 21835, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3060:5:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "id": 21836, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21806, + "src": "3067:14:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "id": 21837, + "name": "_function_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21814, + "src": "3083:14:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + ], + "id": 21832, + "name": "private_list_addresses_from_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22017, + "src": "3001:35:74", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_bool_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,bool,function () view external returns (address),function (address) view external returns (address)) view returns (address[] memory)" + } + }, + "id": 21838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3001:97:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "2984:114:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 21840, + "nodeType": "ExpressionStatement", + "src": "2984:114:74" + } + ] + } + } + ] + }, + "documentation": "@notice Lists a Address collection from some `_current_item`, going forwards or backwards depending on `_from_start`\n@param _current_item The current Item\n@param _count Total number of Address items to return\n@param _function_first Function that returns the First Address item in the list\n@param _function_last Function that returns the last Address item in the list\n@param _function_next Function that returns the Next Address item in the list\n@param _function_previous Function that returns previous Address item in the list\n@param _from_start whether to read in the forwards ( or backwards) direction\n@return {\"_address_items\" :\"Collection/list of Address\"}", + "id": 21855, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "list_addresses_from", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21825, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21792, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2373:21:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21791, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2373:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21794, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2396:14:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21793, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2396:7:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21800, + "name": "_function_first", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2444:63:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + "typeName": { + "id": 21799, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 21795, + "nodeType": "ParameterList", + "parameters": [], + "src": "2453:2:74" + }, + "payable": false, + "returnParameterTypes": { + "id": 21798, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21797, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2483:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21796, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2483:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2482:9:74" + }, + "src": "2444:63:74", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21806, + "name": "_function_last", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2541:62:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + "typeName": { + "id": 21805, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 21801, + "nodeType": "ParameterList", + "parameters": [], + "src": "2550:2:74" + }, + "payable": false, + "returnParameterTypes": { + "id": 21804, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21803, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2580:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21802, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2580:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2579:9:74" + }, + "src": "2541:62:74", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21814, + "name": "_function_next", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2637:69:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + "typeName": { + "id": 21813, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 21809, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21808, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2647:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21807, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2647:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2646:9:74" + }, + "payable": false, + "returnParameterTypes": { + "id": 21812, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21811, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2683:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21810, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2683:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2682:9:74" + }, + "src": "2637:69:74", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21822, + "name": "_function_previous", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2740:73:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + "typeName": { + "id": 21821, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 21817, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21816, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2750:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21815, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2750:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2749:9:74" + }, + "payable": false, + "returnParameterTypes": { + "id": 21820, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21819, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2786:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21818, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2786:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2785:9:74" + }, + "src": "2740:73:74", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21824, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2847:16:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21823, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2847:4:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2372:492:74" + }, + "payable": false, + "returnParameters": { + "id": 21829, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21828, + "name": "_address_items", + "nodeType": "VariableDeclaration", + "scope": 21855, + "src": "2925:24:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 21826, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2925:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21827, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2925:9:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2924:26:74" + }, + "scope": 22018, + "src": "2344:905:74", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22016, + "nodeType": "Block", + "src": "4335:859:74", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 21882, + "name": "_i", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4341:10:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21881, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4341:7:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 21883, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4341:10:74" + }, + { + "assignments": [ + 21885 + ], + "declarations": [ + { + "constant": false, + "id": 21885, + "name": "_real_count", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4357:19:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21884, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4357:7:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 21887, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 21886, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4379:1:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4357:23:74" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 21889, + "name": "_last_item", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4386:18:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21888, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4386:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 21890, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4386:18:74" + }, + { + "expression": { + "argumentTypes": null, + "id": 21894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21891, + "name": "_last_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21889, + "src": "4411:10:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 21892, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21867, + "src": "4424:14:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 21893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4424:16:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4411:29:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21895, + "nodeType": "ExpressionStatement", + "src": "4411:29:74" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 21904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 21898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 21896, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21859, + "src": "4450:6:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 21897, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4460:1:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4450:11:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 21903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 21899, + "name": "_last_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21889, + "src": "4465:10:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 21901, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4487:3:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 21900, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4479:7:74", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 21902, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4479:12:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4465:26:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4450:41:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 22014, + "nodeType": "Block", + "src": "4547:643:74", + "statements": [ + { + "assignments": [ + 21917 + ], + "declarations": [ + { + "constant": false, + "id": 21917, + "name": "_items_temp", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4555:28:74", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 21915, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4555:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21916, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4555:9:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 21923, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 21921, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21859, + "src": "4600:6:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 21920, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4586:13:74", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", + "typeString": "function (uint256) pure returns (address[] memory)" + }, + "typeName": { + "baseType": { + "id": 21918, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4590:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21919, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4590:9:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + } + }, + "id": 21922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4586:21:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4555:52:74" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 21925, + "name": "_this_item", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4615:18:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21924, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4615:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 21926, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4615:18:74" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 21929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 21927, + "name": "_including_current", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21861, + "src": "4645:18:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 21928, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4667:4:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4645:26:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 21941, + "nodeType": "IfStatement", + "src": "4641:106:74", + "trueBody": { + "id": 21940, + "nodeType": "Block", + "src": "4673:74:74", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 21930, + "name": "_items_temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21917, + "src": "4683:11:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 21932, + "indexExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 21931, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4695:1:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4683:14:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21933, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21857, + "src": "4700:13:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4683:30:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21935, + "nodeType": "ExpressionStatement", + "src": "4683:30:74" + }, + { + "expression": { + "argumentTypes": null, + "id": 21938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21936, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21885, + "src": "4723:11:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 21937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4737:1:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4723:15:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21939, + "nodeType": "ExpressionStatement", + "src": "4723:15:74" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 21944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21942, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21925, + "src": "4754:10:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21943, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21857, + "src": "4767:13:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4754:26:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21945, + "nodeType": "ExpressionStatement", + "src": "4754:26:74" + }, + { + "body": { + "id": 21984, + "nodeType": "Block", + "src": "4861:175:74", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21962, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21925, + "src": "4871:10:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 21964, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21925, + "src": "4899:10:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 21963, + "name": "_function_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21875, + "src": "4884:14:74", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + "id": 21965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4884:26:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4871:39:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21967, + "nodeType": "ExpressionStatement", + "src": "4871:39:74" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 21972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 21968, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21925, + "src": "4924:10:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 21970, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4946:3:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 21969, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4938:7:74", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 21971, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4938:12:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4924:26:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 21983, + "nodeType": "IfStatement", + "src": "4920:108:74", + "trueBody": { + "id": 21982, + "nodeType": "Block", + "src": "4952:76:74", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4964:13:74", + "subExpression": { + "argumentTypes": null, + "id": 21973, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21885, + "src": "4964:11:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21975, + "nodeType": "ExpressionStatement", + "src": "4964:13:74" + }, + { + "expression": { + "argumentTypes": null, + "id": 21980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 21976, + "name": "_items_temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21917, + "src": "4989:11:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 21978, + "indexExpression": { + "argumentTypes": null, + "id": 21977, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21882, + "src": "5001:2:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4989:15:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21979, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21925, + "src": "5007:10:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4989:28:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21981, + "nodeType": "ExpressionStatement", + "src": "4989:28:74" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 21958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 21952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 21950, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21882, + "src": "4812:2:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 21951, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21859, + "src": "4817:6:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4812:11:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 21953, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4811:13:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 21956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 21954, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21925, + "src": "4829:10:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 21955, + "name": "_last_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21889, + "src": "4843:10:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4829:24:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 21957, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4828:26:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4811:43:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 21985, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 21948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21946, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21882, + "src": "4793:2:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21947, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21885, + "src": "4798:11:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4793:16:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21949, + "nodeType": "ExpressionStatement", + "src": "4793:16:74" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 21960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4855:4:74", + "subExpression": { + "argumentTypes": null, + "id": 21959, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21882, + "src": "4855:2:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21961, + "nodeType": "ExpressionStatement", + "src": "4855:4:74" + }, + "nodeType": "ForStatement", + "src": "4788:248:74" + }, + { + "expression": { + "argumentTypes": null, + "id": 21992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21986, + "name": "_address_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21879, + "src": "5044:14:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 21990, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21885, + "src": "5075:11:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 21989, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5061:13:74", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", + "typeString": "function (uint256) pure returns (address[] memory)" + }, + "typeName": { + "baseType": { + "id": 21987, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5065:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21988, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5065:9:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + } + }, + "id": 21991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5061:26:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "src": "5044:43:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 21993, + "nodeType": "ExpressionStatement", + "src": "5044:43:74" + }, + { + "body": { + "id": 22012, + "nodeType": "Block", + "src": "5129:55:74", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 22004, + "name": "_address_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21879, + "src": "5139:14:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 22006, + "indexExpression": { + "argumentTypes": null, + "id": 22005, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21882, + "src": "5154:2:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5139:18:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 22007, + "name": "_items_temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21917, + "src": "5160:11:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 22009, + "indexExpression": { + "argumentTypes": null, + "id": 22008, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21882, + "src": "5172:2:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5160:15:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5139:36:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 22011, + "nodeType": "ExpressionStatement", + "src": "5139:36:74" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 22000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 21998, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21882, + "src": "5106:2:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 21999, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21885, + "src": "5111:11:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5106:16:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 22013, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 21996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21994, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21882, + "src": "5099:2:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 21995, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5104:1:74", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5099:6:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21997, + "nodeType": "ExpressionStatement", + "src": "5099:6:74" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 22002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5123:4:74", + "subExpression": { + "argumentTypes": null, + "id": 22001, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21882, + "src": "5123:2:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22003, + "nodeType": "ExpressionStatement", + "src": "5123:4:74" + }, + "nodeType": "ForStatement", + "src": "5095:89:74" + } + ] + }, + "id": 22015, + "nodeType": "IfStatement", + "src": "4446:744:74", + "trueBody": { + "id": 21913, + "nodeType": "Block", + "src": "4493:48:74", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21905, + "name": "_address_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21879, + "src": "4501:14:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 21909, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4532:1:74", + "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": 21908, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4518:13:74", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", + "typeString": "function (uint256) pure returns (address[] memory)" + }, + "typeName": { + "baseType": { + "id": 21906, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4522:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21907, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4522:9:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + } + }, + "id": 21910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4518:16:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "src": "4501:33:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 21912, + "nodeType": "ExpressionStatement", + "src": "4501:33:74" + } + ] + } + } + ] + }, + "documentation": "@notice a private function to lists a Address collection starting from some `_current_item` (which could be included or excluded), in the forwards or backwards direction\n@param _current_item The current Item\n@param _count Total number of Address items to return\n@param _including_current Whether the `_current_item` should be included in the result\n@param _function_last Function that returns the address where we stop reading more address\n@param _function_next Function that returns the next address to read after some address (could be backwards or forwards in the physical collection)\n@return {\"_address_items\" :\"Collection/list of Address\"}", + "id": 22017, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "private_list_addresses_from_address", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21876, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21857, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "3983:21:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21856, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3983:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21859, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4006:14:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21858, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4006:7:74", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21861, + "name": "_including_current", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4022:23:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21860, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4022:4:74", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21867, + "name": "_function_last", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4080:62:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + "typeName": { + "id": 21866, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 21862, + "nodeType": "ParameterList", + "parameters": [], + "src": "4089:2:74" + }, + "payable": false, + "returnParameterTypes": { + "id": 21865, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21864, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4119:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21863, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4119:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4118:9:74" + }, + "src": "4080:62:74", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21875, + "name": "_function_next", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4177:69:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + "typeName": { + "id": 21874, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 21870, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21869, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4187:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21868, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4187:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4186:9:74" + }, + "payable": false, + "returnParameterTypes": { + "id": 21873, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21872, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4223:7:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21871, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4223:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4222:9:74" + }, + "src": "4177:69:74", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3982:265:74" + }, + "payable": false, + "returnParameters": { + "id": 21880, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21879, + "name": "_address_items", + "nodeType": "VariableDeclaration", + "scope": 22017, + "src": "4307:24:74", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 21877, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4307:7:74", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21878, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4307:9:74", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4306:26:74" + }, + "scope": 22018, + "src": "3938:1256:74", + "stateMutability": "view", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 22019, + "src": "100:8673:74" + } + ], + "src": "0:8774:74" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.925Z" +} \ No newline at end of file diff --git a/build/contracts/AddressIteratorStorage.json b/build/contracts/AddressIteratorStorage.json new file mode 100644 index 0000000..d8d85df --- /dev/null +++ b/build/contracts/AddressIteratorStorage.json @@ -0,0 +1,2059 @@ +{ + "contractName": "AddressIteratorStorage", + "abi": [], + "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a72305820ace0476e94c56057a94c696d94f12114ef5ef601b4fc23de6c4f053cb8bb94e90029", + "deployedBytecode": "0x6080604052600080fd00a165627a7a72305820ace0476e94c56057a94c696d94f12114ef5ef601b4fc23de6c4f053cb8bb94e90029", + "sourceMap": "191:2169:75:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;191:2169:75;;;;;;;", + "deployedSourceMap": "191:2169:75:-;;;;;", + "source": "pragma solidity ^0.4.19;\n\nimport \"../lib/DoublyLinkedList.sol\";\n\n/**\n @title Address Iterator Storage\n @author DigixGlobal Pte Ltd\n @notice See: [Doubly Linked List](/DoublyLinkedList)\n*/\ncontract AddressIteratorStorage {\n\n // Initialize Doubly Linked List of Address\n using DoublyLinkedList for DoublyLinkedList.Address;\n\n /**\n @notice Reads the first item from the list of Address\n @param _list The source list\n @return {\"_item\" : \"The first item from the list\"}\n */\n function read_first_from_addresses(DoublyLinkedList.Address storage _list)\n internal\n constant\n returns (address _item)\n {\n _item = _list.start_item();\n }\n\n\n /**\n @notice Reads the last item from the list of Address\n @param _list The source list\n @return {\"_item\" : \"The last item from the list\"}\n */\n function read_last_from_addresses(DoublyLinkedList.Address storage _list)\n internal\n constant\n returns (address _item)\n {\n _item = _list.end_item();\n }\n\n /**\n @notice Reads the next item on the list of Address\n @param _list The source list\n @param _current_item The current item to be used as base line\n @return {\"_item\" : \"The next item from the list based on the specieid `_current_item`\"}\n */\n function read_next_from_addresses(DoublyLinkedList.Address storage _list, address _current_item)\n internal\n constant\n returns (address _item)\n {\n _item = _list.next_item(_current_item);\n }\n\n /**\n @notice Reads the previous item on the list of Address\n @param _list The source list\n @param _current_item The current item to be used as base line\n @return {\"_item\" : \"The previous item from the list based on the spcified `_current_item`\"}\n */\n function read_previous_from_addresses(DoublyLinkedList.Address storage _list, address _current_item)\n internal\n constant\n returns (address _item)\n {\n _item = _list.previous_item(_current_item);\n }\n\n /**\n @notice Reads the list of Address and returns the length of the list\n @param _list The source list\n @return {\"_count\": \"The lenght of the list\"}\n */\n function read_total_addresses(DoublyLinkedList.Address storage _list)\n internal\n constant\n returns (uint256 _count)\n {\n _count = _list.total();\n }\n\n}\n", + "sourcePath": "@digix/solidity-collections/contracts/abstract/AddressIteratorStorage.sol", + "ast": { + "absolutePath": "@digix/solidity-collections/contracts/abstract/AddressIteratorStorage.sol", + "exportedSymbols": { + "AddressIteratorStorage": [ + 22101 + ] + }, + "id": 22102, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 22020, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:75" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "file": "../lib/DoublyLinkedList.sol", + "id": 22021, + "nodeType": "ImportDirective", + "scope": 22102, + "sourceUnit": 25547, + "src": "26:37:75", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Address Iterator Storage\n@author DigixGlobal Pte Ltd\n@notice See: [Doubly Linked List](/DoublyLinkedList)", + "fullyImplemented": true, + "id": 22101, + "linearizedBaseContracts": [ + 22101 + ], + "name": "AddressIteratorStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 22024, + "libraryName": { + "contractScope": null, + "id": 22022, + "name": "DoublyLinkedList", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25546, + "src": "280:16:75", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DoublyLinkedList_$25546", + "typeString": "library DoublyLinkedList" + } + }, + "nodeType": "UsingForDirective", + "src": "274:52:75", + "typeName": { + "contractScope": null, + "id": 22023, + "name": "DoublyLinkedList.Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "301:24:75", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + } + }, + { + "body": { + "id": 22037, + "nodeType": "Block", + "src": "639:37:75", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22031, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22029, + "src": "645:5:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 22032, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22026, + "src": "653:5:75", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 22033, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "start_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 24500, + "src": "653:16:75", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Address_$23032_storage_ptr_$returns$_t_address_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer) view returns (address)" + } + }, + "id": 22034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "653:18:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "645:26:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 22036, + "nodeType": "ExpressionStatement", + "src": "645:26:75" + } + ] + }, + "documentation": "@notice Reads the first item from the list of Address\n@param _list The source list\n@return {\"_item\" : \"The first item from the list\"}", + "id": 22038, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_first_from_addresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22027, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22026, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22038, + "src": "522:38:75", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 22025, + "name": "DoublyLinkedList.Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "522:24:75", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "521:40:75" + }, + "payable": false, + "returnParameters": { + "id": 22030, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22029, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22038, + "src": "622:13:75", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22028, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "622:7:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "621:15:75" + }, + "scope": 22101, + "src": "487:189:75", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22051, + "nodeType": "Block", + "src": "987:35:75", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22045, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22043, + "src": "993:5:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 22046, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22040, + "src": "1001:5:75", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 22047, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "end_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 24532, + "src": "1001:14:75", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Address_$23032_storage_ptr_$returns$_t_address_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer) view returns (address)" + } + }, + "id": 22048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1001:16:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "993:24:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 22050, + "nodeType": "ExpressionStatement", + "src": "993:24:75" + } + ] + }, + "documentation": "@notice Reads the last item from the list of Address\n@param _list The source list\n@return {\"_item\" : \"The last item from the list\"}", + "id": 22052, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_last_from_addresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22041, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22040, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22052, + "src": "870:38:75", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 22039, + "name": "DoublyLinkedList.Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "870:24:75", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "869:40:75" + }, + "payable": false, + "returnParameters": { + "id": 22044, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22043, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22052, + "src": "970:13:75", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22042, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "970:7:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "969:15:75" + }, + "scope": 22101, + "src": "836:186:75", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22068, + "nodeType": "Block", + "src": "1457:49:75", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22061, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22059, + "src": "1463:5:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22064, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22056, + "src": "1487:13:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 22062, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22054, + "src": "1471:5:75", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 22063, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "next_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 24650, + "src": "1471:15:75", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_address_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) view returns (address)" + } + }, + "id": 22065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1471:30:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1463:38:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 22067, + "nodeType": "ExpressionStatement", + "src": "1463:38:75" + } + ] + }, + "documentation": "@notice Reads the next item on the list of Address\n@param _list The source list\n@param _current_item The current item to be used as base line\n@return {\"_item\" : \"The next item from the list based on the specieid `_current_item`\"}", + "id": 22069, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_next_from_addresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22057, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22054, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22069, + "src": "1317:38:75", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 22053, + "name": "DoublyLinkedList.Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "1317:24:75", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22056, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22069, + "src": "1357:21:75", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22055, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1357:7:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1316:63:75" + }, + "payable": false, + "returnParameters": { + "id": 22060, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22059, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22069, + "src": "1440:13:75", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22058, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1440:7:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1439:15:75" + }, + "scope": 22101, + "src": "1283:223:75", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22085, + "nodeType": "Block", + "src": "1953:53:75", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22078, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22076, + "src": "1959:5:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22081, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22073, + "src": "1987:13:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 22079, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22071, + "src": "1967:5:75", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 22080, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previous_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 24610, + "src": "1967:19:75", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_address_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) view returns (address)" + } + }, + "id": 22082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1967:34:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1959:42:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 22084, + "nodeType": "ExpressionStatement", + "src": "1959:42:75" + } + ] + }, + "documentation": "@notice Reads the previous item on the list of Address\n@param _list The source list\n@param _current_item The current item to be used as base line\n@return {\"_item\" : \"The previous item from the list based on the spcified `_current_item`\"}", + "id": 22086, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_previous_from_addresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22074, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22071, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22086, + "src": "1813:38:75", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 22070, + "name": "DoublyLinkedList.Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "1813:24:75", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22073, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22086, + "src": "1853:21:75", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22072, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1853:7:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1812:63:75" + }, + "payable": false, + "returnParameters": { + "id": 22077, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22076, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22086, + "src": "1936:13:75", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22075, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1936:7:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1935:15:75" + }, + "scope": 22101, + "src": "1775:231:75", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22099, + "nodeType": "Block", + "src": "2324:33:75", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22093, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22091, + "src": "2330:6:75", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 22094, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22088, + "src": "2339:5:75", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 22095, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "total", + "nodeType": "MemberAccess", + "referencedDeclaration": 24468, + "src": "2339:11:75", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Address_$23032_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer) view returns (uint256)" + } + }, + "id": 22096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2339:13:75", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2330:22:75", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22098, + "nodeType": "ExpressionStatement", + "src": "2330:22:75" + } + ] + }, + "documentation": "@notice Reads the list of Address and returns the length of the list\n@param _list The source list\n@return {\"_count\": \"The lenght of the list\"}", + "id": 22100, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_total_addresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22089, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22088, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22100, + "src": "2206:38:75", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 22087, + "name": "DoublyLinkedList.Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "2206:24:75", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2205:40:75" + }, + "payable": false, + "returnParameters": { + "id": 22092, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22091, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 22100, + "src": "2306:14:75", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22090, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2306:7:75", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2305:16:75" + }, + "scope": 22101, + "src": "2176:181:75", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 22102, + "src": "191:2169:75" + } + ], + "src": "0:2361:75" + }, + "legacyAST": { + "absolutePath": "@digix/solidity-collections/contracts/abstract/AddressIteratorStorage.sol", + "exportedSymbols": { + "AddressIteratorStorage": [ + 22101 + ] + }, + "id": 22102, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 22020, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:75" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "file": "../lib/DoublyLinkedList.sol", + "id": 22021, + "nodeType": "ImportDirective", + "scope": 22102, + "sourceUnit": 25547, + "src": "26:37:75", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Address Iterator Storage\n@author DigixGlobal Pte Ltd\n@notice See: [Doubly Linked List](/DoublyLinkedList)", + "fullyImplemented": true, + "id": 22101, + "linearizedBaseContracts": [ + 22101 + ], + "name": "AddressIteratorStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 22024, + "libraryName": { + "contractScope": null, + "id": 22022, + "name": "DoublyLinkedList", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25546, + "src": "280:16:75", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DoublyLinkedList_$25546", + "typeString": "library DoublyLinkedList" + } + }, + "nodeType": "UsingForDirective", + "src": "274:52:75", + "typeName": { + "contractScope": null, + "id": 22023, + "name": "DoublyLinkedList.Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "301:24:75", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + } + }, + { + "body": { + "id": 22037, + "nodeType": "Block", + "src": "639:37:75", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22031, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22029, + "src": "645:5:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 22032, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22026, + "src": "653:5:75", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 22033, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "start_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 24500, + "src": "653:16:75", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Address_$23032_storage_ptr_$returns$_t_address_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer) view returns (address)" + } + }, + "id": 22034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "653:18:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "645:26:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 22036, + "nodeType": "ExpressionStatement", + "src": "645:26:75" + } + ] + }, + "documentation": "@notice Reads the first item from the list of Address\n@param _list The source list\n@return {\"_item\" : \"The first item from the list\"}", + "id": 22038, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_first_from_addresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22027, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22026, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22038, + "src": "522:38:75", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 22025, + "name": "DoublyLinkedList.Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "522:24:75", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "521:40:75" + }, + "payable": false, + "returnParameters": { + "id": 22030, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22029, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22038, + "src": "622:13:75", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22028, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "622:7:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "621:15:75" + }, + "scope": 22101, + "src": "487:189:75", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22051, + "nodeType": "Block", + "src": "987:35:75", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22045, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22043, + "src": "993:5:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 22046, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22040, + "src": "1001:5:75", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 22047, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "end_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 24532, + "src": "1001:14:75", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Address_$23032_storage_ptr_$returns$_t_address_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer) view returns (address)" + } + }, + "id": 22048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1001:16:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "993:24:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 22050, + "nodeType": "ExpressionStatement", + "src": "993:24:75" + } + ] + }, + "documentation": "@notice Reads the last item from the list of Address\n@param _list The source list\n@return {\"_item\" : \"The last item from the list\"}", + "id": 22052, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_last_from_addresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22041, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22040, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22052, + "src": "870:38:75", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 22039, + "name": "DoublyLinkedList.Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "870:24:75", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "869:40:75" + }, + "payable": false, + "returnParameters": { + "id": 22044, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22043, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22052, + "src": "970:13:75", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22042, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "970:7:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "969:15:75" + }, + "scope": 22101, + "src": "836:186:75", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22068, + "nodeType": "Block", + "src": "1457:49:75", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22061, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22059, + "src": "1463:5:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22064, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22056, + "src": "1487:13:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 22062, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22054, + "src": "1471:5:75", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 22063, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "next_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 24650, + "src": "1471:15:75", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_address_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) view returns (address)" + } + }, + "id": 22065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1471:30:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1463:38:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 22067, + "nodeType": "ExpressionStatement", + "src": "1463:38:75" + } + ] + }, + "documentation": "@notice Reads the next item on the list of Address\n@param _list The source list\n@param _current_item The current item to be used as base line\n@return {\"_item\" : \"The next item from the list based on the specieid `_current_item`\"}", + "id": 22069, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_next_from_addresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22057, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22054, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22069, + "src": "1317:38:75", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 22053, + "name": "DoublyLinkedList.Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "1317:24:75", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22056, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22069, + "src": "1357:21:75", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22055, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1357:7:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1316:63:75" + }, + "payable": false, + "returnParameters": { + "id": 22060, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22059, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22069, + "src": "1440:13:75", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22058, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1440:7:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1439:15:75" + }, + "scope": 22101, + "src": "1283:223:75", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22085, + "nodeType": "Block", + "src": "1953:53:75", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22078, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22076, + "src": "1959:5:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22081, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22073, + "src": "1987:13:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 22079, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22071, + "src": "1967:5:75", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 22080, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previous_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 24610, + "src": "1967:19:75", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_address_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) view returns (address)" + } + }, + "id": 22082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1967:34:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1959:42:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 22084, + "nodeType": "ExpressionStatement", + "src": "1959:42:75" + } + ] + }, + "documentation": "@notice Reads the previous item on the list of Address\n@param _list The source list\n@param _current_item The current item to be used as base line\n@return {\"_item\" : \"The previous item from the list based on the spcified `_current_item`\"}", + "id": 22086, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_previous_from_addresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22074, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22071, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22086, + "src": "1813:38:75", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 22070, + "name": "DoublyLinkedList.Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "1813:24:75", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22073, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22086, + "src": "1853:21:75", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22072, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1853:7:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1812:63:75" + }, + "payable": false, + "returnParameters": { + "id": 22077, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22076, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22086, + "src": "1936:13:75", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22075, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1936:7:75", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1935:15:75" + }, + "scope": 22101, + "src": "1775:231:75", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22099, + "nodeType": "Block", + "src": "2324:33:75", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22093, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22091, + "src": "2330:6:75", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 22094, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22088, + "src": "2339:5:75", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 22095, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "total", + "nodeType": "MemberAccess", + "referencedDeclaration": 24468, + "src": "2339:11:75", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Address_$23032_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer) view returns (uint256)" + } + }, + "id": 22096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2339:13:75", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2330:22:75", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22098, + "nodeType": "ExpressionStatement", + "src": "2330:22:75" + } + ] + }, + "documentation": "@notice Reads the list of Address and returns the length of the list\n@param _list The source list\n@return {\"_count\": \"The lenght of the list\"}", + "id": 22100, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_total_addresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22089, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22088, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22100, + "src": "2206:38:75", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 22087, + "name": "DoublyLinkedList.Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "2206:24:75", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2205:40:75" + }, + "payable": false, + "returnParameters": { + "id": 22092, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22091, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 22100, + "src": "2306:14:75", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22090, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2306:7:75", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2305:16:75" + }, + "scope": 22101, + "src": "2176:181:75", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 22102, + "src": "191:2169:75" + } + ], + "src": "0:2361:75" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.926Z" +} \ No newline at end of file diff --git a/build/contracts/BasicToken.json b/build/contracts/BasicToken.json new file mode 100644 index 0000000..016c4e5 --- /dev/null +++ b/build/contracts/BasicToken.json @@ -0,0 +1,2580 @@ +{ + "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": "0x608060405234801561001057600080fd5b50610416806100206000396000f300608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610087578063a9059cbb146100de575b600080fd5b34801561006857600080fd5b50610071610143565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061014d565b6040518082815260200191505060405180910390f35b3480156100ea57600080fd5b50610129600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610195565b604051808215151515815260200191505060405180910390f35b6000600154905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156101e457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561022057600080fd5b610271826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103b590919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610304826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103ce90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156103c357fe5b818303905092915050565b600081830190508281101515156103e157fe5b809050929150505600a165627a7a723058209dcd30166a5da06d83f5bac5264c661918a46971eb79cf79b98694d4988d8d280029", + "deployedBytecode": "0x608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610087578063a9059cbb146100de575b600080fd5b34801561006857600080fd5b50610071610143565b6040518082815260200191505060405180910390f35b34801561009357600080fd5b506100c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061014d565b6040518082815260200191505060405180910390f35b3480156100ea57600080fd5b50610129600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610195565b604051808215151515815260200191505060405180910390f35b6000600154905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156101e457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561022057600080fd5b610271826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103b590919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610304826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546103ce90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008282111515156103c357fe5b818303905092915050565b600081830190508281101515156103e157fe5b809050929150505600a165627a7a723058209dcd30166a5da06d83f5bac5264c661918a46971eb79cf79b98694d4988d8d280029", + "sourceMap": "180:1071:87:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;180:1071:87;;;;;;;", + "deployedSourceMap": "180:1071:87:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;389:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;389:83:87;;;;;;;;;;;;;;;;;;;;;;;1149:99;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1149:99:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;626:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;626:321:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;389:83;433:7;455:12;;448:19;;389:83;:::o;1149:99::-;1205:7;1227:8;:16;1236:6;1227:16;;;;;;;;;;;;;;;;1220:23;;1149:99;;;:::o;626:321::-;689:4;719:8;:20;728:10;719:20;;;;;;;;;;;;;;;;709:6;:30;;701:39;;;;;;;;769:1;754:17;;:3;:17;;;;746:26;;;;;;;;802:32;827:6;802:8;:20;811:10;802:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;779:8;:20;788:10;779:20;;;;;;;;;;;;;;;:55;;;;856:25;874:6;856:8;:13;865:3;856:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;840:8;:13;849:3;840:13;;;;;;;;;;;;;;;:41;;;;913:3;892:33;;901:10;892:33;;;918:6;892:33;;;;;;;;;;;;;;;;;;938:4;931:11;;626:321;;;;:::o;1060:116:84:-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;1238:128::-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o", + "source": "pragma solidity ^0.4.24;\n\n\nimport \"./ERC20Basic.sol\";\nimport \"../../math/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) internal balances;\n\n uint256 internal 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(_value <= balances[msg.sender]);\n require(_to != address(0));\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": "openzeppelin-solidity/contracts/token/ERC20/BasicToken.sol", + "ast": { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/BasicToken.sol", + "exportedSymbols": { + "BasicToken": [ + 26275 + ] + }, + "id": 26276, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 26181, + "literals": [ + "solidity", + "^", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:24:87" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol", + "file": "./ERC20Basic.sol", + "id": 26182, + "nodeType": "ImportDirective", + "scope": 26276, + "sourceUnit": 26351, + "src": "27:26:87", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", + "file": "../../math/SafeMath.sol", + "id": 26183, + "nodeType": "ImportDirective", + "scope": 26276, + "sourceUnit": 26042, + "src": "54:33:87", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 26184, + "name": "ERC20Basic", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 26350, + "src": "203:10:87", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20Basic_$26350", + "typeString": "contract ERC20Basic" + } + }, + "id": 26185, + "nodeType": "InheritanceSpecifier", + "src": "203:10:87" + } + ], + "contractDependencies": [ + 26350 + ], + "contractKind": "contract", + "documentation": "@title Basic token\n@dev Basic version of StandardToken, with no allowances.", + "fullyImplemented": true, + "id": 26275, + "linearizedBaseContracts": [ + 26275, + 26350 + ], + "name": "BasicToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 26188, + "libraryName": { + "contractScope": null, + "id": 26186, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 26041, + "src": "224:8:87", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$26041", + "typeString": "library SafeMath" + } + }, + "nodeType": "UsingForDirective", + "src": "218:27:87", + "typeName": { + "id": 26187, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "237:7:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 26192, + "name": "balances", + "nodeType": "VariableDeclaration", + "scope": 26275, + "src": "249:45:87", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 26191, + "keyType": { + "id": 26189, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "257:7:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "249:27:87", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 26190, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "268:7:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26194, + "name": "totalSupply_", + "nodeType": "VariableDeclaration", + "scope": 26275, + "src": "299:29:87", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26193, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "299:7:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 26201, + "nodeType": "Block", + "src": "442:30:87", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 26199, + "name": "totalSupply_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26194, + "src": "455:12:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 26198, + "id": 26200, + "nodeType": "Return", + "src": "448:19:87" + } + ] + }, + "documentation": "@dev Total number of tokens in existence", + "id": 26202, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26195, + "nodeType": "ParameterList", + "parameters": [], + "src": "409:2:87" + }, + "payable": false, + "returnParameters": { + "id": 26198, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26197, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26202, + "src": "433:7:87", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26196, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "433:7:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "432:9:87" + }, + "scope": 26275, + "src": "389:83:87", + "stateMutability": "view", + "superFunction": 26325, + "visibility": "public" + }, + { + "body": { + "id": 26261, + "nodeType": "Block", + "src": "695:252:87", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 26212, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26206, + "src": "709:6:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26213, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "719:8:87", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26216, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26214, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "728:3:87", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "728:10:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "719:20:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "709:30:87", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 26211, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "701:7:87", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 26218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "701:39:87", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26219, + "nodeType": "ExpressionStatement", + "src": "701:39:87" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 26225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 26221, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26204, + "src": "754:3:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 26223, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "769:1:87", + "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": 26222, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "761:7:87", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 26224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "761:10:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "754:17:87", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 26220, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "746:7:87", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 26226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "746:26:87", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26227, + "nodeType": "ExpressionStatement", + "src": "746:26:87" + }, + { + "expression": { + "argumentTypes": null, + "id": 26239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26228, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "779:8:87", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26231, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26229, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "788:3:87", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "788:10:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "779:20:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26237, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26206, + "src": "827:6:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26232, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "802:8:87", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26235, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26233, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "811:3:87", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "811:10:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "802:20:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "802:24:87", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 26238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "802:32:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "779:55:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26240, + "nodeType": "ExpressionStatement", + "src": "779:55:87" + }, + { + "expression": { + "argumentTypes": null, + "id": 26250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26241, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "840:8:87", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26243, + "indexExpression": { + "argumentTypes": null, + "id": 26242, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26204, + "src": "849:3:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "840:13:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26248, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26206, + "src": "874:6:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26244, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "856:8:87", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26246, + "indexExpression": { + "argumentTypes": null, + "id": 26245, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26204, + "src": "865:3:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "856:13:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "856:17:87", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 26249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "856:25:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "840:41:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26251, + "nodeType": "ExpressionStatement", + "src": "840:41:87" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26253, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "901:3:87", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "901:10:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 26255, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26204, + "src": "913:3:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 26256, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26206, + "src": "918:6:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 26252, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26349, + "src": "892:8:87", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 26257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "892:33:87", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26258, + "nodeType": "EmitStatement", + "src": "887:38:87" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 26259, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "938:4:87", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 26210, + "id": 26260, + "nodeType": "Return", + "src": "931:11:87" + } + ] + }, + "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": 26262, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26207, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26204, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 26262, + "src": "644:11:87", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26203, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "644:7:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26206, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 26262, + "src": "657:14:87", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26205, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "657:7:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "643:29:87" + }, + "payable": false, + "returnParameters": { + "id": 26210, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26209, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26262, + "src": "689:4:87", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26208, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "689:4:87", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "688:6:87" + }, + "scope": 26275, + "src": "626:321:87", + "stateMutability": "nonpayable", + "superFunction": 26341, + "visibility": "public" + }, + { + "body": { + "id": 26273, + "nodeType": "Block", + "src": "1214:34:87", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26269, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "1227:8:87", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26271, + "indexExpression": { + "argumentTypes": null, + "id": 26270, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26264, + "src": "1236:6:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1227:16:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 26268, + "id": 26272, + "nodeType": "Return", + "src": "1220:23:87" + } + ] + }, + "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": 26274, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26265, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26264, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 26274, + "src": "1168:14:87", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26263, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1168:7:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1167:16:87" + }, + "payable": false, + "returnParameters": { + "id": 26268, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26267, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26274, + "src": "1205:7:87", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26266, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1205:7:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1204:9:87" + }, + "scope": 26275, + "src": "1149:99:87", + "stateMutability": "view", + "superFunction": 26332, + "visibility": "public" + } + ], + "scope": 26276, + "src": "180:1071:87" + } + ], + "src": "0:1252:87" + }, + "legacyAST": { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/BasicToken.sol", + "exportedSymbols": { + "BasicToken": [ + 26275 + ] + }, + "id": 26276, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 26181, + "literals": [ + "solidity", + "^", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:24:87" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol", + "file": "./ERC20Basic.sol", + "id": 26182, + "nodeType": "ImportDirective", + "scope": 26276, + "sourceUnit": 26351, + "src": "27:26:87", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", + "file": "../../math/SafeMath.sol", + "id": 26183, + "nodeType": "ImportDirective", + "scope": 26276, + "sourceUnit": 26042, + "src": "54:33:87", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 26184, + "name": "ERC20Basic", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 26350, + "src": "203:10:87", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20Basic_$26350", + "typeString": "contract ERC20Basic" + } + }, + "id": 26185, + "nodeType": "InheritanceSpecifier", + "src": "203:10:87" + } + ], + "contractDependencies": [ + 26350 + ], + "contractKind": "contract", + "documentation": "@title Basic token\n@dev Basic version of StandardToken, with no allowances.", + "fullyImplemented": true, + "id": 26275, + "linearizedBaseContracts": [ + 26275, + 26350 + ], + "name": "BasicToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 26188, + "libraryName": { + "contractScope": null, + "id": 26186, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 26041, + "src": "224:8:87", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$26041", + "typeString": "library SafeMath" + } + }, + "nodeType": "UsingForDirective", + "src": "218:27:87", + "typeName": { + "id": 26187, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "237:7:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 26192, + "name": "balances", + "nodeType": "VariableDeclaration", + "scope": 26275, + "src": "249:45:87", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 26191, + "keyType": { + "id": 26189, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "257:7:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "249:27:87", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 26190, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "268:7:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26194, + "name": "totalSupply_", + "nodeType": "VariableDeclaration", + "scope": 26275, + "src": "299:29:87", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26193, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "299:7:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 26201, + "nodeType": "Block", + "src": "442:30:87", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 26199, + "name": "totalSupply_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26194, + "src": "455:12:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 26198, + "id": 26200, + "nodeType": "Return", + "src": "448:19:87" + } + ] + }, + "documentation": "@dev Total number of tokens in existence", + "id": 26202, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26195, + "nodeType": "ParameterList", + "parameters": [], + "src": "409:2:87" + }, + "payable": false, + "returnParameters": { + "id": 26198, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26197, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26202, + "src": "433:7:87", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26196, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "433:7:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "432:9:87" + }, + "scope": 26275, + "src": "389:83:87", + "stateMutability": "view", + "superFunction": 26325, + "visibility": "public" + }, + { + "body": { + "id": 26261, + "nodeType": "Block", + "src": "695:252:87", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 26212, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26206, + "src": "709:6:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26213, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "719:8:87", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26216, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26214, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "728:3:87", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "728:10:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "719:20:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "709:30:87", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 26211, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "701:7:87", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 26218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "701:39:87", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26219, + "nodeType": "ExpressionStatement", + "src": "701:39:87" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 26225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 26221, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26204, + "src": "754:3:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 26223, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "769:1:87", + "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": 26222, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "761:7:87", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 26224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "761:10:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "754:17:87", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 26220, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "746:7:87", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 26226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "746:26:87", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26227, + "nodeType": "ExpressionStatement", + "src": "746:26:87" + }, + { + "expression": { + "argumentTypes": null, + "id": 26239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26228, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "779:8:87", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26231, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26229, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "788:3:87", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "788:10:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "779:20:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26237, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26206, + "src": "827:6:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26232, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "802:8:87", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26235, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26233, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "811:3:87", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "811:10:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "802:20:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "802:24:87", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 26238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "802:32:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "779:55:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26240, + "nodeType": "ExpressionStatement", + "src": "779:55:87" + }, + { + "expression": { + "argumentTypes": null, + "id": 26250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26241, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "840:8:87", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26243, + "indexExpression": { + "argumentTypes": null, + "id": 26242, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26204, + "src": "849:3:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "840:13:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26248, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26206, + "src": "874:6:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26244, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "856:8:87", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26246, + "indexExpression": { + "argumentTypes": null, + "id": 26245, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26204, + "src": "865:3:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "856:13:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "856:17:87", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 26249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "856:25:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "840:41:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26251, + "nodeType": "ExpressionStatement", + "src": "840:41:87" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26253, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "901:3:87", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "901:10:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 26255, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26204, + "src": "913:3:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 26256, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26206, + "src": "918:6:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 26252, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26349, + "src": "892:8:87", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 26257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "892:33:87", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26258, + "nodeType": "EmitStatement", + "src": "887:38:87" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 26259, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "938:4:87", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 26210, + "id": 26260, + "nodeType": "Return", + "src": "931:11:87" + } + ] + }, + "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": 26262, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26207, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26204, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 26262, + "src": "644:11:87", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26203, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "644:7:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26206, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 26262, + "src": "657:14:87", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26205, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "657:7:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "643:29:87" + }, + "payable": false, + "returnParameters": { + "id": 26210, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26209, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26262, + "src": "689:4:87", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26208, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "689:4:87", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "688:6:87" + }, + "scope": 26275, + "src": "626:321:87", + "stateMutability": "nonpayable", + "superFunction": 26341, + "visibility": "public" + }, + { + "body": { + "id": 26273, + "nodeType": "Block", + "src": "1214:34:87", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26269, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "1227:8:87", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26271, + "indexExpression": { + "argumentTypes": null, + "id": 26270, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26264, + "src": "1236:6:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1227:16:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 26268, + "id": 26272, + "nodeType": "Return", + "src": "1220:23:87" + } + ] + }, + "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": 26274, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26265, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26264, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 26274, + "src": "1168:14:87", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26263, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1168:7:87", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1167:16:87" + }, + "payable": false, + "returnParameters": { + "id": 26268, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26267, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26274, + "src": "1205:7:87", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26266, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1205:7:87", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1204:9:87" + }, + "scope": 26275, + "src": "1149:99:87", + "stateMutability": "view", + "superFunction": 26332, + "visibility": "public" + } + ], + "scope": 26276, + "src": "180:1071:87" + } + ], + "src": "0:1252:87" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.945Z" +} \ No newline at end of file diff --git a/build/contracts/BytesIteratorInteractive.json b/build/contracts/BytesIteratorInteractive.json new file mode 100644 index 0000000..4e9ef9c --- /dev/null +++ b/build/contracts/BytesIteratorInteractive.json @@ -0,0 +1,7479 @@ +{ + "contractName": "BytesIteratorInteractive", + "abi": [], + "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a723058204c28198dcf178683d57869ac8a5ac838fe70a09ec7ce3cbb35fadabd0183117d0029", + "deployedBytecode": "0x6080604052600080fd00a165627a7a723058204c28198dcf178683d57869ac8a5ac838fe70a09ec7ce3cbb35fadabd0183117d0029", + "sourceMap": "98:8560:76:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;98:8560:76;;;;;;;", + "deployedSourceMap": "98:8560:76:-;;;;;", + "source": "pragma solidity ^0.4.19;\n/**\n @title Bytes Iterator Interactive\n @author DigixGlobal Pte Ltd\n*/\ncontract BytesIteratorInteractive {\n\n /**\n @notice Lists a Bytes collection from start or end\n @param _count Total number of Bytes items to return\n @param _function_first Function that returns the First Bytes item in the list\n @param _function_last Function that returns the last Bytes item in the list\n @param _function_next Function that returns the Next Bytes item in the list\n @param _function_previous Function that returns previous Bytes item in the list\n @param _from_start whether to read from start (or end) of the list\n @return {\"_bytes_items\" : \"Collection of reversed Bytes list\"}\n */\n function list_bytesarray(uint256 _count,\n function () external constant returns (bytes32) _function_first,\n function () external constant returns (bytes32) _function_last,\n function (bytes32) external constant returns (bytes32) _function_next,\n function (bytes32) external constant returns (bytes32) _function_previous,\n bool _from_start)\n internal\n constant\n returns (bytes32[] _bytes_items)\n {\n if (_from_start) {\n _bytes_items = private_list_bytes_from_bytes(_function_first(), _count, true, _function_last, _function_next);\n } else {\n _bytes_items = private_list_bytes_from_bytes(_function_last(), _count, true, _function_first, _function_previous);\n }\n }\n\n /**\n @notice Lists a Bytes collection from some `_current_item`, going forwards or backwards depending on `_from_start`\n @param _current_item The current Item\n @param _count Total number of Bytes items to return\n @param _function_first Function that returns the First Bytes item in the list\n @param _function_last Function that returns the last Bytes item in the list\n @param _function_next Function that returns the Next Bytes item in the list\n @param _function_previous Function that returns previous Bytes item in the list\n @param _from_start whether to read in the forwards ( or backwards) direction\n @return {\"_bytes_items\" :\"Collection/list of Bytes\"}\n */\n function list_bytesarray_from(bytes32 _current_item, uint256 _count,\n function () external constant returns (bytes32) _function_first,\n function () external constant returns (bytes32) _function_last,\n function (bytes32) external constant returns (bytes32) _function_next,\n function (bytes32) external constant returns (bytes32) _function_previous,\n bool _from_start)\n internal\n constant\n returns (bytes32[] _bytes_items)\n {\n if (_from_start) {\n _bytes_items = private_list_bytes_from_bytes(_current_item, _count, false, _function_last, _function_next);\n } else {\n _bytes_items = private_list_bytes_from_bytes(_current_item, _count, false, _function_first, _function_previous);\n }\n }\n\n /**\n @notice A private function to lists a Bytes collection starting from some `_current_item` (which could be included or excluded), in the forwards or backwards direction\n @param _current_item The current Item\n @param _count Total number of Bytes items to return\n @param _including_current Whether the `_current_item` should be included in the result\n @param _function_last Function that returns the bytes where we stop reading more bytes\n @param _function_next Function that returns the next bytes to read after some bytes (could be backwards or forwards in the physical collection)\n @return {\"_address_items\" :\"Collection/list of Bytes\"}\n */\n function private_list_bytes_from_bytes(bytes32 _current_item, uint256 _count, bool _including_current,\n function () external constant returns (bytes32) _function_last,\n function (bytes32) external constant returns (bytes32) _function_next)\n private\n constant\n returns (bytes32[] _bytes32_items)\n {\n uint256 _i;\n uint256 _real_count = 0;\n bytes32 _last_item;\n\n _last_item = _function_last();\n if (_count == 0 || _last_item == bytes32(0x0)) {\n _bytes32_items = new bytes32[](0);\n } else {\n bytes32[] memory _items_temp = new bytes32[](_count);\n bytes32 _this_item;\n if (_including_current == true) {\n _items_temp[0] = _current_item;\n _real_count = 1;\n }\n _this_item = _current_item;\n for (_i = _real_count; (_i < _count) && (_this_item != _last_item);_i++) {\n _this_item = _function_next(_this_item);\n if (_this_item != bytes32(0x0)) {\n _real_count++;\n _items_temp[_i] = _this_item;\n }\n }\n\n _bytes32_items = new bytes32[](_real_count);\n for(_i = 0;_i < _real_count;_i++) {\n _bytes32_items[_i] = _items_temp[_i];\n }\n }\n }\n\n\n\n\n ////// DEPRECATED FUNCTIONS (old versions)\n\n /**\n @notice a private function to lists a Bytes collection starting from some `_current_item`, could be forwards or backwards\n @param _current_item The current Item\n @param _count Total number of Bytes items to return\n @param _function_last Function that returns the bytes where we stop reading more bytes\n @param _function_next Function that returns the next bytes to read after some bytes (could be backwards or forwards in the physical collection)\n @return {\"_bytes_items\" :\"Collection/list of Bytes\"}\n */\n /*function list_bytes_from_bytes(bytes32 _current_item, uint256 _count,\n function () external constant returns (bytes32) _function_last,\n function (bytes32) external constant returns (bytes32) _function_next)\n private\n constant\n returns (bytes32[] _bytes_items)\n {\n uint256 _i;\n uint256 _real_count = 0;\n\n if (_count == 0) {\n _bytes_items = new bytes32[](0);\n } else {\n bytes32[] memory _items_temp = new bytes32[](_count);\n\n bytes32 _start_item;\n bytes32 _last_item;\n\n _last_item = _function_last();\n\n if (_last_item != _current_item) {\n _start_item = _function_next(_current_item);\n if (_start_item != bytes32(0x0)) {\n _items_temp[0] = _start_item;\n _real_count = 1;\n for(_i = 1;(_i <= (_count - 1)) && (_start_item != _last_item);_i++) {\n _start_item = _function_next(_start_item);\n if (_start_item != bytes32(0x0)) {\n _real_count++;\n _items_temp[_i] = _start_item;\n }\n }\n _bytes_items = new bytes32[](_real_count);\n for(_i = 0;_i <= (_real_count - 1);_i++) {\n _bytes_items[_i] = _items_temp[_i];\n }\n } else {\n _bytes_items = new bytes32[](0);\n }\n } else {\n _bytes_items = new bytes32[](0);\n }\n }\n }*/\n\n /**\n @notice private function to list a Bytes collection starting from the start or end of the list\n @param _count Total number of Bytes item to return\n @param _function_total Function that returns the Total number of Bytes item in the list\n @param _function_first Function that returns the First Bytes item in the list\n @param _function_next Function that returns the Next Bytes item in the list\n @return {\"_bytes_items\" :\"Collection/list of Bytes\"}\n */\n /*function list_bytes_from_start_or_end(uint256 _count,\n function () external constant returns (uint256) _function_total,\n function () external constant returns (bytes32) _function_first,\n function (bytes32) external constant returns (bytes32) _function_next)\n\n private\n constant\n returns (bytes32[] _bytes_items)\n {\n uint256 _i;\n bytes32 _current_item;\n uint256 _real_count = _function_total();\n\n if (_count > _real_count) {\n _count = _real_count;\n }\n\n bytes32[] memory _items_tmp = new bytes32[](_count);\n\n if (_count > 0) {\n _current_item = _function_first();\n _items_tmp[0] = _current_item;\n\n for(_i = 1;_i <= (_count - 1);_i++) {\n _current_item = _function_next(_current_item);\n if (_current_item != bytes32(0x0)) {\n _items_tmp[_i] = _current_item;\n }\n }\n _bytes_items = _items_tmp;\n } else {\n _bytes_items = new bytes32[](0);\n }\n }*/\n}\n", + "sourcePath": "@digix/solidity-collections/contracts/abstract/BytesIteratorInteractive.sol", + "ast": { + "absolutePath": "@digix/solidity-collections/contracts/abstract/BytesIteratorInteractive.sol", + "exportedSymbols": { + "BytesIteratorInteractive": [ + 22396 + ] + }, + "id": 22397, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 22103, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:76" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Bytes Iterator Interactive\n@author DigixGlobal Pte Ltd", + "fullyImplemented": true, + "id": 22396, + "linearizedBaseContracts": [ + 22396 + ], + "name": "BytesIteratorInteractive", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 22167, + "nodeType": "Block", + "src": "1308:285:76", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 22141, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22135, + "src": "1318:11:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 22165, + "nodeType": "Block", + "src": "1461:128:76", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22154, + "name": "_bytes_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22139, + "src": "1469:12:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 22156, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22117, + "src": "1514:14:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + "id": 22157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1514:16:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22158, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22105, + "src": "1532:6:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 22159, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1540:4:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "id": 22160, + "name": "_function_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22111, + "src": "1546:15:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 22161, + "name": "_function_previous", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22133, + "src": "1563:18:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + ], + "id": 22155, + "name": "private_list_bytes_from_bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22395, + "src": "1484:29:76", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$_t_bool_$_t_function_external_view$__$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,uint256,bool,function () view external returns (bytes32),function (bytes32) view external returns (bytes32)) view returns (bytes32[] memory)" + } + }, + "id": 22162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1484:98:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "1469:113:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22164, + "nodeType": "ExpressionStatement", + "src": "1469:113:76" + } + ] + }, + "id": 22166, + "nodeType": "IfStatement", + "src": "1314:275:76", + "trueBody": { + "id": 22153, + "nodeType": "Block", + "src": "1331:124:76", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22142, + "name": "_bytes_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22139, + "src": "1339:12:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 22144, + "name": "_function_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22111, + "src": "1384:15:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + "id": 22145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1384:17:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22146, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22105, + "src": "1403:6:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 22147, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1411:4:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "id": 22148, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22117, + "src": "1417:14:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 22149, + "name": "_function_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22125, + "src": "1433:14:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + ], + "id": 22143, + "name": "private_list_bytes_from_bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22395, + "src": "1354:29:76", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$_t_bool_$_t_function_external_view$__$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,uint256,bool,function () view external returns (bytes32),function (bytes32) view external returns (bytes32)) view returns (bytes32[] memory)" + } + }, + "id": 22150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1354:94:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "1339:109:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22152, + "nodeType": "ExpressionStatement", + "src": "1339:109:76" + } + ] + } + } + ] + }, + "documentation": "@notice Lists a Bytes collection from start or end\n@param _count Total number of Bytes items to return\n@param _function_first Function that returns the First Bytes item in the list\n@param _function_last Function that returns the last Bytes item in the list\n@param _function_next Function that returns the Next Bytes item in the list\n@param _function_previous Function that returns previous Bytes item in the list\n@param _from_start whether to read from start (or end) of the list\n@return {\"_bytes_items\" : \"Collection of reversed Bytes list\"}", + "id": 22168, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "list_bytesarray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22136, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22105, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "748:14:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22104, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "748:7:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22111, + "name": "_function_first", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "797:63:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + "typeName": { + "id": 22110, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22106, + "nodeType": "ParameterList", + "parameters": [], + "src": "806:2:76" + }, + "payable": false, + "returnParameterTypes": { + "id": 22109, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22108, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "836:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22107, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "836:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "835:9:76" + }, + "src": "797:63:76", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22117, + "name": "_function_last", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "895:62:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + "typeName": { + "id": 22116, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22112, + "nodeType": "ParameterList", + "parameters": [], + "src": "904:2:76" + }, + "payable": false, + "returnParameterTypes": { + "id": 22115, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22114, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "934:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22113, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "934:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "933:9:76" + }, + "src": "895:62:76", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22125, + "name": "_function_next", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "992:69:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22124, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22120, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22119, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "1002:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22118, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1002:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1001:9:76" + }, + "payable": false, + "returnParameterTypes": { + "id": 22123, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22122, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "1038:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22121, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1038:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1037:9:76" + }, + "src": "992:69:76", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22133, + "name": "_function_previous", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "1096:73:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22132, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22128, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22127, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "1106:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22126, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1106:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1105:9:76" + }, + "payable": false, + "returnParameterTypes": { + "id": 22131, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22130, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "1142:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22129, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1142:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1141:9:76" + }, + "src": "1096:73:76", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22135, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "1204:16:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22134, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1204:4:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "747:474:76" + }, + "payable": false, + "returnParameters": { + "id": 22140, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22139, + "name": "_bytes_items", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "1282:22:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 22137, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1282:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22138, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1282:9:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1281:24:76" + }, + "scope": 22396, + "src": "723:870:76", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22232, + "nodeType": "Block", + "src": "2897:280:76", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 22208, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22202, + "src": "2907:11:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 22230, + "nodeType": "Block", + "src": "3047:126:76", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22220, + "name": "_bytes_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22206, + "src": "3055:12:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22222, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22170, + "src": "3100:13:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22223, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22172, + "src": "3115:6:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 22224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3123:5:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "id": 22225, + "name": "_function_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22178, + "src": "3130:15:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 22226, + "name": "_function_previous", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22200, + "src": "3147:18:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + ], + "id": 22221, + "name": "private_list_bytes_from_bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22395, + "src": "3070:29:76", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$_t_bool_$_t_function_external_view$__$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,uint256,bool,function () view external returns (bytes32),function (bytes32) view external returns (bytes32)) view returns (bytes32[] memory)" + } + }, + "id": 22227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3070:96:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "3055:111:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22229, + "nodeType": "ExpressionStatement", + "src": "3055:111:76" + } + ] + }, + "id": 22231, + "nodeType": "IfStatement", + "src": "2903:270:76", + "trueBody": { + "id": 22219, + "nodeType": "Block", + "src": "2920:121:76", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22209, + "name": "_bytes_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22206, + "src": "2928:12:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22211, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22170, + "src": "2973:13:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22212, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22172, + "src": "2988:6:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 22213, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2996:5:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "id": 22214, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22184, + "src": "3003:14:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 22215, + "name": "_function_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22192, + "src": "3019:14:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + ], + "id": 22210, + "name": "private_list_bytes_from_bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22395, + "src": "2943:29:76", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$_t_bool_$_t_function_external_view$__$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,uint256,bool,function () view external returns (bytes32),function (bytes32) view external returns (bytes32)) view returns (bytes32[] memory)" + } + }, + "id": 22216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2943:91:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "2928:106:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22218, + "nodeType": "ExpressionStatement", + "src": "2928:106:76" + } + ] + } + } + ] + }, + "documentation": "@notice Lists a Bytes collection from some `_current_item`, going forwards or backwards depending on `_from_start`\n@param _current_item The current Item\n@param _count Total number of Bytes items to return\n@param _function_first Function that returns the First Bytes item in the list\n@param _function_last Function that returns the last Bytes item in the list\n@param _function_next Function that returns the Next Bytes item in the list\n@param _function_previous Function that returns previous Bytes item in the list\n@param _from_start whether to read in the forwards ( or backwards) direction\n@return {\"_bytes_items\" :\"Collection/list of Bytes\"}", + "id": 22233, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "list_bytesarray_from", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22203, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22170, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2319:21:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22169, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2319:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22172, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2342:14:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22171, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2342:7:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22178, + "name": "_function_first", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2390:63:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + "typeName": { + "id": 22177, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22173, + "nodeType": "ParameterList", + "parameters": [], + "src": "2399:2:76" + }, + "payable": false, + "returnParameterTypes": { + "id": 22176, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22175, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2429:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22174, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2429:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2428:9:76" + }, + "src": "2390:63:76", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22184, + "name": "_function_last", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2487:62:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + "typeName": { + "id": 22183, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22179, + "nodeType": "ParameterList", + "parameters": [], + "src": "2496:2:76" + }, + "payable": false, + "returnParameterTypes": { + "id": 22182, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22181, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2526:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22180, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2526:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2525:9:76" + }, + "src": "2487:62:76", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22192, + "name": "_function_next", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2583:69:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22191, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22187, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22186, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2593:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22185, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2593:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2592:9:76" + }, + "payable": false, + "returnParameterTypes": { + "id": 22190, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22189, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2629:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22188, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2629:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2628:9:76" + }, + "src": "2583:69:76", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22200, + "name": "_function_previous", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2686:73:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22199, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22195, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22194, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2696:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22193, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2696:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2695:9:76" + }, + "payable": false, + "returnParameterTypes": { + "id": 22198, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22197, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2732:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22196, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2732:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2731:9:76" + }, + "src": "2686:73:76", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22202, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2793:16:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22201, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2793:4:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2318:492:76" + }, + "payable": false, + "returnParameters": { + "id": 22207, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22206, + "name": "_bytes_items", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2871:22:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 22204, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2871:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22205, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2871:9:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2870:24:76" + }, + "scope": 22396, + "src": "2289:888:76", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22394, + "nodeType": "Block", + "src": "4242:859:76", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 22260, + "name": "_i", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "4248:10:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22259, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4248:7:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 22261, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4248:10:76" + }, + { + "assignments": [ + 22263 + ], + "declarations": [ + { + "constant": false, + "id": 22263, + "name": "_real_count", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "4264:19:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4264:7:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 22265, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 22264, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4286:1:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4264:23:76" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 22267, + "name": "_last_item", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "4293:18:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22266, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4293:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 22268, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4293:18:76" + }, + { + "expression": { + "argumentTypes": null, + "id": 22272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22269, + "name": "_last_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22267, + "src": "4318:10:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 22270, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22245, + "src": "4331:14:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + "id": 22271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4331:16:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4318:29:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22273, + "nodeType": "ExpressionStatement", + "src": "4318:29:76" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 22282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 22276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22274, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22237, + "src": "4357:6:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 22275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4367:1:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4357:11:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 22281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22277, + "name": "_last_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22267, + "src": "4372:10:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 22279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4394:3:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 22278, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4386:7:76", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 22280, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4386:12:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4372:26:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4357:41:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 22392, + "nodeType": "Block", + "src": "4454:643:76", + "statements": [ + { + "assignments": [ + 22295 + ], + "declarations": [ + { + "constant": false, + "id": 22295, + "name": "_items_temp", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "4462:28:76", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 22293, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4462:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22294, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4462:9:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 22301, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22299, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22237, + "src": "4507:6:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 22298, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4493:13:76", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 22296, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4497:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22297, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4497:9:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 22300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4493:21:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4462:52:76" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 22303, + "name": "_this_item", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "4522:18:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22302, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4522:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 22304, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4522:18:76" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 22307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22305, + "name": "_including_current", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22239, + "src": "4552:18:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 22306, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4574:4:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4552:26:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 22319, + "nodeType": "IfStatement", + "src": "4548:106:76", + "trueBody": { + "id": 22318, + "nodeType": "Block", + "src": "4580:74:76", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 22308, + "name": "_items_temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22295, + "src": "4590:11:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22310, + "indexExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 22309, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4602:1:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4590:14:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 22311, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22235, + "src": "4607:13:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4590:30:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22313, + "nodeType": "ExpressionStatement", + "src": "4590:30:76" + }, + { + "expression": { + "argumentTypes": null, + "id": 22316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22314, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22263, + "src": "4630:11:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 22315, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4644:1:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4630:15:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22317, + "nodeType": "ExpressionStatement", + "src": "4630:15:76" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 22322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22320, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22303, + "src": "4661:10:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 22321, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22235, + "src": "4674:13:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4661:26:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22323, + "nodeType": "ExpressionStatement", + "src": "4661:26:76" + }, + { + "body": { + "id": 22362, + "nodeType": "Block", + "src": "4768:175:76", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22340, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22303, + "src": "4778:10:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22342, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22303, + "src": "4806:10:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 22341, + "name": "_function_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22253, + "src": "4791:14:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + "id": 22343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4791:26:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4778:39:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22345, + "nodeType": "ExpressionStatement", + "src": "4778:39:76" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 22350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22346, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22303, + "src": "4831:10:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 22348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4853:3:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 22347, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4845:7:76", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 22349, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4845:12:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4831:26:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 22361, + "nodeType": "IfStatement", + "src": "4827:108:76", + "trueBody": { + "id": 22360, + "nodeType": "Block", + "src": "4859:76:76", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4871:13:76", + "subExpression": { + "argumentTypes": null, + "id": 22351, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22263, + "src": "4871:11:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22353, + "nodeType": "ExpressionStatement", + "src": "4871:13:76" + }, + { + "expression": { + "argumentTypes": null, + "id": 22358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 22354, + "name": "_items_temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22295, + "src": "4896:11:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22356, + "indexExpression": { + "argumentTypes": null, + "id": 22355, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22260, + "src": "4908:2:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4896:15:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 22357, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22303, + "src": "4914:10:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4896:28:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22359, + "nodeType": "ExpressionStatement", + "src": "4896:28:76" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 22336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 22330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22328, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22260, + "src": "4719:2:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 22329, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22237, + "src": "4724:6:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4719:11:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 22331, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4718:13:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 22334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22332, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22303, + "src": "4736:10:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 22333, + "name": "_last_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22267, + "src": "4750:10:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4736:24:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 22335, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4735:26:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4718:43:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 22363, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 22326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22324, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22260, + "src": "4700:2:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 22325, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22263, + "src": "4705:11:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4700:16:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22327, + "nodeType": "ExpressionStatement", + "src": "4700:16:76" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 22338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4762:4:76", + "subExpression": { + "argumentTypes": null, + "id": 22337, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22260, + "src": "4762:2:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22339, + "nodeType": "ExpressionStatement", + "src": "4762:4:76" + }, + "nodeType": "ForStatement", + "src": "4695:248:76" + }, + { + "expression": { + "argumentTypes": null, + "id": 22370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22364, + "name": "_bytes32_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22257, + "src": "4951:14:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22368, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22263, + "src": "4982:11:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 22367, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4968:13:76", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 22365, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4972:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22366, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4972:9:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 22369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4968:26:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory", + "typeString": "bytes32[] memory" + } + }, + "src": "4951:43:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22371, + "nodeType": "ExpressionStatement", + "src": "4951:43:76" + }, + { + "body": { + "id": 22390, + "nodeType": "Block", + "src": "5036:55:76", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 22382, + "name": "_bytes32_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22257, + "src": "5046:14:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22384, + "indexExpression": { + "argumentTypes": null, + "id": 22383, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22260, + "src": "5061:2:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5046:18:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 22385, + "name": "_items_temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22295, + "src": "5067:11:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22387, + "indexExpression": { + "argumentTypes": null, + "id": 22386, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22260, + "src": "5079:2:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5067:15:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5046:36:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22389, + "nodeType": "ExpressionStatement", + "src": "5046:36:76" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 22378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22376, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22260, + "src": "5013:2:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 22377, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22263, + "src": "5018:11:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5013:16:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 22391, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 22374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22372, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22260, + "src": "5006:2:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 22373, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5011:1:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5006:6:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22375, + "nodeType": "ExpressionStatement", + "src": "5006:6:76" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 22380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5030:4:76", + "subExpression": { + "argumentTypes": null, + "id": 22379, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22260, + "src": "5030:2:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22381, + "nodeType": "ExpressionStatement", + "src": "5030:4:76" + }, + "nodeType": "ForStatement", + "src": "5002:89:76" + } + ] + }, + "id": 22393, + "nodeType": "IfStatement", + "src": "4353:744:76", + "trueBody": { + "id": 22291, + "nodeType": "Block", + "src": "4400:48:76", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22283, + "name": "_bytes32_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22257, + "src": "4408:14:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 22287, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4439:1:76", + "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": 22286, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4425:13:76", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 22284, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4429:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22285, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4429:9:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 22288, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4425:16:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory", + "typeString": "bytes32[] memory" + } + }, + "src": "4408:33:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22290, + "nodeType": "ExpressionStatement", + "src": "4408:33:76" + } + ] + } + } + ] + }, + "documentation": "@notice A private function to lists a Bytes collection starting from some `_current_item` (which could be included or excluded), in the forwards or backwards direction\n@param _current_item The current Item\n@param _count Total number of Bytes items to return\n@param _including_current Whether the `_current_item` should be included in the result\n@param _function_last Function that returns the bytes where we stop reading more bytes\n@param _function_next Function that returns the next bytes to read after some bytes (could be backwards or forwards in the physical collection)\n@return {\"_address_items\" :\"Collection/list of Bytes\"}", + "id": 22395, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "private_list_bytes_from_bytes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22254, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22235, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "3890:21:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22234, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3890:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22237, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "3913:14:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22236, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3913:7:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22239, + "name": "_including_current", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "3929:23:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22238, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3929:4:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22245, + "name": "_function_last", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "3987:62:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + "typeName": { + "id": 22244, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22240, + "nodeType": "ParameterList", + "parameters": [], + "src": "3996:2:76" + }, + "payable": false, + "returnParameterTypes": { + "id": 22243, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22242, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "4026:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22241, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4026:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4025:9:76" + }, + "src": "3987:62:76", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22253, + "name": "_function_next", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "4084:69:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22252, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22248, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22247, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "4094:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22246, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4094:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4093:9:76" + }, + "payable": false, + "returnParameterTypes": { + "id": 22251, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22250, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "4130:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22249, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4130:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4129:9:76" + }, + "src": "4084:69:76", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3889:265:76" + }, + "payable": false, + "returnParameters": { + "id": 22258, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22257, + "name": "_bytes32_items", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "4214:24:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 22255, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4214:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22256, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4214:9:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4213:26:76" + }, + "scope": 22396, + "src": "3851:1250:76", + "stateMutability": "view", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 22397, + "src": "98:8560:76" + } + ], + "src": "0:8659:76" + }, + "legacyAST": { + "absolutePath": "@digix/solidity-collections/contracts/abstract/BytesIteratorInteractive.sol", + "exportedSymbols": { + "BytesIteratorInteractive": [ + 22396 + ] + }, + "id": 22397, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 22103, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:76" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Bytes Iterator Interactive\n@author DigixGlobal Pte Ltd", + "fullyImplemented": true, + "id": 22396, + "linearizedBaseContracts": [ + 22396 + ], + "name": "BytesIteratorInteractive", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 22167, + "nodeType": "Block", + "src": "1308:285:76", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 22141, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22135, + "src": "1318:11:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 22165, + "nodeType": "Block", + "src": "1461:128:76", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22154, + "name": "_bytes_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22139, + "src": "1469:12:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 22156, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22117, + "src": "1514:14:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + "id": 22157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1514:16:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22158, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22105, + "src": "1532:6:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 22159, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1540:4:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "id": 22160, + "name": "_function_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22111, + "src": "1546:15:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 22161, + "name": "_function_previous", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22133, + "src": "1563:18:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + ], + "id": 22155, + "name": "private_list_bytes_from_bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22395, + "src": "1484:29:76", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$_t_bool_$_t_function_external_view$__$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,uint256,bool,function () view external returns (bytes32),function (bytes32) view external returns (bytes32)) view returns (bytes32[] memory)" + } + }, + "id": 22162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1484:98:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "1469:113:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22164, + "nodeType": "ExpressionStatement", + "src": "1469:113:76" + } + ] + }, + "id": 22166, + "nodeType": "IfStatement", + "src": "1314:275:76", + "trueBody": { + "id": 22153, + "nodeType": "Block", + "src": "1331:124:76", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22142, + "name": "_bytes_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22139, + "src": "1339:12:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 22144, + "name": "_function_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22111, + "src": "1384:15:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + "id": 22145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1384:17:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22146, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22105, + "src": "1403:6:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 22147, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1411:4:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "id": 22148, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22117, + "src": "1417:14:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 22149, + "name": "_function_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22125, + "src": "1433:14:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + ], + "id": 22143, + "name": "private_list_bytes_from_bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22395, + "src": "1354:29:76", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$_t_bool_$_t_function_external_view$__$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,uint256,bool,function () view external returns (bytes32),function (bytes32) view external returns (bytes32)) view returns (bytes32[] memory)" + } + }, + "id": 22150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1354:94:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "1339:109:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22152, + "nodeType": "ExpressionStatement", + "src": "1339:109:76" + } + ] + } + } + ] + }, + "documentation": "@notice Lists a Bytes collection from start or end\n@param _count Total number of Bytes items to return\n@param _function_first Function that returns the First Bytes item in the list\n@param _function_last Function that returns the last Bytes item in the list\n@param _function_next Function that returns the Next Bytes item in the list\n@param _function_previous Function that returns previous Bytes item in the list\n@param _from_start whether to read from start (or end) of the list\n@return {\"_bytes_items\" : \"Collection of reversed Bytes list\"}", + "id": 22168, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "list_bytesarray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22136, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22105, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "748:14:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22104, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "748:7:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22111, + "name": "_function_first", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "797:63:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + "typeName": { + "id": 22110, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22106, + "nodeType": "ParameterList", + "parameters": [], + "src": "806:2:76" + }, + "payable": false, + "returnParameterTypes": { + "id": 22109, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22108, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "836:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22107, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "836:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "835:9:76" + }, + "src": "797:63:76", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22117, + "name": "_function_last", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "895:62:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + "typeName": { + "id": 22116, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22112, + "nodeType": "ParameterList", + "parameters": [], + "src": "904:2:76" + }, + "payable": false, + "returnParameterTypes": { + "id": 22115, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22114, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "934:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22113, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "934:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "933:9:76" + }, + "src": "895:62:76", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22125, + "name": "_function_next", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "992:69:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22124, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22120, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22119, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "1002:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22118, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1002:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1001:9:76" + }, + "payable": false, + "returnParameterTypes": { + "id": 22123, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22122, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "1038:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22121, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1038:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1037:9:76" + }, + "src": "992:69:76", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22133, + "name": "_function_previous", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "1096:73:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22132, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22128, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22127, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "1106:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22126, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1106:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1105:9:76" + }, + "payable": false, + "returnParameterTypes": { + "id": 22131, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22130, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "1142:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22129, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1142:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1141:9:76" + }, + "src": "1096:73:76", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22135, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "1204:16:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22134, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1204:4:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "747:474:76" + }, + "payable": false, + "returnParameters": { + "id": 22140, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22139, + "name": "_bytes_items", + "nodeType": "VariableDeclaration", + "scope": 22168, + "src": "1282:22:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 22137, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1282:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22138, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1282:9:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1281:24:76" + }, + "scope": 22396, + "src": "723:870:76", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22232, + "nodeType": "Block", + "src": "2897:280:76", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 22208, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22202, + "src": "2907:11:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 22230, + "nodeType": "Block", + "src": "3047:126:76", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22220, + "name": "_bytes_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22206, + "src": "3055:12:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22222, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22170, + "src": "3100:13:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22223, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22172, + "src": "3115:6:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 22224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3123:5:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "id": 22225, + "name": "_function_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22178, + "src": "3130:15:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 22226, + "name": "_function_previous", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22200, + "src": "3147:18:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + ], + "id": 22221, + "name": "private_list_bytes_from_bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22395, + "src": "3070:29:76", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$_t_bool_$_t_function_external_view$__$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,uint256,bool,function () view external returns (bytes32),function (bytes32) view external returns (bytes32)) view returns (bytes32[] memory)" + } + }, + "id": 22227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3070:96:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "3055:111:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22229, + "nodeType": "ExpressionStatement", + "src": "3055:111:76" + } + ] + }, + "id": 22231, + "nodeType": "IfStatement", + "src": "2903:270:76", + "trueBody": { + "id": 22219, + "nodeType": "Block", + "src": "2920:121:76", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22209, + "name": "_bytes_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22206, + "src": "2928:12:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22211, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22170, + "src": "2973:13:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22212, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22172, + "src": "2988:6:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 22213, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2996:5:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "id": 22214, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22184, + "src": "3003:14:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 22215, + "name": "_function_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22192, + "src": "3019:14:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + ], + "id": 22210, + "name": "private_list_bytes_from_bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22395, + "src": "2943:29:76", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$_t_bool_$_t_function_external_view$__$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,uint256,bool,function () view external returns (bytes32),function (bytes32) view external returns (bytes32)) view returns (bytes32[] memory)" + } + }, + "id": 22216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2943:91:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "2928:106:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22218, + "nodeType": "ExpressionStatement", + "src": "2928:106:76" + } + ] + } + } + ] + }, + "documentation": "@notice Lists a Bytes collection from some `_current_item`, going forwards or backwards depending on `_from_start`\n@param _current_item The current Item\n@param _count Total number of Bytes items to return\n@param _function_first Function that returns the First Bytes item in the list\n@param _function_last Function that returns the last Bytes item in the list\n@param _function_next Function that returns the Next Bytes item in the list\n@param _function_previous Function that returns previous Bytes item in the list\n@param _from_start whether to read in the forwards ( or backwards) direction\n@return {\"_bytes_items\" :\"Collection/list of Bytes\"}", + "id": 22233, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "list_bytesarray_from", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22203, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22170, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2319:21:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22169, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2319:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22172, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2342:14:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22171, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2342:7:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22178, + "name": "_function_first", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2390:63:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + "typeName": { + "id": 22177, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22173, + "nodeType": "ParameterList", + "parameters": [], + "src": "2399:2:76" + }, + "payable": false, + "returnParameterTypes": { + "id": 22176, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22175, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2429:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22174, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2429:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2428:9:76" + }, + "src": "2390:63:76", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22184, + "name": "_function_last", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2487:62:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + "typeName": { + "id": 22183, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22179, + "nodeType": "ParameterList", + "parameters": [], + "src": "2496:2:76" + }, + "payable": false, + "returnParameterTypes": { + "id": 22182, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22181, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2526:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22180, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2526:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2525:9:76" + }, + "src": "2487:62:76", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22192, + "name": "_function_next", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2583:69:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22191, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22187, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22186, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2593:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22185, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2593:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2592:9:76" + }, + "payable": false, + "returnParameterTypes": { + "id": 22190, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22189, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2629:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22188, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2629:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2628:9:76" + }, + "src": "2583:69:76", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22200, + "name": "_function_previous", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2686:73:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22199, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22195, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22194, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2696:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22193, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2696:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2695:9:76" + }, + "payable": false, + "returnParameterTypes": { + "id": 22198, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22197, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2732:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22196, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2732:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2731:9:76" + }, + "src": "2686:73:76", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22202, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2793:16:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22201, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2793:4:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2318:492:76" + }, + "payable": false, + "returnParameters": { + "id": 22207, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22206, + "name": "_bytes_items", + "nodeType": "VariableDeclaration", + "scope": 22233, + "src": "2871:22:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 22204, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2871:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22205, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2871:9:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2870:24:76" + }, + "scope": 22396, + "src": "2289:888:76", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22394, + "nodeType": "Block", + "src": "4242:859:76", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 22260, + "name": "_i", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "4248:10:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22259, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4248:7:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 22261, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4248:10:76" + }, + { + "assignments": [ + 22263 + ], + "declarations": [ + { + "constant": false, + "id": 22263, + "name": "_real_count", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "4264:19:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4264:7:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 22265, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 22264, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4286:1:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4264:23:76" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 22267, + "name": "_last_item", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "4293:18:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22266, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4293:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 22268, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4293:18:76" + }, + { + "expression": { + "argumentTypes": null, + "id": 22272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22269, + "name": "_last_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22267, + "src": "4318:10:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 22270, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22245, + "src": "4331:14:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + "id": 22271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4331:16:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4318:29:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22273, + "nodeType": "ExpressionStatement", + "src": "4318:29:76" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 22282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 22276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22274, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22237, + "src": "4357:6:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 22275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4367:1:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4357:11:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 22281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22277, + "name": "_last_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22267, + "src": "4372:10:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 22279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4394:3:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 22278, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4386:7:76", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 22280, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4386:12:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4372:26:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4357:41:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 22392, + "nodeType": "Block", + "src": "4454:643:76", + "statements": [ + { + "assignments": [ + 22295 + ], + "declarations": [ + { + "constant": false, + "id": 22295, + "name": "_items_temp", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "4462:28:76", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 22293, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4462:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22294, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4462:9:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 22301, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22299, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22237, + "src": "4507:6:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 22298, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4493:13:76", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 22296, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4497:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22297, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4497:9:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 22300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4493:21:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4462:52:76" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 22303, + "name": "_this_item", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "4522:18:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22302, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4522:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 22304, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4522:18:76" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 22307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22305, + "name": "_including_current", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22239, + "src": "4552:18:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 22306, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4574:4:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4552:26:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 22319, + "nodeType": "IfStatement", + "src": "4548:106:76", + "trueBody": { + "id": 22318, + "nodeType": "Block", + "src": "4580:74:76", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 22308, + "name": "_items_temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22295, + "src": "4590:11:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22310, + "indexExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 22309, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4602:1:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4590:14:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 22311, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22235, + "src": "4607:13:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4590:30:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22313, + "nodeType": "ExpressionStatement", + "src": "4590:30:76" + }, + { + "expression": { + "argumentTypes": null, + "id": 22316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22314, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22263, + "src": "4630:11:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 22315, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4644:1:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4630:15:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22317, + "nodeType": "ExpressionStatement", + "src": "4630:15:76" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 22322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22320, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22303, + "src": "4661:10:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 22321, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22235, + "src": "4674:13:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4661:26:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22323, + "nodeType": "ExpressionStatement", + "src": "4661:26:76" + }, + { + "body": { + "id": 22362, + "nodeType": "Block", + "src": "4768:175:76", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22340, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22303, + "src": "4778:10:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22342, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22303, + "src": "4806:10:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 22341, + "name": "_function_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22253, + "src": "4791:14:76", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + "id": 22343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4791:26:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4778:39:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22345, + "nodeType": "ExpressionStatement", + "src": "4778:39:76" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 22350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22346, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22303, + "src": "4831:10:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 22348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4853:3:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 22347, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4845:7:76", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 22349, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4845:12:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4831:26:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 22361, + "nodeType": "IfStatement", + "src": "4827:108:76", + "trueBody": { + "id": 22360, + "nodeType": "Block", + "src": "4859:76:76", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4871:13:76", + "subExpression": { + "argumentTypes": null, + "id": 22351, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22263, + "src": "4871:11:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22353, + "nodeType": "ExpressionStatement", + "src": "4871:13:76" + }, + { + "expression": { + "argumentTypes": null, + "id": 22358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 22354, + "name": "_items_temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22295, + "src": "4896:11:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22356, + "indexExpression": { + "argumentTypes": null, + "id": 22355, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22260, + "src": "4908:2:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4896:15:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 22357, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22303, + "src": "4914:10:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4896:28:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22359, + "nodeType": "ExpressionStatement", + "src": "4896:28:76" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 22336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 22330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22328, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22260, + "src": "4719:2:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 22329, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22237, + "src": "4724:6:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4719:11:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 22331, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4718:13:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 22334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22332, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22303, + "src": "4736:10:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 22333, + "name": "_last_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22267, + "src": "4750:10:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4736:24:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 22335, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4735:26:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4718:43:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 22363, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 22326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22324, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22260, + "src": "4700:2:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 22325, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22263, + "src": "4705:11:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4700:16:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22327, + "nodeType": "ExpressionStatement", + "src": "4700:16:76" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 22338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4762:4:76", + "subExpression": { + "argumentTypes": null, + "id": 22337, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22260, + "src": "4762:2:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22339, + "nodeType": "ExpressionStatement", + "src": "4762:4:76" + }, + "nodeType": "ForStatement", + "src": "4695:248:76" + }, + { + "expression": { + "argumentTypes": null, + "id": 22370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22364, + "name": "_bytes32_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22257, + "src": "4951:14:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22368, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22263, + "src": "4982:11:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 22367, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4968:13:76", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 22365, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4972:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22366, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4972:9:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 22369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4968:26:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory", + "typeString": "bytes32[] memory" + } + }, + "src": "4951:43:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22371, + "nodeType": "ExpressionStatement", + "src": "4951:43:76" + }, + { + "body": { + "id": 22390, + "nodeType": "Block", + "src": "5036:55:76", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 22382, + "name": "_bytes32_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22257, + "src": "5046:14:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22384, + "indexExpression": { + "argumentTypes": null, + "id": 22383, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22260, + "src": "5061:2:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5046:18:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 22385, + "name": "_items_temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22295, + "src": "5067:11:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22387, + "indexExpression": { + "argumentTypes": null, + "id": 22386, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22260, + "src": "5079:2:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5067:15:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5046:36:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22389, + "nodeType": "ExpressionStatement", + "src": "5046:36:76" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 22378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22376, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22260, + "src": "5013:2:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 22377, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22263, + "src": "5018:11:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5013:16:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 22391, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 22374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22372, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22260, + "src": "5006:2:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 22373, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5011:1:76", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5006:6:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22375, + "nodeType": "ExpressionStatement", + "src": "5006:6:76" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 22380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5030:4:76", + "subExpression": { + "argumentTypes": null, + "id": 22379, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22260, + "src": "5030:2:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22381, + "nodeType": "ExpressionStatement", + "src": "5030:4:76" + }, + "nodeType": "ForStatement", + "src": "5002:89:76" + } + ] + }, + "id": 22393, + "nodeType": "IfStatement", + "src": "4353:744:76", + "trueBody": { + "id": 22291, + "nodeType": "Block", + "src": "4400:48:76", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22283, + "name": "_bytes32_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22257, + "src": "4408:14:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 22287, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4439:1:76", + "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": 22286, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "4425:13:76", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 22284, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4429:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22285, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4429:9:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 22288, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4425:16:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory", + "typeString": "bytes32[] memory" + } + }, + "src": "4408:33:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22290, + "nodeType": "ExpressionStatement", + "src": "4408:33:76" + } + ] + } + } + ] + }, + "documentation": "@notice A private function to lists a Bytes collection starting from some `_current_item` (which could be included or excluded), in the forwards or backwards direction\n@param _current_item The current Item\n@param _count Total number of Bytes items to return\n@param _including_current Whether the `_current_item` should be included in the result\n@param _function_last Function that returns the bytes where we stop reading more bytes\n@param _function_next Function that returns the next bytes to read after some bytes (could be backwards or forwards in the physical collection)\n@return {\"_address_items\" :\"Collection/list of Bytes\"}", + "id": 22395, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "private_list_bytes_from_bytes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22254, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22235, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "3890:21:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22234, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3890:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22237, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "3913:14:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22236, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3913:7:76", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22239, + "name": "_including_current", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "3929:23:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22238, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3929:4:76", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22245, + "name": "_function_last", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "3987:62:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + "typeName": { + "id": 22244, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22240, + "nodeType": "ParameterList", + "parameters": [], + "src": "3996:2:76" + }, + "payable": false, + "returnParameterTypes": { + "id": 22243, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22242, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "4026:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22241, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4026:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4025:9:76" + }, + "src": "3987:62:76", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22253, + "name": "_function_next", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "4084:69:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22252, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22248, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22247, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "4094:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22246, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4094:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4093:9:76" + }, + "payable": false, + "returnParameterTypes": { + "id": 22251, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22250, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "4130:7:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22249, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4130:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4129:9:76" + }, + "src": "4084:69:76", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3889:265:76" + }, + "payable": false, + "returnParameters": { + "id": 22258, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22257, + "name": "_bytes32_items", + "nodeType": "VariableDeclaration", + "scope": 22395, + "src": "4214:24:76", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 22255, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4214:7:76", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22256, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4214:9:76", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4213:26:76" + }, + "scope": 22396, + "src": "3851:1250:76", + "stateMutability": "view", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 22397, + "src": "98:8560:76" + } + ], + "src": "0:8659:76" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.926Z" +} \ No newline at end of file diff --git a/build/contracts/BytesIteratorStorage.json b/build/contracts/BytesIteratorStorage.json new file mode 100644 index 0000000..1654923 --- /dev/null +++ b/build/contracts/BytesIteratorStorage.json @@ -0,0 +1,2059 @@ +{ + "contractName": "BytesIteratorStorage", + "abi": [], + "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a723058207eebfac708a45654d0c8fb2ce1f04a3d31ff459716cbc1f00db8632f7d96d0e50029", + "deployedBytecode": "0x6080604052600080fd00a165627a7a723058207eebfac708a45654d0c8fb2ce1f04a3d31ff459716cbc1f00db8632f7d96d0e50029", + "sourceMap": "135:2358:77:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;135:2358:77;;;;;;;", + "deployedSourceMap": "135:2358:77:-;;;;;", + "source": "pragma solidity ^0.4.19;\n\nimport \"../lib/DoublyLinkedList.sol\";\n\n\n/**\n @title Bytes Iterator Storage\n @author DigixGlobal Pte Ltd\n*/\ncontract BytesIteratorStorage {\n\n // Initialize Doubly Linked List of Bytes\n using DoublyLinkedList for DoublyLinkedList.Bytes;\n\n /**\n @notice Reads the first item from the list of Bytes\n @param _list The source list\n @return {\"_item\": \"The first item from the list\"}\n */\n function read_first_from_bytesarray(DoublyLinkedList.Bytes storage _list)\n internal\n constant\n returns (bytes32 _item)\n {\n _item = _list.start_item();\n }\n\n /**\n @notice Reads the last item from the list of Bytes\n @param _list The source list\n @return {\"_item\": \"The last item from the list\"}\n */\n function read_last_from_bytesarray(DoublyLinkedList.Bytes storage _list)\n internal\n constant\n returns (bytes32 _item)\n {\n _item = _list.end_item();\n }\n\n /**\n @notice Reads the next item on the list of Bytes\n @param _list The source list\n @param _current_item The current item to be used as base line\n @return {\"_item\": \"The next item from the list based on the specieid `_current_item`\"}\n TODO: Need to verify what happens if the specified `_current_item` is the last item from the list\n */\n function read_next_from_bytesarray(DoublyLinkedList.Bytes storage _list, bytes32 _current_item)\n internal\n constant\n returns (bytes32 _item)\n {\n _item = _list.next_item(_current_item);\n }\n\n /**\n @notice Reads the previous item on the list of Bytes\n @param _list The source list\n @param _current_item The current item to be used as base line\n @return {\"_item\": \"The previous item from the list based on the spcified `_current_item`\"}\n TODO: Need to verify what happens if the specified `_current_item` is the first item from the list\n */\n function read_previous_from_bytesarray(DoublyLinkedList.Bytes storage _list, bytes32 _current_item)\n internal\n constant\n returns (bytes32 _item)\n {\n _item = _list.previous_item(_current_item);\n }\n\n /**\n @notice Reads the list of Bytes and returns the length of the list\n @param _list The source list\n @return {\"count\": \"`uint256` The lenght of the list\"}\n\n */\n function read_total_bytesarray(DoublyLinkedList.Bytes storage _list)\n internal\n constant\n returns (uint256 _count)\n {\n _count = _list.total();\n }\n\n}\n", + "sourcePath": "@digix/solidity-collections/contracts/abstract/BytesIteratorStorage.sol", + "ast": { + "absolutePath": "@digix/solidity-collections/contracts/abstract/BytesIteratorStorage.sol", + "exportedSymbols": { + "BytesIteratorStorage": [ + 22479 + ] + }, + "id": 22480, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 22398, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:77" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "file": "../lib/DoublyLinkedList.sol", + "id": 22399, + "nodeType": "ImportDirective", + "scope": 22480, + "sourceUnit": 25547, + "src": "26:37:77", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Bytes Iterator Storage\n@author DigixGlobal Pte Ltd", + "fullyImplemented": true, + "id": 22479, + "linearizedBaseContracts": [ + 22479 + ], + "name": "BytesIteratorStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 22402, + "libraryName": { + "contractScope": null, + "id": 22400, + "name": "DoublyLinkedList", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25546, + "src": "220:16:77", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DoublyLinkedList_$25546", + "typeString": "library DoublyLinkedList" + } + }, + "nodeType": "UsingForDirective", + "src": "214:50:77", + "typeName": { + "contractScope": null, + "id": 22401, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "241:22:77", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + } + }, + { + "body": { + "id": 22415, + "nodeType": "Block", + "src": "573:37:77", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22409, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22407, + "src": "579:5:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 22410, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22404, + "src": "587:5:77", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 22411, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "start_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 25096, + "src": "587:16:77", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Bytes_$23035_storage_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer) view returns (bytes32)" + } + }, + "id": 22412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "587:18:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "579:26:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22414, + "nodeType": "ExpressionStatement", + "src": "579:26:77" + } + ] + }, + "documentation": "@notice Reads the first item from the list of Bytes\n@param _list The source list\n@return {\"_item\": \"The first item from the list\"}", + "id": 22416, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_first_from_bytesarray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22405, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22404, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22416, + "src": "458:36:77", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 22403, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "458:22:77", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "457:38:77" + }, + "payable": false, + "returnParameters": { + "id": 22408, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22407, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22416, + "src": "556:13:77", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22406, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "556:7:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "555:15:77" + }, + "scope": 22479, + "src": "422:188:77", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22429, + "nodeType": "Block", + "src": "916:35:77", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22423, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22421, + "src": "922:5:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 22424, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22418, + "src": "930:5:77", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 22425, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "end_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 25126, + "src": "930:14:77", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Bytes_$23035_storage_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer) view returns (bytes32)" + } + }, + "id": 22426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "930:16:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "922:24:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22428, + "nodeType": "ExpressionStatement", + "src": "922:24:77" + } + ] + }, + "documentation": "@notice Reads the last item from the list of Bytes\n@param _list The source list\n@return {\"_item\": \"The last item from the list\"}", + "id": 22430, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_last_from_bytesarray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22419, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22418, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22430, + "src": "801:36:77", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 22417, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "801:22:77", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "800:38:77" + }, + "payable": false, + "returnParameters": { + "id": 22422, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22421, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22430, + "src": "899:13:77", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22420, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "899:7:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "898:15:77" + }, + "scope": 22479, + "src": "766:185:77", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22446, + "nodeType": "Block", + "src": "1484:49:77", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22439, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22437, + "src": "1490:5:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22442, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22434, + "src": "1514:13:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 22440, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22432, + "src": "1498:5:77", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 22441, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "next_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 25234, + "src": "1498:15:77", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 22443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1498:30:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1490:38:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22445, + "nodeType": "ExpressionStatement", + "src": "1490:38:77" + } + ] + }, + "documentation": "@notice Reads the next item on the list of Bytes\n@param _list The source list\n@param _current_item The current item to be used as base line\n@return {\"_item\": \"The next item from the list based on the specieid `_current_item`\"}\nTODO: Need to verify what happens if the specified `_current_item` is the last item from the list", + "id": 22447, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_next_from_bytesarray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22435, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22432, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22447, + "src": "1346:36:77", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 22431, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "1346:22:77", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22434, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22447, + "src": "1384:21:77", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22433, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1384:7:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1345:61:77" + }, + "payable": false, + "returnParameters": { + "id": 22438, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22437, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22447, + "src": "1467:13:77", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22436, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1467:7:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1466:15:77" + }, + "scope": 22479, + "src": "1311:222:77", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22463, + "nodeType": "Block", + "src": "2079:53:77", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22456, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22454, + "src": "2085:5:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22459, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22451, + "src": "2113:13:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 22457, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22449, + "src": "2093:5:77", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 22458, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previous_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 25198, + "src": "2093:19:77", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 22460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2093:34:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2085:42:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22462, + "nodeType": "ExpressionStatement", + "src": "2085:42:77" + } + ] + }, + "documentation": "@notice Reads the previous item on the list of Bytes\n@param _list The source list\n@param _current_item The current item to be used as base line\n@return {\"_item\": \"The previous item from the list based on the spcified `_current_item`\"}\nTODO: Need to verify what happens if the specified `_current_item` is the first item from the list", + "id": 22464, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_previous_from_bytesarray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22452, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22449, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22464, + "src": "1941:36:77", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 22448, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "1941:22:77", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22451, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22464, + "src": "1979:21:77", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22450, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1979:7:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1940:61:77" + }, + "payable": false, + "returnParameters": { + "id": 22455, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22454, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22464, + "src": "2062:13:77", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22453, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2062:7:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2061:15:77" + }, + "scope": 22479, + "src": "1902:230:77", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22477, + "nodeType": "Block", + "src": "2457:33:77", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22471, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22469, + "src": "2463:6:77", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 22472, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22466, + "src": "2472:5:77", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 22473, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "total", + "nodeType": "MemberAccess", + "referencedDeclaration": 25066, + "src": "2472:11:77", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Bytes_$23035_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer) view returns (uint256)" + } + }, + "id": 22474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2472:13:77", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2463:22:77", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22476, + "nodeType": "ExpressionStatement", + "src": "2463:22:77" + } + ] + }, + "documentation": "@notice Reads the list of Bytes and returns the length of the list\n@param _list The source list\n@return {\"count\": \"`uint256` The lenght of the list\"}", + "id": 22478, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_total_bytesarray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22467, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22466, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22478, + "src": "2341:36:77", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 22465, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "2341:22:77", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2340:38:77" + }, + "payable": false, + "returnParameters": { + "id": 22470, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22469, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 22478, + "src": "2439:14:77", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22468, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2439:7:77", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2438:16:77" + }, + "scope": 22479, + "src": "2310:180:77", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 22480, + "src": "135:2358:77" + } + ], + "src": "0:2494:77" + }, + "legacyAST": { + "absolutePath": "@digix/solidity-collections/contracts/abstract/BytesIteratorStorage.sol", + "exportedSymbols": { + "BytesIteratorStorage": [ + 22479 + ] + }, + "id": 22480, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 22398, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:77" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "file": "../lib/DoublyLinkedList.sol", + "id": 22399, + "nodeType": "ImportDirective", + "scope": 22480, + "sourceUnit": 25547, + "src": "26:37:77", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Bytes Iterator Storage\n@author DigixGlobal Pte Ltd", + "fullyImplemented": true, + "id": 22479, + "linearizedBaseContracts": [ + 22479 + ], + "name": "BytesIteratorStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 22402, + "libraryName": { + "contractScope": null, + "id": 22400, + "name": "DoublyLinkedList", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25546, + "src": "220:16:77", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DoublyLinkedList_$25546", + "typeString": "library DoublyLinkedList" + } + }, + "nodeType": "UsingForDirective", + "src": "214:50:77", + "typeName": { + "contractScope": null, + "id": 22401, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "241:22:77", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + } + }, + { + "body": { + "id": 22415, + "nodeType": "Block", + "src": "573:37:77", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22409, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22407, + "src": "579:5:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 22410, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22404, + "src": "587:5:77", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 22411, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "start_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 25096, + "src": "587:16:77", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Bytes_$23035_storage_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer) view returns (bytes32)" + } + }, + "id": 22412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "587:18:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "579:26:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22414, + "nodeType": "ExpressionStatement", + "src": "579:26:77" + } + ] + }, + "documentation": "@notice Reads the first item from the list of Bytes\n@param _list The source list\n@return {\"_item\": \"The first item from the list\"}", + "id": 22416, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_first_from_bytesarray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22405, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22404, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22416, + "src": "458:36:77", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 22403, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "458:22:77", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "457:38:77" + }, + "payable": false, + "returnParameters": { + "id": 22408, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22407, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22416, + "src": "556:13:77", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22406, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "556:7:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "555:15:77" + }, + "scope": 22479, + "src": "422:188:77", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22429, + "nodeType": "Block", + "src": "916:35:77", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22423, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22421, + "src": "922:5:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 22424, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22418, + "src": "930:5:77", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 22425, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "end_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 25126, + "src": "930:14:77", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Bytes_$23035_storage_ptr_$returns$_t_bytes32_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer) view returns (bytes32)" + } + }, + "id": 22426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "930:16:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "922:24:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22428, + "nodeType": "ExpressionStatement", + "src": "922:24:77" + } + ] + }, + "documentation": "@notice Reads the last item from the list of Bytes\n@param _list The source list\n@return {\"_item\": \"The last item from the list\"}", + "id": 22430, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_last_from_bytesarray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22419, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22418, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22430, + "src": "801:36:77", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 22417, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "801:22:77", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "800:38:77" + }, + "payable": false, + "returnParameters": { + "id": 22422, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22421, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22430, + "src": "899:13:77", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22420, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "899:7:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "898:15:77" + }, + "scope": 22479, + "src": "766:185:77", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22446, + "nodeType": "Block", + "src": "1484:49:77", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22439, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22437, + "src": "1490:5:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22442, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22434, + "src": "1514:13:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 22440, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22432, + "src": "1498:5:77", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 22441, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "next_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 25234, + "src": "1498:15:77", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 22443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1498:30:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1490:38:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22445, + "nodeType": "ExpressionStatement", + "src": "1490:38:77" + } + ] + }, + "documentation": "@notice Reads the next item on the list of Bytes\n@param _list The source list\n@param _current_item The current item to be used as base line\n@return {\"_item\": \"The next item from the list based on the specieid `_current_item`\"}\nTODO: Need to verify what happens if the specified `_current_item` is the last item from the list", + "id": 22447, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_next_from_bytesarray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22435, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22432, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22447, + "src": "1346:36:77", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 22431, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "1346:22:77", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22434, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22447, + "src": "1384:21:77", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22433, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1384:7:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1345:61:77" + }, + "payable": false, + "returnParameters": { + "id": 22438, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22437, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22447, + "src": "1467:13:77", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22436, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1467:7:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1466:15:77" + }, + "scope": 22479, + "src": "1311:222:77", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22463, + "nodeType": "Block", + "src": "2079:53:77", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22456, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22454, + "src": "2085:5:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22459, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22451, + "src": "2113:13:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 22457, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22449, + "src": "2093:5:77", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 22458, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previous_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 25198, + "src": "2093:19:77", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 22460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2093:34:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2085:42:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22462, + "nodeType": "ExpressionStatement", + "src": "2085:42:77" + } + ] + }, + "documentation": "@notice Reads the previous item on the list of Bytes\n@param _list The source list\n@param _current_item The current item to be used as base line\n@return {\"_item\": \"The previous item from the list based on the spcified `_current_item`\"}\nTODO: Need to verify what happens if the specified `_current_item` is the first item from the list", + "id": 22464, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_previous_from_bytesarray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22452, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22449, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22464, + "src": "1941:36:77", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 22448, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "1941:22:77", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22451, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22464, + "src": "1979:21:77", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22450, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1979:7:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1940:61:77" + }, + "payable": false, + "returnParameters": { + "id": 22455, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22454, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22464, + "src": "2062:13:77", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22453, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2062:7:77", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2061:15:77" + }, + "scope": 22479, + "src": "1902:230:77", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22477, + "nodeType": "Block", + "src": "2457:33:77", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22471, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22469, + "src": "2463:6:77", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 22472, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22466, + "src": "2472:5:77", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 22473, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "total", + "nodeType": "MemberAccess", + "referencedDeclaration": 25066, + "src": "2472:11:77", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Bytes_$23035_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer) view returns (uint256)" + } + }, + "id": 22474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2472:13:77", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2463:22:77", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22476, + "nodeType": "ExpressionStatement", + "src": "2463:22:77" + } + ] + }, + "documentation": "@notice Reads the list of Bytes and returns the length of the list\n@param _list The source list\n@return {\"count\": \"`uint256` The lenght of the list\"}", + "id": 22478, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_total_bytesarray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22467, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22466, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22478, + "src": "2341:36:77", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 22465, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "2341:22:77", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2340:38:77" + }, + "payable": false, + "returnParameters": { + "id": 22470, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22469, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 22478, + "src": "2439:14:77", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22468, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2439:7:77", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2438:16:77" + }, + "scope": 22479, + "src": "2310:180:77", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 22480, + "src": "135:2358:77" + } + ], + "src": "0:2494:77" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.927Z" +} \ No newline at end of file diff --git a/build/contracts/Claimable.json b/build/contracts/Claimable.json new file mode 100644 index 0000000..c21dffe --- /dev/null +++ b/build/contracts/Claimable.json @@ -0,0 +1,1347 @@ +{ + "contractName": "Claimable", + "abi": [ + { + "constant": false, + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "pendingOwner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + } + ], + "name": "OwnershipRenounced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6080604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610548806100536000396000f30060806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680634e71e0c814610072578063715018a6146100895780638da5cb5b146100a0578063e30c3978146100f7578063f2fde38b1461014e575b600080fd5b34801561007e57600080fd5b50610087610191565b005b34801561009557600080fd5b5061009e610330565b005b3480156100ac57600080fd5b506100b5610432565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561010357600080fd5b5061010c610457565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561015a57600080fd5b5061018f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061047d565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156101ed57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561038b57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156104d857600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820e928f754cb0fd4116651fad53a43c6e3ab57e3d09b00cadb7c958dbaa5834f540029", + "deployedBytecode": "0x60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680634e71e0c814610072578063715018a6146100895780638da5cb5b146100a0578063e30c3978146100f7578063f2fde38b1461014e575b600080fd5b34801561007e57600080fd5b50610087610191565b005b34801561009557600080fd5b5061009e610330565b005b3480156100ac57600080fd5b506100b5610432565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561010357600080fd5b5061010c610457565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561015a57600080fd5b5061018f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061047d565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156101ed57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561038b57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156104d857600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820e928f754cb0fd4116651fad53a43c6e3ab57e3d09b00cadb7c958dbaa5834f540029", + "sourceMap": "219:728:85:-;;;575:10:86;567:5;;:18;;;;;;;;;;;;;;;;;;219:728:85;;;;;;", + "deployedSourceMap": "219:728:85:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;781:164;;8:9:-1;5:2;;;30:1;27;20:12;5:2;781:164:85;;;;;;1001:111:86;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1001:111:86;;;;;;238:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:86;;;;;;;;;;;;;;;;;;;;;;;;;;;253:27:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;253:27:85;;;;;;;;;;;;;;;;;;;;;;;;;;;601:96;;8:9:-1;5:2;;;30:1;27;20:12;5:2;601:96:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;781:164;433:12;;;;;;;;;;;419:26;;:10;:26;;;411:35;;;;;;;;870:12;;;;;;;;;;;842:41;;863:5;;;;;;;;;;;842:41;;;;;;;;;;;;897:12;;;;;;;;;;;889:5;;:20;;;;;;;;;;;;;;;;;;938:1;915:12;;:25;;;;;;;;;;;;;;;;;;781:164::o;1001:111:86:-;719:5;;;;;;;;;;;705:19;;:10;:19;;;697:28;;;;;;;;1077:5;;;;;;;;;;;1058:25;;;;;;;;;;;;1105:1;1089:5;;:18;;;;;;;;;;;;;;;;;;1001:111::o;238:20::-;;;;;;;;;;;;;:::o;253:27:85:-;;;;;;;;;;;;;:::o;601:96::-;719:5:86;;;;;;;;;;;705:19;;:10;:19;;;697:28;;;;;;;;684:8:85;669:12;;:23;;;;;;;;;;;;;;;;;;601:96;:::o", + "source": "pragma solidity ^0.4.24;\n\n\nimport \"./Ownable.sol\";\n\n\n/**\n * @title Claimable\n * @dev Extension for the Ownable contract, where the ownership needs to be claimed.\n * This allows the new owner to accept the transfer.\n */\ncontract Claimable is Ownable {\n address public pendingOwner;\n\n /**\n * @dev Modifier throws if called by any account other than the pendingOwner.\n */\n modifier onlyPendingOwner() {\n require(msg.sender == pendingOwner);\n _;\n }\n\n /**\n * @dev Allows the current owner to set the pendingOwner address.\n * @param newOwner The address to transfer ownership to.\n */\n function transferOwnership(address newOwner) public onlyOwner {\n pendingOwner = newOwner;\n }\n\n /**\n * @dev Allows the pendingOwner address to finalize the transfer.\n */\n function claimOwnership() public onlyPendingOwner {\n emit OwnershipTransferred(owner, pendingOwner);\n owner = pendingOwner;\n pendingOwner = address(0);\n }\n}\n", + "sourcePath": "openzeppelin-solidity/contracts/ownership/Claimable.sol", + "ast": { + "absolutePath": "openzeppelin-solidity/contracts/ownership/Claimable.sol", + "exportedSymbols": { + "Claimable": [ + 26093 + ] + }, + "id": 26094, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 26043, + "literals": [ + "solidity", + "^", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:24:85" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "./Ownable.sol", + "id": 26044, + "nodeType": "ImportDirective", + "scope": 26094, + "sourceUnit": 26180, + "src": "27:23:85", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 26045, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 26179, + "src": "241:7:85", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$26179", + "typeString": "contract Ownable" + } + }, + "id": 26046, + "nodeType": "InheritanceSpecifier", + "src": "241:7:85" + } + ], + "contractDependencies": [ + 26179 + ], + "contractKind": "contract", + "documentation": "@title Claimable\n@dev Extension for the Ownable contract, where the ownership needs to be claimed.\nThis allows the new owner to accept the transfer.", + "fullyImplemented": true, + "id": 26093, + "linearizedBaseContracts": [ + 26093, + 26179 + ], + "name": "Claimable", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 26048, + "name": "pendingOwner", + "nodeType": "VariableDeclaration", + "scope": 26093, + "src": "253:27:85", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26047, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "253:7:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 26058, + "nodeType": "Block", + "src": "405:53:85", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 26054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26051, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "419:3:85", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "419:10:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 26053, + "name": "pendingOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26048, + "src": "433:12:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "419:26:85", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 26050, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "411:7:85", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 26055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "411:35:85", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26056, + "nodeType": "ExpressionStatement", + "src": "411:35:85" + }, + { + "id": 26057, + "nodeType": "PlaceholderStatement", + "src": "452:1:85" + } + ] + }, + "documentation": "@dev Modifier throws if called by any account other than the pendingOwner.", + "id": 26059, + "name": "onlyPendingOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 26049, + "nodeType": "ParameterList", + "parameters": [], + "src": "402:2:85" + }, + "src": "377:81:85", + "visibility": "internal" + }, + { + "body": { + "id": 26070, + "nodeType": "Block", + "src": "663:34:85", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 26068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 26066, + "name": "pendingOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26048, + "src": "669:12:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 26067, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26061, + "src": "684:8:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "669:23:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 26069, + "nodeType": "ExpressionStatement", + "src": "669:23:85" + } + ] + }, + "documentation": "@dev Allows the current owner to set the pendingOwner address.\n@param newOwner The address to transfer ownership to.", + "id": 26071, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 26064, + "modifierName": { + "argumentTypes": null, + "id": 26063, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26127, + "src": "653:9:85", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "653:9:85" + } + ], + "name": "transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26062, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26061, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 26071, + "src": "628:16:85", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26060, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "628:7:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "627:18:85" + }, + "payable": false, + "returnParameters": { + "id": 26065, + "nodeType": "ParameterList", + "parameters": [], + "src": "663:0:85" + }, + "scope": 26093, + "src": "601:96:85", + "stateMutability": "nonpayable", + "superFunction": 26155, + "visibility": "public" + }, + { + "body": { + "id": 26091, + "nodeType": "Block", + "src": "831:114:85", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26077, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26097, + "src": "863:5:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 26078, + "name": "pendingOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26048, + "src": "870:12:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 26076, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26107, + "src": "842:20:85", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 26079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "842:41:85", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26080, + "nodeType": "EmitStatement", + "src": "837:46:85" + }, + { + "expression": { + "argumentTypes": null, + "id": 26083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 26081, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26097, + "src": "889:5:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 26082, + "name": "pendingOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26048, + "src": "897:12:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "889:20:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 26084, + "nodeType": "ExpressionStatement", + "src": "889:20:85" + }, + { + "expression": { + "argumentTypes": null, + "id": 26089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 26085, + "name": "pendingOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26048, + "src": "915:12:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 26087, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "938:1:85", + "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": 26086, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "930:7:85", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 26088, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "930:10:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "915:25:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 26090, + "nodeType": "ExpressionStatement", + "src": "915:25:85" + } + ] + }, + "documentation": "@dev Allows the pendingOwner address to finalize the transfer.", + "id": 26092, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 26074, + "modifierName": { + "argumentTypes": null, + "id": 26073, + "name": "onlyPendingOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26059, + "src": "814:16:85", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "814:16:85" + } + ], + "name": "claimOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26072, + "nodeType": "ParameterList", + "parameters": [], + "src": "804:2:85" + }, + "payable": false, + "returnParameters": { + "id": 26075, + "nodeType": "ParameterList", + "parameters": [], + "src": "831:0:85" + }, + "scope": 26093, + "src": "781:164:85", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 26094, + "src": "219:728:85" + } + ], + "src": "0:948:85" + }, + "legacyAST": { + "absolutePath": "openzeppelin-solidity/contracts/ownership/Claimable.sol", + "exportedSymbols": { + "Claimable": [ + 26093 + ] + }, + "id": 26094, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 26043, + "literals": [ + "solidity", + "^", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:24:85" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "./Ownable.sol", + "id": 26044, + "nodeType": "ImportDirective", + "scope": 26094, + "sourceUnit": 26180, + "src": "27:23:85", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 26045, + "name": "Ownable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 26179, + "src": "241:7:85", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Ownable_$26179", + "typeString": "contract Ownable" + } + }, + "id": 26046, + "nodeType": "InheritanceSpecifier", + "src": "241:7:85" + } + ], + "contractDependencies": [ + 26179 + ], + "contractKind": "contract", + "documentation": "@title Claimable\n@dev Extension for the Ownable contract, where the ownership needs to be claimed.\nThis allows the new owner to accept the transfer.", + "fullyImplemented": true, + "id": 26093, + "linearizedBaseContracts": [ + 26093, + 26179 + ], + "name": "Claimable", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 26048, + "name": "pendingOwner", + "nodeType": "VariableDeclaration", + "scope": 26093, + "src": "253:27:85", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26047, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "253:7:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 26058, + "nodeType": "Block", + "src": "405:53:85", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 26054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26051, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "419:3:85", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "419:10:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 26053, + "name": "pendingOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26048, + "src": "433:12:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "419:26:85", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 26050, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "411:7:85", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 26055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "411:35:85", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26056, + "nodeType": "ExpressionStatement", + "src": "411:35:85" + }, + { + "id": 26057, + "nodeType": "PlaceholderStatement", + "src": "452:1:85" + } + ] + }, + "documentation": "@dev Modifier throws if called by any account other than the pendingOwner.", + "id": 26059, + "name": "onlyPendingOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 26049, + "nodeType": "ParameterList", + "parameters": [], + "src": "402:2:85" + }, + "src": "377:81:85", + "visibility": "internal" + }, + { + "body": { + "id": 26070, + "nodeType": "Block", + "src": "663:34:85", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 26068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 26066, + "name": "pendingOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26048, + "src": "669:12:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 26067, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26061, + "src": "684:8:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "669:23:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 26069, + "nodeType": "ExpressionStatement", + "src": "669:23:85" + } + ] + }, + "documentation": "@dev Allows the current owner to set the pendingOwner address.\n@param newOwner The address to transfer ownership to.", + "id": 26071, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 26064, + "modifierName": { + "argumentTypes": null, + "id": 26063, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26127, + "src": "653:9:85", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "653:9:85" + } + ], + "name": "transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26062, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26061, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 26071, + "src": "628:16:85", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26060, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "628:7:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "627:18:85" + }, + "payable": false, + "returnParameters": { + "id": 26065, + "nodeType": "ParameterList", + "parameters": [], + "src": "663:0:85" + }, + "scope": 26093, + "src": "601:96:85", + "stateMutability": "nonpayable", + "superFunction": 26155, + "visibility": "public" + }, + { + "body": { + "id": 26091, + "nodeType": "Block", + "src": "831:114:85", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26077, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26097, + "src": "863:5:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 26078, + "name": "pendingOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26048, + "src": "870:12:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 26076, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26107, + "src": "842:20:85", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 26079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "842:41:85", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26080, + "nodeType": "EmitStatement", + "src": "837:46:85" + }, + { + "expression": { + "argumentTypes": null, + "id": 26083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 26081, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26097, + "src": "889:5:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 26082, + "name": "pendingOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26048, + "src": "897:12:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "889:20:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 26084, + "nodeType": "ExpressionStatement", + "src": "889:20:85" + }, + { + "expression": { + "argumentTypes": null, + "id": 26089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 26085, + "name": "pendingOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26048, + "src": "915:12:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 26087, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "938:1:85", + "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": 26086, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "930:7:85", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 26088, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "930:10:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "915:25:85", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 26090, + "nodeType": "ExpressionStatement", + "src": "915:25:85" + } + ] + }, + "documentation": "@dev Allows the pendingOwner address to finalize the transfer.", + "id": 26092, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 26074, + "modifierName": { + "argumentTypes": null, + "id": 26073, + "name": "onlyPendingOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26059, + "src": "814:16:85", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "814:16:85" + } + ], + "name": "claimOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26072, + "nodeType": "ParameterList", + "parameters": [], + "src": "804:2:85" + }, + "payable": false, + "returnParameters": { + "id": 26075, + "nodeType": "ParameterList", + "parameters": [], + "src": "831:0:85" + }, + "scope": 26093, + "src": "781:164:85", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 26094, + "src": "219:728:85" + } + ], + "src": "0:948:85" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.944Z" +} \ No newline at end of file diff --git a/build/contracts/Constants.json b/build/contracts/Constants.json new file mode 100644 index 0000000..0d5cfd2 --- /dev/null +++ b/build/contracts/Constants.json @@ -0,0 +1,585 @@ +{ + "contractName": "Constants", + "abi": [], + "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a7230582048239ca3170713503f05836d86fdeac3f274b1dbd4392461d06b9ad194ed5ba30029", + "deployedBytecode": "0x6080604052600080fd00a165627a7a7230582048239ca3170713503f05836d86fdeac3f274b1dbd4392461d06b9ad194ed5ba30029", + "sourceMap": "84:149:65:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;84:149:65;;;;;;;", + "deployedSourceMap": "84:149:65:-;;;;;", + "source": "pragma solidity ^0.4.25;\n\n/// @title Some useful constants\n/// @author DigixGlobal\n\ncontract Constants {\n address constant NULL_ADDRESS = address(0x0);\n uint256 constant ZERO = uint256(0);\n bytes32 constant EMPTY = bytes32(0x0);\n}\n", + "sourcePath": "@digix/cacp-contracts-dao/contracts/Constants.sol", + "ast": { + "absolutePath": "@digix/cacp-contracts-dao/contracts/Constants.sol", + "exportedSymbols": { + "Constants": [ + 18700 + ] + }, + "id": 18701, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 18684, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:65" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Some useful constants\n @author DigixGlobal", + "fullyImplemented": true, + "id": 18700, + "linearizedBaseContracts": [ + 18700 + ], + "name": "Constants", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 18689, + "name": "NULL_ADDRESS", + "nodeType": "VariableDeclaration", + "scope": 18700, + "src": "107:44:65", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18685, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "107:7:65", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 18687, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "147:3:65", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 18686, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "139:7:65", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 18688, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "139:12:65", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 18694, + "name": "ZERO", + "nodeType": "VariableDeclaration", + "scope": 18700, + "src": "155:34:65", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18690, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "155:7:65", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 18692, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "187:1:65", + "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": 18691, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "179:7:65", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 18693, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "179:10:65", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 18699, + "name": "EMPTY", + "nodeType": "VariableDeclaration", + "scope": 18700, + "src": "193:37:65", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18695, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "193:7:65", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 18697, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "226:3:65", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 18696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "218:7:65", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 18698, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "218:12:65", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "scope": 18701, + "src": "84:149:65" + } + ], + "src": "0:234:65" + }, + "legacyAST": { + "absolutePath": "@digix/cacp-contracts-dao/contracts/Constants.sol", + "exportedSymbols": { + "Constants": [ + 18700 + ] + }, + "id": 18701, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 18684, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:65" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Some useful constants\n @author DigixGlobal", + "fullyImplemented": true, + "id": 18700, + "linearizedBaseContracts": [ + 18700 + ], + "name": "Constants", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 18689, + "name": "NULL_ADDRESS", + "nodeType": "VariableDeclaration", + "scope": 18700, + "src": "107:44:65", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18685, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "107:7:65", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 18687, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "147:3:65", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 18686, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "139:7:65", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 18688, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "139:12:65", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 18694, + "name": "ZERO", + "nodeType": "VariableDeclaration", + "scope": 18700, + "src": "155:34:65", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18690, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "155:7:65", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 18692, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "187:1:65", + "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": 18691, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "179:7:65", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 18693, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "179:10:65", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 18699, + "name": "EMPTY", + "nodeType": "VariableDeclaration", + "scope": 18700, + "src": "193:37:65", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18695, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "193:7:65", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 18697, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "226:3:65", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 18696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "218:7:65", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 18698, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "218:12:65", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "scope": 18701, + "src": "84:149:65" + } + ], + "src": "0:234:65" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.912Z" +} \ No newline at end of file diff --git a/build/contracts/ContractResolver.json b/build/contracts/ContractResolver.json new file mode 100644 index 0000000..f2a6129 --- /dev/null +++ b/build/contracts/ContractResolver.json @@ -0,0 +1,3786 @@ +{ + "contractName": "ContractResolver", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "_new_owner", + "type": "address" + } + ], + "name": "change_owner", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "new_owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "locked_forever", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claim_ownership", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + }, + { + "name": "_contract_address", + "type": "address" + } + ], + "name": "init_register_contract", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "lock_resolver_forever", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610028610053640100000000026401000000009004565b151561003357600080fd5b6000600360006101000a81548160ff0219169083151502179055506100d2565b6000801515600160149054906101000a900460ff16151514156100cb57336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060146101000a81548160ff0219169083151502179055505b6001905090565b610793806100e16000396000f30060806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063253c8bd4146100935780633f83acff146100ee5780634552b04f1461015f5780635ad1a0cb146101b65780636d19a882146101e55780638da5cb5b14610214578063c0f6ef4a1461026b578063f7a79a02146102d4575b600080fd5b34801561009f57600080fd5b506100d4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610303565b604051808215151515815260200191505060405180910390f35b3480156100fa57600080fd5b5061011d6004803603810190808035600019169060200190929190505050610362565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b5061017461041d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c257600080fd5b506101cb610443565b604051808215151515815260200191505060405180910390f35b3480156101f157600080fd5b506101fa61047a565b604051808215151515815260200191505060405180910390f35b34801561022057600080fd5b5061022961048d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561027757600080fd5b506102ba6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104b2565b604051808215151515815260200191505060405180910390f35b3480156102e057600080fd5b506102e9610649565b604051808215151515815260200191505060405180910390f35b600061030d610710565b151561031857600080fd5b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1660026000846000191660001916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156103da57600080fd5b60026000836000191660001916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061044d610710565b151561045857600080fd5b6001600360006101000a81548160ff0219169083151502179055506001905090565b600360009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614151561050f57600080fd5b60001515600360009054906101000a900460ff16151514151561053157600080fd5b82600073ffffffffffffffffffffffffffffffffffffffff1660026000836000191660001916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156105a857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156105e457600080fd5b8260026000866000191660001916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600191505092915050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106a757600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050905600a165627a7a723058206556dfde2cd70602a079861ffd0a9084c2cb6b258639541fefc47f964953030c0029", + "deployedBytecode": "0x60806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063253c8bd4146100935780633f83acff146100ee5780634552b04f1461015f5780635ad1a0cb146101b65780636d19a882146101e55780638da5cb5b14610214578063c0f6ef4a1461026b578063f7a79a02146102d4575b600080fd5b34801561009f57600080fd5b506100d4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610303565b604051808215151515815260200191505060405180910390f35b3480156100fa57600080fd5b5061011d6004803603810190808035600019169060200190929190505050610362565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b5061017461041d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c257600080fd5b506101cb610443565b604051808215151515815260200191505060405180910390f35b3480156101f157600080fd5b506101fa61047a565b604051808215151515815260200191505060405180910390f35b34801561022057600080fd5b5061022961048d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561027757600080fd5b506102ba6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104b2565b604051808215151515815260200191505060405180910390f35b3480156102e057600080fd5b506102e9610649565b604051808215151515815260200191505060405180910390f35b600061030d610710565b151561031857600080fd5b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1660026000846000191660001916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156103da57600080fd5b60026000836000191660001916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061044d610710565b151561045857600080fd5b6001600360006101000a81548160ff0219169083151502179055506001905090565b600360009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614151561050f57600080fd5b60001515600360009054906101000a900460ff16151514151561053157600080fd5b82600073ffffffffffffffffffffffffffffffffffffffff1660026000836000191660001916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156105a857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156105e457600080fd5b8260026000866000191660001916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600191505092915050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156106a757600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050905600a165627a7a723058206556dfde2cd70602a079861ffd0a9084c2cb6b258639541fefc47f964953030c0029", + "sourceMap": "136:2058:66:-;;;876:86;8:9:-1;5:2;;;30:1;27;20:12;5:2;876:86:66;913:15;:13;;;:15;;;:::i;:::-;905:24;;;;;;;;952:5;935:14;;:22;;;;;;;;;;;;;;;;;;136:2058;;315:208:64;380:13;427:5;407:25;;:16;;;;;;;;;;;:25;;;403:95;;;450:10;442:5;;:18;;;;;;;;;;;;;;;;;;487:4;468:16;;:23;;;;;;;;;;;;;;;;;;403:95;514:4;503:15;;315:208;:::o;136:2058:66:-;;;;;;;", + "deployedSourceMap": "136:2058:66:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;672:173:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;672:173:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1996:195:66;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1996:195:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;135:24:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;135:24:64;;;;;;;;;;;;;;;;;;;;;;;;;;;1677:161:66;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1677:161:66;;;;;;;;;;;;;;;;;;;;;;;;;;;231:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;231:26:66;;;;;;;;;;;;;;;;;;;;;;;;;;;111:20:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;111:20:64;;;;;;;;;;;;;;;;;;;;;;;;;;;1184:334:66;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1184:334:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;849:169:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;849:169:64;;;;;;;;;;;;;;;;;;;;;;;;;;;672:173;774:13;288:10;:8;:10::i;:::-;280:19;;;;;;;;809:10;797:9;;:22;;;;;;;;;;;;;;;;;;836:4;825:15;;672:173;;;:::o;1996:195:66:-;2086:17;147:3:65;2121:31:66;;:9;:15;2131:4;2121:15;;;;;;;;;;;;;;;;;;;;;;;;;;;:31;;;;2113:40;;;;;;;;2171:9;:15;2181:4;2171:15;;;;;;;;;;;;;;;;;;;;;;;;;;;2159:27;;1996:195;;;:::o;135:24:64:-;;;;;;;;;;;;;:::o;1677:161:66:-;1768:13;288:10:64;:8;:10::i;:::-;280:19;;;;;;;;1808:4:66;1791:14;;:21;;;;;;;;;;;;;;;;;;1829:4;1818:15;;1677:161;:::o;231:26::-;;;;;;;;;;;;;:::o;111:20:64:-;;;;;;;;;;;;;:::o;1184:334:66:-;1386:13;419:5;;;;;;;;;;;406:18;;:9;:18;;;398:27;;;;;;;;745:5;727:23;;:14;;;;;;;;;;;:23;;;719:32;;;;;;;;1342:4;147:3:65;317:31:66;;:9;:15;327:4;317:15;;;;;;;;;;;;;;;;;;;;;;;;;;;:31;;;309:40;;;;;;;;147:3:65;1417:33:66;;:17;:33;;;;1409:42;;;;;;;;1475:17;1457:9;:15;1467:4;1457:15;;;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;1509:4;1498:15;;757:1;1184:334;;;;:::o;849:169:64:-;914:13;959:9;;;;;;;;;;;945:23;;:10;:23;;;937:32;;;;;;;;983:9;;;;;;;;;;;975:5;;:17;;;;;;;;;;;;;;;;;;1009:4;998:15;;849:169;:::o;527:141::-;606:14;657:5;;;;;;;;;;;643:19;;:10;:19;;;630:33;;527:141;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"./ACOwned.sol\";\nimport \"./Constants.sol\";\n\n/// @title Contract Name Registry\n/// @author DigixGlobal\n\ncontract ContractResolver is ACOwned, Constants {\n\n mapping (bytes32 => address) contracts;\n bool public locked_forever;\n\n modifier unless_registered(bytes32 _key) {\n require(contracts[_key] == NULL_ADDRESS);\n _;\n }\n\n modifier if_owner_origin() {\n require(tx.origin == owner);\n _;\n }\n\n /// Function modifier to check if msg.sender corresponds to the resolved address of a given key\n /// @param _contract The resolver key\n modifier if_sender_is(bytes32 _contract) {\n require(msg.sender == get_contract(_contract));\n _;\n }\n\n modifier if_not_locked() {\n require(locked_forever == false);\n _;\n }\n\n /// @dev ContractResolver constructor will perform the following: 1. Set msg.sender as the contract owner.\n constructor() public\n {\n require(init_ac_owned());\n locked_forever = false;\n }\n\n /// @dev Called at contract initialization\n /// @param _key bytestring for CACP name\n /// @param _contract_address The address of the contract to be registered\n /// @return _success if the operation is successful\n function init_register_contract(bytes32 _key, address _contract_address)\n if_owner_origin()\n if_not_locked()\n unless_registered(_key)\n public\n returns (bool _success)\n {\n require(_contract_address != NULL_ADDRESS);\n contracts[_key] = _contract_address;\n _success = true;\n }\n\n /// @dev Lock the resolver from any further modifications. This can only be called from the owner\n /// @return _success if the operation is successful\n function lock_resolver_forever()\n if_owner\n public\n returns (bool _success)\n {\n locked_forever = true;\n _success = true;\n }\n\n /// @dev Get address of a contract\n /// @param _key the bytestring name of the contract to look up\n /// @return _contract the address of the contract\n function get_contract(bytes32 _key)\n public\n view\n returns (address _contract)\n {\n require(contracts[_key] != NULL_ADDRESS);\n _contract = contracts[_key];\n }\n\n}\n", + "sourcePath": "@digix/cacp-contracts-dao/contracts/ContractResolver.sol", + "ast": { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ContractResolver.sol", + "exportedSymbols": { + "ContractResolver": [ + 18849 + ] + }, + "id": 18850, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 18702, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:66" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ACOwned.sol", + "file": "./ACOwned.sol", + "id": 18703, + "nodeType": "ImportDirective", + "scope": 18850, + "sourceUnit": 18683, + "src": "26:23:66", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/Constants.sol", + "file": "./Constants.sol", + "id": 18704, + "nodeType": "ImportDirective", + "scope": 18850, + "sourceUnit": 18701, + "src": "50:25:66", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 18705, + "name": "ACOwned", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18682, + "src": "165:7:66", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ACOwned_$18682", + "typeString": "contract ACOwned" + } + }, + "id": 18706, + "nodeType": "InheritanceSpecifier", + "src": "165:7:66" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 18707, + "name": "Constants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18700, + "src": "174:9:66", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Constants_$18700", + "typeString": "contract Constants" + } + }, + "id": 18708, + "nodeType": "InheritanceSpecifier", + "src": "174:9:66" + } + ], + "contractDependencies": [ + 18682, + 18700 + ], + "contractKind": "contract", + "documentation": "@title Contract Name Registry\n @author DigixGlobal", + "fullyImplemented": true, + "id": 18849, + "linearizedBaseContracts": [ + 18849, + 18700, + 18682 + ], + "name": "ContractResolver", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 18712, + "name": "contracts", + "nodeType": "VariableDeclaration", + "scope": 18849, + "src": "189:38:66", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "typeName": { + "id": 18711, + "keyType": { + "id": 18709, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "198:7:66", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "189:28:66", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "valueType": { + "id": 18710, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "209:7:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18714, + "name": "locked_forever", + "nodeType": "VariableDeclaration", + "scope": 18849, + "src": "231:26:66", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18713, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "231:4:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 18727, + "nodeType": "Block", + "src": "303:58:66", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 18723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18719, + "name": "contracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18712, + "src": "317:9:66", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 18721, + "indexExpression": { + "argumentTypes": null, + "id": 18720, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18716, + "src": "327:4:66", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "317:15:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 18722, + "name": "NULL_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18689, + "src": "336:12:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "317:31:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18718, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "309:7:66", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "309:40:66", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18725, + "nodeType": "ExpressionStatement", + "src": "309:40:66" + }, + { + "id": 18726, + "nodeType": "PlaceholderStatement", + "src": "355:1:66" + } + ] + }, + "documentation": null, + "id": 18728, + "name": "unless_registered", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 18717, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18716, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 18728, + "src": "289:12:66", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18715, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "289:7:66", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "288:14:66" + }, + "src": "262:99:66", + "visibility": "internal" + }, + { + "body": { + "id": 18738, + "nodeType": "Block", + "src": "392:45:66", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 18734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18731, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26624, + "src": "406:2:66", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 18732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "406:9:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 18733, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18591, + "src": "419:5:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "406:18:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18730, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "398:7:66", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "398:27:66", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18736, + "nodeType": "ExpressionStatement", + "src": "398:27:66" + }, + { + "id": 18737, + "nodeType": "PlaceholderStatement", + "src": "431:1:66" + } + ] + }, + "documentation": null, + "id": 18739, + "name": "if_owner_origin", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 18729, + "nodeType": "ParameterList", + "parameters": [], + "src": "389:2:66" + }, + "src": "365:72:66", + "visibility": "internal" + }, + { + "body": { + "id": 18753, + "nodeType": "Block", + "src": "620:64:66", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 18749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18744, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "634:3:66", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 18745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "634:10:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18747, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18741, + "src": "661:9:66", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18746, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18848, + "src": "648:12:66", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 18748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "648:23:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "634:37:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18743, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "626:7:66", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "626:46:66", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18751, + "nodeType": "ExpressionStatement", + "src": "626:46:66" + }, + { + "id": 18752, + "nodeType": "PlaceholderStatement", + "src": "678:1:66" + } + ] + }, + "documentation": "Function modifier to check if msg.sender corresponds to the resolved address of a given key\n @param _contract The resolver key", + "id": 18754, + "name": "if_sender_is", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 18742, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18741, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 18754, + "src": "601:17:66", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18740, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "601:7:66", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "600:19:66" + }, + "src": "579:105:66", + "visibility": "internal" + }, + { + "body": { + "id": 18763, + "nodeType": "Block", + "src": "713:50:66", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 18759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 18757, + "name": "locked_forever", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18714, + "src": "727:14:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 18758, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "745:5:66", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "727:23:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18756, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "719:7:66", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "719:32:66", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18761, + "nodeType": "ExpressionStatement", + "src": "719:32:66" + }, + { + "id": 18762, + "nodeType": "PlaceholderStatement", + "src": "757:1:66" + } + ] + }, + "documentation": null, + "id": 18764, + "name": "if_not_locked", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 18755, + "nodeType": "ParameterList", + "parameters": [], + "src": "710:2:66" + }, + "src": "688:75:66", + "visibility": "internal" + }, + { + "body": { + "id": 18776, + "nodeType": "Block", + "src": "899:63:66", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 18768, + "name": "init_ac_owned", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18628, + "src": "913:13:66", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bool_$", + "typeString": "function () returns (bool)" + } + }, + "id": 18769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "913:15:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18767, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "905:7:66", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "905:24:66", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18771, + "nodeType": "ExpressionStatement", + "src": "905:24:66" + }, + { + "expression": { + "argumentTypes": null, + "id": 18774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18772, + "name": "locked_forever", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18714, + "src": "935:14:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 18773, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "952:5:66", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "935:22:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18775, + "nodeType": "ExpressionStatement", + "src": "935:22:66" + } + ] + }, + "documentation": "@dev ContractResolver constructor will perform the following: 1. Set msg.sender as the contract owner.", + "id": 18777, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18765, + "nodeType": "ParameterList", + "parameters": [], + "src": "887:2:66" + }, + "payable": false, + "returnParameters": { + "id": 18766, + "nodeType": "ParameterList", + "parameters": [], + "src": "899:0:66" + }, + "scope": 18849, + "src": "876:86:66", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18809, + "nodeType": "Block", + "src": "1403:115:66", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 18796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 18794, + "name": "_contract_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18781, + "src": "1417:17:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 18795, + "name": "NULL_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18689, + "src": "1438:12:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1417:33:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18793, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1409:7:66", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1409:42:66", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18798, + "nodeType": "ExpressionStatement", + "src": "1409:42:66" + }, + { + "expression": { + "argumentTypes": null, + "id": 18803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18799, + "name": "contracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18712, + "src": "1457:9:66", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 18801, + "indexExpression": { + "argumentTypes": null, + "id": 18800, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18779, + "src": "1467:4:66", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1457:15:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18802, + "name": "_contract_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18781, + "src": "1475:17:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1457:35:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18804, + "nodeType": "ExpressionStatement", + "src": "1457:35:66" + }, + { + "expression": { + "argumentTypes": null, + "id": 18807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18805, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18791, + "src": "1498:8:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18806, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1509:4:66", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1498:15:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18808, + "nodeType": "ExpressionStatement", + "src": "1498:15:66" + } + ] + }, + "documentation": "@dev Called at contract initialization\n @param _key bytestring for CACP name\n @param _contract_address The address of the contract to be registered\n @return _success if the operation is successful", + "id": 18810, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 18784, + "modifierName": { + "argumentTypes": null, + "id": 18783, + "name": "if_owner_origin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18739, + "src": "1268:15:66", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1268:17:66" + }, + { + "arguments": [], + "id": 18786, + "modifierName": { + "argumentTypes": null, + "id": 18785, + "name": "if_not_locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18764, + "src": "1297:13:66", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1297:15:66" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 18788, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18779, + "src": "1342:4:66", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 18789, + "modifierName": { + "argumentTypes": null, + "id": 18787, + "name": "unless_registered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18728, + "src": "1324:17:66", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1324:23:66" + } + ], + "name": "init_register_contract", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18782, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18779, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 18810, + "src": "1216:12:66", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18778, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1216:7:66", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18781, + "name": "_contract_address", + "nodeType": "VariableDeclaration", + "scope": 18810, + "src": "1230:25:66", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18780, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1230:7:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1215:41:66" + }, + "payable": false, + "returnParameters": { + "id": 18792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18791, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 18810, + "src": "1386:13:66", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18790, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1386:4:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1385:15:66" + }, + "scope": 18849, + "src": "1184:334:66", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18825, + "nodeType": "Block", + "src": "1785:53:66", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18817, + "name": "locked_forever", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18714, + "src": "1791:14:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18818, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1808:4:66", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1791:21:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18820, + "nodeType": "ExpressionStatement", + "src": "1791:21:66" + }, + { + "expression": { + "argumentTypes": null, + "id": 18823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18821, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18815, + "src": "1818:8:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18822, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1829:4:66", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1818:15:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18824, + "nodeType": "ExpressionStatement", + "src": "1818:15:66" + } + ] + }, + "documentation": "@dev Lock the resolver from any further modifications. This can only be called from the owner\n @return _success if the operation is successful", + "id": 18826, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 18813, + "modifierName": { + "argumentTypes": null, + "id": 18812, + "name": "if_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18604, + "src": "1721:8:66", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1721:8:66" + } + ], + "name": "lock_resolver_forever", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18811, + "nodeType": "ParameterList", + "parameters": [], + "src": "1707:2:66" + }, + "payable": false, + "returnParameters": { + "id": 18816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18815, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 18826, + "src": "1768:13:66", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18814, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1768:4:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1767:15:66" + }, + "scope": 18849, + "src": "1677:161:66", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18847, + "nodeType": "Block", + "src": "2107:84:66", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 18838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18834, + "name": "contracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18712, + "src": "2121:9:66", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 18836, + "indexExpression": { + "argumentTypes": null, + "id": 18835, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18828, + "src": "2131:4:66", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2121:15:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 18837, + "name": "NULL_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18689, + "src": "2140:12:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2121:31:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18833, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2113:7:66", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2113:40:66", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18840, + "nodeType": "ExpressionStatement", + "src": "2113:40:66" + }, + { + "expression": { + "argumentTypes": null, + "id": 18845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18841, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18831, + "src": "2159:9:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18842, + "name": "contracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18712, + "src": "2171:9:66", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 18844, + "indexExpression": { + "argumentTypes": null, + "id": 18843, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18828, + "src": "2181:4:66", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2171:15:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2159:27:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18846, + "nodeType": "ExpressionStatement", + "src": "2159:27:66" + } + ] + }, + "documentation": "@dev Get address of a contract\n @param _key the bytestring name of the contract to look up\n @return _contract the address of the contract", + "id": 18848, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get_contract", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18829, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18828, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 18848, + "src": "2018:12:66", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18827, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2018:7:66", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2017:14:66" + }, + "payable": false, + "returnParameters": { + "id": 18832, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18831, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 18848, + "src": "2086:17:66", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18830, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2086:7:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2085:19:66" + }, + "scope": 18849, + "src": "1996:195:66", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 18850, + "src": "136:2058:66" + } + ], + "src": "0:2195:66" + }, + "legacyAST": { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ContractResolver.sol", + "exportedSymbols": { + "ContractResolver": [ + 18849 + ] + }, + "id": 18850, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 18702, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:66" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ACOwned.sol", + "file": "./ACOwned.sol", + "id": 18703, + "nodeType": "ImportDirective", + "scope": 18850, + "sourceUnit": 18683, + "src": "26:23:66", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/Constants.sol", + "file": "./Constants.sol", + "id": 18704, + "nodeType": "ImportDirective", + "scope": 18850, + "sourceUnit": 18701, + "src": "50:25:66", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 18705, + "name": "ACOwned", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18682, + "src": "165:7:66", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ACOwned_$18682", + "typeString": "contract ACOwned" + } + }, + "id": 18706, + "nodeType": "InheritanceSpecifier", + "src": "165:7:66" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 18707, + "name": "Constants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18700, + "src": "174:9:66", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Constants_$18700", + "typeString": "contract Constants" + } + }, + "id": 18708, + "nodeType": "InheritanceSpecifier", + "src": "174:9:66" + } + ], + "contractDependencies": [ + 18682, + 18700 + ], + "contractKind": "contract", + "documentation": "@title Contract Name Registry\n @author DigixGlobal", + "fullyImplemented": true, + "id": 18849, + "linearizedBaseContracts": [ + 18849, + 18700, + 18682 + ], + "name": "ContractResolver", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 18712, + "name": "contracts", + "nodeType": "VariableDeclaration", + "scope": 18849, + "src": "189:38:66", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "typeName": { + "id": 18711, + "keyType": { + "id": 18709, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "198:7:66", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "189:28:66", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "valueType": { + "id": 18710, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "209:7:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18714, + "name": "locked_forever", + "nodeType": "VariableDeclaration", + "scope": 18849, + "src": "231:26:66", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18713, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "231:4:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 18727, + "nodeType": "Block", + "src": "303:58:66", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 18723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18719, + "name": "contracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18712, + "src": "317:9:66", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 18721, + "indexExpression": { + "argumentTypes": null, + "id": 18720, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18716, + "src": "327:4:66", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "317:15:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 18722, + "name": "NULL_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18689, + "src": "336:12:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "317:31:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18718, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "309:7:66", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "309:40:66", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18725, + "nodeType": "ExpressionStatement", + "src": "309:40:66" + }, + { + "id": 18726, + "nodeType": "PlaceholderStatement", + "src": "355:1:66" + } + ] + }, + "documentation": null, + "id": 18728, + "name": "unless_registered", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 18717, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18716, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 18728, + "src": "289:12:66", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18715, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "289:7:66", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "288:14:66" + }, + "src": "262:99:66", + "visibility": "internal" + }, + { + "body": { + "id": 18738, + "nodeType": "Block", + "src": "392:45:66", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 18734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18731, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26624, + "src": "406:2:66", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 18732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "406:9:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 18733, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18591, + "src": "419:5:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "406:18:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18730, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "398:7:66", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "398:27:66", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18736, + "nodeType": "ExpressionStatement", + "src": "398:27:66" + }, + { + "id": 18737, + "nodeType": "PlaceholderStatement", + "src": "431:1:66" + } + ] + }, + "documentation": null, + "id": 18739, + "name": "if_owner_origin", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 18729, + "nodeType": "ParameterList", + "parameters": [], + "src": "389:2:66" + }, + "src": "365:72:66", + "visibility": "internal" + }, + { + "body": { + "id": 18753, + "nodeType": "Block", + "src": "620:64:66", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 18749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18744, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "634:3:66", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 18745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "634:10:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18747, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18741, + "src": "661:9:66", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18746, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18848, + "src": "648:12:66", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 18748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "648:23:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "634:37:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18743, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "626:7:66", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "626:46:66", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18751, + "nodeType": "ExpressionStatement", + "src": "626:46:66" + }, + { + "id": 18752, + "nodeType": "PlaceholderStatement", + "src": "678:1:66" + } + ] + }, + "documentation": "Function modifier to check if msg.sender corresponds to the resolved address of a given key\n @param _contract The resolver key", + "id": 18754, + "name": "if_sender_is", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 18742, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18741, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 18754, + "src": "601:17:66", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18740, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "601:7:66", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "600:19:66" + }, + "src": "579:105:66", + "visibility": "internal" + }, + { + "body": { + "id": 18763, + "nodeType": "Block", + "src": "713:50:66", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 18759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 18757, + "name": "locked_forever", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18714, + "src": "727:14:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 18758, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "745:5:66", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "727:23:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18756, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "719:7:66", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "719:32:66", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18761, + "nodeType": "ExpressionStatement", + "src": "719:32:66" + }, + { + "id": 18762, + "nodeType": "PlaceholderStatement", + "src": "757:1:66" + } + ] + }, + "documentation": null, + "id": 18764, + "name": "if_not_locked", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 18755, + "nodeType": "ParameterList", + "parameters": [], + "src": "710:2:66" + }, + "src": "688:75:66", + "visibility": "internal" + }, + { + "body": { + "id": 18776, + "nodeType": "Block", + "src": "899:63:66", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 18768, + "name": "init_ac_owned", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18628, + "src": "913:13:66", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bool_$", + "typeString": "function () returns (bool)" + } + }, + "id": 18769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "913:15:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18767, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "905:7:66", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "905:24:66", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18771, + "nodeType": "ExpressionStatement", + "src": "905:24:66" + }, + { + "expression": { + "argumentTypes": null, + "id": 18774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18772, + "name": "locked_forever", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18714, + "src": "935:14:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 18773, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "952:5:66", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "935:22:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18775, + "nodeType": "ExpressionStatement", + "src": "935:22:66" + } + ] + }, + "documentation": "@dev ContractResolver constructor will perform the following: 1. Set msg.sender as the contract owner.", + "id": 18777, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18765, + "nodeType": "ParameterList", + "parameters": [], + "src": "887:2:66" + }, + "payable": false, + "returnParameters": { + "id": 18766, + "nodeType": "ParameterList", + "parameters": [], + "src": "899:0:66" + }, + "scope": 18849, + "src": "876:86:66", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18809, + "nodeType": "Block", + "src": "1403:115:66", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 18796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 18794, + "name": "_contract_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18781, + "src": "1417:17:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 18795, + "name": "NULL_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18689, + "src": "1438:12:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1417:33:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18793, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1409:7:66", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1409:42:66", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18798, + "nodeType": "ExpressionStatement", + "src": "1409:42:66" + }, + { + "expression": { + "argumentTypes": null, + "id": 18803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18799, + "name": "contracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18712, + "src": "1457:9:66", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 18801, + "indexExpression": { + "argumentTypes": null, + "id": 18800, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18779, + "src": "1467:4:66", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1457:15:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18802, + "name": "_contract_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18781, + "src": "1475:17:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1457:35:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18804, + "nodeType": "ExpressionStatement", + "src": "1457:35:66" + }, + { + "expression": { + "argumentTypes": null, + "id": 18807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18805, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18791, + "src": "1498:8:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18806, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1509:4:66", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1498:15:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18808, + "nodeType": "ExpressionStatement", + "src": "1498:15:66" + } + ] + }, + "documentation": "@dev Called at contract initialization\n @param _key bytestring for CACP name\n @param _contract_address The address of the contract to be registered\n @return _success if the operation is successful", + "id": 18810, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 18784, + "modifierName": { + "argumentTypes": null, + "id": 18783, + "name": "if_owner_origin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18739, + "src": "1268:15:66", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1268:17:66" + }, + { + "arguments": [], + "id": 18786, + "modifierName": { + "argumentTypes": null, + "id": 18785, + "name": "if_not_locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18764, + "src": "1297:13:66", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1297:15:66" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 18788, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18779, + "src": "1342:4:66", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 18789, + "modifierName": { + "argumentTypes": null, + "id": 18787, + "name": "unless_registered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18728, + "src": "1324:17:66", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1324:23:66" + } + ], + "name": "init_register_contract", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18782, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18779, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 18810, + "src": "1216:12:66", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18778, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1216:7:66", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18781, + "name": "_contract_address", + "nodeType": "VariableDeclaration", + "scope": 18810, + "src": "1230:25:66", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18780, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1230:7:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1215:41:66" + }, + "payable": false, + "returnParameters": { + "id": 18792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18791, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 18810, + "src": "1386:13:66", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18790, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1386:4:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1385:15:66" + }, + "scope": 18849, + "src": "1184:334:66", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18825, + "nodeType": "Block", + "src": "1785:53:66", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18817, + "name": "locked_forever", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18714, + "src": "1791:14:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18818, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1808:4:66", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1791:21:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18820, + "nodeType": "ExpressionStatement", + "src": "1791:21:66" + }, + { + "expression": { + "argumentTypes": null, + "id": 18823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18821, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18815, + "src": "1818:8:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18822, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1829:4:66", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1818:15:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18824, + "nodeType": "ExpressionStatement", + "src": "1818:15:66" + } + ] + }, + "documentation": "@dev Lock the resolver from any further modifications. This can only be called from the owner\n @return _success if the operation is successful", + "id": 18826, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 18813, + "modifierName": { + "argumentTypes": null, + "id": 18812, + "name": "if_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18604, + "src": "1721:8:66", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1721:8:66" + } + ], + "name": "lock_resolver_forever", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18811, + "nodeType": "ParameterList", + "parameters": [], + "src": "1707:2:66" + }, + "payable": false, + "returnParameters": { + "id": 18816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18815, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 18826, + "src": "1768:13:66", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18814, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1768:4:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1767:15:66" + }, + "scope": 18849, + "src": "1677:161:66", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18847, + "nodeType": "Block", + "src": "2107:84:66", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 18838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18834, + "name": "contracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18712, + "src": "2121:9:66", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 18836, + "indexExpression": { + "argumentTypes": null, + "id": 18835, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18828, + "src": "2131:4:66", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2121:15:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 18837, + "name": "NULL_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18689, + "src": "2140:12:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2121:31:66", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18833, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2113:7:66", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2113:40:66", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18840, + "nodeType": "ExpressionStatement", + "src": "2113:40:66" + }, + { + "expression": { + "argumentTypes": null, + "id": 18845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18841, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18831, + "src": "2159:9:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18842, + "name": "contracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18712, + "src": "2171:9:66", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 18844, + "indexExpression": { + "argumentTypes": null, + "id": 18843, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18828, + "src": "2181:4:66", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2171:15:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2159:27:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18846, + "nodeType": "ExpressionStatement", + "src": "2159:27:66" + } + ] + }, + "documentation": "@dev Get address of a contract\n @param _key the bytestring name of the contract to look up\n @return _contract the address of the contract", + "id": 18848, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get_contract", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18829, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18828, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 18848, + "src": "2018:12:66", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18827, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2018:7:66", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2017:14:66" + }, + "payable": false, + "returnParameters": { + "id": 18832, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18831, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 18848, + "src": "2086:17:66", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18830, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2086:7:66", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2085:19:66" + }, + "scope": 18849, + "src": "1996:195:66", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 18850, + "src": "136:2058:66" + } + ], + "src": "0:2195:66" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0x4ec64ff50fed58d7ea286e9f77b7286db298be31", + "transactionHash": "0xcd2ece1eb81263fc35e036d41b2e0210b6e584b2530c4cc753f868e788085f65" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T10:37:27.464Z" +} \ No newline at end of file diff --git a/build/contracts/Dao.json b/build/contracts/Dao.json new file mode 100644 index 0000000..47c9089 --- /dev/null +++ b/build/contracts/Dao.json @@ -0,0 +1,28074 @@ +{ + "contractName": "Dao", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getAddressConfig", + "outputs": [ + { + "name": "_configValue", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentTimeInQuarter", + "outputs": [ + { + "name": "_currentT", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isMainPhase", + "outputs": [ + { + "name": "_isMainPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isLockingPhase", + "outputs": [ + { + "name": "_isLockingPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentQuarterNumber", + "outputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isParticipant", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getBytesConfig", + "outputs": [ + { + "name": "_configValue", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getUintConfig", + "outputs": [ + { + "name": "_configValue", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isDaoNotReplaced", + "outputs": [ + { + "name": "_isNotReplaced", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isModerator", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": false, + "name": "_proposer", + "type": "address" + } + ], + "name": "NewProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": false, + "name": "_newDoc", + "type": "bytes32" + } + ], + "name": "ModifyProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "ChangeProposalFunding", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "FinalizeProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_milestoneIndex", + "type": "uint256" + } + ], + "name": "FinishMilestone", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": false, + "name": "_newDoc", + "type": "bytes32" + } + ], + "name": "AddProposalDoc", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": false, + "name": "_actionId", + "type": "uint256" + }, + { + "indexed": false, + "name": "_doc", + "type": "bytes32" + } + ], + "name": "PRLAction", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "CloseProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_newDaoContract", + "type": "address" + }, + { + "indexed": false, + "name": "_newDaoFundingManager", + "type": "address" + }, + { + "indexed": false, + "name": "_newDaoRewardsManager", + "type": "address" + } + ], + "name": "MigrateToNewDao", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_newDaoContract", + "type": "address" + }, + { + "name": "_newDaoFundingManager", + "type": "address" + }, + { + "name": "_newDaoRewardsManager", + "type": "address" + } + ], + "name": "setNewDaoContracts", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_newDaoContract", + "type": "address" + }, + { + "name": "_newDaoFundingManager", + "type": "address" + }, + { + "name": "_newDaoRewardsManager", + "type": "address" + } + ], + "name": "migrateToNewDao", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_start", + "type": "uint256" + } + ], + "name": "setStartOfFirstQuarter", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_docIpfsHash", + "type": "bytes32" + }, + { + "name": "_milestonesFundings", + "type": "uint256[]" + }, + { + "name": "_finalReward", + "type": "uint256" + } + ], + "name": "submitPreproposal", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_docIpfsHash", + "type": "bytes32" + }, + { + "name": "_milestonesFundings", + "type": "uint256[]" + }, + { + "name": "_finalReward", + "type": "uint256" + } + ], + "name": "modifyProposal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_milestonesFundings", + "type": "uint256[]" + }, + { + "name": "_finalReward", + "type": "uint256" + }, + { + "name": "_currentMilestone", + "type": "uint256" + } + ], + "name": "changeFundings", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "finalizeProposal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_milestoneIndex", + "type": "uint256" + } + ], + "name": "finishMilestone", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_newDoc", + "type": "bytes32" + } + ], + "name": "addProposalDoc", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "endorseProposal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_action", + "type": "uint256" + }, + { + "name": "_doc", + "type": "bytes32" + } + ], + "name": "updatePRL", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "closeProposal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalIds", + "type": "bytes32[]" + } + ], + "name": "founderCloseProposals", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b506040516020806200607c83398101806040528101908080519060200190929190505050620011756014548262001188640100000000026401000000009004565b15156200118157600080fd5b5062001419565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f057600080fd5b505af115801562001205573d6000803e3d6000fd5b505050506040513d60208110156200121c57600080fd5b810190808051906020019092919050505090506000151581151514156200140d5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013ba57600080fd5b505af1158015620013cf573d6000803e3d6000fd5b505050506040513d6020811015620013e657600080fd5b810190808051906020019092919050505015156200140357600080fd5b6001915062001412565b600091505b5092915050565b614c5380620014296000396000f30060806040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630247afe81461016457806304f3bcec1461019f578063078f872c146101f65780631d8ccd04146102275780632b847105146102985780633943380c146102de5780633b00763d146103115780633f83acff1461039457806347d0da141461040557806355cc313614610436578063560a25ea146104715780635b30f1cc1461049c57806368533060146104c9578063711f2614146104f85780637d6fed80146105555780637ef37354146105845780637f6a26b6146105cd578063926851af146105f8578063929066f51461062957806393ddad0814610684578063b1e2b9dd146106d1578063b202cc9614610716578063d0bd65b114610799578063d70d9358146107fa578063db4ecbc114610829578063eef7b8f514610880578063fa6f3936146108bf575b600080fd5b34801561017057600080fd5b5061019d60048036038101908080359060200190820180359060200191909192939192939050505061091a565b005b3480156101ab57600080fd5b506101b4610c23565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020257600080fd5b506102256004803603810190808035600019169060200190929190505050610c48565b005b34801561023357600080fd5b50610256600480360381019080803560001916906020019092919050505061110e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102dc6004803603810190808035600019169060200190929190803590602001908201803590602001919091929391929390803590602001909291905050506111d0565b005b3480156102ea57600080fd5b506102f3611586565b60405180826000191660001916815260200191505060405180910390f35b34801561031d57600080fd5b50610392600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061158c565b005b3480156103a057600080fd5b506103c36004803603810190808035600019169060200190929190505050611d83565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561041157600080fd5b506104346004803603810190808035600019169060200190929190505050611e5f565b005b34801561044257600080fd5b5061046f6004803603810190808035600019169060200190929190803590602001909291905050506121e4565b005b34801561047d57600080fd5b5061048661253d565b6040518082815260200191505060405180910390f35b3480156104a857600080fd5b506104c76004803603810190808035906020019092919050505061254d565b005b3480156104d557600080fd5b506104de6126b3565b604051808215151515815260200191505060405180910390f35b34801561050457600080fd5b50610553600480360381019080803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190929190803590602001909291905050506126df565b005b34801561056157600080fd5b5061056a612ab7565b604051808215151515815260200191505060405180910390f35b34801561059057600080fd5b506105cb6004803603810190808035600019169060200190929190803590602001909291908035600019169060200190929190505050612ad2565b005b3480156105d957600080fd5b506105e2612cfd565b6040518082815260200191505060405180910390f35b34801561060457600080fd5b506106276004803603810190808035600019169060200190929190505050612d0d565b005b34801561063557600080fd5b5061066a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612f69565b604051808215151515815260200191505060405180910390f35b34801561069057600080fd5b506106b3600480360381019080803560001916906020019092919050505061314a565b60405180826000191660001916815260200191505060405180910390f35b3480156106dd57600080fd5b50610700600480360381019080803560001916906020019092919050505061320c565b6040518082815260200191505060405180910390f35b34801561072257600080fd5b50610797600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506132ce565b005b3480156107a557600080fd5b506107f860048036038101908080356000191690602001909291908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001909291905050506135a9565b005b34801561080657600080fd5b5061080f6138a8565b604051808215151515815260200191505060405180910390f35b34801561083557600080fd5b5061083e613956565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561088c57600080fd5b506108bd6004803603810190808035600019169060200190929190803560001916906020019092919050505061397c565b005b3480156108cb57600080fd5b50610900600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613bef565b604051808215151515815260200191505060405180910390f35b600080600080600061092a613ec2565b151561093557600080fd5b868690509450600090505b84811015610c1a57610950613fba565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179888884818110151561097957fe5b90506020020135600019166040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b1580156109df57600080fd5b505af11580156109f3573d6000803e3d6000fd5b505050506040513d610140811015610a0a57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050909192939495969798509091929394959697509091929394959650909192935090919250905050809550819650829450505050600354600019168360001916141515610ac057600080fd5b6005546000191682600019161480610ae15750600654600019168260001916145b1515610aec57600080fd5b610b09610afa606e5461320c565b85613fcc90919063ffffffff16565b42111515610b1657600080fd5b8686828181101515610b2457fe5b9050602002013560001916600019167fcc0c35dc01446e741be6aeeeb22693a96b4b42887e92d84a17181687b6a4181860405160405180910390a2610b67613fba565b73ffffffffffffffffffffffffffffffffffffffff1663078f872c8888848181101515610b9057fe5b90506020020135600019166040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015610bf557600080fd5b505af1158015610c09573d6000803e3d6000fd5b505050508080600101915050610940565b50505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610c53613fe8565b610c5c836140f9565b1515610c6757600080fd5b610c6f613fba565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b158015610ce657600080fd5b505af1158015610cfa573d6000803e3d6000fd5b505050506040513d610140811015610d1157600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959697985090919293949596975090919293949596509091929394509091929350909192509050508093508192505050600354600019168260001916141515610dc957600080fd5b60095460001916816000191614151515610de257600080fd5b600e54610ded613fba565b73ffffffffffffffffffffffffffffffffffffffff16633be88369856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610e6357600080fd5b505af1158015610e77573d6000803e3d6000fd5b505050506040513d6020811015610e8d57600080fd5b8101908080519060200190929190505050141515610eaa57600080fd5b610eb2613fba565b73ffffffffffffffffffffffffffffffffffffffff1663078f872c846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015610f2857600080fd5b505af1158015610f3c573d6000803e3d6000fd5b50505050610f48613fba565b73ffffffffffffffffffffffffffffffffffffffff1663c362c790846010546040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015610fc857600080fd5b505af1158015610fdc573d6000803e3d6000fd5b5050505082600019167fcc0c35dc01446e741be6aeeeb22693a96b4b42887e92d84a17181687b6a4181860405160405180910390a26110196141e9565b73ffffffffffffffffffffffffffffffffffffffff16637e71332b33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826000191660001916815260200192505050602060405180830381600087803b1580156110c357600080fd5b505af11580156110d7573d6000803e3d6000fd5b505050506040513d60208110156110ed57600080fd5b8101908080519060200190929190505050151561110957600080fd5b505050565b60006111186141fb565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561118e57600080fd5b505af11580156111a2573d6000803e3d6000fd5b505050506040513d60208110156111b857600080fd5b81019080805190602001909291905050509050919050565b60006111da613fe8565b6111e2613ec2565b90506111ec61420d565b61123683611228878780806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050614236565b613fcc90919063ffffffff16565b1115151561124357600080fd5b61124e606a5461320c565b3414151561125b57600080fd5b6112636141e9565b73ffffffffffffffffffffffffffffffffffffffff166161a834604051600060405180830381858888f19350505050151561129d57600080fd5b6112d684848080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505083614286565b6112de613fba565b73ffffffffffffffffffffffffffffffffffffffff1663a1d444a48633878787876040518763ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018087600019166000191681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018481526020018315151515815260200182810382528686828181526020019250602002808284378201915050975050505050505050600060405180830381600087803b1580156113c157600080fd5b505af11580156113d5573d6000803e3d6000fd5b505050506113e1613fba565b73ffffffffffffffffffffffffffffffffffffffff1663c362c79086600e546040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b15801561146157600080fd5b505af1158015611475573d6000803e3d6000fd5b50505050611481613fba565b73ffffffffffffffffffffffffffffffffffffffff16638a2d659786346040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b1580156114ff57600080fd5b505af1158015611513573d6000803e3d6000fd5b5050505084600019167fab48f5995a7b376b9650077476d511b1f1ed03b0c7e403e7cee95a2769060d6833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25050505050565b60015481565b603360009054906101000a900460ff1660ff166115a76142e6565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561164157600080fd5b505af1158015611655573d6000803e3d6000fd5b505050506040513d602081101561166b57600080fd5b810190808051906020019092919050505014151561168857600080fd5b611690612cfd565b60018111156117595760006116a36142f8565b73ffffffffffffffffffffffffffffffffffffffff1663a78e00d6836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561171157600080fd5b505af1158015611725573d6000803e3d6000fd5b505050506040513d602081101561173b57600080fd5b810190808051906020019092919050505011151561175857600080fd5b5b611761612ab7565b151561176c57600080fd5b6000151561177861430a565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156117db57600080fd5b505af11580156117ef573d6000803e3d6000fd5b505050506040513d602081101561180557600080fd5b8101908080519060200190929190505050151514151561182457600080fd5b8373ffffffffffffffffffffffffffffffffffffffff1661184361430a565b73ffffffffffffffffffffffffffffffffffffffff16633c952b166040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156118a657600080fd5b505af11580156118ba573d6000803e3d6000fd5b505050506040513d60208110156118d057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161480156119d457508273ffffffffffffffffffffffffffffffffffffffff1661191e61430a565b73ffffffffffffffffffffffffffffffffffffffff16639c767e376040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561198157600080fd5b505af1158015611995573d6000803e3d6000fd5b505050506040513d60208110156119ab57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16145b8015611ab057508173ffffffffffffffffffffffffffffffffffffffff166119fa61430a565b73ffffffffffffffffffffffffffffffffffffffff16638c0c28266040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611a5d57600080fd5b505af1158015611a71573d6000803e3d6000fd5b505050506040513d6020811015611a8757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16145b1515611abb57600080fd5b611ac361430a565b73ffffffffffffffffffffffffffffffffffffffff1663efa6b9df6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b158015611b2657600080fd5b505af1158015611b3a573d6000803e3d6000fd5b50505050611b466141e9565b73ffffffffffffffffffffffffffffffffffffffff1663c72deb9a846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015611be057600080fd5b505af1158015611bf4573d6000803e3d6000fd5b50505050611c0061431c565b73ffffffffffffffffffffffffffffffffffffffff16633f5a7583836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015611c9a57600080fd5b505af1158015611cae573d6000803e3d6000fd5b505050507fbdee2a20da24f5e808d52dbcfea2fc775e1b24ad4f67f7fb38c573c3e0cc125a848484604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a150505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611e1d57600080fd5b505af1158015611e31573d6000803e3d6000fd5b505050506040513d6020811015611e4757600080fd5b81019080805190602001909291905050509050919050565b6000611e69613fe8565b611e72826140f9565b1515611e7d57600080fd5b611e868261432e565b1515611e9157600080fd5b611e9a82614493565b611ec1611ea860695461320c565b611eb360675461320c565b613fcc90919063ffffffff16565b611eca426144aa565b111515611ed657600080fd5b611ede613fba565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b158015611f5557600080fd5b505af1158015611f69573d6000803e3d6000fd5b505050506040513d610140811015611f8057600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050909192939495969798509091929394959697509091929394955090919293945090919293509091925090915090505080915050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561207b57600080fd5b612083613fba565b73ffffffffffffffffffffffffffffffffffffffff166347d0da14836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b1580156120f957600080fd5b505af115801561210d573d6000803e3d6000fd5b50505050612119613fba565b73ffffffffffffffffffffffffffffffffffffffff1663e3f3f7a283426040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b15801561219757600080fd5b505af11580156121ab573d6000803e3d6000fd5b5050505081600019167f7987ab68d3e4d0dbf07a8b7eb54fa0557da00515d48a4cefbb95dd10ba8b07b460405160405180910390a25050565b606060006121f0613fe8565b6121f9846140f9565b151561220457600080fd5b61220c613fba565b73ffffffffffffffffffffffffffffffffffffffff16637246d5a7856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b15801561228257600080fd5b505af1158015612296573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060408110156122c057600080fd5b8101908080516401000000008111156122d857600080fd5b828101905060208101848111156122ee57600080fd5b815185602082028301116401000000008211171561230b57600080fd5b505092919060200180519060200190929190505050508092505081518310151561233457600080fd5b61233e84846144d8565b9050804211151561234e57600080fd5b6000612358613fba565b73ffffffffffffffffffffffffffffffffffffffff1663baf4266086612388600188613fcc90919063ffffffff16565b6040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b1580156123e957600080fd5b505af11580156123fd573d6000803e3d6000fd5b505050506040513d602081101561241357600080fd5b810190808051906020019092919050505014151561243057600080fd5b612438613fba565b73ffffffffffffffffffffffffffffffffffffffff1663344e436e85612468600187613fcc90919063ffffffff16565b61248561247f600189613fcc90919063ffffffff16565b42614601565b6040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600019166000191681526020018381526020018281526020019350505050600060405180830381600087803b1580156124ed57600080fd5b505af1158015612501573d6000803e3d6000fd5b505050508284600019167f7f575746acfeec290223241184f2c5353c4a43f01daf9b4d5c4dd028c5b3c49f60405160405180910390a350505050565b6000612548426146fc565b905090565b612555613ec2565b151561256057600080fd5b600061256a61430a565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156125cd57600080fd5b505af11580156125e1573d6000803e3d6000fd5b505050506040513d60208110156125f757600080fd5b810190808051906020019092919050505014151561261457600080fd5b428111151561262257600080fd5b61262a61430a565b73ffffffffffffffffffffffffffffffffffffffff16635b30f1cc826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561269857600080fd5b505af11580156126ac573d6000803e3d6000fd5b5050505050565b60006126bd6138a8565b80156126da57506126cf60385461320c565b6126d761253d565b10155b905090565b60606000806126ec613fe8565b6126f5886140f9565b151561270057600080fd5b61273987878080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505086614286565b612741613fba565b73ffffffffffffffffffffffffffffffffffffffff16637246d5a7896040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b1580156127b757600080fd5b505af11580156127cb573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060408110156127f557600080fd5b81019080805164010000000081111561280d57600080fd5b8281019050602081018481111561282357600080fd5b815185602082028301116401000000008211171561284057600080fd5b505092919060200180519060200190929190505050508093505082518410151561286957600080fd5b61287388856144d8565b9150814211151561288357600080fd5b600061288d613fba565b73ffffffffffffffffffffffffffffffffffffffff1663baf426608a6128bd600189613fcc90919063ffffffff16565b6040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b15801561291e57600080fd5b505af1158015612932573d6000803e3d6000fd5b505050506040513d602081101561294857600080fd5b810190808051906020019092919050505014151561296557600080fd5b600090505b83811115156129b957828181518110151561298157fe5b90602001906020020151878783818110151561299957fe5b905060200201351415156129ac57600080fd5b808060010191505061296a565b6129c1613fba565b73ffffffffffffffffffffffffffffffffffffffff1663c3093bb1898989896040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808560001916600019168152602001806020018381526020018281038252858582818152602001925060200280828437820191505095505050505050600060405180830381600087803b158015612a6457600080fd5b505af1158015612a78573d6000803e3d6000fd5b5050505087600019167fc9e43761e55a78291d13bde4c14de36c2c6c64de90ce8554eff0e68b55c6376760405160405180910390a25050505050505050565b6000612ac460385461320c565b612acc61253d565b10905090565b603360029054906101000a900460ff1660ff16612aed6142e6565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015612b8757600080fd5b505af1158015612b9b573d6000803e3d6000fd5b505050506040513d6020811015612bb157600080fd5b8101908080519060200190929190505050141515612bce57600080fd5b600b54821480612bdf5750600c5482145b80612beb5750600d5482145b1515612bf657600080fd5b612bfe613fba565b73ffffffffffffffffffffffffffffffffffffffff1663c004b7de848484426040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018481526020018360001916600019168152602001828152602001945050505050600060405180830381600087803b158015612c9457600080fd5b505af1158015612ca8573d6000803e3d6000fd5b5050505082600019167f75c2f2b4fd3652214a4a5faf855222828fa36d654b3de647815c8be81675b81483836040518083815260200182600019166000191681526020019250505060405180910390a2505050565b6000612d08426147e5565b905090565b806005546000612d1b613fba565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b158015612d9257600080fd5b505af1158015612da6573d6000803e3d6000fd5b505050506040513d610140811015612dbd57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959697985090919293949596975090919293949596509091929394509091929350909192509091509050508091505081600019168160001916141515612e7257600080fd5b612e7a6126b3565b1515612e8557600080fd5b612e8e33613bef565b1515612e9957600080fd5b612ea1613fba565b73ffffffffffffffffffffffffffffffffffffffff1663ac443d9f85336040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015612f4b57600080fd5b505af1158015612f5f573d6000803e3d6000fd5b5050505050505050565b6000612f73612cfd565b612f7b6142f8565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561301557600080fd5b505af1158015613029573d6000803e3d6000fd5b505050506040513d602081101561303f57600080fd5b8101908080519060200190929190505050148015613143575061306360355461320c565b61306b6148e8565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561310557600080fd5b505af1158015613119573d6000803e3d6000fd5b505050506040513d602081101561312f57600080fd5b810190808051906020019092919050505010155b9050919050565b60006131546141fb565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156131ca57600080fd5b505af11580156131de573d6000803e3d6000fd5b505050506040513d60208110156131f457600080fd5b81019080805190602001909291905050509050919050565b60006132166141fb565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561328c57600080fd5b505af11580156132a0573d6000803e3d6000fd5b505050506040513d60208110156132b657600080fd5b81019080805190602001909291905050509050919050565b603360009054906101000a900460ff1660ff166132e96142e6565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561338357600080fd5b505af1158015613397573d6000803e3d6000fd5b505050506040513d60208110156133ad57600080fd5b81019080805190602001909291905050501415156133ca57600080fd5b600015156133d661430a565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561343957600080fd5b505af115801561344d573d6000803e3d6000fd5b505050506040513d602081101561346357600080fd5b8101908080519060200190929190505050151514151561348257600080fd5b61348a61430a565b73ffffffffffffffffffffffffffffffffffffffff1663ef7ad2dc8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050600060405180830381600087803b15801561358c57600080fd5b505af11580156135a0573d6000803e3d6000fd5b50505050505050565b60006135b3613fe8565b6135bc866140f9565b15156135c757600080fd5b6135d08661432e565b15156135db57600080fd5b6135e3613fba565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179876040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b15801561365a57600080fd5b505af115801561366e573d6000803e3d6000fd5b505050506040513d61014081101561368557600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959697985090919293949596975090919293949596509091929394509091929350909192509091509050508091505060055460001916816000191614806137455750600654600019168160001916145b151561375057600080fd5b61378984848080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505083614286565b613791613fba565b73ffffffffffffffffffffffffffffffffffffffff1663ffec1b2187878787876040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808660001916600019168152602001856000191660001916815260200180602001838152602001828103825285858281815260200192506020028082843782019150509650505050505050600060405180830381600087803b15801561384457600080fd5b505af1158015613858573d6000803e3d6000fd5b5050505085600019167f8ed872b51729877383ff1e72393d0cf6d112bf28d9f745cd894b8fc4ad28e2048660405180826000191660001916815260200191505060405180910390a2505050505050565b60006138b261430a565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561391557600080fd5b505af1158015613929573d6000803e3d6000fd5b505050506040513d602081101561393f57600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000613986613fe8565b61398f836140f9565b151561399a57600080fd5b6139a2613fba565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b158015613a1957600080fd5b505af1158015613a2d573d6000803e3d6000fd5b505050506040513d610140811015613a4457600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050909192939495969798509091929394959697509091929394959650909192939495509091929394509091929350909192509050508091505060035460001916816000191614151515613b0057600080fd5b613b08613fba565b73ffffffffffffffffffffffffffffffffffffffff1663eef7b8f584846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808360001916600019168152602001826000191660001916815260200192505050600060405180830381600087803b158015613b8e57600080fd5b505af1158015613ba2573d6000803e3d6000fd5b5050505082600019167f7e60a4e6d1d436a90d163c435b88121fc839d6e0b5004ff3e213003c0bc30cec8360405180826000191660001916815260200191505060405180910390a2505050565b6000613bf9612cfd565b613c016142f8565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015613c9b57600080fd5b505af1158015613caf573d6000803e3d6000fd5b505050506040513d6020811015613cc557600080fd5b8101908080519060200190929190505050148015613dc95750613ce960365461320c565b613cf16148e8565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015613d8b57600080fd5b505af1158015613d9f573d6000803e3d6000fd5b505050506040513d6020811015613db557600080fd5b810190808051906020019092919050505010155b8015613ebb5750613ddb60375461320c565b613de36148fa565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015613e7d57600080fd5b505af1158015613e91573d6000803e3d6000fd5b505050506040513d6020811015613ea757600080fd5b810190808051906020019092919050505010155b9050919050565b6000603360019054906101000a900460ff1660ff16613edf6142e6565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015613f7957600080fd5b505af1158015613f8d573d6000803e3d6000fd5b505050506040513d6020811015613fa357600080fd5b810190808051906020019092919050505014905090565b6000613fc7602554611d83565b905090565b60008183019050828110151515613fdf57fe5b80905092915050565b613ff06126b3565b1515613ffb57600080fd5b61400433612f69565b151561400f57600080fd5b6140176142e6565b73ffffffffffffffffffffffffffffffffffffffff16634a9aedc4336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156140b157600080fd5b505af11580156140c5573d6000803e3d6000fd5b505050506040513d60208110156140db57600080fd5b810190808051906020019092919050505015156140f757600080fd5b565b6000614103613fba565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561417957600080fd5b505af115801561418d573d6000803e3d6000fd5b505050506040513d60208110156141a357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006141f6601e54611d83565b905090565b6000614208602b54611d83565b905090565b600061421a601e54611d83565b73ffffffffffffffffffffffffffffffffffffffff1631905090565b600080600090505b825181101561428057614271838281518110151561425857fe5b9060200190602002015183613fcc90919063ffffffff16565b9150808060010191505061423e565b50919050565b61428e613ec2565b15156142e25761429f606c5461320c565b8251111515156142ae57600080fd5b6142b9606b5461320c565b6142d4826142c685614236565b613fcc90919063ffffffff16565b111515156142e157600080fd5b5b5050565b60006142f3602854611d83565b905090565b6000614305602d54611d83565b905090565b6000614317602754611d83565b905090565b6000614329601b54611d83565b905090565b600080614339613fba565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b1580156143b057600080fd5b505af11580156143c4573d6000803e3d6000fd5b505050506040513d6101408110156143db57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050909192939495969798509091929394959697509091929394959650909192939495509091929394509091929350909192509050508091505060035460001916816000191614915050919050565b61449c8161490c565b15156144a757600080fd5b50565b60006144d16144b8836146fc565b6144c360395461320c565b614b3690919063ffffffff16565b9050919050565b6000806144e3613fba565b73ffffffffffffffffffffffffffffffffffffffff1663baf4266085856040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b15801561456157600080fd5b505af1158015614575573d6000803e3d6000fd5b505050506040513d602081101561458b57600080fd5b810190808051906020019092919050505090506000811115156145ad57600080fd5b60008314156145da576145d36145c4603b5461320c565b82613fcc90919063ffffffff16565b91506145fa565b6145f76145e8603d5461320c565b82613fcc90919063ffffffff16565b91505b5092915050565b600080600061460f846144aa565b915061462d6000861461462457603d54614628565b603b545b61320c565b905083925061463d60385461320c565b614646856146fc565b101561468a5761468361467461465b866146fc565b61466660385461320c565b614b3690919063ffffffff16565b85613fcc90919063ffffffff16565b92506146f4565b6146a761469860695461320c565b82613fcc90919063ffffffff16565b8210156146f3576146f06146e160016146d36146c460385461320c565b86613fcc90919063ffffffff16565b613fcc90919063ffffffff16565b85613fcc90919063ffffffff16565b92505b5b505092915050565b6000614706614b4f565b151561471157600080fd5b61471c60395461320c565b6147d461472761430a565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561478a57600080fd5b505af115801561479e573d6000803e3d6000fd5b505050506040513d60208110156147b457600080fd5b810190808051906020019092919050505084614b3690919063ffffffff16565b8115156147dd57fe5b069050919050565b60006147ef614b4f565b15156147fa57600080fd5b6148e160016148d361480d60395461320c565b6148c561481861430a565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561487b57600080fd5b505af115801561488f573d6000803e3d6000fd5b505050506040513d60208110156148a557600080fd5b810190808051906020019092919050505087614b3690919063ffffffff16565b614bff90919063ffffffff16565b613fcc90919063ffffffff16565b9050919050565b60006148f5602c54611d83565b905090565b6000614907602954611d83565b905090565b600080614917613fba565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b15801561498e57600080fd5b505af11580156149a2573d6000803e3d6000fd5b505050506040513d6101408110156149b957600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959697985090919293949596975090919293949596509091929394955090919293945090919293509091925090915090508091505060019150801515614b3057614a74606d5461320c565b614a7c614c15565b73ffffffffffffffffffffffffffffffffffffffff1663198c6e24614a9f612cfd565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015614af157600080fd5b505af1158015614b05573d6000803e3d6000fd5b505050506040513d6020811015614b1b57600080fd5b81019080805190602001909291905050501091505b50919050565b6000828211151515614b4457fe5b818303905092915050565b600080614b5a61430a565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015614bbd57600080fd5b505af1158015614bd1573d6000803e3d6000fd5b505050506040513d6020811015614be757600080fd5b81019080805190602001909291905050501415905090565b60008183811515614c0c57fe5b04905092915050565b6000614c22602654611d83565b9050905600a165627a7a72305820dd0c57f140058b89f28e8c2b8a475ca4c80623f62711ab50a0c546a8dc2750a10029", + "deployedBytecode": "0x60806040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630247afe81461016457806304f3bcec1461019f578063078f872c146101f65780631d8ccd04146102275780632b847105146102985780633943380c146102de5780633b00763d146103115780633f83acff1461039457806347d0da141461040557806355cc313614610436578063560a25ea146104715780635b30f1cc1461049c57806368533060146104c9578063711f2614146104f85780637d6fed80146105555780637ef37354146105845780637f6a26b6146105cd578063926851af146105f8578063929066f51461062957806393ddad0814610684578063b1e2b9dd146106d1578063b202cc9614610716578063d0bd65b114610799578063d70d9358146107fa578063db4ecbc114610829578063eef7b8f514610880578063fa6f3936146108bf575b600080fd5b34801561017057600080fd5b5061019d60048036038101908080359060200190820180359060200191909192939192939050505061091a565b005b3480156101ab57600080fd5b506101b4610c23565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020257600080fd5b506102256004803603810190808035600019169060200190929190505050610c48565b005b34801561023357600080fd5b50610256600480360381019080803560001916906020019092919050505061110e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102dc6004803603810190808035600019169060200190929190803590602001908201803590602001919091929391929390803590602001909291905050506111d0565b005b3480156102ea57600080fd5b506102f3611586565b60405180826000191660001916815260200191505060405180910390f35b34801561031d57600080fd5b50610392600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061158c565b005b3480156103a057600080fd5b506103c36004803603810190808035600019169060200190929190505050611d83565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561041157600080fd5b506104346004803603810190808035600019169060200190929190505050611e5f565b005b34801561044257600080fd5b5061046f6004803603810190808035600019169060200190929190803590602001909291905050506121e4565b005b34801561047d57600080fd5b5061048661253d565b6040518082815260200191505060405180910390f35b3480156104a857600080fd5b506104c76004803603810190808035906020019092919050505061254d565b005b3480156104d557600080fd5b506104de6126b3565b604051808215151515815260200191505060405180910390f35b34801561050457600080fd5b50610553600480360381019080803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190929190803590602001909291905050506126df565b005b34801561056157600080fd5b5061056a612ab7565b604051808215151515815260200191505060405180910390f35b34801561059057600080fd5b506105cb6004803603810190808035600019169060200190929190803590602001909291908035600019169060200190929190505050612ad2565b005b3480156105d957600080fd5b506105e2612cfd565b6040518082815260200191505060405180910390f35b34801561060457600080fd5b506106276004803603810190808035600019169060200190929190505050612d0d565b005b34801561063557600080fd5b5061066a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612f69565b604051808215151515815260200191505060405180910390f35b34801561069057600080fd5b506106b3600480360381019080803560001916906020019092919050505061314a565b60405180826000191660001916815260200191505060405180910390f35b3480156106dd57600080fd5b50610700600480360381019080803560001916906020019092919050505061320c565b6040518082815260200191505060405180910390f35b34801561072257600080fd5b50610797600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506132ce565b005b3480156107a557600080fd5b506107f860048036038101908080356000191690602001909291908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001909291905050506135a9565b005b34801561080657600080fd5b5061080f6138a8565b604051808215151515815260200191505060405180910390f35b34801561083557600080fd5b5061083e613956565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561088c57600080fd5b506108bd6004803603810190808035600019169060200190929190803560001916906020019092919050505061397c565b005b3480156108cb57600080fd5b50610900600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613bef565b604051808215151515815260200191505060405180910390f35b600080600080600061092a613ec2565b151561093557600080fd5b868690509450600090505b84811015610c1a57610950613fba565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179888884818110151561097957fe5b90506020020135600019166040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b1580156109df57600080fd5b505af11580156109f3573d6000803e3d6000fd5b505050506040513d610140811015610a0a57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050909192939495969798509091929394959697509091929394959650909192935090919250905050809550819650829450505050600354600019168360001916141515610ac057600080fd5b6005546000191682600019161480610ae15750600654600019168260001916145b1515610aec57600080fd5b610b09610afa606e5461320c565b85613fcc90919063ffffffff16565b42111515610b1657600080fd5b8686828181101515610b2457fe5b9050602002013560001916600019167fcc0c35dc01446e741be6aeeeb22693a96b4b42887e92d84a17181687b6a4181860405160405180910390a2610b67613fba565b73ffffffffffffffffffffffffffffffffffffffff1663078f872c8888848181101515610b9057fe5b90506020020135600019166040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015610bf557600080fd5b505af1158015610c09573d6000803e3d6000fd5b505050508080600101915050610940565b50505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610c53613fe8565b610c5c836140f9565b1515610c6757600080fd5b610c6f613fba565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b158015610ce657600080fd5b505af1158015610cfa573d6000803e3d6000fd5b505050506040513d610140811015610d1157600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959697985090919293949596975090919293949596509091929394509091929350909192509050508093508192505050600354600019168260001916141515610dc957600080fd5b60095460001916816000191614151515610de257600080fd5b600e54610ded613fba565b73ffffffffffffffffffffffffffffffffffffffff16633be88369856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610e6357600080fd5b505af1158015610e77573d6000803e3d6000fd5b505050506040513d6020811015610e8d57600080fd5b8101908080519060200190929190505050141515610eaa57600080fd5b610eb2613fba565b73ffffffffffffffffffffffffffffffffffffffff1663078f872c846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015610f2857600080fd5b505af1158015610f3c573d6000803e3d6000fd5b50505050610f48613fba565b73ffffffffffffffffffffffffffffffffffffffff1663c362c790846010546040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015610fc857600080fd5b505af1158015610fdc573d6000803e3d6000fd5b5050505082600019167fcc0c35dc01446e741be6aeeeb22693a96b4b42887e92d84a17181687b6a4181860405160405180910390a26110196141e9565b73ffffffffffffffffffffffffffffffffffffffff16637e71332b33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826000191660001916815260200192505050602060405180830381600087803b1580156110c357600080fd5b505af11580156110d7573d6000803e3d6000fd5b505050506040513d60208110156110ed57600080fd5b8101908080519060200190929190505050151561110957600080fd5b505050565b60006111186141fb565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561118e57600080fd5b505af11580156111a2573d6000803e3d6000fd5b505050506040513d60208110156111b857600080fd5b81019080805190602001909291905050509050919050565b60006111da613fe8565b6111e2613ec2565b90506111ec61420d565b61123683611228878780806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050614236565b613fcc90919063ffffffff16565b1115151561124357600080fd5b61124e606a5461320c565b3414151561125b57600080fd5b6112636141e9565b73ffffffffffffffffffffffffffffffffffffffff166161a834604051600060405180830381858888f19350505050151561129d57600080fd5b6112d684848080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505083614286565b6112de613fba565b73ffffffffffffffffffffffffffffffffffffffff1663a1d444a48633878787876040518763ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018087600019166000191681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018481526020018315151515815260200182810382528686828181526020019250602002808284378201915050975050505050505050600060405180830381600087803b1580156113c157600080fd5b505af11580156113d5573d6000803e3d6000fd5b505050506113e1613fba565b73ffffffffffffffffffffffffffffffffffffffff1663c362c79086600e546040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b15801561146157600080fd5b505af1158015611475573d6000803e3d6000fd5b50505050611481613fba565b73ffffffffffffffffffffffffffffffffffffffff16638a2d659786346040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b1580156114ff57600080fd5b505af1158015611513573d6000803e3d6000fd5b5050505084600019167fab48f5995a7b376b9650077476d511b1f1ed03b0c7e403e7cee95a2769060d6833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25050505050565b60015481565b603360009054906101000a900460ff1660ff166115a76142e6565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561164157600080fd5b505af1158015611655573d6000803e3d6000fd5b505050506040513d602081101561166b57600080fd5b810190808051906020019092919050505014151561168857600080fd5b611690612cfd565b60018111156117595760006116a36142f8565b73ffffffffffffffffffffffffffffffffffffffff1663a78e00d6836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561171157600080fd5b505af1158015611725573d6000803e3d6000fd5b505050506040513d602081101561173b57600080fd5b810190808051906020019092919050505011151561175857600080fd5b5b611761612ab7565b151561176c57600080fd5b6000151561177861430a565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156117db57600080fd5b505af11580156117ef573d6000803e3d6000fd5b505050506040513d602081101561180557600080fd5b8101908080519060200190929190505050151514151561182457600080fd5b8373ffffffffffffffffffffffffffffffffffffffff1661184361430a565b73ffffffffffffffffffffffffffffffffffffffff16633c952b166040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156118a657600080fd5b505af11580156118ba573d6000803e3d6000fd5b505050506040513d60208110156118d057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161480156119d457508273ffffffffffffffffffffffffffffffffffffffff1661191e61430a565b73ffffffffffffffffffffffffffffffffffffffff16639c767e376040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561198157600080fd5b505af1158015611995573d6000803e3d6000fd5b505050506040513d60208110156119ab57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16145b8015611ab057508173ffffffffffffffffffffffffffffffffffffffff166119fa61430a565b73ffffffffffffffffffffffffffffffffffffffff16638c0c28266040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611a5d57600080fd5b505af1158015611a71573d6000803e3d6000fd5b505050506040513d6020811015611a8757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16145b1515611abb57600080fd5b611ac361430a565b73ffffffffffffffffffffffffffffffffffffffff1663efa6b9df6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b158015611b2657600080fd5b505af1158015611b3a573d6000803e3d6000fd5b50505050611b466141e9565b73ffffffffffffffffffffffffffffffffffffffff1663c72deb9a846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015611be057600080fd5b505af1158015611bf4573d6000803e3d6000fd5b50505050611c0061431c565b73ffffffffffffffffffffffffffffffffffffffff16633f5a7583836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015611c9a57600080fd5b505af1158015611cae573d6000803e3d6000fd5b505050507fbdee2a20da24f5e808d52dbcfea2fc775e1b24ad4f67f7fb38c573c3e0cc125a848484604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390a150505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611e1d57600080fd5b505af1158015611e31573d6000803e3d6000fd5b505050506040513d6020811015611e4757600080fd5b81019080805190602001909291905050509050919050565b6000611e69613fe8565b611e72826140f9565b1515611e7d57600080fd5b611e868261432e565b1515611e9157600080fd5b611e9a82614493565b611ec1611ea860695461320c565b611eb360675461320c565b613fcc90919063ffffffff16565b611eca426144aa565b111515611ed657600080fd5b611ede613fba565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b158015611f5557600080fd5b505af1158015611f69573d6000803e3d6000fd5b505050506040513d610140811015611f8057600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050909192939495969798509091929394959697509091929394955090919293945090919293509091925090915090505080915050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561207b57600080fd5b612083613fba565b73ffffffffffffffffffffffffffffffffffffffff166347d0da14836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b1580156120f957600080fd5b505af115801561210d573d6000803e3d6000fd5b50505050612119613fba565b73ffffffffffffffffffffffffffffffffffffffff1663e3f3f7a283426040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b15801561219757600080fd5b505af11580156121ab573d6000803e3d6000fd5b5050505081600019167f7987ab68d3e4d0dbf07a8b7eb54fa0557da00515d48a4cefbb95dd10ba8b07b460405160405180910390a25050565b606060006121f0613fe8565b6121f9846140f9565b151561220457600080fd5b61220c613fba565b73ffffffffffffffffffffffffffffffffffffffff16637246d5a7856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b15801561228257600080fd5b505af1158015612296573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060408110156122c057600080fd5b8101908080516401000000008111156122d857600080fd5b828101905060208101848111156122ee57600080fd5b815185602082028301116401000000008211171561230b57600080fd5b505092919060200180519060200190929190505050508092505081518310151561233457600080fd5b61233e84846144d8565b9050804211151561234e57600080fd5b6000612358613fba565b73ffffffffffffffffffffffffffffffffffffffff1663baf4266086612388600188613fcc90919063ffffffff16565b6040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b1580156123e957600080fd5b505af11580156123fd573d6000803e3d6000fd5b505050506040513d602081101561241357600080fd5b810190808051906020019092919050505014151561243057600080fd5b612438613fba565b73ffffffffffffffffffffffffffffffffffffffff1663344e436e85612468600187613fcc90919063ffffffff16565b61248561247f600189613fcc90919063ffffffff16565b42614601565b6040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600019166000191681526020018381526020018281526020019350505050600060405180830381600087803b1580156124ed57600080fd5b505af1158015612501573d6000803e3d6000fd5b505050508284600019167f7f575746acfeec290223241184f2c5353c4a43f01daf9b4d5c4dd028c5b3c49f60405160405180910390a350505050565b6000612548426146fc565b905090565b612555613ec2565b151561256057600080fd5b600061256a61430a565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156125cd57600080fd5b505af11580156125e1573d6000803e3d6000fd5b505050506040513d60208110156125f757600080fd5b810190808051906020019092919050505014151561261457600080fd5b428111151561262257600080fd5b61262a61430a565b73ffffffffffffffffffffffffffffffffffffffff16635b30f1cc826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561269857600080fd5b505af11580156126ac573d6000803e3d6000fd5b5050505050565b60006126bd6138a8565b80156126da57506126cf60385461320c565b6126d761253d565b10155b905090565b60606000806126ec613fe8565b6126f5886140f9565b151561270057600080fd5b61273987878080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505086614286565b612741613fba565b73ffffffffffffffffffffffffffffffffffffffff16637246d5a7896040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b1580156127b757600080fd5b505af11580156127cb573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060408110156127f557600080fd5b81019080805164010000000081111561280d57600080fd5b8281019050602081018481111561282357600080fd5b815185602082028301116401000000008211171561284057600080fd5b505092919060200180519060200190929190505050508093505082518410151561286957600080fd5b61287388856144d8565b9150814211151561288357600080fd5b600061288d613fba565b73ffffffffffffffffffffffffffffffffffffffff1663baf426608a6128bd600189613fcc90919063ffffffff16565b6040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b15801561291e57600080fd5b505af1158015612932573d6000803e3d6000fd5b505050506040513d602081101561294857600080fd5b810190808051906020019092919050505014151561296557600080fd5b600090505b83811115156129b957828181518110151561298157fe5b90602001906020020151878783818110151561299957fe5b905060200201351415156129ac57600080fd5b808060010191505061296a565b6129c1613fba565b73ffffffffffffffffffffffffffffffffffffffff1663c3093bb1898989896040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808560001916600019168152602001806020018381526020018281038252858582818152602001925060200280828437820191505095505050505050600060405180830381600087803b158015612a6457600080fd5b505af1158015612a78573d6000803e3d6000fd5b5050505087600019167fc9e43761e55a78291d13bde4c14de36c2c6c64de90ce8554eff0e68b55c6376760405160405180910390a25050505050505050565b6000612ac460385461320c565b612acc61253d565b10905090565b603360029054906101000a900460ff1660ff16612aed6142e6565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015612b8757600080fd5b505af1158015612b9b573d6000803e3d6000fd5b505050506040513d6020811015612bb157600080fd5b8101908080519060200190929190505050141515612bce57600080fd5b600b54821480612bdf5750600c5482145b80612beb5750600d5482145b1515612bf657600080fd5b612bfe613fba565b73ffffffffffffffffffffffffffffffffffffffff1663c004b7de848484426040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018481526020018360001916600019168152602001828152602001945050505050600060405180830381600087803b158015612c9457600080fd5b505af1158015612ca8573d6000803e3d6000fd5b5050505082600019167f75c2f2b4fd3652214a4a5faf855222828fa36d654b3de647815c8be81675b81483836040518083815260200182600019166000191681526020019250505060405180910390a2505050565b6000612d08426147e5565b905090565b806005546000612d1b613fba565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b158015612d9257600080fd5b505af1158015612da6573d6000803e3d6000fd5b505050506040513d610140811015612dbd57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959697985090919293949596975090919293949596509091929394509091929350909192509091509050508091505081600019168160001916141515612e7257600080fd5b612e7a6126b3565b1515612e8557600080fd5b612e8e33613bef565b1515612e9957600080fd5b612ea1613fba565b73ffffffffffffffffffffffffffffffffffffffff1663ac443d9f85336040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015612f4b57600080fd5b505af1158015612f5f573d6000803e3d6000fd5b5050505050505050565b6000612f73612cfd565b612f7b6142f8565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561301557600080fd5b505af1158015613029573d6000803e3d6000fd5b505050506040513d602081101561303f57600080fd5b8101908080519060200190929190505050148015613143575061306360355461320c565b61306b6148e8565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561310557600080fd5b505af1158015613119573d6000803e3d6000fd5b505050506040513d602081101561312f57600080fd5b810190808051906020019092919050505010155b9050919050565b60006131546141fb565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156131ca57600080fd5b505af11580156131de573d6000803e3d6000fd5b505050506040513d60208110156131f457600080fd5b81019080805190602001909291905050509050919050565b60006132166141fb565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561328c57600080fd5b505af11580156132a0573d6000803e3d6000fd5b505050506040513d60208110156132b657600080fd5b81019080805190602001909291905050509050919050565b603360009054906101000a900460ff1660ff166132e96142e6565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561338357600080fd5b505af1158015613397573d6000803e3d6000fd5b505050506040513d60208110156133ad57600080fd5b81019080805190602001909291905050501415156133ca57600080fd5b600015156133d661430a565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561343957600080fd5b505af115801561344d573d6000803e3d6000fd5b505050506040513d602081101561346357600080fd5b8101908080519060200190929190505050151514151561348257600080fd5b61348a61430a565b73ffffffffffffffffffffffffffffffffffffffff1663ef7ad2dc8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050600060405180830381600087803b15801561358c57600080fd5b505af11580156135a0573d6000803e3d6000fd5b50505050505050565b60006135b3613fe8565b6135bc866140f9565b15156135c757600080fd5b6135d08661432e565b15156135db57600080fd5b6135e3613fba565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179876040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b15801561365a57600080fd5b505af115801561366e573d6000803e3d6000fd5b505050506040513d61014081101561368557600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959697985090919293949596975090919293949596509091929394509091929350909192509091509050508091505060055460001916816000191614806137455750600654600019168160001916145b151561375057600080fd5b61378984848080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505083614286565b613791613fba565b73ffffffffffffffffffffffffffffffffffffffff1663ffec1b2187878787876040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808660001916600019168152602001856000191660001916815260200180602001838152602001828103825285858281815260200192506020028082843782019150509650505050505050600060405180830381600087803b15801561384457600080fd5b505af1158015613858573d6000803e3d6000fd5b5050505085600019167f8ed872b51729877383ff1e72393d0cf6d112bf28d9f745cd894b8fc4ad28e2048660405180826000191660001916815260200191505060405180910390a2505050505050565b60006138b261430a565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561391557600080fd5b505af1158015613929573d6000803e3d6000fd5b505050506040513d602081101561393f57600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000613986613fe8565b61398f836140f9565b151561399a57600080fd5b6139a2613fba565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b158015613a1957600080fd5b505af1158015613a2d573d6000803e3d6000fd5b505050506040513d610140811015613a4457600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050909192939495969798509091929394959697509091929394959650909192939495509091929394509091929350909192509050508091505060035460001916816000191614151515613b0057600080fd5b613b08613fba565b73ffffffffffffffffffffffffffffffffffffffff1663eef7b8f584846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808360001916600019168152602001826000191660001916815260200192505050600060405180830381600087803b158015613b8e57600080fd5b505af1158015613ba2573d6000803e3d6000fd5b5050505082600019167f7e60a4e6d1d436a90d163c435b88121fc839d6e0b5004ff3e213003c0bc30cec8360405180826000191660001916815260200191505060405180910390a2505050565b6000613bf9612cfd565b613c016142f8565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015613c9b57600080fd5b505af1158015613caf573d6000803e3d6000fd5b505050506040513d6020811015613cc557600080fd5b8101908080519060200190929190505050148015613dc95750613ce960365461320c565b613cf16148e8565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015613d8b57600080fd5b505af1158015613d9f573d6000803e3d6000fd5b505050506040513d6020811015613db557600080fd5b810190808051906020019092919050505010155b8015613ebb5750613ddb60375461320c565b613de36148fa565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015613e7d57600080fd5b505af1158015613e91573d6000803e3d6000fd5b505050506040513d6020811015613ea757600080fd5b810190808051906020019092919050505010155b9050919050565b6000603360019054906101000a900460ff1660ff16613edf6142e6565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015613f7957600080fd5b505af1158015613f8d573d6000803e3d6000fd5b505050506040513d6020811015613fa357600080fd5b810190808051906020019092919050505014905090565b6000613fc7602554611d83565b905090565b60008183019050828110151515613fdf57fe5b80905092915050565b613ff06126b3565b1515613ffb57600080fd5b61400433612f69565b151561400f57600080fd5b6140176142e6565b73ffffffffffffffffffffffffffffffffffffffff16634a9aedc4336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156140b157600080fd5b505af11580156140c5573d6000803e3d6000fd5b505050506040513d60208110156140db57600080fd5b810190808051906020019092919050505015156140f757600080fd5b565b6000614103613fba565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561417957600080fd5b505af115801561418d573d6000803e3d6000fd5b505050506040513d60208110156141a357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006141f6601e54611d83565b905090565b6000614208602b54611d83565b905090565b600061421a601e54611d83565b73ffffffffffffffffffffffffffffffffffffffff1631905090565b600080600090505b825181101561428057614271838281518110151561425857fe5b9060200190602002015183613fcc90919063ffffffff16565b9150808060010191505061423e565b50919050565b61428e613ec2565b15156142e25761429f606c5461320c565b8251111515156142ae57600080fd5b6142b9606b5461320c565b6142d4826142c685614236565b613fcc90919063ffffffff16565b111515156142e157600080fd5b5b5050565b60006142f3602854611d83565b905090565b6000614305602d54611d83565b905090565b6000614317602754611d83565b905090565b6000614329601b54611d83565b905090565b600080614339613fba565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b1580156143b057600080fd5b505af11580156143c4573d6000803e3d6000fd5b505050506040513d6101408110156143db57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050909192939495969798509091929394959697509091929394959650909192939495509091929394509091929350909192509050508091505060035460001916816000191614915050919050565b61449c8161490c565b15156144a757600080fd5b50565b60006144d16144b8836146fc565b6144c360395461320c565b614b3690919063ffffffff16565b9050919050565b6000806144e3613fba565b73ffffffffffffffffffffffffffffffffffffffff1663baf4266085856040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b15801561456157600080fd5b505af1158015614575573d6000803e3d6000fd5b505050506040513d602081101561458b57600080fd5b810190808051906020019092919050505090506000811115156145ad57600080fd5b60008314156145da576145d36145c4603b5461320c565b82613fcc90919063ffffffff16565b91506145fa565b6145f76145e8603d5461320c565b82613fcc90919063ffffffff16565b91505b5092915050565b600080600061460f846144aa565b915061462d6000861461462457603d54614628565b603b545b61320c565b905083925061463d60385461320c565b614646856146fc565b101561468a5761468361467461465b866146fc565b61466660385461320c565b614b3690919063ffffffff16565b85613fcc90919063ffffffff16565b92506146f4565b6146a761469860695461320c565b82613fcc90919063ffffffff16565b8210156146f3576146f06146e160016146d36146c460385461320c565b86613fcc90919063ffffffff16565b613fcc90919063ffffffff16565b85613fcc90919063ffffffff16565b92505b5b505092915050565b6000614706614b4f565b151561471157600080fd5b61471c60395461320c565b6147d461472761430a565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561478a57600080fd5b505af115801561479e573d6000803e3d6000fd5b505050506040513d60208110156147b457600080fd5b810190808051906020019092919050505084614b3690919063ffffffff16565b8115156147dd57fe5b069050919050565b60006147ef614b4f565b15156147fa57600080fd5b6148e160016148d361480d60395461320c565b6148c561481861430a565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561487b57600080fd5b505af115801561488f573d6000803e3d6000fd5b505050506040513d60208110156148a557600080fd5b810190808051906020019092919050505087614b3690919063ffffffff16565b614bff90919063ffffffff16565b613fcc90919063ffffffff16565b9050919050565b60006148f5602c54611d83565b905090565b6000614907602954611d83565b905090565b600080614917613fba565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b15801561498e57600080fd5b505af11580156149a2573d6000803e3d6000fd5b505050506040513d6101408110156149b957600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959697985090919293949596975090919293949596509091929394955090919293945090919293509091925090915090508091505060019150801515614b3057614a74606d5461320c565b614a7c614c15565b73ffffffffffffffffffffffffffffffffffffffff1663198c6e24614a9f612cfd565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015614af157600080fd5b505af1158015614b05573d6000803e3d6000fd5b505050506040513d6020811015614b1b57600080fd5b81019080805190602001909291905050501091505b50919050565b6000828211151515614b4457fe5b818303905092915050565b600080614b5a61430a565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015614bbd57600080fd5b505af1158015614bd1573d6000803e3d6000fd5b505050506040513d6020811015614be757600080fd5b81019080805190602001909291905050501415905090565b60008183811515614c0c57fe5b04905092915050565b6000614c22602654611d83565b9050905600a165627a7a72305820dd0c57f140058b89f28e8c2b8a475ca4c80623f62711ab50a0c546a8dc2750a10029", + "sourceMap": "266:16792:8:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;974:93:8;8:9:-1;5:2;;;30:1;27;20:12;5:2;974:93:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1030:29;1035:12;;1049:9;1030:4;;;:29;;;:::i;:::-;1022:38;;;;;;;;974:93;266:16792;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;266:16792:8:-;;;;;;;", + "deployedSourceMap": "266:16792:8:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16236:820;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16236:820:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;15157:757:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15157:757:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5244:195:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5244:195:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5305:905:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3332:887:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3332:887:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10134:890:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10134:890:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11549:1353;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11549:1353:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4743:147:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4743:147:2;;;;;;;;;;;;;;;;;;;;;;;4419:231:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4419:231:8;;;;;;;;;;;;;;;;;;;;;;;;;;1759:239:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1759:239:2;;;;;;;;;;;;;;;;;;;;;;;;;;;8011:1653:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8011:1653:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1283:201:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1283:201:2;;;;;;;;;;;;;;;;;;;;;;;;;;;14578:379:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14578:379:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3064:159:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3064:159:2;;;;;;;;;;;;;;;;;;;;;;;13979:280:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13979:280:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5725:311:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5725:311:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5445:191:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7261:189:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7261:189:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2042:419:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2042:419:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6713:757;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6713:757:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:173:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;834:173:2;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;13336:439:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13336:439:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6123:431:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6123:431:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16236:820:8;16343:15;16390:20;16420:21;16451;16487:10;412:12:7;:10;:12::i;:::-;404:21;;;;;;;;16361:12:8;;:19;;16343:37;;16500:1;16487:14;;16482:568;16508:7;16503:2;:12;16482:568;;;16589:12;:10;:12::i;:::-;:25;;;16615:12;;16628:2;16615:16;;;;;;;;;;;;;;;;;;16589:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16589:43:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16589:43:8;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;16589:43:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16537:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16671:11;;16654:28;;;:13;:28;;;;16646:37;;;;;;;;16740:26;;16723:43;;;:13;:43;;;;16722:104;;;;16805:20;;16788:37;;;:13;:37;;;;16722:104;16697:143;;;;;;;;16868:62;16885:44;16899:29;;16885:13;:44::i;:::-;16868:12;:16;;:62;;;;:::i;:::-;16862:3;:68;16854:77;;;;;;;;16964:12;;16977:2;16964:16;;;;;;;;;;;;;;;;;;16950:31;;;;;;;;;;;;;16995:12;:10;:12::i;:::-;:26;;;17022:12;;17035:2;17022:16;;;;;;;;;;;;;;;;;;16995:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16995:44:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16995:44:8;;;;16517:4;;;;;;;16482:568;;;16236:820;;;;;;;:::o;237:23:67:-;;;;;;;;;;;;;:::o;15157:757:8:-;15317:21;15348:15;15230:31;:29;:31::i;:::-;15279:27;15294:11;15279:14;:27::i;:::-;15271:36;;;;;;;;15407:12;:10;:12::i;:::-;:25;;;15433:11;15407:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15407:38:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15407:38:8;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;15407:38:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15373:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15480:11;;15463:28;;;:13;:28;;;;15455:37;;;;;;;;15521:21;;15510:32;;;:7;:32;;;;;15502:41;;;;;;;;15619:26;;15561:12;:10;:12::i;:::-;:41;;;15603:11;15561:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15561:54:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15561:54:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15561:54:8;;;;;;;;;;;;;;;;:84;15553:93;;;;;;;;15657:12;:10;:12::i;:::-;:26;;;15684:11;15657:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15657:39:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15657:39:8;;;;15706:12;:10;:12::i;:::-;:40;;;15747:11;15760:25;;15706:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15706:80:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15706:80:8;;;;15815:11;15801:26;;;;;;;;;;;;;15845:19;:17;:19::i;:::-;:36;;;15882:10;15894:11;15845:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15845:61:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15845:61:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15845:61:8;;;;;;;;;;;;;;;;15837:70;;;;;;;;15157:757;;;:::o;5244:195:1:-;5335:20;5386:19;:17;:19::i;:::-;:34;;;5421:10;5386:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5386:46:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5386:46:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5386:46:1;;;;;;;;;;;;;;;;5371:61;;5244:195;;;:::o;5305:905:8:-;5525:15;5484:31;:29;:31::i;:::-;5543:12;:10;:12::i;:::-;5525:30;;5638:10;:8;:10::i;:::-;5574:60;5621:12;5574:42;5596:19;;5574:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:21;:42::i;:::-;:46;;:60;;;;:::i;:::-;:74;;5566:83;;;;;;;;5681:44;5695:29;;5681:13;:44::i;:::-;5668:9;:57;5660:66;;;;;;;;5752:19;:17;:19::i;:::-;5744:33;;5782:5;5795:9;5744:63;;;;;;;;;;;;;;;;;;5736:72;;;;;;;;5819:56;5841:19;;5819:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5862:12;5819:21;:56::i;:::-;5886:12;:10;:12::i;:::-;:24;;;5911:12;5925:10;5937:19;;5958:12;5972:10;5886:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5886:97:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5886:97:8;;;;5993:12;:10;:12::i;:::-;:40;;;6034:12;6048:26;;5993:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5993:82:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5993:82:8;;;;6085:12;:10;:12::i;:::-;:40;;;6126:12;6140:9;6085:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6085:65:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6085:65:8;;;;6178:12;6166:37;;;;6192:10;6166:37;;;;;;;;;;;;;;;;;;;;;;5305:905;;;;;:::o;264:18:67:-;;;;:::o;3332:887:8:-;337:10:7;;;;;;;;;;;285:62;;:18;:16;:18::i;:::-;:36;;;322:10;285:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;285:48:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;285:48:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;285:48:7;;;;;;;;;;;;;;;;:62;277:71;;;;;;;;3534:22:8;:20;:22::i;:::-;2314:1:2;2297:14;:18;2293:120;;;2400:1;2339:19;:17;:19::i;:::-;:42;;;2382:14;2339:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2339:58:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2339:58:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2339:58:2;;;;;;;;;;;;;;;;:62;2331:71;;;;;;;;2293:120;3580:16:8;:14;:16::i;:::-;3572:25;;;;;;;;3659:5;3615:49;;:19;:17;:19::i;:::-;:38;;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3615:40:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3615:40:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3615:40:8;;;;;;;;;;;;;;;;:49;;;3607:58;;;;;;;;3735:15;3695:55;;:19;:17;:19::i;:::-;:34;;;:36;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3695:36:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3695:36:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3695:36:8;;;;;;;;;;;;;;;;:55;;;3694:140;;;;;3812:21;3766:67;;:19;:17;:19::i;:::-;:40;;;:42;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3766:42:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3766:42:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3766:42:8;;;;;;;;;;;;;;;;:67;;;3694:140;:223;;;;;3895:21;3849:67;;:19;:17;:19::i;:::-;:40;;;:42;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3849:42:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3849:42:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3849:42:8;;;;;;;;;;;;;;;;:67;;;3694:223;3675:252;;;;;;;;3937:19;:17;:19::i;:::-;:41;;;:43;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3937:43:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3937:43:8;;;;3990:19;:17;:19::i;:::-;:37;;;4028:21;3990:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3990:60:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3990:60:8;;;;4060:19;:17;:19::i;:::-;:36;;;4097:21;4060:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4060:59:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4060:59:8;;;;4134:78;4150:15;4167:21;4190;4134:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;358:1:7;3332:887:8;;;:::o;2380:179:67:-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;10134:890:8:-;10720:17;10210:31;:29;:31::i;:::-;10259:27;10274:11;10259:14;:27::i;:::-;10251:36;;;;;;;;10305:23;10316:11;10305:10;:23::i;:::-;10297:32;;;;;;;;10339:39;10366:11;10339:26;:39::i;:::-;10619:90;10664:44;10678:29;;10664:13;:44::i;:::-;10619:40;10633:25;;10619:13;:40::i;:::-;:44;;:90;;;;:::i;:::-;10591:25;10612:3;10591:20;:25::i;:::-;:118;10583:127;;;;;;;;10770:12;:10;:12::i;:::-;:25;;;10796:11;10770:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10770:38:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10770:38:8;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;10770:38:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10747:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10839:13;;;;;;;;;;;10826:26;;:9;:26;;;;10818:35;;;;;;;;10863:12;:10;:12::i;:::-;:29;;;10893:11;10863:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10863:42:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10863:42:8;;;;10915:12;:10;:12::i;:::-;:39;;;10955:11;10968:3;10915:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10915:57:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10915:57:8;;;;11005:11;10988:29;;;;;;;;;;;;;10134:890;;:::o;11549:1353::-;11737:33;12389:32;11649:31;:29;:31::i;:::-;11698:27;11713:11;11698:14;:27::i;:::-;11690:36;;;;;;;;11802:12;:10;:12::i;:::-;:32;;;11835:11;11802:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11802:45:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11802:45:8;;;;;;39:16:-1;36:1;17:17;2:54;11802:45:8;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11802:45:8;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;11802:45:8;;;;;;;;;;;;;;;;;11780:67;;;;;12233:16;:23;12215:15;:41;12207:50;;;;;;;;12424:46;12441:11;12454:15;12424:16;:46::i;:::-;12389:81;;12494:24;12488:3;:30;12480:39;;;;;;;;12613:1;12537:12;:10;:12::i;:::-;:35;;;12573:11;12586:22;12606:1;12586:15;:19;;:22;;;;:::i;:::-;12537:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12537:72:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12537:72:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12537:72:8;;;;;;;;;;;;;;;;:77;12529:86;;;;;;;;12626:12;:10;:12::i;:::-;:34;;;12674:11;12699:22;12719:1;12699:15;:19;;:22;;;;:::i;:::-;12735:51;12758:22;12778:1;12758:15;:19;;:22;;;;:::i;:::-;12782:3;12735:22;:51::i;:::-;12626:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12626:170:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12626:170:8;;;;12879:15;12866:11;12850:45;;;;;;;;;;;;;11549:1353;;;;:::o;4743:147:2:-;4820:17;4865:18;4879:3;4865:13;:18::i;:::-;4853:30;;4743:147;:::o;4419:231:8:-;412:12:7;:10;:12::i;:::-;404:21;;;;;;;;4550:1:8;4505:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4505:41:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4505:41:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4505:41:8;;;;;;;;;;;;;;;;:46;4497:55;;;;;;;;4579:3;4570:6;:12;4562:21;;;;;;;;4593:19;:17;:19::i;:::-;:42;;;4636:6;4593:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4593:50:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4593:50:8;;;;4419:231;:::o;1759:239:2:-;1827:17;1887:18;:16;:18::i;:::-;:104;;;;;1947:44;1961:29;;1947:13;:44::i;:::-;1921:22;:20;:22::i;:::-;:70;;1887:104;1860:131;;1759:239;:::o;8011:1653:8:-;8360:33;8892:32;9405:9;8205:31;:29;:31::i;:::-;8254:27;8269:11;8254:14;:27::i;:::-;8246:36;;;;;;;;8293:56;8315:19;;8293:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8336:12;8293:21;:56::i;:::-;8425:12;:10;:12::i;:::-;:32;;;8458:11;8425:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8425:45:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8425:45:8;;;;;;39:16:-1;36:1;17:17;2:54;8425:45:8;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8425:45:8;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;8425:45:8;;;;;;;;;;;;;;;;;8403:67;;;;;8857:16;:23;8837:17;:43;8829:52;;;;;;;;8927:48;8944:11;8957:17;8927:16;:48::i;:::-;8892:83;;9125:24;9119:3;:30;9111:39;;;;;;;;9246:1;9168:12;:10;:12::i;:::-;:35;;;9204:11;9217:24;9239:1;9217:17;:21;;:24;;;;:::i;:::-;9168:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9168:74:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9168:74:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9168:74:8;;;;;;;;;;;;;;;;:79;9160:88;;;;;;;;9415:1;9405:11;;9400:122;9420:17;9417:1;:20;;9400:122;;;9491:16;9508:1;9491:19;;;;;;;;;;;;;;;;;;9465;;9485:1;9465:22;;;;;;;;;;;;;;;:45;9457:54;;;;;;;;9438:3;;;;;;;9400:122;;;9532:12;:10;:12::i;:::-;:27;;;9560:11;9573:19;;9594:12;9532:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9532:75:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9532:75:8;;;;9645:11;9623:34;;;;;;;;;;;;;8011:1653;;;;;;;;:::o;1283:201:2:-;1354:20;1433:44;1447:29;;1433:13;:44::i;:::-;1408:22;:20;:22::i;:::-;:69;1390:87;;1283:201;:::o;14578:379:8:-;729:10:7;;;;;;;;;;;677:62;;:18;:16;:18::i;:::-;:36;;;714:10;677:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;677:48:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;677:48:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;677:48:7;;;;;;;;;;;;;;;;:62;669:71;;;;;;;;14744:15:8;;14733:7;:26;:57;;;;14774:16;;14763:7;:27;14733:57;:90;;;;14805:18;;14794:7;:29;14733:90;14725:99;;;;;;;;14834:12;:10;:12::i;:::-;:30;;;14865:11;14878:7;14887:4;14893:3;14834:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14834:63:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14834:63:8;;;;14923:11;14913:37;;;;14936:7;14945:4;14913:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14578:379;;;:::o;3064:159:2:-;3140:22;3195:21;3212:3;3195:16;:21::i;:::-;3178:38;;3064:159;:::o;13979:280:8:-;14064:11;14077:26;;3153:21:1;3211:12;:10;:12::i;:::-;:25;;;3237:11;3211:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3211:38:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3211:38:1;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;3211:38:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3184:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3284:6;3267:23;;;:13;:23;;;;3259:32;;;;;;;;14127:13:8;:11;:13::i;:::-;14119:22;;;;;;;;14159:23;14171:10;14159:11;:23::i;:::-;14151:32;;;;;;;;14193:12;:10;:12::i;:::-;:34;;;14228:11;14241:10;14193:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14193:59:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14193:59:8;;;;13979:280;;;;:::o;5725:311:1:-;5808:8;5905:22;:20;:22::i;:::-;5851:19;:17;:19::i;:::-;:43;;;5895:5;5851:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5851:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5851:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5851:50:1;;;;;;;;;;;;;;;;:76;5850:179;;;;;5988:40;6002:25;;5988:13;:40::i;:::-;5945:17;:15;:17::i;:::-;:32;;;5978:5;5945:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5945:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5945:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5945:39:1;;;;;;;;;;;;;;;;:83;;5850:179;5832:197;;5725:311;;;:::o;5445:191::-;5534:20;5585:19;:17;:19::i;:::-;:32;;;5618:10;5585:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5585:44:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5585:44:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5585:44:1;;;;;;;;;;;;;;;;5570:59;;5445:191;;;:::o;7261:189:2:-;7349:20;7400:19;:17;:19::i;:::-;:31;;;7432:10;7400:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7400:43:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7400:43:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7400:43:2;;;;;;;;;;;;;;;;7385:58;;7261:189;;;:::o;2042:419:8:-;337:10:7;;;;;;;;;;;285:62;;:18;:16;:18::i;:::-;:36;;;322:10;285:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;285:48:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;285:48:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;285:48:7;;;;;;;;;;;;;;;;:62;277:71;;;;;;;;2286:5:8;2242:49;;:19;:17;:19::i;:::-;:38;;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2242:40:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2242:40:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2242:40:8;;;;;;;;;;;;;;;;:49;;;2234:58;;;;;;;;2302:19;:17;:19::i;:::-;:43;;;2359:15;2388:21;2423;2302:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2302:152:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2302:152:8;;;;2042:419;;;:::o;6713:757::-;7032:21;6902:31;:29;:31::i;:::-;6951:27;6966:11;6951:14;:27::i;:::-;6943:36;;;;;;;;6998:23;7009:11;6998:10;:23::i;:::-;6990:32;;;;;;;;7090:12;:10;:12::i;:::-;:25;;;7116:11;7090:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7090:38:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7090:38:8;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;7090:38:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7063:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7163:26;;7146:43;;;:13;:43;;;;:94;;;;7220:20;;7203:37;;;:13;:37;;;;7146:94;7138:103;;;;;;;;7252:56;7274:19;;7252:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7295:12;7252:21;:56::i;:::-;7319:12;:10;:12::i;:::-;:25;;;7345:11;7358:12;7372:19;;7393:12;7319:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7319:87:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7319:87:8;;;;7437:11;7422:41;;;;7450:12;7422:41;;;;;;;;;;;;;;;;;;;;;;;;6713:757;;;;;;:::o;834:173:2:-;907:19;960;:17;:19::i;:::-;:38;;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;960:40:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;960:40:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;960:40:2;;;;;;;;;;;;;;;;959:41;942:58;;834:173;:::o;344:31:67:-;;;;;;;;;;;;;:::o;13336:439:8:-;13514:21;13427:31;:29;:31::i;:::-;13476:27;13491:11;13476:14;:27::i;:::-;13468:36;;;;;;;;13572:12;:10;:12::i;:::-;:25;;;13598:11;13572:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13572:38:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13572:38:8;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;13572:38:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13545:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13645:11;;13628:28;;;:13;:28;;;;;13620:37;;;;;;;;13667:12;:10;:12::i;:::-;:27;;;13695:11;13708:7;13667:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13667:49:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13667:49:8;;;;13747:11;13732:36;;;;13760:7;13732:36;;;;;;;;;;;;;;;;;;;;;;;;13336:439;;;:::o;6123:431:1:-;6204:8;6301:22;:20;:22::i;:::-;6247:19;:17;:19::i;:::-;:43;;;6291:5;6247:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6247:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6247:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6247:50:1;;;;;;;;;;;;;;;;:76;6246:186;;;;;6384:47;6398:32;;6384:13;:47::i;:::-;6341:17;:15;:17::i;:::-;:32;;;6374:5;6341:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6341:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6341:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6341:39:1;;;;;;;;;;;;;;;;:90;;6246:186;:301;;;;;6492:54;6506:39;;6492:13;:54::i;:::-;6449:18;:16;:18::i;:::-;:32;;;6482:5;6449:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6449:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6449:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6449:39:1;;;;;;;;;;;;;;;;:97;;6246:301;6228:319;;6123:431;;;:::o;449:186:7:-;518:15;614:14;;;;;;;;;;;562:66;;:18;:16;:18::i;:::-;:36;;;599:10;562:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;562:48:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;562:48:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;562:48:7;;;;;;;;;;;;;;;;:66;549:79;;449:186;:::o;5799:170:2:-;5868:20;5927:34;5940:20;;5927:12;:34::i;:::-;5904:58;;5799:170;:::o;1238:128:84:-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o;10966:223:1:-;11059:13;:11;:13::i;:::-;11051:22;;;;;;;;11091:25;11105:10;11091:13;:25::i;:::-;11083:34;;;;;;;;11135:18;:16;:18::i;:::-;:34;;;11170:10;11135:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11135:46:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11135:46:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11135:46:1;;;;;;;;;;;;;;;;11127:55;;;;;;;;10966:223::o;325:213::-;417:20;485:12;:10;:12::i;:::-;:33;;;519:11;485:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;485:46:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;485:46:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;485:46:1;;;;;;;;;;;;;;;;471:60;;:10;:60;;;453:78;;325:213;;;:::o;1073:199:8:-;1149:27;1222:42;1235:28;;1222:12;:42::i;:::-;1192:73;;1073:199;:::o;5398:198:2:-;5474:27;5547:41;5560:27;;5547:12;:41::i;:::-;5517:72;;5398:198;:::o;1234:159:1:-;1301:12;1336:42;1349:28;;1336:12;:42::i;:::-;:50;;;1329:57;;1234:159;:::o;429:178:24:-;492:12;519:9;529:1;519:11;;514:89;533:8;:15;531:1;:17;514:89;;;573:21;582:8;591:1;582:11;;;;;;;;;;;;;;;;;;573:4;:8;;:21;;;;:::i;:::-;566:28;;549:3;;;;;;;514:89;;;429:178;;;;:::o;10394:401:1:-;10527:12;:10;:12::i;:::-;10526:13;10522:267;;;10593:50;10607:35;;10593:13;:50::i;:::-;10563:19;:26;:80;;10555:89;;;;;;;;10730:47;10744:32;;10730:13;:47::i;:::-;10666:60;10713:12;10666:42;10688:19;10666:21;:42::i;:::-;:46;;:60;;;;:::i;:::-;:111;;10658:120;;;;;;;;10522:267;10394:401;;:::o;899:201:7:-;974:28;1049:43;1062:29;;1049:12;:43::i;:::-;1018:75;;899:201;:::o;6815:199:2:-;6891:27;6964:42;6977:28;;6964:12;:42::i;:::-;6934:73;;6815:199;:::o;6204:::-;6280:27;6353:42;6366:28;;6353:12;:42::i;:::-;6323:73;;6204:199;:::o;1278::8:-;1354:27;1427:42;1440:28;;1427:12;:42::i;:::-;1397:73;;1278:199;:::o;855:275:1:-;943:16;975:21;1033:12;:10;:12::i;:::-;:25;;;1059:11;1033:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1033:38:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1033:38:1;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1033:38:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1006:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1112:11;;1095:28;;;:13;:28;;;;1081:42;;855:275;;;;:::o;9553:160::-;9662:43;9693:11;9662:30;:43::i;:::-;9654:52;;;;;;;;9553:160;:::o;4961:226:2:-;5053:26;5116:64;5159:20;5173:5;5159:13;:20::i;:::-;5116:38;5130:23;;5116:13;:38::i;:::-;:42;;:64;;;;:::i;:::-;5095:85;;4961:226;;;:::o;6994:847:1:-;7113:23;7152:36;7191:12;:10;:12::i;:::-;:35;;;7227:11;7240:15;7191:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7191:65:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7191:65:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7191:65:1;;;;;;;;;;;;;;;;7152:104;;7305:1;7274:28;:32;7266:41;;;;;;;;7397:1;7378:15;:20;7374:461;;;7512:91;7562:40;7576:25;;7562:13;:40::i;:::-;7512:28;:49;;:91;;;;:::i;:::-;7478:125;;7374:461;;;7732:92;7782:41;7796:26;;7782:13;:41::i;:::-;7732:28;:49;;:92;;;;:::i;:::-;7698:126;;7374:461;6994:847;;;;;:::o;8225:1125::-;8373:26;8415;8497:23;8444:43;8465:21;8444:20;:43::i;:::-;8415:72;;8523:83;8547:1;8537:6;:11;:68;;8579:26;;8537:68;;;8551:25;;8537:68;8523:13;:83::i;:::-;8497:109;;8637:21;8616:42;;8711:44;8725:29;;8711:13;:44::i;:::-;8672:36;8686:21;8672:13;:36::i;:::-;:83;8668:676;;;8844:143;8887:86;8936:36;8950:21;8936:13;:36::i;:::-;8887:44;8901:29;;8887:13;:44::i;:::-;:48;;:86;;;;:::i;:::-;8844:21;:25;;:143;;;;:::i;:::-;8823:164;;8668:676;;;9029:65;9049:44;9063:29;;9049:13;:44::i;:::-;9029:15;:19;;:65;;;;:::i;:::-;9008:18;:86;9004:340;;;9201:132;9244:75;9317:1;9244:68;9267:44;9281:29;;9267:13;:44::i;:::-;9244:18;:22;;:68;;;;:::i;:::-;:72;;:75;;;;:::i;:::-;9201:21;:25;;:132;;;;:::i;:::-;9180:153;;9004:340;8668:676;8225:1125;;;;;;:::o;3862:332:2:-;3947:22;3993:26;:24;:26::i;:::-;3985:35;;;;;;;;4149:38;4163:23;;4149:13;:38::i;:::-;4082:52;4092:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4092:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4092:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4092:41:2;;;;;;;;;;;;;;;;4082:5;:9;;:52;;;;:::i;:::-;:105;;;;;;;;4053:134;;3862:332;;;:::o;3369:320::-;3457:14;3495:26;:24;:26::i;:::-;3487:35;;;;;;;;3553:129;3680:1;3553:109;3623:38;3637:23;;3623:13;:38::i;:::-;3553:52;3563:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3563:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3563:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3563:41:2;;;;;;;;;;;;;;;;3553:5;:9;;:52;;;;:::i;:::-;:69;;:109;;;;:::i;:::-;:126;;:129;;;;:::i;:::-;3532:150;;3369:320;;;:::o;5602:191::-;5676:25;5745:40;5758:26;;5745:12;:40::i;:::-;5717:69;;5602:191;:::o;6614:195::-;6689:26;6760:41;6773:27;;6760:12;:41::i;:::-;6731:71;;6614:195;:::o;9719:481:1:-;9827:17;9860:21;9921:12;:10;:12::i;:::-;:25;;;9947:11;9921:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9921:38:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9921:38:1;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;9921:38:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9891:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9984:4;9969:19;;10003:16;10002:17;9998:196;;;10127:56;10141:41;;10127:13;:56::i;:::-;10050:27;:25;:27::i;:::-;:50;;;10101:22;:20;:22::i;:::-;10050:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10050:74:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10050:74:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10050:74:1;;;;;;;;;;;;;;;;:133;10035:148;;9998:196;9719:481;;;;:::o;1060:116:84:-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;4343:172:2:-;4426:11;4507:1;4462:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4462:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4462:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4462:41:2;;;;;;;;;;;;;;;;:46;;4453:55;;4343:172;:::o;665:283:84:-;725:7;941:2;936;:7;;;;;;;;929:14;;665:283;;;;:::o;5975:223:2:-;6059:35;6148:42;6161:28;;6148:12;:42::i;:::-;6110:81;;5975:223;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"../common/DaoCommon.sol\";\nimport \"./DaoFundingManager.sol\";\nimport \"./DaoRewardsManager.sol\";\nimport \"./DaoVotingClaims.sol\";\n\n/**\n@title Interactive DAO contract for creating/modifying/endorsing proposals\n@author Digix Holdings\n*/\ncontract Dao is DaoCommon {\n\n event NewProposal(bytes32 indexed _proposalId, address _proposer);\n event ModifyProposal(bytes32 indexed _proposalId, bytes32 _newDoc);\n event ChangeProposalFunding(bytes32 indexed _proposalId);\n event FinalizeProposal(bytes32 indexed _proposalId);\n event FinishMilestone(bytes32 indexed _proposalId, uint256 indexed _milestoneIndex);\n event AddProposalDoc(bytes32 indexed _proposalId, bytes32 _newDoc);\n event PRLAction(bytes32 indexed _proposalId, uint256 _actionId, bytes32 _doc);\n event CloseProposal(bytes32 indexed _proposalId);\n event MigrateToNewDao(address _newDaoContract, address _newDaoFundingManager, address _newDaoRewardsManager);\n\n constructor(address _resolver) public {\n require(init(CONTRACT_DAO, _resolver));\n }\n\n function daoFundingManager()\n internal\n view\n returns (DaoFundingManager _contract)\n {\n _contract = DaoFundingManager(get_contract(CONTRACT_DAO_FUNDING_MANAGER));\n }\n\n function daoRewardsManager()\n internal\n view\n returns (DaoRewardsManager _contract)\n {\n _contract = DaoRewardsManager(get_contract(CONTRACT_DAO_REWARDS_MANAGER));\n }\n\n function daoVotingClaims()\n internal\n view\n returns (DaoVotingClaims _contract)\n {\n _contract = DaoVotingClaims(get_contract(CONTRACT_DAO_VOTING_CLAIMS));\n }\n\n /**\n @notice Set addresses for the new Dao and DaoFundingManager contracts\n @dev This is the first step of the 2-step migration\n @param _newDaoContract Address of the new Dao contract\n @param _newDaoFundingManager Address of the new DaoFundingManager contract\n @param _newDaoRewardsManager Address of the new daoRewardsManager contract\n */\n function setNewDaoContracts(\n address _newDaoContract,\n address _newDaoFundingManager,\n address _newDaoRewardsManager\n )\n public\n if_root()\n {\n require(daoUpgradeStorage().isReplacedByNewDao() == false);\n daoUpgradeStorage().setNewContractAddresses(\n _newDaoContract,\n _newDaoFundingManager,\n _newDaoRewardsManager\n );\n }\n\n /**\n @notice Migrate this DAO to a new DAO contract\n @dev This is the second step of the 2-step migration\n Migration can only be done during the locking phase, after the global rewards for current quarter are set.\n This is to make sure that there is no rewards calculation pending before the DAO is migrated to new contracts\n The addresses of the new Dao contracts have to be provided again, and be double checked against the addresses that were set in setNewDaoContracts()\n @param _newDaoContract Address of the new DAO contract\n @param _newDaoFundingManager Address of the new DaoFundingManager contract, which would receive the remaining ETHs in this DaoFundingManager\n @param _newDaoRewardsManager Address of the new daoRewardsManager contract, which would receive the claimableDGXs from this daoRewardsManager\n */\n function migrateToNewDao(\n address _newDaoContract,\n address _newDaoFundingManager,\n address _newDaoRewardsManager\n )\n public\n if_root()\n ifGlobalRewardsSet(currentQuarterNumber())\n {\n require(isLockingPhase());\n require(daoUpgradeStorage().isReplacedByNewDao() == false);\n require(\n (daoUpgradeStorage().newDaoContract() == _newDaoContract) &&\n (daoUpgradeStorage().newDaoFundingManager() == _newDaoFundingManager) &&\n (daoUpgradeStorage().newDaoRewardsManager() == _newDaoRewardsManager)\n );\n daoUpgradeStorage().updateForDaoMigration();\n daoFundingManager().moveFundsToNewDao(_newDaoFundingManager);\n daoRewardsManager().moveDGXsToNewDao(_newDaoRewardsManager);\n emit MigrateToNewDao(_newDaoContract, _newDaoFundingManager, _newDaoRewardsManager);\n }\n\n /**\n @notice Call this function to mark the start of the DAO's first quarter. This can only be done once, by a founder\n @param _start Start time of the first quarter in the DAO\n */\n function setStartOfFirstQuarter(uint256 _start) public if_founder() {\n require(daoUpgradeStorage().startOfFirstQuarter() == 0);\n require(_start > now);\n daoUpgradeStorage().setStartOfFirstQuarter(_start);\n }\n\n /**\n @notice Submit a new preliminary idea / Pre-proposal\n @dev The proposer has to send in a collateral == getUintConfig(CONFIG_PREPROPOSAL_COLLATERAL)\n which he could claim back in these scenarios:\n - Before the proposal is finalized, by calling closeProposal()\n - After all milestones are done and the final voting round is passed\n\n @param _docIpfsHash Hash of the IPFS doc containing details of proposal\n @param _milestonesFundings Array of fundings of the proposal milestones (in wei)\n @param _finalReward Final reward asked by proposer at successful completion of all milestones of proposal\n */\n function submitPreproposal(\n bytes32 _docIpfsHash,\n uint256[] _milestonesFundings,\n uint256 _finalReward\n )\n external\n payable\n {\n senderCanDoProposerOperations();\n bool _isFounder = is_founder();\n\n require(MathHelper.sumNumbers(_milestonesFundings).add(_finalReward) <= weiInDao());\n\n require(msg.value == getUintConfig(CONFIG_PREPROPOSAL_COLLATERAL));\n require(address(daoFundingManager()).call.gas(25000).value(msg.value)());\n\n checkNonDigixFundings(_milestonesFundings, _finalReward);\n\n daoStorage().addProposal(_docIpfsHash, msg.sender, _milestonesFundings, _finalReward, _isFounder);\n daoStorage().setProposalCollateralStatus(_docIpfsHash, COLLATERAL_STATUS_UNLOCKED);\n daoStorage().setProposalCollateralAmount(_docIpfsHash, msg.value);\n\n emit NewProposal(_docIpfsHash, msg.sender);\n }\n\n /**\n @notice Modify a proposal (this can be done only before setting the final version)\n @param _proposalId Proposal ID (hash of IPFS doc of the first version of the proposal)\n @param _docIpfsHash Hash of IPFS doc of the modified version of the proposal\n @param _milestonesFundings Array of fundings of the modified version of the proposal (in wei)\n @param _finalReward Final reward on successful completion of all milestones of the modified version of proposal (in wei)\n */\n function modifyProposal(\n bytes32 _proposalId,\n bytes32 _docIpfsHash,\n uint256[] _milestonesFundings,\n uint256 _finalReward\n )\n external\n {\n senderCanDoProposerOperations();\n require(isFromProposer(_proposalId));\n\n require(isEditable(_proposalId));\n bytes32 _currentState;\n (,,,_currentState,,,,,,) = daoStorage().readProposal(_proposalId);\n require(_currentState == PROPOSAL_STATE_PREPROPOSAL ||\n _currentState == PROPOSAL_STATE_DRAFT);\n\n checkNonDigixFundings(_milestonesFundings, _finalReward);\n\n daoStorage().editProposal(_proposalId, _docIpfsHash, _milestonesFundings, _finalReward);\n\n emit ModifyProposal(_proposalId, _docIpfsHash);\n }\n\n /**\n @notice Function to change the funding structure for a proposal\n @dev Proposers can only change fundings for the subsequent milestones,\n during the duration of an on-going milestone (so, cannot be before proposal finalization or during any voting phase)\n @param _proposalId ID of the proposal\n @param _milestonesFundings Array of fundings for milestones\n @param _finalReward Final reward needed for completion of proposal\n @param _currentMilestone the milestone number the proposal is currently in\n */\n function changeFundings(\n bytes32 _proposalId,\n uint256[] _milestonesFundings,\n uint256 _finalReward,\n uint256 _currentMilestone\n )\n external\n {\n senderCanDoProposerOperations();\n require(isFromProposer(_proposalId));\n\n checkNonDigixFundings(_milestonesFundings, _finalReward);\n\n uint256[] memory _currentFundings;\n (_currentFundings,) = daoStorage().readProposalFunding(_proposalId);\n\n // If there are N milestones, the milestone index must be < N. Otherwise, putting a milestone index of N will actually return a valid timestamp that is\n // right after the final voting round (voting round index N is the final voting round)\n // Which could be abused ( to add more milestones even after the final voting round)\n require(_currentMilestone < _currentFundings.length);\n\n uint256 _startOfCurrentMilestone = startOfMilestone(_proposalId, _currentMilestone);\n\n // must be after the start of the milestone, and the milestone has not been finished yet (next voting hasnt started)\n require(now > _startOfCurrentMilestone);\n require(daoStorage().readProposalVotingTime(_proposalId, _currentMilestone.add(1)) == 0);\n\n // can only modify the fundings after _currentMilestone\n // so, all the fundings from 0 to _currentMilestone must be the same\n for (uint256 i=0;i<=_currentMilestone;i++) {\n require(_milestonesFundings[i] == _currentFundings[i]);\n }\n\n daoStorage().changeFundings(_proposalId, _milestonesFundings, _finalReward);\n\n emit ChangeProposalFunding(_proposalId);\n }\n\n /**\n @notice Finalize a proposal\n @dev After finalizing a proposal, no more proposal version can be added. Proposer will only be able to change fundings and add more docs\n Right after finalizing a proposal, the draft voting round starts. The proposer would also not be able to closeProposal() anymore\n (hence, cannot claim back the collateral anymore, until the final voting round passes)\n @param _proposalId ID of the proposal\n */\n function finalizeProposal(bytes32 _proposalId)\n public\n {\n senderCanDoProposerOperations();\n require(isFromProposer(_proposalId));\n require(isEditable(_proposalId));\n checkNonDigixProposalLimit(_proposalId);\n\n // make sure we have reasonably enough time left in the quarter to conduct the Draft Voting.\n // Otherwise, the proposer must wait until the next quarter to finalize the proposal\n require(getTimeLeftInQuarter(now) > getUintConfig(CONFIG_DRAFT_VOTING_PHASE).add(getUintConfig(CONFIG_VOTE_CLAIMING_DEADLINE)));\n address _endorser;\n (,,_endorser,,,,,,,) = daoStorage().readProposal(_proposalId);\n require(_endorser != EMPTY_ADDRESS);\n daoStorage().finalizeProposal(_proposalId);\n daoStorage().setProposalDraftVotingTime(_proposalId, now);\n\n emit FinalizeProposal(_proposalId);\n }\n\n /**\n @notice Function to set milestone to be completed\n @dev This can only be called in the Main Phase of DigixDAO by the proposer. It sets the\n voting time for the next milestone, which is immediately, for most of the times. If there is not enough time left in the current\n quarter, then the next voting is postponed to the start of next quarter\n @param _proposalId ID of the proposal\n @param _milestoneIndex Index of the milestone. Index starts from 0 (for the first milestone)\n */\n function finishMilestone(bytes32 _proposalId, uint256 _milestoneIndex)\n public\n {\n senderCanDoProposerOperations();\n require(isFromProposer(_proposalId));\n\n uint256[] memory _currentFundings;\n (_currentFundings,) = daoStorage().readProposalFunding(_proposalId);\n\n // If there are N milestones, the milestone index must be < N. Otherwise, putting a milestone index of N will actually return a valid timestamp that is\n // right after the final voting round (voting round index N is the final voting round)\n // Which could be abused ( to \"finish\" a milestone even after the final voting round)\n require(_milestoneIndex < _currentFundings.length);\n\n // must be after the start of this milestone, and the milestone has not been finished yet (voting hasnt started)\n uint256 _startOfCurrentMilestone = startOfMilestone(_proposalId, _milestoneIndex);\n require(now > _startOfCurrentMilestone);\n require(daoStorage().readProposalVotingTime(_proposalId, _milestoneIndex.add(1)) == 0);\n\n daoStorage().setProposalVotingTime(\n _proposalId,\n _milestoneIndex.add(1),\n getTimelineForNextVote(_milestoneIndex.add(1), now)\n ); // set the voting time of next voting\n\n emit FinishMilestone(_proposalId, _milestoneIndex);\n }\n\n /**\n @notice Add IPFS docs to a proposal\n @dev This is allowed only after a proposal is finalized. Before finalizing\n a proposal, proposer can modifyProposal and basically create a different ProposalVersion. After the proposal is finalized,\n they can only allProposalDoc to the final version of that proposal\n @param _proposalId ID of the proposal\n @param _newDoc hash of the new IPFS doc\n */\n function addProposalDoc(bytes32 _proposalId, bytes32 _newDoc)\n public\n {\n senderCanDoProposerOperations();\n require(isFromProposer(_proposalId));\n bytes32 _finalVersion;\n (,,,,,,,_finalVersion,,) = daoStorage().readProposal(_proposalId);\n require(_finalVersion != EMPTY_BYTES);\n daoStorage().addProposalDoc(_proposalId, _newDoc);\n\n emit AddProposalDoc(_proposalId, _newDoc);\n }\n\n /**\n @notice Function to endorse a pre-proposal (can be called only by DAO Moderator)\n @param _proposalId ID of the proposal (hash of IPFS doc of the first version of the proposal)\n */\n function endorseProposal(bytes32 _proposalId)\n public\n isProposalState(_proposalId, PROPOSAL_STATE_PREPROPOSAL)\n {\n require(isMainPhase());\n require(isModerator(msg.sender));\n daoStorage().updateProposalEndorse(_proposalId, msg.sender);\n }\n\n /**\n @notice Function to update the PRL (regulatory status) status of a proposal\n @dev if a proposal is paused or stopped, the proposer wont be able to withdraw the funding\n @param _proposalId ID of the proposal\n @param _doc hash of IPFS uploaded document, containing details of PRL Action\n */\n function updatePRL(\n bytes32 _proposalId,\n uint256 _action,\n bytes32 _doc\n )\n public\n if_prl()\n {\n require(_action == PRL_ACTION_STOP || _action == PRL_ACTION_PAUSE || _action == PRL_ACTION_UNPAUSE);\n daoStorage().updateProposalPRL(_proposalId, _action, _doc, now);\n\n emit PRLAction(_proposalId, _action, _doc);\n }\n\n /**\n @notice Function to close proposal (also get back collateral)\n @dev Can only be closed if the proposal has not been finalized yet\n @param _proposalId ID of the proposal\n */\n function closeProposal(bytes32 _proposalId)\n public\n {\n senderCanDoProposerOperations();\n require(isFromProposer(_proposalId));\n bytes32 _finalVersion;\n bytes32 _status;\n (,,,_status,,,,_finalVersion,,) = daoStorage().readProposal(_proposalId);\n require(_finalVersion == EMPTY_BYTES);\n require(_status != PROPOSAL_STATE_CLOSED);\n require(daoStorage().readProposalCollateralStatus(_proposalId) == COLLATERAL_STATUS_UNLOCKED);\n\n daoStorage().closeProposal(_proposalId);\n daoStorage().setProposalCollateralStatus(_proposalId, COLLATERAL_STATUS_CLAIMED);\n emit CloseProposal(_proposalId);\n require(daoFundingManager().refundCollateral(msg.sender, _proposalId));\n }\n\n /**\n @notice Function for founders to close all the dead proposals\n @dev Dead proposals = all proposals who are not yet finalized, and been there for more than the threshold time\n The proposers of dead proposals will not get the collateral back\n @param _proposalIds Array of proposal IDs\n */\n function founderCloseProposals(bytes32[] _proposalIds)\n external\n if_founder()\n {\n uint256 _length = _proposalIds.length;\n uint256 _timeCreated;\n bytes32 _finalVersion;\n bytes32 _currentState;\n for (uint256 _i = 0; _i < _length; _i++) {\n (,,,_currentState,_timeCreated,,,_finalVersion,,) = daoStorage().readProposal(_proposalIds[_i]);\n require(_finalVersion == EMPTY_BYTES);\n require(\n (_currentState == PROPOSAL_STATE_PREPROPOSAL) ||\n (_currentState == PROPOSAL_STATE_DRAFT)\n );\n require(now > _timeCreated.add(getUintConfig(CONFIG_PROPOSAL_DEAD_DURATION)));\n emit CloseProposal(_proposalIds[_i]);\n daoStorage().closeProposal(_proposalIds[_i]);\n }\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/interactive/Dao.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/Dao.sol", + "exportedSymbols": { + "Dao": [ + 2887 + ] + }, + "id": 2888, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1913, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:8" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommon.sol", + "file": "../common/DaoCommon.sol", + "id": 1914, + "nodeType": "ImportDirective", + "scope": 2888, + "sourceUnit": 839, + "src": "26:33:8", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoFundingManager.sol", + "file": "./DaoFundingManager.sol", + "id": 1915, + "nodeType": "ImportDirective", + "scope": 2888, + "sourceUnit": 3150, + "src": "60:33:8", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoRewardsManager.sol", + "file": "./DaoRewardsManager.sol", + "id": 1916, + "nodeType": "ImportDirective", + "scope": 2888, + "sourceUnit": 4686, + "src": "94:33:8", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoVotingClaims.sol", + "file": "./DaoVotingClaims.sol", + "id": 1917, + "nodeType": "ImportDirective", + "scope": 2888, + "sourceUnit": 7815, + "src": "128:31:8", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1918, + "name": "DaoCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 838, + "src": "282:9:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommon_$838", + "typeString": "contract DaoCommon" + } + }, + "id": 1919, + "nodeType": "InheritanceSpecifier", + "src": "282:9:8" + } + ], + "contractDependencies": [ + 838, + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": "@title Interactive DAO contract for creating/modifying/endorsing proposals\n@author Digix Holdings", + "fullyImplemented": true, + "id": 2887, + "linearizedBaseContracts": [ + 2887, + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "Dao", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 1925, + "name": "NewProposal", + "nodeType": "EventDefinition", + "parameters": { + "id": 1924, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1921, + "indexed": true, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 1925, + "src": "317:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1920, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "317:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1923, + "indexed": false, + "name": "_proposer", + "nodeType": "VariableDeclaration", + "scope": 1925, + "src": "346:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1922, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "346:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "316:48:8" + }, + "src": "299:66:8" + }, + { + "anonymous": false, + "documentation": null, + "id": 1931, + "name": "ModifyProposal", + "nodeType": "EventDefinition", + "parameters": { + "id": 1930, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1927, + "indexed": true, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 1931, + "src": "391:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1926, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "391:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1929, + "indexed": false, + "name": "_newDoc", + "nodeType": "VariableDeclaration", + "scope": 1931, + "src": "420:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1928, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "420:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "390:46:8" + }, + "src": "370:67:8" + }, + { + "anonymous": false, + "documentation": null, + "id": 1935, + "name": "ChangeProposalFunding", + "nodeType": "EventDefinition", + "parameters": { + "id": 1934, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1933, + "indexed": true, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 1935, + "src": "470:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1932, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "470:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "469:29:8" + }, + "src": "442:57:8" + }, + { + "anonymous": false, + "documentation": null, + "id": 1939, + "name": "FinalizeProposal", + "nodeType": "EventDefinition", + "parameters": { + "id": 1938, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1937, + "indexed": true, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 1939, + "src": "527:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1936, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "527:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "526:29:8" + }, + "src": "504:52:8" + }, + { + "anonymous": false, + "documentation": null, + "id": 1945, + "name": "FinishMilestone", + "nodeType": "EventDefinition", + "parameters": { + "id": 1944, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1941, + "indexed": true, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 1945, + "src": "583:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1940, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "583:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1943, + "indexed": true, + "name": "_milestoneIndex", + "nodeType": "VariableDeclaration", + "scope": 1945, + "src": "612:31:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1942, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "612:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "582:62:8" + }, + "src": "561:84:8" + }, + { + "anonymous": false, + "documentation": null, + "id": 1951, + "name": "AddProposalDoc", + "nodeType": "EventDefinition", + "parameters": { + "id": 1950, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1947, + "indexed": true, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 1951, + "src": "671:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1946, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "671:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1949, + "indexed": false, + "name": "_newDoc", + "nodeType": "VariableDeclaration", + "scope": 1951, + "src": "700:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1948, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "700:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "670:46:8" + }, + "src": "650:67:8" + }, + { + "anonymous": false, + "documentation": null, + "id": 1959, + "name": "PRLAction", + "nodeType": "EventDefinition", + "parameters": { + "id": 1958, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1953, + "indexed": true, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 1959, + "src": "738:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1952, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "738:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1955, + "indexed": false, + "name": "_actionId", + "nodeType": "VariableDeclaration", + "scope": 1959, + "src": "767:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1954, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "767:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1957, + "indexed": false, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 1959, + "src": "786:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1956, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "786:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "737:62:8" + }, + "src": "722:78:8" + }, + { + "anonymous": false, + "documentation": null, + "id": 1963, + "name": "CloseProposal", + "nodeType": "EventDefinition", + "parameters": { + "id": 1962, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1961, + "indexed": true, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 1963, + "src": "825:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1960, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "825:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "824:29:8" + }, + "src": "805:49:8" + }, + { + "anonymous": false, + "documentation": null, + "id": 1971, + "name": "MigrateToNewDao", + "nodeType": "EventDefinition", + "parameters": { + "id": 1970, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1965, + "indexed": false, + "name": "_newDaoContract", + "nodeType": "VariableDeclaration", + "scope": 1971, + "src": "881:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1964, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "881:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1967, + "indexed": false, + "name": "_newDaoFundingManager", + "nodeType": "VariableDeclaration", + "scope": 1971, + "src": "906:29:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1966, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "906:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1969, + "indexed": false, + "name": "_newDaoRewardsManager", + "nodeType": "VariableDeclaration", + "scope": 1971, + "src": "937:29:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1968, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "937:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "880:87:8" + }, + "src": "859:109:8" + }, + { + "body": { + "id": 1983, + "nodeType": "Block", + "src": "1012:55:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1978, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "1035:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1979, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1973, + "src": "1049:9:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1977, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "1030:4:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 1980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1030:29:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1976, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1022:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1022:38:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1982, + "nodeType": "ExpressionStatement", + "src": "1022:38:8" + } + ] + }, + "documentation": null, + "id": 1984, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1974, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1973, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 1984, + "src": "986:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1972, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "986:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "985:19:8" + }, + "payable": false, + "returnParameters": { + "id": 1975, + "nodeType": "ParameterList", + "parameters": [], + "src": "1012:0:8" + }, + "scope": 2887, + "src": "974:93:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1997, + "nodeType": "Block", + "src": "1182:90:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1989, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1987, + "src": "1192:9:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1992, + "name": "CONTRACT_DAO_FUNDING_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1327, + "src": "1235:28:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1991, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "1222:12:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1222:42:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1990, + "name": "DaoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3149, + "src": "1204:17:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoFundingManager_$3149_$", + "typeString": "type(contract DaoFundingManager)" + } + }, + "id": 1994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1204:61:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "src": "1192:73:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "id": 1996, + "nodeType": "ExpressionStatement", + "src": "1192:73:8" + } + ] + }, + "documentation": null, + "id": 1998, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoFundingManager", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1985, + "nodeType": "ParameterList", + "parameters": [], + "src": "1099:2:8" + }, + "payable": false, + "returnParameters": { + "id": 1988, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1987, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1998, + "src": "1149:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + }, + "typeName": { + "contractScope": null, + "id": 1986, + "name": "DaoFundingManager", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3149, + "src": "1149:17:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1148:29:8" + }, + "scope": 2887, + "src": "1073:199:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 2011, + "nodeType": "Block", + "src": "1387:90:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2003, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2001, + "src": "1397:9:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2006, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "1440:28:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2005, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "1427:12:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 2007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1427:42:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2004, + "name": "DaoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4685, + "src": "1409:17:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoRewardsManager_$4685_$", + "typeString": "type(contract DaoRewardsManager)" + } + }, + "id": 2008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1409:61:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "src": "1397:73:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "id": 2010, + "nodeType": "ExpressionStatement", + "src": "1397:73:8" + } + ] + }, + "documentation": null, + "id": 2012, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoRewardsManager", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1999, + "nodeType": "ParameterList", + "parameters": [], + "src": "1304:2:8" + }, + "payable": false, + "returnParameters": { + "id": 2002, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2001, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 2012, + "src": "1354:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + }, + "typeName": { + "contractScope": null, + "id": 2000, + "name": "DaoRewardsManager", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4685, + "src": "1354:17:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1353:29:8" + }, + "scope": 2887, + "src": "1278:199:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 2025, + "nodeType": "Block", + "src": "1588:86:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2017, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2015, + "src": "1598:9:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoVotingClaims_$7814", + "typeString": "contract DaoVotingClaims" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2020, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "1639:26:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2019, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "1626:12:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 2021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1626:40:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2018, + "name": "DaoVotingClaims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7814, + "src": "1610:15:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoVotingClaims_$7814_$", + "typeString": "type(contract DaoVotingClaims)" + } + }, + "id": 2022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1610:57:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoVotingClaims_$7814", + "typeString": "contract DaoVotingClaims" + } + }, + "src": "1598:69:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoVotingClaims_$7814", + "typeString": "contract DaoVotingClaims" + } + }, + "id": 2024, + "nodeType": "ExpressionStatement", + "src": "1598:69:8" + } + ] + }, + "documentation": null, + "id": 2026, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoVotingClaims", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2013, + "nodeType": "ParameterList", + "parameters": [], + "src": "1507:2:8" + }, + "payable": false, + "returnParameters": { + "id": 2016, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2015, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 2026, + "src": "1557:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoVotingClaims_$7814", + "typeString": "contract DaoVotingClaims" + }, + "typeName": { + "contractScope": null, + "id": 2014, + "name": "DaoVotingClaims", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7814, + "src": "1557:15:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoVotingClaims_$7814", + "typeString": "contract DaoVotingClaims" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1556:27:8" + }, + "scope": 2887, + "src": "1483:191:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 2054, + "nodeType": "Block", + "src": "2224:237:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2038, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "2242:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 2039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2242:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 2040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isReplacedByNewDao", + "nodeType": "MemberAccess", + "referencedDeclaration": 18316, + "src": "2242:38:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", + "typeString": "function () view external returns (bool)" + } + }, + "id": 2041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2242:40:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 2042, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2286:5:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "2242:49:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2037, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2234:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2234:58:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2045, + "nodeType": "ExpressionStatement", + "src": "2234:58:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2049, + "name": "_newDaoContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2028, + "src": "2359:15:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2050, + "name": "_newDaoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2030, + "src": "2388:21:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2051, + "name": "_newDaoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2032, + "src": "2423:21:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2046, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "2302:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 2047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2302:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 2048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setNewContractAddresses", + "nodeType": "MemberAccess", + "referencedDeclaration": 18379, + "src": "2302:43:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address,address) external" + } + }, + "id": 2052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2302:152:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2053, + "nodeType": "ExpressionStatement", + "src": "2302:152:8" + } + ] + }, + "documentation": "@notice Set addresses for the new Dao and DaoFundingManager contracts\n@dev This is the first step of the 2-step migration\n@param _newDaoContract Address of the new Dao contract\n@param _newDaoFundingManager Address of the new DaoFundingManager contract\n@param _newDaoRewardsManager Address of the new daoRewardsManager contract", + "id": 2055, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 2035, + "modifierName": { + "argumentTypes": null, + "id": 2034, + "name": "if_root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1840, + "src": "2210:7:8", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2210:9:8" + } + ], + "name": "setNewDaoContracts", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2033, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2028, + "name": "_newDaoContract", + "nodeType": "VariableDeclaration", + "scope": 2055, + "src": "2079:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2027, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2079:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2030, + "name": "_newDaoFundingManager", + "nodeType": "VariableDeclaration", + "scope": 2055, + "src": "2112:29:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2029, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2112:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2032, + "name": "_newDaoRewardsManager", + "nodeType": "VariableDeclaration", + "scope": 2055, + "src": "2151:29:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2031, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2151:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2069:117:8" + }, + "payable": false, + "returnParameters": { + "id": 2036, + "nodeType": "ParameterList", + "parameters": [], + "src": "2224:0:8" + }, + "scope": 2887, + "src": "2042:419:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2133, + "nodeType": "Block", + "src": "3562:657:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2071, + "name": "isLockingPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 887, + "src": "3580:14:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 2072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3580:16:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2070, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3572:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3572:25:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2074, + "nodeType": "ExpressionStatement", + "src": "3572:25:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2076, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "3615:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 2077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3615:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 2078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isReplacedByNewDao", + "nodeType": "MemberAccess", + "referencedDeclaration": 18316, + "src": "3615:38:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", + "typeString": "function () view external returns (bool)" + } + }, + "id": 2079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3615:40:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 2080, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3659:5:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "3615:49:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2075, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3607:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3607:58:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2083, + "nodeType": "ExpressionStatement", + "src": "3607:58:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2085, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "3695:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 2086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3695:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 2087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "newDaoContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 18318, + "src": "3695:34:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 2088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3695:36:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2089, + "name": "_newDaoContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2057, + "src": "3735:15:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3695:55:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2091, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3694:57:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2092, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "3766:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 2093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3766:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 2094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "newDaoFundingManager", + "nodeType": "MemberAccess", + "referencedDeclaration": 18320, + "src": "3766:40:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 2095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3766:42:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2096, + "name": "_newDaoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2059, + "src": "3812:21:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3766:67:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2098, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3765:69:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3694:140:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2100, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "3849:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 2101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3849:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 2102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "newDaoRewardsManager", + "nodeType": "MemberAccess", + "referencedDeclaration": 18322, + "src": "3849:40:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 2103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3849:42:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2104, + "name": "_newDaoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2061, + "src": "3895:21:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3849:67:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2106, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3848:69:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3694:223:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2084, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3675:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3675:252:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2109, + "nodeType": "ExpressionStatement", + "src": "3675:252:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2110, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "3937:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 2111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3937:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 2112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateForDaoMigration", + "nodeType": "MemberAccess", + "referencedDeclaration": 18393, + "src": "3937:41:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", + "typeString": "function () external" + } + }, + "id": 2113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3937:43:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2114, + "nodeType": "ExpressionStatement", + "src": "3937:43:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2118, + "name": "_newDaoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2059, + "src": "4028:21:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2115, + "name": "daoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1998, + "src": "3990:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoFundingManager_$3149_$", + "typeString": "function () view returns (contract DaoFundingManager)" + } + }, + "id": 2116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3990:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "id": 2117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "moveFundsToNewDao", + "nodeType": "MemberAccess", + "referencedDeclaration": 3128, + "src": "3990:37:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 2119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3990:60:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2120, + "nodeType": "ExpressionStatement", + "src": "3990:60:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2124, + "name": "_newDaoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2061, + "src": "4097:21:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2121, + "name": "daoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2012, + "src": "4060:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsManager_$4685_$", + "typeString": "function () view returns (contract DaoRewardsManager)" + } + }, + "id": 2122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4060:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "id": 2123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "moveDGXsToNewDao", + "nodeType": "MemberAccess", + "referencedDeclaration": 3684, + "src": "4060:36:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 2125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4060:59:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2126, + "nodeType": "ExpressionStatement", + "src": "4060:59:8" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2128, + "name": "_newDaoContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2057, + "src": "4150:15:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2129, + "name": "_newDaoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2059, + "src": "4167:21:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2130, + "name": "_newDaoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2061, + "src": "4190:21:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2127, + "name": "MigrateToNewDao", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1971, + "src": "4134:15:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address,address)" + } + }, + "id": 2131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4134:78:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2132, + "nodeType": "EmitStatement", + "src": "4129:83:8" + } + ] + }, + "documentation": "@notice Migrate this DAO to a new DAO contract\n@dev This is the second step of the 2-step migration\nMigration can only be done during the locking phase, after the global rewards for current quarter are set.\nThis is to make sure that there is no rewards calculation pending before the DAO is migrated to new contracts\nThe addresses of the new Dao contracts have to be provided again, and be double checked against the addresses that were set in setNewDaoContracts()\n@param _newDaoContract Address of the new DAO contract\n@param _newDaoFundingManager Address of the new DaoFundingManager contract, which would receive the remaining ETHs in this DaoFundingManager\n@param _newDaoRewardsManager Address of the new daoRewardsManager contract, which would receive the claimableDGXs from this daoRewardsManager", + "id": 2134, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 2064, + "modifierName": { + "argumentTypes": null, + "id": 2063, + "name": "if_root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1840, + "src": "3497:7:8", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3497:9:8" + }, + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2066, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "3534:20:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 2067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3534:22:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2068, + "modifierName": { + "argumentTypes": null, + "id": 2065, + "name": "ifGlobalRewardsSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 926, + "src": "3515:18:8", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$", + "typeString": "modifier (uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3515:42:8" + } + ], + "name": "migrateToNewDao", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2062, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2057, + "name": "_newDaoContract", + "nodeType": "VariableDeclaration", + "scope": 2134, + "src": "3366:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2056, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3366:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2059, + "name": "_newDaoFundingManager", + "nodeType": "VariableDeclaration", + "scope": 2134, + "src": "3399:29:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2058, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3399:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2061, + "name": "_newDaoRewardsManager", + "nodeType": "VariableDeclaration", + "scope": 2134, + "src": "3438:29:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2060, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3438:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3356:117:8" + }, + "payable": false, + "returnParameters": { + "id": 2069, + "nodeType": "ParameterList", + "parameters": [], + "src": "3562:0:8" + }, + "scope": 2887, + "src": "3332:887:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2162, + "nodeType": "Block", + "src": "4487:163:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2142, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "4505:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 2143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4505:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 2144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "startOfFirstQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 18314, + "src": "4505:39:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 2145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4505:41:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2146, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4550:1:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4505:46:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2141, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4497:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4497:55:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2149, + "nodeType": "ExpressionStatement", + "src": "4497:55:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2151, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2136, + "src": "4570:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 2152, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "4579:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4570:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2150, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4562:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4562:21:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2155, + "nodeType": "ExpressionStatement", + "src": "4562:21:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2159, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2136, + "src": "4636:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2156, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "4593:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 2157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4593:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 2158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setStartOfFirstQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 18351, + "src": "4593:42:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 2160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4593:50:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2161, + "nodeType": "ExpressionStatement", + "src": "4593:50:8" + } + ] + }, + "documentation": "@notice Call this function to mark the start of the DAO's first quarter. This can only be done once, by a founder\n@param _start Start time of the first quarter in the DAO", + "id": 2163, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 2139, + "modifierName": { + "argumentTypes": null, + "id": 2138, + "name": "if_founder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1849, + "src": "4474:10:8", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4474:12:8" + } + ], + "name": "setStartOfFirstQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2137, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2136, + "name": "_start", + "nodeType": "VariableDeclaration", + "scope": 2163, + "src": "4451:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2135, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4451:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4450:16:8" + }, + "payable": false, + "returnParameters": { + "id": 2140, + "nodeType": "ParameterList", + "parameters": [], + "src": "4487:0:8" + }, + "scope": 2887, + "src": "4419:231:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2256, + "nodeType": "Block", + "src": "5474:736:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2173, + "name": "senderCanDoProposerOperations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 837, + "src": "5484:29:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 2174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5484:31:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2175, + "nodeType": "ExpressionStatement", + "src": "5484:31:8" + }, + { + "assignments": [ + 2177 + ], + "declarations": [ + { + "constant": false, + "id": 2177, + "name": "_isFounder", + "nodeType": "VariableDeclaration", + "scope": 2257, + "src": "5525:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2176, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5525:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2180, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2178, + "name": "is_founder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1866, + "src": "5543:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 2179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5543:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5525:30:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "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": 2187, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2170, + "src": "5621:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2184, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2168, + "src": "5596:19:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + ], + "expression": { + "argumentTypes": null, + "id": 2182, + "name": "MathHelper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8575, + "src": "5574:10:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MathHelper_$8575_$", + "typeString": "type(library MathHelper)" + } + }, + "id": 2183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sumNumbers", + "nodeType": "MemberAccess", + "referencedDeclaration": 8574, + "src": "5574:21:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (uint256[] memory) pure returns (uint256)" + } + }, + "id": 2185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5574:42:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "5574:46:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5574:60:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2189, + "name": "weiInDao", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123, + "src": "5638:8:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 2190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5638:10:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5574:74:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2181, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5566:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5566:83:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2193, + "nodeType": "ExpressionStatement", + "src": "5566:83:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2195, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "5668:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5668:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2198, + "name": "CONFIG_PREPROPOSAL_COLLATERAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1564, + "src": "5695:29:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2197, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "5681:13:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 2199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5681:44:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5668:57:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2194, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5660:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5660:66:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2202, + "nodeType": "ExpressionStatement", + "src": "5660:66:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2213, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "5795:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5795:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "3235303030", + "id": 2210, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5782:5:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_25000_by_1", + "typeString": "int_const 25000" + }, + "value": "25000" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_25000_by_1", + "typeString": "int_const 25000" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2205, + "name": "daoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1998, + "src": "5752:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoFundingManager_$3149_$", + "typeString": "function () view returns (contract DaoFundingManager)" + } + }, + "id": 2206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5752:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + ], + "id": 2204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5744:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5744:28:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5744:33:8", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$", + "typeString": "function () payable returns (bool)" + } + }, + "id": 2209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "gas", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5744:37:8", + "typeDescriptions": { + "typeIdentifier": "t_function_setgas_nonpayable$_t_uint256_$returns$_t_function_barecall_payable$__$returns$_t_bool_$gas_$", + "typeString": "function (uint256) returns (function () payable returns (bool))" + } + }, + "id": 2211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5744:44:8", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$gas", + "typeString": "function () payable returns (bool)" + } + }, + "id": 2212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5744:50:8", + "typeDescriptions": { + "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_barecall_payable$__$returns$_t_bool_$gasvalue_$gas", + "typeString": "function (uint256) returns (function () payable returns (bool))" + } + }, + "id": 2215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5744:61:8", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$gasvalue", + "typeString": "function () payable returns (bool)" + } + }, + "id": 2216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5744:63:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2203, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5736:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5736:72:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2218, + "nodeType": "ExpressionStatement", + "src": "5736:72:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2220, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2168, + "src": "5841:19:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "argumentTypes": null, + "id": 2221, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2170, + "src": "5862:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2219, + "name": "checkNonDigixFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 812, + "src": "5819:21:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (uint256[] memory,uint256) view" + } + }, + "id": 2222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5819:56:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2223, + "nodeType": "ExpressionStatement", + "src": "5819:56:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2227, + "name": "_docIpfsHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2165, + "src": "5911:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2228, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "5925:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5925:10:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2230, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2168, + "src": "5937:19:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "argumentTypes": null, + "id": 2231, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2170, + "src": "5958:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 2232, + "name": "_isFounder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2177, + "src": "5972:10:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2224, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "5886:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5886:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 17505, + "src": "5886:24:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_bool_$returns$__$", + "typeString": "function (bytes32,address,uint256[] memory,uint256,bool) external" + } + }, + "id": 2233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5886:97:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2234, + "nodeType": "ExpressionStatement", + "src": "5886:97:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2238, + "name": "_docIpfsHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2165, + "src": "6034:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2239, + "name": "COLLATERAL_STATUS_UNLOCKED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1279, + "src": "6048:26:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2235, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "5993:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5993:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalCollateralStatus", + "nodeType": "MemberAccess", + "referencedDeclaration": 17924, + "src": "5993:40:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256) external" + } + }, + "id": 2240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5993:82:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2241, + "nodeType": "ExpressionStatement", + "src": "5993:82:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2245, + "name": "_docIpfsHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2165, + "src": "6126:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2246, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6140:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6140:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2242, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "6085:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6085:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalCollateralAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 17945, + "src": "6085:40:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256) external" + } + }, + "id": 2248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6085:65:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2249, + "nodeType": "ExpressionStatement", + "src": "6085:65:8" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2251, + "name": "_docIpfsHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2165, + "src": "6178:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2252, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6192:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6192:10:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2250, + "name": "NewProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1925, + "src": "6166:11:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6166:37:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2255, + "nodeType": "EmitStatement", + "src": "6161:42:8" + } + ] + }, + "documentation": "@notice Submit a new preliminary idea / Pre-proposal\n@dev The proposer has to send in a collateral == getUintConfig(CONFIG_PREPROPOSAL_COLLATERAL)\nwhich he could claim back in these scenarios:\n- Before the proposal is finalized, by calling closeProposal()\n- After all milestones are done and the final voting round is passed\n@param _docIpfsHash Hash of the IPFS doc containing details of proposal\n@param _milestonesFundings Array of fundings of the proposal milestones (in wei)\n@param _finalReward Final reward asked by proposer at successful completion of all milestones of proposal", + "id": 2257, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "submitPreproposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2171, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2165, + "name": "_docIpfsHash", + "nodeType": "VariableDeclaration", + "scope": 2257, + "src": "5341:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2164, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5341:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2168, + "name": "_milestonesFundings", + "nodeType": "VariableDeclaration", + "scope": 2257, + "src": "5371:29:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2166, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5371:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2167, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5371:9:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2170, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 2257, + "src": "5410:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2169, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5410:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5331:105:8" + }, + "payable": true, + "returnParameters": { + "id": 2172, + "nodeType": "ParameterList", + "parameters": [], + "src": "5474:0:8" + }, + "scope": 2887, + "src": "5305:905:8", + "stateMutability": "payable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 2325, + "nodeType": "Block", + "src": "6892:578:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2269, + "name": "senderCanDoProposerOperations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 837, + "src": "6902:29:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 2270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6902:31:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2271, + "nodeType": "ExpressionStatement", + "src": "6902:31:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2274, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2259, + "src": "6966:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2273, + "name": "isFromProposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "6951:14:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6951:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2272, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "6943:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6943:36:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2277, + "nodeType": "ExpressionStatement", + "src": "6943:36:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2280, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2259, + "src": "7009:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2279, + "name": "isEditable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 110, + "src": "6998:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6998:23:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2278, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "6990:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6990:32:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2283, + "nodeType": "ExpressionStatement", + "src": "6990:32:8" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 2285, + "name": "_currentState", + "nodeType": "VariableDeclaration", + "scope": 2326, + "src": "7032:21:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2284, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7032:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2286, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "7032:21:8" + }, + { + "expression": { + "argumentTypes": null, + "id": 2294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + null, + { + "argumentTypes": null, + "id": 2287, + "name": "_currentState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2285, + "src": "7067:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + null, + null, + null, + null, + null, + null + ], + "id": 2288, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "7063:24:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$__$_t_bytes32_$__$__$__$__$__$__$", + "typeString": "tuple(,,,bytes32,,,,,,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2292, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2259, + "src": "7116:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2289, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "7090:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7090:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16595, + "src": "7090:25:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "function (bytes32) view external returns (bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "id": 2293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7090:38:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "tuple(bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "src": "7063:65:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2295, + "nodeType": "ExpressionStatement", + "src": "7063:65:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2297, + "name": "_currentState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2285, + "src": "7146:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2298, + "name": "PROPOSAL_STATE_PREPROPOSAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1252, + "src": "7163:26:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7146:43:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2300, + "name": "_currentState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2285, + "src": "7203:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2301, + "name": "PROPOSAL_STATE_DRAFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1255, + "src": "7220:20:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7203:37:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7146:94:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2296, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "7138:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7138:103:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2305, + "nodeType": "ExpressionStatement", + "src": "7138:103:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2307, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2264, + "src": "7274:19:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "argumentTypes": null, + "id": 2308, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "7295:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2306, + "name": "checkNonDigixFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 812, + "src": "7252:21:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (uint256[] memory,uint256) view" + } + }, + "id": 2309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7252:56:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2310, + "nodeType": "ExpressionStatement", + "src": "7252:56:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2314, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2259, + "src": "7345:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2315, + "name": "_docIpfsHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2261, + "src": "7358:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2316, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2264, + "src": "7372:19:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "argumentTypes": null, + "id": 2317, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "7393:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2311, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "7319:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7319:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "editProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 17533, + "src": "7319:25:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,bytes32,uint256[] memory,uint256) external" + } + }, + "id": 2318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7319:87:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2319, + "nodeType": "ExpressionStatement", + "src": "7319:87:8" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2321, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2259, + "src": "7437:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2322, + "name": "_docIpfsHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2261, + "src": "7450:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2320, + "name": "ModifyProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1931, + "src": "7422:14:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 2323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7422:41:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2324, + "nodeType": "EmitStatement", + "src": "7417:46:8" + } + ] + }, + "documentation": "@notice Modify a proposal (this can be done only before setting the final version)\n@param _proposalId Proposal ID (hash of IPFS doc of the first version of the proposal)\n@param _docIpfsHash Hash of IPFS doc of the modified version of the proposal\n@param _milestonesFundings Array of fundings of the modified version of the proposal (in wei)\n@param _finalReward Final reward on successful completion of all milestones of the modified version of proposal (in wei)", + "id": 2326, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "modifyProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2267, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2259, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 2326, + "src": "6746:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2258, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6746:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2261, + "name": "_docIpfsHash", + "nodeType": "VariableDeclaration", + "scope": 2326, + "src": "6775:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2260, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6775:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2264, + "name": "_milestonesFundings", + "nodeType": "VariableDeclaration", + "scope": 2326, + "src": "6805:29:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6805:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2263, + "length": null, + "nodeType": "ArrayTypeName", + "src": "6805:9:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2266, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 2326, + "src": "6844:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6844:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6736:134:8" + }, + "payable": false, + "returnParameters": { + "id": 2268, + "nodeType": "ParameterList", + "parameters": [], + "src": "6892:0:8" + }, + "scope": 2887, + "src": "6713:757:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 2434, + "nodeType": "Block", + "src": "8195:1469:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2338, + "name": "senderCanDoProposerOperations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 837, + "src": "8205:29:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 2339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8205:31:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2340, + "nodeType": "ExpressionStatement", + "src": "8205:31:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2343, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2328, + "src": "8269:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2342, + "name": "isFromProposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "8254:14:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8254:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2341, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "8246:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8246:36:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2346, + "nodeType": "ExpressionStatement", + "src": "8246:36:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2348, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2331, + "src": "8315:19:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "argumentTypes": null, + "id": 2349, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2333, + "src": "8336:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2347, + "name": "checkNonDigixFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 812, + "src": "8293:21:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (uint256[] memory,uint256) view" + } + }, + "id": 2350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8293:56:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2351, + "nodeType": "ExpressionStatement", + "src": "8293:56:8" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 2355, + "name": "_currentFundings", + "nodeType": "VariableDeclaration", + "scope": 2435, + "src": "8360:33:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2353, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8360:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2354, + "length": null, + "nodeType": "ArrayTypeName", + "src": "8360:9:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2356, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "8360:33:8" + }, + { + "expression": { + "argumentTypes": null, + "id": 2364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 2357, + "name": "_currentFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2355, + "src": "8404:16:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + null + ], + "id": 2358, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "8403:19:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$__$", + "typeString": "tuple(uint256[] memory,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2362, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2328, + "src": "8458:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2359, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "8425:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8425:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalFunding", + "nodeType": "MemberAccess", + "referencedDeclaration": 17162, + "src": "8425:32:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256[] memory,uint256)" + } + }, + "id": 2363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8425:45:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(uint256[] memory,uint256)" + } + }, + "src": "8403:67:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2365, + "nodeType": "ExpressionStatement", + "src": "8403:67:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2367, + "name": "_currentMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2335, + "src": "8837:17:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2368, + "name": "_currentFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2355, + "src": "8857:16:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 2369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8857:23:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8837:43:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2366, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "8829:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8829:52:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2372, + "nodeType": "ExpressionStatement", + "src": "8829:52:8" + }, + { + "assignments": [ + 2374 + ], + "declarations": [ + { + "constant": false, + "id": 2374, + "name": "_startOfCurrentMilestone", + "nodeType": "VariableDeclaration", + "scope": 2435, + "src": "8892:32:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2373, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8892:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2379, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2376, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2328, + "src": "8944:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2377, + "name": "_currentMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2335, + "src": "8957:17:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2375, + "name": "startOfMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 643, + "src": "8927:16:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view returns (uint256)" + } + }, + "id": 2378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8927:48:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8892:83:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2381, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "9119:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 2382, + "name": "_startOfCurrentMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2374, + "src": "9125:24:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9119:30:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2380, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "9111:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9111:39:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2385, + "nodeType": "ExpressionStatement", + "src": "9111:39:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2390, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2328, + "src": "9204:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 2393, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9239:1:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 2391, + "name": "_currentMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2335, + "src": "9217:17:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "9217:21:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9217:24:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2387, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "9168:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9168:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 16770, + "src": "9168:35:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view external returns (uint256)" + } + }, + "id": 2395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9168:74:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9246:1:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9168:79:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2386, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "9160:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9160:88:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2399, + "nodeType": "ExpressionStatement", + "src": "9160:88:8" + }, + { + "body": { + "id": 2420, + "nodeType": "Block", + "src": "9443:79:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2411, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2331, + "src": "9465:19:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 2413, + "indexExpression": { + "argumentTypes": null, + "id": 2412, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2401, + "src": "9485:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9465:22:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2414, + "name": "_currentFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2355, + "src": "9491:16:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 2416, + "indexExpression": { + "argumentTypes": null, + "id": 2415, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2401, + "src": "9508:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9491:19:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9465:45:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2410, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "9457:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9457:54:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2419, + "nodeType": "ExpressionStatement", + "src": "9457:54:8" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2404, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2401, + "src": "9417:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 2405, + "name": "_currentMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2335, + "src": "9420:17:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9417:20:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2421, + "initializationExpression": { + "assignments": [ + 2401 + ], + "declarations": [ + { + "constant": false, + "id": 2401, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 2435, + "src": "9405:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2400, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9405:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2403, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 2402, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9415:1:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "9405:11:8" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 2408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "9438:3:8", + "subExpression": { + "argumentTypes": null, + "id": 2407, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2401, + "src": "9438:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2409, + "nodeType": "ExpressionStatement", + "src": "9438:3:8" + }, + "nodeType": "ForStatement", + "src": "9400:122:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2425, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2328, + "src": "9560:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2426, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2331, + "src": "9573:19:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "argumentTypes": null, + "id": 2427, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2333, + "src": "9594:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2422, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "9532:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9532:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "changeFundings", + "nodeType": "MemberAccess", + "referencedDeclaration": 17583, + "src": "9532:27:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256[] memory,uint256) external" + } + }, + "id": 2428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9532:75:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2429, + "nodeType": "ExpressionStatement", + "src": "9532:75:8" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2431, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2328, + "src": "9645:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2430, + "name": "ChangeProposalFunding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1935, + "src": "9623:21:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9623:34:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2433, + "nodeType": "EmitStatement", + "src": "9618:39:8" + } + ] + }, + "documentation": "@notice Function to change the funding structure for a proposal\n@dev Proposers can only change fundings for the subsequent milestones,\nduring the duration of an on-going milestone (so, cannot be before proposal finalization or during any voting phase)\n@param _proposalId ID of the proposal\n@param _milestonesFundings Array of fundings for milestones\n@param _finalReward Final reward needed for completion of proposal\n@param _currentMilestone the milestone number the proposal is currently in", + "id": 2435, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "changeFundings", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2336, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2328, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 2435, + "src": "8044:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2327, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8044:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2331, + "name": "_milestonesFundings", + "nodeType": "VariableDeclaration", + "scope": 2435, + "src": "8073:29:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2329, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8073:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2330, + "length": null, + "nodeType": "ArrayTypeName", + "src": "8073:9:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2333, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 2435, + "src": "8112:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2332, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8112:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2335, + "name": "_currentMilestone", + "nodeType": "VariableDeclaration", + "scope": 2435, + "src": "8142:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2334, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8142:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8034:139:8" + }, + "payable": false, + "returnParameters": { + "id": 2337, + "nodeType": "ParameterList", + "parameters": [], + "src": "8195:0:8" + }, + "scope": 2887, + "src": "8011:1653:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 2509, + "nodeType": "Block", + "src": "10200:824:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2440, + "name": "senderCanDoProposerOperations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 837, + "src": "10210:29:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 2441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10210:31:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2442, + "nodeType": "ExpressionStatement", + "src": "10210:31:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2445, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2437, + "src": "10274:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2444, + "name": "isFromProposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "10259:14:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10259:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2443, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "10251:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10251:36:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2448, + "nodeType": "ExpressionStatement", + "src": "10251:36:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2451, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2437, + "src": "10316:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2450, + "name": "isEditable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 110, + "src": "10305:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10305:23:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2449, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "10297:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10297:32:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2454, + "nodeType": "ExpressionStatement", + "src": "10297:32:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2456, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2437, + "src": "10366:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2455, + "name": "checkNonDigixProposalLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 734, + "src": "10339:26:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) view" + } + }, + "id": 2457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10339:39:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2458, + "nodeType": "ExpressionStatement", + "src": "10339:39:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2461, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "10612:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2460, + "name": "getTimeLeftInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1076, + "src": "10591:20:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 2462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10591:25:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2468, + "name": "CONFIG_VOTE_CLAIMING_DEADLINE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "10678:29:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2467, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "10664:13:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 2469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10664:44:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2464, + "name": "CONFIG_DRAFT_VOTING_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1555, + "src": "10633:25:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2463, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "10619:13:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 2465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10619:40:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "10619:44:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10619:90:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10591:118:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2459, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "10583:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10583:127:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2473, + "nodeType": "ExpressionStatement", + "src": "10583:127:8" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 2475, + "name": "_endorser", + "nodeType": "VariableDeclaration", + "scope": 2510, + "src": "10720:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2474, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10720:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2476, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "10720:17:8" + }, + { + "expression": { + "argumentTypes": null, + "id": 2484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + { + "argumentTypes": null, + "id": 2477, + "name": "_endorser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2475, + "src": "10750:9:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + null, + null, + null, + null, + null, + null, + null + ], + "id": 2478, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "10747:20:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$_t_address_$__$__$__$__$__$__$__$", + "typeString": "tuple(,,address,,,,,,,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2482, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2437, + "src": "10796:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2479, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "10770:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10770:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2481, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16595, + "src": "10770:25:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "function (bytes32) view external returns (bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "id": 2483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10770:38:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "tuple(bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "src": "10747:61:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2485, + "nodeType": "ExpressionStatement", + "src": "10747:61:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2487, + "name": "_endorser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2475, + "src": "10826:9:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 2488, + "name": "EMPTY_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1249, + "src": "10839:13:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10826:26:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2486, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "10818:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10818:35:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2491, + "nodeType": "ExpressionStatement", + "src": "10818:35:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2495, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2437, + "src": "10893:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2492, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "10863:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10863:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "finalizeProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 17642, + "src": "10863:29:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 2496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10863:42:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2497, + "nodeType": "ExpressionStatement", + "src": "10863:42:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2501, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2437, + "src": "10955:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2502, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "10968:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2498, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "10915:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10915:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalDraftVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 17823, + "src": "10915:39:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256) external" + } + }, + "id": 2503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10915:57:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2504, + "nodeType": "ExpressionStatement", + "src": "10915:57:8" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2506, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2437, + "src": "11005:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2505, + "name": "FinalizeProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1939, + "src": "10988:16:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10988:29:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2508, + "nodeType": "EmitStatement", + "src": "10983:34:8" + } + ] + }, + "documentation": "@notice Finalize a proposal\n@dev After finalizing a proposal, no more proposal version can be added. Proposer will only be able to change fundings and add more docs\nRight after finalizing a proposal, the draft voting round starts. The proposer would also not be able to closeProposal() anymore\n(hence, cannot claim back the collateral anymore, until the final voting round passes)\n@param _proposalId ID of the proposal", + "id": 2510, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "finalizeProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2438, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2437, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 2510, + "src": "10160:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2436, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10160:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10159:21:8" + }, + "payable": false, + "returnParameters": { + "id": 2439, + "nodeType": "ParameterList", + "parameters": [], + "src": "10200:0:8" + }, + "scope": 2887, + "src": "10134:890:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2596, + "nodeType": "Block", + "src": "11639:1263:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2517, + "name": "senderCanDoProposerOperations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 837, + "src": "11649:29:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 2518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11649:31:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2519, + "nodeType": "ExpressionStatement", + "src": "11649:31:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2522, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2512, + "src": "11713:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2521, + "name": "isFromProposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "11698:14:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11698:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2520, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "11690:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11690:36:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2525, + "nodeType": "ExpressionStatement", + "src": "11690:36:8" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 2529, + "name": "_currentFundings", + "nodeType": "VariableDeclaration", + "scope": 2597, + "src": "11737:33:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2527, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11737:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2528, + "length": null, + "nodeType": "ArrayTypeName", + "src": "11737:9:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2530, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "11737:33:8" + }, + { + "expression": { + "argumentTypes": null, + "id": 2538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 2531, + "name": "_currentFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2529, + "src": "11781:16:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + null + ], + "id": 2532, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "11780:19:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$__$", + "typeString": "tuple(uint256[] memory,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2536, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2512, + "src": "11835:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2533, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "11802:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11802:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalFunding", + "nodeType": "MemberAccess", + "referencedDeclaration": 17162, + "src": "11802:32:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256[] memory,uint256)" + } + }, + "id": 2537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11802:45:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(uint256[] memory,uint256)" + } + }, + "src": "11780:67:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2539, + "nodeType": "ExpressionStatement", + "src": "11780:67:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2541, + "name": "_milestoneIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2514, + "src": "12215:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2542, + "name": "_currentFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2529, + "src": "12233:16:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 2543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12233:23:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12215:41:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2540, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "12207:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12207:50:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2546, + "nodeType": "ExpressionStatement", + "src": "12207:50:8" + }, + { + "assignments": [ + 2548 + ], + "declarations": [ + { + "constant": false, + "id": 2548, + "name": "_startOfCurrentMilestone", + "nodeType": "VariableDeclaration", + "scope": 2597, + "src": "12389:32:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2547, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12389:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2553, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2550, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2512, + "src": "12441:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2551, + "name": "_milestoneIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2514, + "src": "12454:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2549, + "name": "startOfMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 643, + "src": "12424:16:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view returns (uint256)" + } + }, + "id": 2552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12424:46:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12389:81:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2555, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "12488:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 2556, + "name": "_startOfCurrentMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2548, + "src": "12494:24:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12488:30:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2554, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "12480:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12480:39:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2559, + "nodeType": "ExpressionStatement", + "src": "12480:39:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2564, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2512, + "src": "12573:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 2567, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12606:1:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 2565, + "name": "_milestoneIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2514, + "src": "12586:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "12586:19:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12586:22:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2561, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "12537:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12537:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 16770, + "src": "12537:35:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view external returns (uint256)" + } + }, + "id": 2569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12537:72:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2570, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12613:1:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12537:77:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2560, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "12529:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12529:86:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2573, + "nodeType": "ExpressionStatement", + "src": "12529:86:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2577, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2512, + "src": "12674:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 2580, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12719:1:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 2578, + "name": "_milestoneIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2514, + "src": "12699:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "12699:19:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12699:22:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 2585, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12778:1:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 2583, + "name": "_milestoneIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2514, + "src": "12758:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "12758:19:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12758:22:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 2587, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "12782:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2582, + "name": "getTimelineForNextVote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 722, + "src": "12735:22:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 2588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12735:51:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2574, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "12626:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12626:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 17852, + "src": "12626:34:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,uint256) external" + } + }, + "id": 2589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12626:170:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2590, + "nodeType": "ExpressionStatement", + "src": "12626:170:8" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2592, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2512, + "src": "12866:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2593, + "name": "_milestoneIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2514, + "src": "12879:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2591, + "name": "FinishMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1945, + "src": "12850:15:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 2594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12850:45:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2595, + "nodeType": "EmitStatement", + "src": "12845:50:8" + } + ] + }, + "documentation": "@notice Function to set milestone to be completed\n@dev This can only be called in the Main Phase of DigixDAO by the proposer. It sets the\nvoting time for the next milestone, which is immediately, for most of the times. If there is not enough time left in the current\nquarter, then the next voting is postponed to the start of next quarter\n@param _proposalId ID of the proposal\n@param _milestoneIndex Index of the milestone. Index starts from 0 (for the first milestone)", + "id": 2597, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "finishMilestone", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2515, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2512, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 2597, + "src": "11574:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2511, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11574:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2514, + "name": "_milestoneIndex", + "nodeType": "VariableDeclaration", + "scope": 2597, + "src": "11595:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2513, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11595:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11573:46:8" + }, + "payable": false, + "returnParameters": { + "id": 2516, + "nodeType": "ParameterList", + "parameters": [], + "src": "11639:0:8" + }, + "scope": 2887, + "src": "11549:1353:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2643, + "nodeType": "Block", + "src": "13417:358:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2604, + "name": "senderCanDoProposerOperations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 837, + "src": "13427:29:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 2605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13427:31:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2606, + "nodeType": "ExpressionStatement", + "src": "13427:31:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2609, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2599, + "src": "13491:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2608, + "name": "isFromProposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "13476:14:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13476:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2607, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "13468:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13468:36:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2612, + "nodeType": "ExpressionStatement", + "src": "13468:36:8" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 2614, + "name": "_finalVersion", + "nodeType": "VariableDeclaration", + "scope": 2644, + "src": "13514:21:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2613, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13514:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2615, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "13514:21:8" + }, + { + "expression": { + "argumentTypes": null, + "id": 2623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + null, + null, + null, + null, + null, + { + "argumentTypes": null, + "id": 2616, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2614, + "src": "13553:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + null, + null + ], + "id": 2617, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "13545:24:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$__$__$__$__$__$_t_bytes32_$__$__$", + "typeString": "tuple(,,,,,,,bytes32,,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2621, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2599, + "src": "13598:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2618, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "13572:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13572:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16595, + "src": "13572:25:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "function (bytes32) view external returns (bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "id": 2622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13572:38:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "tuple(bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "src": "13545:65:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2624, + "nodeType": "ExpressionStatement", + "src": "13545:65:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2626, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2614, + "src": "13628:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 2627, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "13645:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "13628:28:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2625, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "13620:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13620:37:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2630, + "nodeType": "ExpressionStatement", + "src": "13620:37:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2634, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2599, + "src": "13695:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2635, + "name": "_newDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2601, + "src": "13708:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2631, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "13667:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13667:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addProposalDoc", + "nodeType": "MemberAccess", + "referencedDeclaration": 17621, + "src": "13667:27:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32) external" + } + }, + "id": 2636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13667:49:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2637, + "nodeType": "ExpressionStatement", + "src": "13667:49:8" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2639, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2599, + "src": "13747:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2640, + "name": "_newDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2601, + "src": "13760:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2638, + "name": "AddProposalDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1951, + "src": "13732:14:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 2641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13732:36:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2642, + "nodeType": "EmitStatement", + "src": "13727:41:8" + } + ] + }, + "documentation": "@notice Add IPFS docs to a proposal\n@dev This is allowed only after a proposal is finalized. Before finalizing\na proposal, proposer can modifyProposal and basically create a different ProposalVersion. After the proposal is finalized,\nthey can only allProposalDoc to the final version of that proposal\n@param _proposalId ID of the proposal\n@param _newDoc hash of the new IPFS doc", + "id": 2644, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addProposalDoc", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2599, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 2644, + "src": "13360:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2598, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13360:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2601, + "name": "_newDoc", + "nodeType": "VariableDeclaration", + "scope": 2644, + "src": "13381:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2600, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13381:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13359:38:8" + }, + "payable": false, + "returnParameters": { + "id": 2603, + "nodeType": "ParameterList", + "parameters": [], + "src": "13417:0:8" + }, + "scope": 2887, + "src": "13336:439:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2673, + "nodeType": "Block", + "src": "14109:150:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2654, + "name": "isMainPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "14127:11:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 2655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14127:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2653, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "14119:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14119:22:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2657, + "nodeType": "ExpressionStatement", + "src": "14119:22:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2660, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "14171:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14171:10:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2659, + "name": "isModerator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 594, + "src": "14159:11:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 2662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14159:23:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2658, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "14151:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14151:32:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2664, + "nodeType": "ExpressionStatement", + "src": "14151:32:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2668, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2646, + "src": "14228:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2669, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "14241:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14241:10:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2665, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "14193:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14193:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateProposalEndorse", + "nodeType": "MemberAccess", + "referencedDeclaration": 17690, + "src": "14193:34:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) external" + } + }, + "id": 2671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14193:59:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2672, + "nodeType": "ExpressionStatement", + "src": "14193:59:8" + } + ] + }, + "documentation": "@notice Function to endorse a pre-proposal (can be called only by DAO Moderator)\n@param _proposalId ID of the proposal (hash of IPFS doc of the first version of the proposal)", + "id": 2674, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 2649, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2646, + "src": "14064:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2650, + "name": "PROPOSAL_STATE_PREPROPOSAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1252, + "src": "14077:26:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2651, + "modifierName": { + "argumentTypes": null, + "id": 2648, + "name": "isProposalState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "14048:15:8", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$_t_bytes32_$", + "typeString": "modifier (bytes32,bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "14048:56:8" + } + ], + "name": "endorseProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2647, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2646, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 2674, + "src": "14004:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2645, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14004:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14003:21:8" + }, + "payable": false, + "returnParameters": { + "id": 2652, + "nodeType": "ParameterList", + "parameters": [], + "src": "14109:0:8" + }, + "scope": 2887, + "src": "13979:280:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2714, + "nodeType": "Block", + "src": "14715:242:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2686, + "name": "_action", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2678, + "src": "14733:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2687, + "name": "PRL_ACTION_STOP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1270, + "src": "14744:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14733:26:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2689, + "name": "_action", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2678, + "src": "14763:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2690, + "name": "PRL_ACTION_PAUSE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1273, + "src": "14774:16:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14763:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "14733:57:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2693, + "name": "_action", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2678, + "src": "14794:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2694, + "name": "PRL_ACTION_UNPAUSE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1276, + "src": "14805:18:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14794:29:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "14733:90:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2685, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "14725:7:8", + "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": "14725:99:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2698, + "nodeType": "ExpressionStatement", + "src": "14725:99:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2702, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2676, + "src": "14865:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2703, + "name": "_action", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2678, + "src": "14878:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 2704, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2680, + "src": "14887:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2705, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "14893:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2699, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "14834:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14834:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateProposalPRL", + "nodeType": "MemberAccess", + "referencedDeclaration": 18039, + "src": "14834:30:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,bytes32,uint256) external" + } + }, + "id": 2706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14834:63:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2707, + "nodeType": "ExpressionStatement", + "src": "14834:63:8" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2709, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2676, + "src": "14923:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2710, + "name": "_action", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2678, + "src": "14936:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 2711, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2680, + "src": "14945:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2708, + "name": "PRLAction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1959, + "src": "14913:9:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,uint256,bytes32)" + } + }, + "id": 2712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14913:37:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2713, + "nodeType": "EmitStatement", + "src": "14908:42:8" + } + ] + }, + "documentation": "@notice Function to update the PRL (regulatory status) status of a proposal\n@dev if a proposal is paused or stopped, the proposer wont be able to withdraw the funding\n@param _proposalId ID of the proposal\n@param _doc hash of IPFS uploaded document, containing details of PRL Action", + "id": 2715, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 2683, + "modifierName": { + "argumentTypes": null, + "id": 2682, + "name": "if_prl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1881, + "src": "14702:6:8", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "14702:8:8" + } + ], + "name": "updatePRL", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2681, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2676, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 2715, + "src": "14606:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2675, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14606:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2678, + "name": "_action", + "nodeType": "VariableDeclaration", + "scope": 2715, + "src": "14635:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2677, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14635:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2680, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 2715, + "src": "14660:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2679, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14660:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14596:82:8" + }, + "payable": false, + "returnParameters": { + "id": 2684, + "nodeType": "ParameterList", + "parameters": [], + "src": "14715:0:8" + }, + "scope": 2887, + "src": "14578:379:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2794, + "nodeType": "Block", + "src": "15220:694:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2720, + "name": "senderCanDoProposerOperations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 837, + "src": "15230:29:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 2721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15230:31:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2722, + "nodeType": "ExpressionStatement", + "src": "15230:31:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2725, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2717, + "src": "15294:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2724, + "name": "isFromProposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "15279:14:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15279:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2723, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "15271:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15271:36:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2728, + "nodeType": "ExpressionStatement", + "src": "15271:36:8" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 2730, + "name": "_finalVersion", + "nodeType": "VariableDeclaration", + "scope": 2795, + "src": "15317:21:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2729, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15317:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2731, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "15317:21:8" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 2733, + "name": "_status", + "nodeType": "VariableDeclaration", + "scope": 2795, + "src": "15348:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2732, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15348:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2734, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "15348:15:8" + }, + { + "expression": { + "argumentTypes": null, + "id": 2743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + null, + { + "argumentTypes": null, + "id": 2735, + "name": "_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2733, + "src": "15377:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + null, + null, + null, + { + "argumentTypes": null, + "id": 2736, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2730, + "src": "15388:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + null, + null + ], + "id": 2737, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "15373:31:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$__$_t_bytes32_$__$__$__$_t_bytes32_$__$__$", + "typeString": "tuple(,,,bytes32,,,,bytes32,,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2741, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2717, + "src": "15433:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2738, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "15407:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15407:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16595, + "src": "15407:25:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "function (bytes32) view external returns (bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "id": 2742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15407:38:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "tuple(bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "src": "15373:72:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2744, + "nodeType": "ExpressionStatement", + "src": "15373:72:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2746, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2730, + "src": "15463:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2747, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "15480:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "15463:28:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2745, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "15455:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15455:37:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2750, + "nodeType": "ExpressionStatement", + "src": "15455:37:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2752, + "name": "_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2733, + "src": "15510:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 2753, + "name": "PROPOSAL_STATE_CLOSED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1264, + "src": "15521:21:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "15510:32:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2751, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "15502:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15502:41:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2756, + "nodeType": "ExpressionStatement", + "src": "15502:41:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2761, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2717, + "src": "15603:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2758, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "15561:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15561:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalCollateralStatus", + "nodeType": "MemberAccess", + "referencedDeclaration": 17340, + "src": "15561:41:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 2762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15561:54:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2763, + "name": "COLLATERAL_STATUS_UNLOCKED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1279, + "src": "15619:26:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15561:84:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2757, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "15553:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15553:93:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2766, + "nodeType": "ExpressionStatement", + "src": "15553:93:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2770, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2717, + "src": "15684:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2767, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "15657:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15657:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "closeProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 18239, + "src": "15657:26:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 2771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15657:39:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2772, + "nodeType": "ExpressionStatement", + "src": "15657:39:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2776, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2717, + "src": "15747:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2777, + "name": "COLLATERAL_STATUS_CLAIMED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1285, + "src": "15760:25:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2773, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "15706:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15706:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalCollateralStatus", + "nodeType": "MemberAccess", + "referencedDeclaration": 17924, + "src": "15706:40:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256) external" + } + }, + "id": 2778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15706:80:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2779, + "nodeType": "ExpressionStatement", + "src": "15706:80:8" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2781, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2717, + "src": "15815:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2780, + "name": "CloseProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1963, + "src": "15801:13:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15801:26:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2783, + "nodeType": "EmitStatement", + "src": "15796:31:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2788, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "15882:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15882:10:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2790, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2717, + "src": "15894:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2785, + "name": "daoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1998, + "src": "15845:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoFundingManager_$3149_$", + "typeString": "function () view returns (contract DaoFundingManager)" + } + }, + "id": 2786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15845:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "id": 2787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "refundCollateral", + "nodeType": "MemberAccess", + "referencedDeclaration": 3081, + "src": "15845:36:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (address,bytes32) external returns (bool)" + } + }, + "id": 2791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15845:61:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2784, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "15837:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15837:70:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2793, + "nodeType": "ExpressionStatement", + "src": "15837:70:8" + } + ] + }, + "documentation": "@notice Function to close proposal (also get back collateral)\n@dev Can only be closed if the proposal has not been finalized yet\n@param _proposalId ID of the proposal", + "id": 2795, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "closeProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2718, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2717, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 2795, + "src": "15180:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2716, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15180:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15179:21:8" + }, + "payable": false, + "returnParameters": { + "id": 2719, + "nodeType": "ParameterList", + "parameters": [], + "src": "15220:0:8" + }, + "scope": 2887, + "src": "15157:757:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2885, + "nodeType": "Block", + "src": "16333:723:8", + "statements": [ + { + "assignments": [ + 2804 + ], + "declarations": [ + { + "constant": false, + "id": 2804, + "name": "_length", + "nodeType": "VariableDeclaration", + "scope": 2886, + "src": "16343:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2803, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16343:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2807, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2805, + "name": "_proposalIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2798, + "src": "16361:12:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 2806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16361:19:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16343:37:8" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 2809, + "name": "_timeCreated", + "nodeType": "VariableDeclaration", + "scope": 2886, + "src": "16390:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2808, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16390:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2810, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16390:20:8" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 2812, + "name": "_finalVersion", + "nodeType": "VariableDeclaration", + "scope": 2886, + "src": "16420:21:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2811, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16420:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2813, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16420:21:8" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 2815, + "name": "_currentState", + "nodeType": "VariableDeclaration", + "scope": 2886, + "src": "16451:21:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2814, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16451:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2816, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16451:21:8" + }, + { + "body": { + "id": 2883, + "nodeType": "Block", + "src": "16523:527:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + null, + { + "argumentTypes": null, + "id": 2827, + "name": "_currentState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2815, + "src": "16541:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2828, + "name": "_timeCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "16555:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + null, + null, + { + "argumentTypes": null, + "id": 2829, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2812, + "src": "16570:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + null, + null + ], + "id": 2830, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "16537:49:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$__$_t_bytes32_$_t_uint256_$__$__$_t_bytes32_$__$__$", + "typeString": "tuple(,,,bytes32,uint256,,,bytes32,,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2834, + "name": "_proposalIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2798, + "src": "16615:12:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 2836, + "indexExpression": { + "argumentTypes": null, + "id": 2835, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2818, + "src": "16628:2:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16615:16:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2831, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "16589:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16589:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16595, + "src": "16589:25:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "function (bytes32) view external returns (bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "id": 2837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16589:43:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "tuple(bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "src": "16537:95:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2839, + "nodeType": "ExpressionStatement", + "src": "16537:95:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2841, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2812, + "src": "16654:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2842, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "16671:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16654:28:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2840, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16646:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16646:37:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2845, + "nodeType": "ExpressionStatement", + "src": "16646:37:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2847, + "name": "_currentState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2815, + "src": "16723:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2848, + "name": "PROPOSAL_STATE_PREPROPOSAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1252, + "src": "16740:26:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16723:43:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2850, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16722:45:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2851, + "name": "_currentState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2815, + "src": "16788:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2852, + "name": "PROPOSAL_STATE_DRAFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1255, + "src": "16805:20:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16788:37:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2854, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16787:39:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16722:104:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2846, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16697:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16697:143:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2857, + "nodeType": "ExpressionStatement", + "src": "16697:143:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2859, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "16862:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2863, + "name": "CONFIG_PROPOSAL_DEAD_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1576, + "src": "16899:29:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2862, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "16885:13:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 2864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16885:44:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2860, + "name": "_timeCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "16868:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "16868:16:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16868:62:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16862:68:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2858, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16854:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16854:77:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2868, + "nodeType": "ExpressionStatement", + "src": "16854:77:8" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2870, + "name": "_proposalIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2798, + "src": "16964:12:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 2872, + "indexExpression": { + "argumentTypes": null, + "id": 2871, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2818, + "src": "16977:2:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16964:16:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2869, + "name": "CloseProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1963, + "src": "16950:13:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16950:31:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2874, + "nodeType": "EmitStatement", + "src": "16945:36:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2878, + "name": "_proposalIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2798, + "src": "17022:12:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 2880, + "indexExpression": { + "argumentTypes": null, + "id": 2879, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2818, + "src": "17035:2:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17022:16:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2875, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "16995:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16995:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "closeProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 18239, + "src": "16995:26:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 2881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16995:44:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2882, + "nodeType": "ExpressionStatement", + "src": "16995:44:8" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2821, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2818, + "src": "16503:2:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 2822, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2804, + "src": "16508:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16503:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2884, + "initializationExpression": { + "assignments": [ + 2818 + ], + "declarations": [ + { + "constant": false, + "id": 2818, + "name": "_i", + "nodeType": "VariableDeclaration", + "scope": 2886, + "src": "16487:10:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2817, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16487:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2820, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 2819, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16500:1:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "16487:14:8" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 2825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "16517:4:8", + "subExpression": { + "argumentTypes": null, + "id": 2824, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2818, + "src": "16517:2:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2826, + "nodeType": "ExpressionStatement", + "src": "16517:4:8" + }, + "nodeType": "ForStatement", + "src": "16482:568:8" + } + ] + }, + "documentation": "@notice Function for founders to close all the dead proposals\n@dev Dead proposals = all proposals who are not yet finalized, and been there for more than the threshold time\nThe proposers of dead proposals will not get the collateral back\n@param _proposalIds Array of proposal IDs", + "id": 2886, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 2801, + "modifierName": { + "argumentTypes": null, + "id": 2800, + "name": "if_founder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1849, + "src": "16316:10:8", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "16316:12:8" + } + ], + "name": "founderCloseProposals", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2799, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2798, + "name": "_proposalIds", + "nodeType": "VariableDeclaration", + "scope": 2886, + "src": "16267:22:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 2796, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16267:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 2797, + "length": null, + "nodeType": "ArrayTypeName", + "src": "16267:9:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16266:24:8" + }, + "payable": false, + "returnParameters": { + "id": 2802, + "nodeType": "ParameterList", + "parameters": [], + "src": "16333:0:8" + }, + "scope": 2887, + "src": "16236:820:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 2888, + "src": "266:16792:8" + } + ], + "src": "0:17059:8" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/Dao.sol", + "exportedSymbols": { + "Dao": [ + 2887 + ] + }, + "id": 2888, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1913, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:8" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommon.sol", + "file": "../common/DaoCommon.sol", + "id": 1914, + "nodeType": "ImportDirective", + "scope": 2888, + "sourceUnit": 839, + "src": "26:33:8", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoFundingManager.sol", + "file": "./DaoFundingManager.sol", + "id": 1915, + "nodeType": "ImportDirective", + "scope": 2888, + "sourceUnit": 3150, + "src": "60:33:8", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoRewardsManager.sol", + "file": "./DaoRewardsManager.sol", + "id": 1916, + "nodeType": "ImportDirective", + "scope": 2888, + "sourceUnit": 4686, + "src": "94:33:8", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoVotingClaims.sol", + "file": "./DaoVotingClaims.sol", + "id": 1917, + "nodeType": "ImportDirective", + "scope": 2888, + "sourceUnit": 7815, + "src": "128:31:8", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1918, + "name": "DaoCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 838, + "src": "282:9:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommon_$838", + "typeString": "contract DaoCommon" + } + }, + "id": 1919, + "nodeType": "InheritanceSpecifier", + "src": "282:9:8" + } + ], + "contractDependencies": [ + 838, + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": "@title Interactive DAO contract for creating/modifying/endorsing proposals\n@author Digix Holdings", + "fullyImplemented": true, + "id": 2887, + "linearizedBaseContracts": [ + 2887, + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "Dao", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 1925, + "name": "NewProposal", + "nodeType": "EventDefinition", + "parameters": { + "id": 1924, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1921, + "indexed": true, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 1925, + "src": "317:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1920, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "317:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1923, + "indexed": false, + "name": "_proposer", + "nodeType": "VariableDeclaration", + "scope": 1925, + "src": "346:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1922, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "346:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "316:48:8" + }, + "src": "299:66:8" + }, + { + "anonymous": false, + "documentation": null, + "id": 1931, + "name": "ModifyProposal", + "nodeType": "EventDefinition", + "parameters": { + "id": 1930, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1927, + "indexed": true, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 1931, + "src": "391:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1926, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "391:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1929, + "indexed": false, + "name": "_newDoc", + "nodeType": "VariableDeclaration", + "scope": 1931, + "src": "420:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1928, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "420:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "390:46:8" + }, + "src": "370:67:8" + }, + { + "anonymous": false, + "documentation": null, + "id": 1935, + "name": "ChangeProposalFunding", + "nodeType": "EventDefinition", + "parameters": { + "id": 1934, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1933, + "indexed": true, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 1935, + "src": "470:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1932, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "470:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "469:29:8" + }, + "src": "442:57:8" + }, + { + "anonymous": false, + "documentation": null, + "id": 1939, + "name": "FinalizeProposal", + "nodeType": "EventDefinition", + "parameters": { + "id": 1938, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1937, + "indexed": true, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 1939, + "src": "527:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1936, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "527:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "526:29:8" + }, + "src": "504:52:8" + }, + { + "anonymous": false, + "documentation": null, + "id": 1945, + "name": "FinishMilestone", + "nodeType": "EventDefinition", + "parameters": { + "id": 1944, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1941, + "indexed": true, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 1945, + "src": "583:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1940, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "583:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1943, + "indexed": true, + "name": "_milestoneIndex", + "nodeType": "VariableDeclaration", + "scope": 1945, + "src": "612:31:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1942, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "612:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "582:62:8" + }, + "src": "561:84:8" + }, + { + "anonymous": false, + "documentation": null, + "id": 1951, + "name": "AddProposalDoc", + "nodeType": "EventDefinition", + "parameters": { + "id": 1950, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1947, + "indexed": true, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 1951, + "src": "671:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1946, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "671:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1949, + "indexed": false, + "name": "_newDoc", + "nodeType": "VariableDeclaration", + "scope": 1951, + "src": "700:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1948, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "700:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "670:46:8" + }, + "src": "650:67:8" + }, + { + "anonymous": false, + "documentation": null, + "id": 1959, + "name": "PRLAction", + "nodeType": "EventDefinition", + "parameters": { + "id": 1958, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1953, + "indexed": true, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 1959, + "src": "738:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1952, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "738:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1955, + "indexed": false, + "name": "_actionId", + "nodeType": "VariableDeclaration", + "scope": 1959, + "src": "767:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1954, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "767:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1957, + "indexed": false, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 1959, + "src": "786:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1956, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "786:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "737:62:8" + }, + "src": "722:78:8" + }, + { + "anonymous": false, + "documentation": null, + "id": 1963, + "name": "CloseProposal", + "nodeType": "EventDefinition", + "parameters": { + "id": 1962, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1961, + "indexed": true, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 1963, + "src": "825:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1960, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "825:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "824:29:8" + }, + "src": "805:49:8" + }, + { + "anonymous": false, + "documentation": null, + "id": 1971, + "name": "MigrateToNewDao", + "nodeType": "EventDefinition", + "parameters": { + "id": 1970, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1965, + "indexed": false, + "name": "_newDaoContract", + "nodeType": "VariableDeclaration", + "scope": 1971, + "src": "881:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1964, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "881:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1967, + "indexed": false, + "name": "_newDaoFundingManager", + "nodeType": "VariableDeclaration", + "scope": 1971, + "src": "906:29:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1966, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "906:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1969, + "indexed": false, + "name": "_newDaoRewardsManager", + "nodeType": "VariableDeclaration", + "scope": 1971, + "src": "937:29:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1968, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "937:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "880:87:8" + }, + "src": "859:109:8" + }, + { + "body": { + "id": 1983, + "nodeType": "Block", + "src": "1012:55:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1978, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "1035:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1979, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1973, + "src": "1049:9:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1977, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "1030:4:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 1980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1030:29:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1976, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1022:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1022:38:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1982, + "nodeType": "ExpressionStatement", + "src": "1022:38:8" + } + ] + }, + "documentation": null, + "id": 1984, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1974, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1973, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 1984, + "src": "986:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1972, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "986:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "985:19:8" + }, + "payable": false, + "returnParameters": { + "id": 1975, + "nodeType": "ParameterList", + "parameters": [], + "src": "1012:0:8" + }, + "scope": 2887, + "src": "974:93:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1997, + "nodeType": "Block", + "src": "1182:90:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1989, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1987, + "src": "1192:9:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1992, + "name": "CONTRACT_DAO_FUNDING_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1327, + "src": "1235:28:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1991, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "1222:12:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1222:42:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1990, + "name": "DaoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3149, + "src": "1204:17:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoFundingManager_$3149_$", + "typeString": "type(contract DaoFundingManager)" + } + }, + "id": 1994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1204:61:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "src": "1192:73:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "id": 1996, + "nodeType": "ExpressionStatement", + "src": "1192:73:8" + } + ] + }, + "documentation": null, + "id": 1998, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoFundingManager", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1985, + "nodeType": "ParameterList", + "parameters": [], + "src": "1099:2:8" + }, + "payable": false, + "returnParameters": { + "id": 1988, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1987, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1998, + "src": "1149:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + }, + "typeName": { + "contractScope": null, + "id": 1986, + "name": "DaoFundingManager", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3149, + "src": "1149:17:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1148:29:8" + }, + "scope": 2887, + "src": "1073:199:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 2011, + "nodeType": "Block", + "src": "1387:90:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2003, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2001, + "src": "1397:9:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2006, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "1440:28:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2005, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "1427:12:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 2007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1427:42:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2004, + "name": "DaoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4685, + "src": "1409:17:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoRewardsManager_$4685_$", + "typeString": "type(contract DaoRewardsManager)" + } + }, + "id": 2008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1409:61:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "src": "1397:73:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "id": 2010, + "nodeType": "ExpressionStatement", + "src": "1397:73:8" + } + ] + }, + "documentation": null, + "id": 2012, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoRewardsManager", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1999, + "nodeType": "ParameterList", + "parameters": [], + "src": "1304:2:8" + }, + "payable": false, + "returnParameters": { + "id": 2002, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2001, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 2012, + "src": "1354:27:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + }, + "typeName": { + "contractScope": null, + "id": 2000, + "name": "DaoRewardsManager", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4685, + "src": "1354:17:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1353:29:8" + }, + "scope": 2887, + "src": "1278:199:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 2025, + "nodeType": "Block", + "src": "1588:86:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2017, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2015, + "src": "1598:9:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoVotingClaims_$7814", + "typeString": "contract DaoVotingClaims" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2020, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "1639:26:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2019, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "1626:12:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 2021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1626:40:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2018, + "name": "DaoVotingClaims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7814, + "src": "1610:15:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoVotingClaims_$7814_$", + "typeString": "type(contract DaoVotingClaims)" + } + }, + "id": 2022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1610:57:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoVotingClaims_$7814", + "typeString": "contract DaoVotingClaims" + } + }, + "src": "1598:69:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoVotingClaims_$7814", + "typeString": "contract DaoVotingClaims" + } + }, + "id": 2024, + "nodeType": "ExpressionStatement", + "src": "1598:69:8" + } + ] + }, + "documentation": null, + "id": 2026, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoVotingClaims", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2013, + "nodeType": "ParameterList", + "parameters": [], + "src": "1507:2:8" + }, + "payable": false, + "returnParameters": { + "id": 2016, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2015, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 2026, + "src": "1557:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoVotingClaims_$7814", + "typeString": "contract DaoVotingClaims" + }, + "typeName": { + "contractScope": null, + "id": 2014, + "name": "DaoVotingClaims", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7814, + "src": "1557:15:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoVotingClaims_$7814", + "typeString": "contract DaoVotingClaims" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1556:27:8" + }, + "scope": 2887, + "src": "1483:191:8", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 2054, + "nodeType": "Block", + "src": "2224:237:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2038, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "2242:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 2039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2242:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 2040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isReplacedByNewDao", + "nodeType": "MemberAccess", + "referencedDeclaration": 18316, + "src": "2242:38:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", + "typeString": "function () view external returns (bool)" + } + }, + "id": 2041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2242:40:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 2042, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2286:5:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "2242:49:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2037, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2234:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2234:58:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2045, + "nodeType": "ExpressionStatement", + "src": "2234:58:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2049, + "name": "_newDaoContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2028, + "src": "2359:15:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2050, + "name": "_newDaoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2030, + "src": "2388:21:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2051, + "name": "_newDaoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2032, + "src": "2423:21:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2046, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "2302:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 2047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2302:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 2048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setNewContractAddresses", + "nodeType": "MemberAccess", + "referencedDeclaration": 18379, + "src": "2302:43:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address,address) external" + } + }, + "id": 2052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2302:152:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2053, + "nodeType": "ExpressionStatement", + "src": "2302:152:8" + } + ] + }, + "documentation": "@notice Set addresses for the new Dao and DaoFundingManager contracts\n@dev This is the first step of the 2-step migration\n@param _newDaoContract Address of the new Dao contract\n@param _newDaoFundingManager Address of the new DaoFundingManager contract\n@param _newDaoRewardsManager Address of the new daoRewardsManager contract", + "id": 2055, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 2035, + "modifierName": { + "argumentTypes": null, + "id": 2034, + "name": "if_root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1840, + "src": "2210:7:8", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2210:9:8" + } + ], + "name": "setNewDaoContracts", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2033, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2028, + "name": "_newDaoContract", + "nodeType": "VariableDeclaration", + "scope": 2055, + "src": "2079:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2027, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2079:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2030, + "name": "_newDaoFundingManager", + "nodeType": "VariableDeclaration", + "scope": 2055, + "src": "2112:29:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2029, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2112:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2032, + "name": "_newDaoRewardsManager", + "nodeType": "VariableDeclaration", + "scope": 2055, + "src": "2151:29:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2031, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2151:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2069:117:8" + }, + "payable": false, + "returnParameters": { + "id": 2036, + "nodeType": "ParameterList", + "parameters": [], + "src": "2224:0:8" + }, + "scope": 2887, + "src": "2042:419:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2133, + "nodeType": "Block", + "src": "3562:657:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2071, + "name": "isLockingPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 887, + "src": "3580:14:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 2072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3580:16:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2070, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3572:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3572:25:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2074, + "nodeType": "ExpressionStatement", + "src": "3572:25:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2076, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "3615:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 2077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3615:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 2078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isReplacedByNewDao", + "nodeType": "MemberAccess", + "referencedDeclaration": 18316, + "src": "3615:38:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", + "typeString": "function () view external returns (bool)" + } + }, + "id": 2079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3615:40:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 2080, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3659:5:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "3615:49:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2075, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3607:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3607:58:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2083, + "nodeType": "ExpressionStatement", + "src": "3607:58:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2085, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "3695:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 2086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3695:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 2087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "newDaoContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 18318, + "src": "3695:34:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 2088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3695:36:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2089, + "name": "_newDaoContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2057, + "src": "3735:15:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3695:55:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2091, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3694:57:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2092, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "3766:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 2093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3766:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 2094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "newDaoFundingManager", + "nodeType": "MemberAccess", + "referencedDeclaration": 18320, + "src": "3766:40:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 2095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3766:42:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2096, + "name": "_newDaoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2059, + "src": "3812:21:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3766:67:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2098, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3765:69:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3694:140:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2100, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "3849:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 2101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3849:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 2102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "newDaoRewardsManager", + "nodeType": "MemberAccess", + "referencedDeclaration": 18322, + "src": "3849:40:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 2103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3849:42:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2104, + "name": "_newDaoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2061, + "src": "3895:21:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3849:67:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2106, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3848:69:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3694:223:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2084, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3675:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3675:252:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2109, + "nodeType": "ExpressionStatement", + "src": "3675:252:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2110, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "3937:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 2111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3937:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 2112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateForDaoMigration", + "nodeType": "MemberAccess", + "referencedDeclaration": 18393, + "src": "3937:41:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", + "typeString": "function () external" + } + }, + "id": 2113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3937:43:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2114, + "nodeType": "ExpressionStatement", + "src": "3937:43:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2118, + "name": "_newDaoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2059, + "src": "4028:21:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2115, + "name": "daoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1998, + "src": "3990:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoFundingManager_$3149_$", + "typeString": "function () view returns (contract DaoFundingManager)" + } + }, + "id": 2116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3990:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "id": 2117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "moveFundsToNewDao", + "nodeType": "MemberAccess", + "referencedDeclaration": 3128, + "src": "3990:37:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 2119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3990:60:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2120, + "nodeType": "ExpressionStatement", + "src": "3990:60:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2124, + "name": "_newDaoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2061, + "src": "4097:21:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2121, + "name": "daoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2012, + "src": "4060:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsManager_$4685_$", + "typeString": "function () view returns (contract DaoRewardsManager)" + } + }, + "id": 2122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4060:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "id": 2123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "moveDGXsToNewDao", + "nodeType": "MemberAccess", + "referencedDeclaration": 3684, + "src": "4060:36:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 2125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4060:59:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2126, + "nodeType": "ExpressionStatement", + "src": "4060:59:8" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2128, + "name": "_newDaoContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2057, + "src": "4150:15:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2129, + "name": "_newDaoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2059, + "src": "4167:21:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2130, + "name": "_newDaoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2061, + "src": "4190:21:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2127, + "name": "MigrateToNewDao", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1971, + "src": "4134:15:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address,address)" + } + }, + "id": 2131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4134:78:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2132, + "nodeType": "EmitStatement", + "src": "4129:83:8" + } + ] + }, + "documentation": "@notice Migrate this DAO to a new DAO contract\n@dev This is the second step of the 2-step migration\nMigration can only be done during the locking phase, after the global rewards for current quarter are set.\nThis is to make sure that there is no rewards calculation pending before the DAO is migrated to new contracts\nThe addresses of the new Dao contracts have to be provided again, and be double checked against the addresses that were set in setNewDaoContracts()\n@param _newDaoContract Address of the new DAO contract\n@param _newDaoFundingManager Address of the new DaoFundingManager contract, which would receive the remaining ETHs in this DaoFundingManager\n@param _newDaoRewardsManager Address of the new daoRewardsManager contract, which would receive the claimableDGXs from this daoRewardsManager", + "id": 2134, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 2064, + "modifierName": { + "argumentTypes": null, + "id": 2063, + "name": "if_root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1840, + "src": "3497:7:8", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3497:9:8" + }, + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2066, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "3534:20:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 2067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3534:22:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2068, + "modifierName": { + "argumentTypes": null, + "id": 2065, + "name": "ifGlobalRewardsSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 926, + "src": "3515:18:8", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$", + "typeString": "modifier (uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3515:42:8" + } + ], + "name": "migrateToNewDao", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2062, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2057, + "name": "_newDaoContract", + "nodeType": "VariableDeclaration", + "scope": 2134, + "src": "3366:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2056, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3366:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2059, + "name": "_newDaoFundingManager", + "nodeType": "VariableDeclaration", + "scope": 2134, + "src": "3399:29:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2058, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3399:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2061, + "name": "_newDaoRewardsManager", + "nodeType": "VariableDeclaration", + "scope": 2134, + "src": "3438:29:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2060, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3438:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3356:117:8" + }, + "payable": false, + "returnParameters": { + "id": 2069, + "nodeType": "ParameterList", + "parameters": [], + "src": "3562:0:8" + }, + "scope": 2887, + "src": "3332:887:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2162, + "nodeType": "Block", + "src": "4487:163:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2142, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "4505:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 2143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4505:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 2144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "startOfFirstQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 18314, + "src": "4505:39:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 2145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4505:41:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2146, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4550:1:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4505:46:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2141, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4497:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4497:55:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2149, + "nodeType": "ExpressionStatement", + "src": "4497:55:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2151, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2136, + "src": "4570:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 2152, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "4579:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4570:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2150, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4562:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4562:21:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2155, + "nodeType": "ExpressionStatement", + "src": "4562:21:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2159, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2136, + "src": "4636:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2156, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "4593:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 2157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4593:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 2158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setStartOfFirstQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 18351, + "src": "4593:42:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 2160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4593:50:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2161, + "nodeType": "ExpressionStatement", + "src": "4593:50:8" + } + ] + }, + "documentation": "@notice Call this function to mark the start of the DAO's first quarter. This can only be done once, by a founder\n@param _start Start time of the first quarter in the DAO", + "id": 2163, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 2139, + "modifierName": { + "argumentTypes": null, + "id": 2138, + "name": "if_founder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1849, + "src": "4474:10:8", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4474:12:8" + } + ], + "name": "setStartOfFirstQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2137, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2136, + "name": "_start", + "nodeType": "VariableDeclaration", + "scope": 2163, + "src": "4451:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2135, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4451:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4450:16:8" + }, + "payable": false, + "returnParameters": { + "id": 2140, + "nodeType": "ParameterList", + "parameters": [], + "src": "4487:0:8" + }, + "scope": 2887, + "src": "4419:231:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2256, + "nodeType": "Block", + "src": "5474:736:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2173, + "name": "senderCanDoProposerOperations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 837, + "src": "5484:29:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 2174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5484:31:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2175, + "nodeType": "ExpressionStatement", + "src": "5484:31:8" + }, + { + "assignments": [ + 2177 + ], + "declarations": [ + { + "constant": false, + "id": 2177, + "name": "_isFounder", + "nodeType": "VariableDeclaration", + "scope": 2257, + "src": "5525:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2176, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5525:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2180, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2178, + "name": "is_founder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1866, + "src": "5543:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 2179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5543:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5525:30:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "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": 2187, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2170, + "src": "5621:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2184, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2168, + "src": "5596:19:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + ], + "expression": { + "argumentTypes": null, + "id": 2182, + "name": "MathHelper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8575, + "src": "5574:10:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MathHelper_$8575_$", + "typeString": "type(library MathHelper)" + } + }, + "id": 2183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sumNumbers", + "nodeType": "MemberAccess", + "referencedDeclaration": 8574, + "src": "5574:21:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (uint256[] memory) pure returns (uint256)" + } + }, + "id": 2185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5574:42:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "5574:46:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5574:60:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2189, + "name": "weiInDao", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123, + "src": "5638:8:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 2190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5638:10:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5574:74:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2181, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5566:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5566:83:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2193, + "nodeType": "ExpressionStatement", + "src": "5566:83:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2195, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "5668:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5668:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2198, + "name": "CONFIG_PREPROPOSAL_COLLATERAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1564, + "src": "5695:29:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2197, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "5681:13:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 2199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5681:44:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5668:57:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2194, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5660:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5660:66:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2202, + "nodeType": "ExpressionStatement", + "src": "5660:66:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2213, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "5795:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5795:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "3235303030", + "id": 2210, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5782:5:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_25000_by_1", + "typeString": "int_const 25000" + }, + "value": "25000" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_25000_by_1", + "typeString": "int_const 25000" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2205, + "name": "daoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1998, + "src": "5752:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoFundingManager_$3149_$", + "typeString": "function () view returns (contract DaoFundingManager)" + } + }, + "id": 2206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5752:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + ], + "id": 2204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5744:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 2207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5744:28:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5744:33:8", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$", + "typeString": "function () payable returns (bool)" + } + }, + "id": 2209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "gas", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5744:37:8", + "typeDescriptions": { + "typeIdentifier": "t_function_setgas_nonpayable$_t_uint256_$returns$_t_function_barecall_payable$__$returns$_t_bool_$gas_$", + "typeString": "function (uint256) returns (function () payable returns (bool))" + } + }, + "id": 2211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5744:44:8", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$gas", + "typeString": "function () payable returns (bool)" + } + }, + "id": 2212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5744:50:8", + "typeDescriptions": { + "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_barecall_payable$__$returns$_t_bool_$gasvalue_$gas", + "typeString": "function (uint256) returns (function () payable returns (bool))" + } + }, + "id": 2215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5744:61:8", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$gasvalue", + "typeString": "function () payable returns (bool)" + } + }, + "id": 2216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5744:63:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2203, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5736:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5736:72:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2218, + "nodeType": "ExpressionStatement", + "src": "5736:72:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2220, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2168, + "src": "5841:19:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "argumentTypes": null, + "id": 2221, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2170, + "src": "5862:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2219, + "name": "checkNonDigixFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 812, + "src": "5819:21:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (uint256[] memory,uint256) view" + } + }, + "id": 2222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5819:56:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2223, + "nodeType": "ExpressionStatement", + "src": "5819:56:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2227, + "name": "_docIpfsHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2165, + "src": "5911:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2228, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "5925:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5925:10:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2230, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2168, + "src": "5937:19:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "argumentTypes": null, + "id": 2231, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2170, + "src": "5958:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 2232, + "name": "_isFounder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2177, + "src": "5972:10:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2224, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "5886:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5886:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 17505, + "src": "5886:24:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_bool_$returns$__$", + "typeString": "function (bytes32,address,uint256[] memory,uint256,bool) external" + } + }, + "id": 2233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5886:97:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2234, + "nodeType": "ExpressionStatement", + "src": "5886:97:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2238, + "name": "_docIpfsHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2165, + "src": "6034:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2239, + "name": "COLLATERAL_STATUS_UNLOCKED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1279, + "src": "6048:26:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2235, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "5993:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5993:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalCollateralStatus", + "nodeType": "MemberAccess", + "referencedDeclaration": 17924, + "src": "5993:40:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256) external" + } + }, + "id": 2240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5993:82:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2241, + "nodeType": "ExpressionStatement", + "src": "5993:82:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2245, + "name": "_docIpfsHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2165, + "src": "6126:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2246, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6140:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6140:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2242, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "6085:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6085:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalCollateralAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 17945, + "src": "6085:40:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256) external" + } + }, + "id": 2248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6085:65:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2249, + "nodeType": "ExpressionStatement", + "src": "6085:65:8" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2251, + "name": "_docIpfsHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2165, + "src": "6178:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2252, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6192:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6192:10:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2250, + "name": "NewProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1925, + "src": "6166:11:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6166:37:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2255, + "nodeType": "EmitStatement", + "src": "6161:42:8" + } + ] + }, + "documentation": "@notice Submit a new preliminary idea / Pre-proposal\n@dev The proposer has to send in a collateral == getUintConfig(CONFIG_PREPROPOSAL_COLLATERAL)\nwhich he could claim back in these scenarios:\n- Before the proposal is finalized, by calling closeProposal()\n- After all milestones are done and the final voting round is passed\n@param _docIpfsHash Hash of the IPFS doc containing details of proposal\n@param _milestonesFundings Array of fundings of the proposal milestones (in wei)\n@param _finalReward Final reward asked by proposer at successful completion of all milestones of proposal", + "id": 2257, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "submitPreproposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2171, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2165, + "name": "_docIpfsHash", + "nodeType": "VariableDeclaration", + "scope": 2257, + "src": "5341:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2164, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5341:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2168, + "name": "_milestonesFundings", + "nodeType": "VariableDeclaration", + "scope": 2257, + "src": "5371:29:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2166, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5371:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2167, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5371:9:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2170, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 2257, + "src": "5410:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2169, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5410:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5331:105:8" + }, + "payable": true, + "returnParameters": { + "id": 2172, + "nodeType": "ParameterList", + "parameters": [], + "src": "5474:0:8" + }, + "scope": 2887, + "src": "5305:905:8", + "stateMutability": "payable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 2325, + "nodeType": "Block", + "src": "6892:578:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2269, + "name": "senderCanDoProposerOperations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 837, + "src": "6902:29:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 2270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6902:31:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2271, + "nodeType": "ExpressionStatement", + "src": "6902:31:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2274, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2259, + "src": "6966:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2273, + "name": "isFromProposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "6951:14:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6951:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2272, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "6943:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6943:36:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2277, + "nodeType": "ExpressionStatement", + "src": "6943:36:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2280, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2259, + "src": "7009:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2279, + "name": "isEditable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 110, + "src": "6998:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6998:23:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2278, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "6990:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6990:32:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2283, + "nodeType": "ExpressionStatement", + "src": "6990:32:8" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 2285, + "name": "_currentState", + "nodeType": "VariableDeclaration", + "scope": 2326, + "src": "7032:21:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2284, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7032:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2286, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "7032:21:8" + }, + { + "expression": { + "argumentTypes": null, + "id": 2294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + null, + { + "argumentTypes": null, + "id": 2287, + "name": "_currentState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2285, + "src": "7067:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + null, + null, + null, + null, + null, + null + ], + "id": 2288, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "7063:24:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$__$_t_bytes32_$__$__$__$__$__$__$", + "typeString": "tuple(,,,bytes32,,,,,,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2292, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2259, + "src": "7116:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2289, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "7090:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7090:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16595, + "src": "7090:25:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "function (bytes32) view external returns (bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "id": 2293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7090:38:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "tuple(bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "src": "7063:65:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2295, + "nodeType": "ExpressionStatement", + "src": "7063:65:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2297, + "name": "_currentState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2285, + "src": "7146:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2298, + "name": "PROPOSAL_STATE_PREPROPOSAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1252, + "src": "7163:26:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7146:43:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2300, + "name": "_currentState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2285, + "src": "7203:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2301, + "name": "PROPOSAL_STATE_DRAFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1255, + "src": "7220:20:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7203:37:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7146:94:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2296, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "7138:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7138:103:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2305, + "nodeType": "ExpressionStatement", + "src": "7138:103:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2307, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2264, + "src": "7274:19:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "argumentTypes": null, + "id": 2308, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "7295:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2306, + "name": "checkNonDigixFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 812, + "src": "7252:21:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (uint256[] memory,uint256) view" + } + }, + "id": 2309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7252:56:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2310, + "nodeType": "ExpressionStatement", + "src": "7252:56:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2314, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2259, + "src": "7345:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2315, + "name": "_docIpfsHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2261, + "src": "7358:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2316, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2264, + "src": "7372:19:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "argumentTypes": null, + "id": 2317, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "7393:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2311, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "7319:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7319:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "editProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 17533, + "src": "7319:25:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,bytes32,uint256[] memory,uint256) external" + } + }, + "id": 2318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7319:87:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2319, + "nodeType": "ExpressionStatement", + "src": "7319:87:8" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2321, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2259, + "src": "7437:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2322, + "name": "_docIpfsHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2261, + "src": "7450:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2320, + "name": "ModifyProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1931, + "src": "7422:14:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 2323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7422:41:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2324, + "nodeType": "EmitStatement", + "src": "7417:46:8" + } + ] + }, + "documentation": "@notice Modify a proposal (this can be done only before setting the final version)\n@param _proposalId Proposal ID (hash of IPFS doc of the first version of the proposal)\n@param _docIpfsHash Hash of IPFS doc of the modified version of the proposal\n@param _milestonesFundings Array of fundings of the modified version of the proposal (in wei)\n@param _finalReward Final reward on successful completion of all milestones of the modified version of proposal (in wei)", + "id": 2326, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "modifyProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2267, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2259, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 2326, + "src": "6746:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2258, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6746:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2261, + "name": "_docIpfsHash", + "nodeType": "VariableDeclaration", + "scope": 2326, + "src": "6775:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2260, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6775:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2264, + "name": "_milestonesFundings", + "nodeType": "VariableDeclaration", + "scope": 2326, + "src": "6805:29:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2262, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6805:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2263, + "length": null, + "nodeType": "ArrayTypeName", + "src": "6805:9:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2266, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 2326, + "src": "6844:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6844:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6736:134:8" + }, + "payable": false, + "returnParameters": { + "id": 2268, + "nodeType": "ParameterList", + "parameters": [], + "src": "6892:0:8" + }, + "scope": 2887, + "src": "6713:757:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 2434, + "nodeType": "Block", + "src": "8195:1469:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2338, + "name": "senderCanDoProposerOperations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 837, + "src": "8205:29:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 2339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8205:31:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2340, + "nodeType": "ExpressionStatement", + "src": "8205:31:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2343, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2328, + "src": "8269:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2342, + "name": "isFromProposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "8254:14:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8254:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2341, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "8246:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8246:36:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2346, + "nodeType": "ExpressionStatement", + "src": "8246:36:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2348, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2331, + "src": "8315:19:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "argumentTypes": null, + "id": 2349, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2333, + "src": "8336:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2347, + "name": "checkNonDigixFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 812, + "src": "8293:21:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (uint256[] memory,uint256) view" + } + }, + "id": 2350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8293:56:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2351, + "nodeType": "ExpressionStatement", + "src": "8293:56:8" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 2355, + "name": "_currentFundings", + "nodeType": "VariableDeclaration", + "scope": 2435, + "src": "8360:33:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2353, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8360:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2354, + "length": null, + "nodeType": "ArrayTypeName", + "src": "8360:9:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2356, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "8360:33:8" + }, + { + "expression": { + "argumentTypes": null, + "id": 2364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 2357, + "name": "_currentFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2355, + "src": "8404:16:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + null + ], + "id": 2358, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "8403:19:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$__$", + "typeString": "tuple(uint256[] memory,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2362, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2328, + "src": "8458:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2359, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "8425:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8425:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalFunding", + "nodeType": "MemberAccess", + "referencedDeclaration": 17162, + "src": "8425:32:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256[] memory,uint256)" + } + }, + "id": 2363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8425:45:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(uint256[] memory,uint256)" + } + }, + "src": "8403:67:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2365, + "nodeType": "ExpressionStatement", + "src": "8403:67:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2367, + "name": "_currentMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2335, + "src": "8837:17:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2368, + "name": "_currentFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2355, + "src": "8857:16:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 2369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8857:23:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8837:43:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2366, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "8829:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8829:52:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2372, + "nodeType": "ExpressionStatement", + "src": "8829:52:8" + }, + { + "assignments": [ + 2374 + ], + "declarations": [ + { + "constant": false, + "id": 2374, + "name": "_startOfCurrentMilestone", + "nodeType": "VariableDeclaration", + "scope": 2435, + "src": "8892:32:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2373, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8892:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2379, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2376, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2328, + "src": "8944:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2377, + "name": "_currentMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2335, + "src": "8957:17:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2375, + "name": "startOfMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 643, + "src": "8927:16:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view returns (uint256)" + } + }, + "id": 2378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8927:48:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8892:83:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2381, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "9119:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 2382, + "name": "_startOfCurrentMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2374, + "src": "9125:24:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9119:30:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2380, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "9111:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9111:39:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2385, + "nodeType": "ExpressionStatement", + "src": "9111:39:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2390, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2328, + "src": "9204:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 2393, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9239:1:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 2391, + "name": "_currentMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2335, + "src": "9217:17:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "9217:21:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9217:24:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2387, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "9168:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9168:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 16770, + "src": "9168:35:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view external returns (uint256)" + } + }, + "id": 2395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9168:74:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9246:1:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9168:79:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2386, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "9160:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9160:88:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2399, + "nodeType": "ExpressionStatement", + "src": "9160:88:8" + }, + { + "body": { + "id": 2420, + "nodeType": "Block", + "src": "9443:79:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2411, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2331, + "src": "9465:19:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 2413, + "indexExpression": { + "argumentTypes": null, + "id": 2412, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2401, + "src": "9485:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9465:22:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2414, + "name": "_currentFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2355, + "src": "9491:16:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 2416, + "indexExpression": { + "argumentTypes": null, + "id": 2415, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2401, + "src": "9508:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9491:19:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9465:45:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2410, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "9457:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9457:54:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2419, + "nodeType": "ExpressionStatement", + "src": "9457:54:8" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2404, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2401, + "src": "9417:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 2405, + "name": "_currentMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2335, + "src": "9420:17:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9417:20:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2421, + "initializationExpression": { + "assignments": [ + 2401 + ], + "declarations": [ + { + "constant": false, + "id": 2401, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 2435, + "src": "9405:9:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2400, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9405:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2403, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 2402, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9415:1:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "9405:11:8" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 2408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "9438:3:8", + "subExpression": { + "argumentTypes": null, + "id": 2407, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2401, + "src": "9438:1:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2409, + "nodeType": "ExpressionStatement", + "src": "9438:3:8" + }, + "nodeType": "ForStatement", + "src": "9400:122:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2425, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2328, + "src": "9560:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2426, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2331, + "src": "9573:19:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "argumentTypes": null, + "id": 2427, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2333, + "src": "9594:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2422, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "9532:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9532:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "changeFundings", + "nodeType": "MemberAccess", + "referencedDeclaration": 17583, + "src": "9532:27:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256[] memory,uint256) external" + } + }, + "id": 2428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9532:75:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2429, + "nodeType": "ExpressionStatement", + "src": "9532:75:8" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2431, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2328, + "src": "9645:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2430, + "name": "ChangeProposalFunding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1935, + "src": "9623:21:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9623:34:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2433, + "nodeType": "EmitStatement", + "src": "9618:39:8" + } + ] + }, + "documentation": "@notice Function to change the funding structure for a proposal\n@dev Proposers can only change fundings for the subsequent milestones,\nduring the duration of an on-going milestone (so, cannot be before proposal finalization or during any voting phase)\n@param _proposalId ID of the proposal\n@param _milestonesFundings Array of fundings for milestones\n@param _finalReward Final reward needed for completion of proposal\n@param _currentMilestone the milestone number the proposal is currently in", + "id": 2435, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "changeFundings", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2336, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2328, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 2435, + "src": "8044:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2327, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8044:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2331, + "name": "_milestonesFundings", + "nodeType": "VariableDeclaration", + "scope": 2435, + "src": "8073:29:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2329, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8073:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2330, + "length": null, + "nodeType": "ArrayTypeName", + "src": "8073:9:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2333, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 2435, + "src": "8112:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2332, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8112:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2335, + "name": "_currentMilestone", + "nodeType": "VariableDeclaration", + "scope": 2435, + "src": "8142:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2334, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8142:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8034:139:8" + }, + "payable": false, + "returnParameters": { + "id": 2337, + "nodeType": "ParameterList", + "parameters": [], + "src": "8195:0:8" + }, + "scope": 2887, + "src": "8011:1653:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 2509, + "nodeType": "Block", + "src": "10200:824:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2440, + "name": "senderCanDoProposerOperations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 837, + "src": "10210:29:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 2441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10210:31:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2442, + "nodeType": "ExpressionStatement", + "src": "10210:31:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2445, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2437, + "src": "10274:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2444, + "name": "isFromProposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "10259:14:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10259:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2443, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "10251:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10251:36:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2448, + "nodeType": "ExpressionStatement", + "src": "10251:36:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2451, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2437, + "src": "10316:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2450, + "name": "isEditable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 110, + "src": "10305:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10305:23:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2449, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "10297:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10297:32:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2454, + "nodeType": "ExpressionStatement", + "src": "10297:32:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2456, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2437, + "src": "10366:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2455, + "name": "checkNonDigixProposalLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 734, + "src": "10339:26:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) view" + } + }, + "id": 2457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10339:39:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2458, + "nodeType": "ExpressionStatement", + "src": "10339:39:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2461, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "10612:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2460, + "name": "getTimeLeftInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1076, + "src": "10591:20:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 2462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10591:25:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2468, + "name": "CONFIG_VOTE_CLAIMING_DEADLINE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "10678:29:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2467, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "10664:13:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 2469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10664:44:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2464, + "name": "CONFIG_DRAFT_VOTING_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1555, + "src": "10633:25:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2463, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "10619:13:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 2465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10619:40:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "10619:44:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10619:90:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10591:118:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2459, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "10583:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10583:127:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2473, + "nodeType": "ExpressionStatement", + "src": "10583:127:8" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 2475, + "name": "_endorser", + "nodeType": "VariableDeclaration", + "scope": 2510, + "src": "10720:17:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2474, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10720:7:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2476, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "10720:17:8" + }, + { + "expression": { + "argumentTypes": null, + "id": 2484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + { + "argumentTypes": null, + "id": 2477, + "name": "_endorser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2475, + "src": "10750:9:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + null, + null, + null, + null, + null, + null, + null + ], + "id": 2478, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "10747:20:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$_t_address_$__$__$__$__$__$__$__$", + "typeString": "tuple(,,address,,,,,,,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2482, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2437, + "src": "10796:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2479, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "10770:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10770:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2481, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16595, + "src": "10770:25:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "function (bytes32) view external returns (bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "id": 2483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10770:38:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "tuple(bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "src": "10747:61:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2485, + "nodeType": "ExpressionStatement", + "src": "10747:61:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2487, + "name": "_endorser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2475, + "src": "10826:9:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 2488, + "name": "EMPTY_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1249, + "src": "10839:13:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10826:26:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2486, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "10818:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10818:35:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2491, + "nodeType": "ExpressionStatement", + "src": "10818:35:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2495, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2437, + "src": "10893:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2492, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "10863:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10863:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "finalizeProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 17642, + "src": "10863:29:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 2496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10863:42:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2497, + "nodeType": "ExpressionStatement", + "src": "10863:42:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2501, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2437, + "src": "10955:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2502, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "10968:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2498, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "10915:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10915:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalDraftVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 17823, + "src": "10915:39:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256) external" + } + }, + "id": 2503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10915:57:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2504, + "nodeType": "ExpressionStatement", + "src": "10915:57:8" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2506, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2437, + "src": "11005:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2505, + "name": "FinalizeProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1939, + "src": "10988:16:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10988:29:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2508, + "nodeType": "EmitStatement", + "src": "10983:34:8" + } + ] + }, + "documentation": "@notice Finalize a proposal\n@dev After finalizing a proposal, no more proposal version can be added. Proposer will only be able to change fundings and add more docs\nRight after finalizing a proposal, the draft voting round starts. The proposer would also not be able to closeProposal() anymore\n(hence, cannot claim back the collateral anymore, until the final voting round passes)\n@param _proposalId ID of the proposal", + "id": 2510, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "finalizeProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2438, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2437, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 2510, + "src": "10160:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2436, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10160:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10159:21:8" + }, + "payable": false, + "returnParameters": { + "id": 2439, + "nodeType": "ParameterList", + "parameters": [], + "src": "10200:0:8" + }, + "scope": 2887, + "src": "10134:890:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2596, + "nodeType": "Block", + "src": "11639:1263:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2517, + "name": "senderCanDoProposerOperations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 837, + "src": "11649:29:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 2518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11649:31:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2519, + "nodeType": "ExpressionStatement", + "src": "11649:31:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2522, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2512, + "src": "11713:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2521, + "name": "isFromProposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "11698:14:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11698:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2520, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "11690:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11690:36:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2525, + "nodeType": "ExpressionStatement", + "src": "11690:36:8" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 2529, + "name": "_currentFundings", + "nodeType": "VariableDeclaration", + "scope": 2597, + "src": "11737:33:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2527, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11737:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2528, + "length": null, + "nodeType": "ArrayTypeName", + "src": "11737:9:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2530, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "11737:33:8" + }, + { + "expression": { + "argumentTypes": null, + "id": 2538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 2531, + "name": "_currentFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2529, + "src": "11781:16:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + null + ], + "id": 2532, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "11780:19:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$__$", + "typeString": "tuple(uint256[] memory,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2536, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2512, + "src": "11835:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2533, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "11802:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11802:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalFunding", + "nodeType": "MemberAccess", + "referencedDeclaration": 17162, + "src": "11802:32:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256[] memory,uint256)" + } + }, + "id": 2537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11802:45:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(uint256[] memory,uint256)" + } + }, + "src": "11780:67:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2539, + "nodeType": "ExpressionStatement", + "src": "11780:67:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2541, + "name": "_milestoneIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2514, + "src": "12215:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2542, + "name": "_currentFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2529, + "src": "12233:16:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 2543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12233:23:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12215:41:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2540, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "12207:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12207:50:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2546, + "nodeType": "ExpressionStatement", + "src": "12207:50:8" + }, + { + "assignments": [ + 2548 + ], + "declarations": [ + { + "constant": false, + "id": 2548, + "name": "_startOfCurrentMilestone", + "nodeType": "VariableDeclaration", + "scope": 2597, + "src": "12389:32:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2547, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12389:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2553, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2550, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2512, + "src": "12441:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2551, + "name": "_milestoneIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2514, + "src": "12454:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2549, + "name": "startOfMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 643, + "src": "12424:16:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view returns (uint256)" + } + }, + "id": 2552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12424:46:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12389:81:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2555, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "12488:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 2556, + "name": "_startOfCurrentMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2548, + "src": "12494:24:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12488:30:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2554, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "12480:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12480:39:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2559, + "nodeType": "ExpressionStatement", + "src": "12480:39:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2564, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2512, + "src": "12573:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 2567, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12606:1:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 2565, + "name": "_milestoneIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2514, + "src": "12586:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "12586:19:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12586:22:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2561, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "12537:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12537:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 16770, + "src": "12537:35:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view external returns (uint256)" + } + }, + "id": 2569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12537:72:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2570, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12613:1:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12537:77:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2560, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "12529:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12529:86:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2573, + "nodeType": "ExpressionStatement", + "src": "12529:86:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2577, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2512, + "src": "12674:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 2580, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12719:1:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 2578, + "name": "_milestoneIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2514, + "src": "12699:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "12699:19:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12699:22:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 2585, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12778:1:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 2583, + "name": "_milestoneIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2514, + "src": "12758:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "12758:19:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12758:22:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 2587, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "12782:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2582, + "name": "getTimelineForNextVote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 722, + "src": "12735:22:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 2588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12735:51:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2574, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "12626:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12626:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 17852, + "src": "12626:34:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,uint256) external" + } + }, + "id": 2589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12626:170:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2590, + "nodeType": "ExpressionStatement", + "src": "12626:170:8" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2592, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2512, + "src": "12866:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2593, + "name": "_milestoneIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2514, + "src": "12879:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2591, + "name": "FinishMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1945, + "src": "12850:15:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 2594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12850:45:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2595, + "nodeType": "EmitStatement", + "src": "12845:50:8" + } + ] + }, + "documentation": "@notice Function to set milestone to be completed\n@dev This can only be called in the Main Phase of DigixDAO by the proposer. It sets the\nvoting time for the next milestone, which is immediately, for most of the times. If there is not enough time left in the current\nquarter, then the next voting is postponed to the start of next quarter\n@param _proposalId ID of the proposal\n@param _milestoneIndex Index of the milestone. Index starts from 0 (for the first milestone)", + "id": 2597, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "finishMilestone", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2515, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2512, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 2597, + "src": "11574:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2511, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11574:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2514, + "name": "_milestoneIndex", + "nodeType": "VariableDeclaration", + "scope": 2597, + "src": "11595:23:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2513, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11595:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11573:46:8" + }, + "payable": false, + "returnParameters": { + "id": 2516, + "nodeType": "ParameterList", + "parameters": [], + "src": "11639:0:8" + }, + "scope": 2887, + "src": "11549:1353:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2643, + "nodeType": "Block", + "src": "13417:358:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2604, + "name": "senderCanDoProposerOperations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 837, + "src": "13427:29:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 2605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13427:31:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2606, + "nodeType": "ExpressionStatement", + "src": "13427:31:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2609, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2599, + "src": "13491:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2608, + "name": "isFromProposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "13476:14:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13476:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2607, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "13468:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13468:36:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2612, + "nodeType": "ExpressionStatement", + "src": "13468:36:8" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 2614, + "name": "_finalVersion", + "nodeType": "VariableDeclaration", + "scope": 2644, + "src": "13514:21:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2613, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13514:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2615, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "13514:21:8" + }, + { + "expression": { + "argumentTypes": null, + "id": 2623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + null, + null, + null, + null, + null, + { + "argumentTypes": null, + "id": 2616, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2614, + "src": "13553:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + null, + null + ], + "id": 2617, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "13545:24:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$__$__$__$__$__$_t_bytes32_$__$__$", + "typeString": "tuple(,,,,,,,bytes32,,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2621, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2599, + "src": "13598:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2618, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "13572:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13572:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16595, + "src": "13572:25:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "function (bytes32) view external returns (bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "id": 2622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13572:38:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "tuple(bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "src": "13545:65:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2624, + "nodeType": "ExpressionStatement", + "src": "13545:65:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2626, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2614, + "src": "13628:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 2627, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "13645:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "13628:28:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2625, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "13620:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13620:37:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2630, + "nodeType": "ExpressionStatement", + "src": "13620:37:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2634, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2599, + "src": "13695:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2635, + "name": "_newDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2601, + "src": "13708:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2631, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "13667:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13667:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addProposalDoc", + "nodeType": "MemberAccess", + "referencedDeclaration": 17621, + "src": "13667:27:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32) external" + } + }, + "id": 2636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13667:49:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2637, + "nodeType": "ExpressionStatement", + "src": "13667:49:8" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2639, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2599, + "src": "13747:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2640, + "name": "_newDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2601, + "src": "13760:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2638, + "name": "AddProposalDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1951, + "src": "13732:14:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 2641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13732:36:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2642, + "nodeType": "EmitStatement", + "src": "13727:41:8" + } + ] + }, + "documentation": "@notice Add IPFS docs to a proposal\n@dev This is allowed only after a proposal is finalized. Before finalizing\na proposal, proposer can modifyProposal and basically create a different ProposalVersion. After the proposal is finalized,\nthey can only allProposalDoc to the final version of that proposal\n@param _proposalId ID of the proposal\n@param _newDoc hash of the new IPFS doc", + "id": 2644, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addProposalDoc", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2599, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 2644, + "src": "13360:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2598, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13360:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2601, + "name": "_newDoc", + "nodeType": "VariableDeclaration", + "scope": 2644, + "src": "13381:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2600, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13381:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13359:38:8" + }, + "payable": false, + "returnParameters": { + "id": 2603, + "nodeType": "ParameterList", + "parameters": [], + "src": "13417:0:8" + }, + "scope": 2887, + "src": "13336:439:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2673, + "nodeType": "Block", + "src": "14109:150:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2654, + "name": "isMainPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "14127:11:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 2655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14127:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2653, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "14119:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14119:22:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2657, + "nodeType": "ExpressionStatement", + "src": "14119:22:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2660, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "14171:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14171:10:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2659, + "name": "isModerator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 594, + "src": "14159:11:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 2662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14159:23:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2658, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "14151:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14151:32:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2664, + "nodeType": "ExpressionStatement", + "src": "14151:32:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2668, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2646, + "src": "14228:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2669, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "14241:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "14241:10:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2665, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "14193:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14193:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateProposalEndorse", + "nodeType": "MemberAccess", + "referencedDeclaration": 17690, + "src": "14193:34:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) external" + } + }, + "id": 2671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14193:59:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2672, + "nodeType": "ExpressionStatement", + "src": "14193:59:8" + } + ] + }, + "documentation": "@notice Function to endorse a pre-proposal (can be called only by DAO Moderator)\n@param _proposalId ID of the proposal (hash of IPFS doc of the first version of the proposal)", + "id": 2674, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 2649, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2646, + "src": "14064:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2650, + "name": "PROPOSAL_STATE_PREPROPOSAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1252, + "src": "14077:26:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2651, + "modifierName": { + "argumentTypes": null, + "id": 2648, + "name": "isProposalState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 296, + "src": "14048:15:8", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$_t_bytes32_$", + "typeString": "modifier (bytes32,bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "14048:56:8" + } + ], + "name": "endorseProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2647, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2646, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 2674, + "src": "14004:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2645, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14004:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14003:21:8" + }, + "payable": false, + "returnParameters": { + "id": 2652, + "nodeType": "ParameterList", + "parameters": [], + "src": "14109:0:8" + }, + "scope": 2887, + "src": "13979:280:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2714, + "nodeType": "Block", + "src": "14715:242:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2686, + "name": "_action", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2678, + "src": "14733:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2687, + "name": "PRL_ACTION_STOP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1270, + "src": "14744:15:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14733:26:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2689, + "name": "_action", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2678, + "src": "14763:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2690, + "name": "PRL_ACTION_PAUSE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1273, + "src": "14774:16:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14763:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "14733:57:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2693, + "name": "_action", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2678, + "src": "14794:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2694, + "name": "PRL_ACTION_UNPAUSE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1276, + "src": "14805:18:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14794:29:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "14733:90:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2685, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "14725:7:8", + "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": "14725:99:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2698, + "nodeType": "ExpressionStatement", + "src": "14725:99:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2702, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2676, + "src": "14865:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2703, + "name": "_action", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2678, + "src": "14878:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 2704, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2680, + "src": "14887:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2705, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "14893:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2699, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "14834:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14834:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateProposalPRL", + "nodeType": "MemberAccess", + "referencedDeclaration": 18039, + "src": "14834:30:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,bytes32,uint256) external" + } + }, + "id": 2706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14834:63:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2707, + "nodeType": "ExpressionStatement", + "src": "14834:63:8" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2709, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2676, + "src": "14923:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2710, + "name": "_action", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2678, + "src": "14936:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 2711, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2680, + "src": "14945:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2708, + "name": "PRLAction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1959, + "src": "14913:9:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,uint256,bytes32)" + } + }, + "id": 2712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14913:37:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2713, + "nodeType": "EmitStatement", + "src": "14908:42:8" + } + ] + }, + "documentation": "@notice Function to update the PRL (regulatory status) status of a proposal\n@dev if a proposal is paused or stopped, the proposer wont be able to withdraw the funding\n@param _proposalId ID of the proposal\n@param _doc hash of IPFS uploaded document, containing details of PRL Action", + "id": 2715, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 2683, + "modifierName": { + "argumentTypes": null, + "id": 2682, + "name": "if_prl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1881, + "src": "14702:6:8", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "14702:8:8" + } + ], + "name": "updatePRL", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2681, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2676, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 2715, + "src": "14606:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2675, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14606:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2678, + "name": "_action", + "nodeType": "VariableDeclaration", + "scope": 2715, + "src": "14635:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2677, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14635:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2680, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 2715, + "src": "14660:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2679, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14660:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14596:82:8" + }, + "payable": false, + "returnParameters": { + "id": 2684, + "nodeType": "ParameterList", + "parameters": [], + "src": "14715:0:8" + }, + "scope": 2887, + "src": "14578:379:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2794, + "nodeType": "Block", + "src": "15220:694:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2720, + "name": "senderCanDoProposerOperations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 837, + "src": "15230:29:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 2721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15230:31:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2722, + "nodeType": "ExpressionStatement", + "src": "15230:31:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2725, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2717, + "src": "15294:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2724, + "name": "isFromProposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "15279:14:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15279:27:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2723, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "15271:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15271:36:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2728, + "nodeType": "ExpressionStatement", + "src": "15271:36:8" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 2730, + "name": "_finalVersion", + "nodeType": "VariableDeclaration", + "scope": 2795, + "src": "15317:21:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2729, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15317:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2731, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "15317:21:8" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 2733, + "name": "_status", + "nodeType": "VariableDeclaration", + "scope": 2795, + "src": "15348:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2732, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15348:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2734, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "15348:15:8" + }, + { + "expression": { + "argumentTypes": null, + "id": 2743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + null, + { + "argumentTypes": null, + "id": 2735, + "name": "_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2733, + "src": "15377:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + null, + null, + null, + { + "argumentTypes": null, + "id": 2736, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2730, + "src": "15388:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + null, + null + ], + "id": 2737, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "15373:31:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$__$_t_bytes32_$__$__$__$_t_bytes32_$__$__$", + "typeString": "tuple(,,,bytes32,,,,bytes32,,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2741, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2717, + "src": "15433:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2738, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "15407:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15407:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16595, + "src": "15407:25:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "function (bytes32) view external returns (bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "id": 2742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15407:38:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "tuple(bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "src": "15373:72:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2744, + "nodeType": "ExpressionStatement", + "src": "15373:72:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2746, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2730, + "src": "15463:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2747, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "15480:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "15463:28:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2745, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "15455:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15455:37:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2750, + "nodeType": "ExpressionStatement", + "src": "15455:37:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2752, + "name": "_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2733, + "src": "15510:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 2753, + "name": "PROPOSAL_STATE_CLOSED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1264, + "src": "15521:21:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "15510:32:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2751, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "15502:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15502:41:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2756, + "nodeType": "ExpressionStatement", + "src": "15502:41:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2761, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2717, + "src": "15603:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2758, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "15561:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15561:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalCollateralStatus", + "nodeType": "MemberAccess", + "referencedDeclaration": 17340, + "src": "15561:41:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 2762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15561:54:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2763, + "name": "COLLATERAL_STATUS_UNLOCKED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1279, + "src": "15619:26:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15561:84:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2757, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "15553:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15553:93:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2766, + "nodeType": "ExpressionStatement", + "src": "15553:93:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2770, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2717, + "src": "15684:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2767, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "15657:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15657:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "closeProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 18239, + "src": "15657:26:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 2771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15657:39:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2772, + "nodeType": "ExpressionStatement", + "src": "15657:39:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2776, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2717, + "src": "15747:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2777, + "name": "COLLATERAL_STATUS_CLAIMED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1285, + "src": "15760:25:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2773, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "15706:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15706:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalCollateralStatus", + "nodeType": "MemberAccess", + "referencedDeclaration": 17924, + "src": "15706:40:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256) external" + } + }, + "id": 2778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15706:80:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2779, + "nodeType": "ExpressionStatement", + "src": "15706:80:8" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2781, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2717, + "src": "15815:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2780, + "name": "CloseProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1963, + "src": "15801:13:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15801:26:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2783, + "nodeType": "EmitStatement", + "src": "15796:31:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2788, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "15882:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15882:10:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 2790, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2717, + "src": "15894:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2785, + "name": "daoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1998, + "src": "15845:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoFundingManager_$3149_$", + "typeString": "function () view returns (contract DaoFundingManager)" + } + }, + "id": 2786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15845:19:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "id": 2787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "refundCollateral", + "nodeType": "MemberAccess", + "referencedDeclaration": 3081, + "src": "15845:36:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (address,bytes32) external returns (bool)" + } + }, + "id": 2791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15845:61:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2784, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "15837:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15837:70:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2793, + "nodeType": "ExpressionStatement", + "src": "15837:70:8" + } + ] + }, + "documentation": "@notice Function to close proposal (also get back collateral)\n@dev Can only be closed if the proposal has not been finalized yet\n@param _proposalId ID of the proposal", + "id": 2795, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "closeProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2718, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2717, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 2795, + "src": "15180:19:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2716, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15180:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15179:21:8" + }, + "payable": false, + "returnParameters": { + "id": 2719, + "nodeType": "ParameterList", + "parameters": [], + "src": "15220:0:8" + }, + "scope": 2887, + "src": "15157:757:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2885, + "nodeType": "Block", + "src": "16333:723:8", + "statements": [ + { + "assignments": [ + 2804 + ], + "declarations": [ + { + "constant": false, + "id": 2804, + "name": "_length", + "nodeType": "VariableDeclaration", + "scope": 2886, + "src": "16343:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2803, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16343:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2807, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2805, + "name": "_proposalIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2798, + "src": "16361:12:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 2806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16361:19:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16343:37:8" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 2809, + "name": "_timeCreated", + "nodeType": "VariableDeclaration", + "scope": 2886, + "src": "16390:20:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2808, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16390:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2810, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16390:20:8" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 2812, + "name": "_finalVersion", + "nodeType": "VariableDeclaration", + "scope": 2886, + "src": "16420:21:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2811, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16420:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2813, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16420:21:8" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 2815, + "name": "_currentState", + "nodeType": "VariableDeclaration", + "scope": 2886, + "src": "16451:21:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2814, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16451:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2816, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16451:21:8" + }, + { + "body": { + "id": 2883, + "nodeType": "Block", + "src": "16523:527:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + null, + { + "argumentTypes": null, + "id": 2827, + "name": "_currentState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2815, + "src": "16541:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2828, + "name": "_timeCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "16555:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + null, + null, + { + "argumentTypes": null, + "id": 2829, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2812, + "src": "16570:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + null, + null + ], + "id": 2830, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "16537:49:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$__$_t_bytes32_$_t_uint256_$__$__$_t_bytes32_$__$__$", + "typeString": "tuple(,,,bytes32,uint256,,,bytes32,,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2834, + "name": "_proposalIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2798, + "src": "16615:12:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 2836, + "indexExpression": { + "argumentTypes": null, + "id": 2835, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2818, + "src": "16628:2:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16615:16:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2831, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "16589:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16589:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16595, + "src": "16589:25:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "function (bytes32) view external returns (bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "id": 2837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16589:43:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "tuple(bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "src": "16537:95:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2839, + "nodeType": "ExpressionStatement", + "src": "16537:95:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2841, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2812, + "src": "16654:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2842, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "16671:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16654:28:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2840, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16646:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16646:37:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2845, + "nodeType": "ExpressionStatement", + "src": "16646:37:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2847, + "name": "_currentState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2815, + "src": "16723:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2848, + "name": "PROPOSAL_STATE_PREPROPOSAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1252, + "src": "16740:26:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16723:43:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2850, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16722:45:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 2853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2851, + "name": "_currentState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2815, + "src": "16788:13:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 2852, + "name": "PROPOSAL_STATE_DRAFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1255, + "src": "16805:20:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16788:37:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2854, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16787:39:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16722:104:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2846, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16697:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16697:143:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2857, + "nodeType": "ExpressionStatement", + "src": "16697:143:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2859, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "16862:3:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2863, + "name": "CONFIG_PROPOSAL_DEAD_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1576, + "src": "16899:29:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2862, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "16885:13:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 2864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16885:44:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 2860, + "name": "_timeCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2809, + "src": "16868:12:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "16868:16:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 2865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16868:62:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16862:68:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2858, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16854:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16854:77:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2868, + "nodeType": "ExpressionStatement", + "src": "16854:77:8" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2870, + "name": "_proposalIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2798, + "src": "16964:12:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 2872, + "indexExpression": { + "argumentTypes": null, + "id": 2871, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2818, + "src": "16977:2:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16964:16:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2869, + "name": "CloseProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1963, + "src": "16950:13:8", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16950:31:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2874, + "nodeType": "EmitStatement", + "src": "16945:36:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 2878, + "name": "_proposalIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2798, + "src": "17022:12:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 2880, + "indexExpression": { + "argumentTypes": null, + "id": 2879, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2818, + "src": "17035:2:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17022:16:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2875, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "16995:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16995:12:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "closeProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 18239, + "src": "16995:26:8", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 2881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16995:44:8", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2882, + "nodeType": "ExpressionStatement", + "src": "16995:44:8" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2821, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2818, + "src": "16503:2:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 2822, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2804, + "src": "16508:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16503:12:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2884, + "initializationExpression": { + "assignments": [ + 2818 + ], + "declarations": [ + { + "constant": false, + "id": 2818, + "name": "_i", + "nodeType": "VariableDeclaration", + "scope": 2886, + "src": "16487:10:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2817, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16487:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2820, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 2819, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16500:1:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "16487:14:8" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 2825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "16517:4:8", + "subExpression": { + "argumentTypes": null, + "id": 2824, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2818, + "src": "16517:2:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2826, + "nodeType": "ExpressionStatement", + "src": "16517:4:8" + }, + "nodeType": "ForStatement", + "src": "16482:568:8" + } + ] + }, + "documentation": "@notice Function for founders to close all the dead proposals\n@dev Dead proposals = all proposals who are not yet finalized, and been there for more than the threshold time\nThe proposers of dead proposals will not get the collateral back\n@param _proposalIds Array of proposal IDs", + "id": 2886, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 2801, + "modifierName": { + "argumentTypes": null, + "id": 2800, + "name": "if_founder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1849, + "src": "16316:10:8", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "16316:12:8" + } + ], + "name": "founderCloseProposals", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2799, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2798, + "name": "_proposalIds", + "nodeType": "VariableDeclaration", + "scope": 2886, + "src": "16267:22:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 2796, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16267:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 2797, + "length": null, + "nodeType": "ArrayTypeName", + "src": "16267:9:8", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16266:24:8" + }, + "payable": false, + "returnParameters": { + "id": 2802, + "nodeType": "ParameterList", + "parameters": [], + "src": "16333:0:8" + }, + "scope": 2887, + "src": "16236:820:8", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 2888, + "src": "266:16792:8" + } + ], + "src": "0:17059:8" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0xede450cc438bdde0afe38f1488e8e5c8cc9f2bdb", + "transactionHash": "0xa8c269e25d7140f613cc62286e35d1c18e2df08f755028b74935eecccbf3be30" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T10:37:27.577Z" +} \ No newline at end of file diff --git a/build/contracts/DaoCalculatorService.json b/build/contracts/DaoCalculatorService.json new file mode 100644 index 0000000..8ebf4cd --- /dev/null +++ b/build/contracts/DaoCalculatorService.json @@ -0,0 +1,13438 @@ +{ + "contractName": "DaoCalculatorService", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getAddressConfig", + "outputs": [ + { + "name": "_configValue", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentTimeInQuarter", + "outputs": [ + { + "name": "_currentT", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isMainPhase", + "outputs": [ + { + "name": "_isMainPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "dgxDemurrageCalculatorAddress", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isLockingPhase", + "outputs": [ + { + "name": "_isLockingPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentQuarterNumber", + "outputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isParticipant", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getBytesConfig", + "outputs": [ + { + "name": "_configValue", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getUintConfig", + "outputs": [ + { + "name": "_configValue", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isDaoNotReplaced", + "outputs": [ + { + "name": "_isNotReplaced", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isModerator", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + }, + { + "name": "_dgxDemurrageCalculatorAddress", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": true, + "inputs": [ + { + "name": "_additionalDgd", + "type": "uint256" + } + ], + "name": "calculateAdditionalLockedDGDStake", + "outputs": [ + { + "name": "_additionalLockedDGDStake", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "minimumDraftQuorum", + "outputs": [ + { + "name": "_minQuorum", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_for", + "type": "uint256" + }, + { + "name": "_against", + "type": "uint256" + } + ], + "name": "draftQuotaPass", + "outputs": [ + { + "name": "_passed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_milestone_id", + "type": "uint256" + } + ], + "name": "minimumVotingQuorum", + "outputs": [ + { + "name": "_minQuorum", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "minimumVotingQuorumForSpecial", + "outputs": [ + { + "name": "_minQuorum", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_for", + "type": "uint256" + }, + { + "name": "_against", + "type": "uint256" + } + ], + "name": "votingQuotaPass", + "outputs": [ + { + "name": "_passed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_for", + "type": "uint256" + }, + { + "name": "_against", + "type": "uint256" + } + ], + "name": "votingQuotaForSpecialPass", + "outputs": [ + { + "name": "_passed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_minimalParticipationPoint", + "type": "uint256" + }, + { + "name": "_quarterPointScalingFactor", + "type": "uint256" + }, + { + "name": "_reputationPointScalingFactor", + "type": "uint256" + }, + { + "name": "_quarterPoint", + "type": "uint256" + }, + { + "name": "_reputationPoint", + "type": "uint256" + }, + { + "name": "_lockedDGDStake", + "type": "uint256" + } + ], + "name": "calculateUserEffectiveBalance", + "outputs": [ + { + "name": "_effectiveDGDBalance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_balance", + "type": "uint256" + }, + { + "name": "_daysElapsed", + "type": "uint256" + } + ], + "name": "calculateDemurrage", + "outputs": [ + { + "name": "_demurrageFees", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b506040516040806200355283398101806040528101908080519060200190929190805190602001909291905050506200117f60245483620011d4640100000000026401000000009004565b15156200118b57600080fd5b80607060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505062001465565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156200123c57600080fd5b505af115801562001251573d6000803e3d6000fd5b505050506040513d60208110156200126857600080fd5b81019080805190602001909291905050509050600015158115151415620014595730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156200140657600080fd5b505af11580156200141b573d6000803e3d6000fd5b505050506040513d60208110156200143257600080fd5b810190808051906020019092919050505015156200144f57600080fd5b600191506200145e565b600091505b5092915050565b6120dd80620014756000396000f30060806040526004361061013e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146101435780630b3b15951461019a578063120c52ef146101db5780631d8ccd04146102265780632850568f1461029757806336dfb1c2146102c25780633943380c146103115780633f83acff14610344578063535199aa146103b5578063560a25ea146103fa578063685330601461042557806370ae8f5c1461045457806377ebd468146104c75780637c6c9af2146105165780637d6fed801461056d5780637f6a26b61461059c578063929066f5146105c757806393ddad0814610622578063a27c834c1461066f578063b1e2b9dd146106be578063d32d049914610703578063d70d935814610752578063db4ecbc114610781578063fa6f3936146107d8575b600080fd5b34801561014f57600080fd5b50610158610833565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101a657600080fd5b506101c560048036038101908080359060200190929190505050610858565b6040518082815260200191505060405180910390f35b3480156101e757600080fd5b5061021060048036038101908080359060200190929190803590602001909291905050506108e2565b6040518082815260200191505060405180910390f35b34801561023257600080fd5b5061025560048036038101908080356000191690602001909291905050506109cc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102a357600080fd5b506102ac610a8e565b6040518082815260200191505060405180910390f35b3480156102ce57600080fd5b506102f76004803603810190808035906020019092919080359060200190929190505050610b73565b604051808215151515815260200191505060405180910390f35b34801561031d57600080fd5b50610326610bca565b60405180826000191660001916815260200191505060405180910390f35b34801561035057600080fd5b506103736004803603810190808035600019169060200190929190505050610bd0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103c157600080fd5b506103e46004803603810190808035600019169060200190929190505050610cac565b6040518082815260200191505060405180910390f35b34801561040657600080fd5b5061040f610ecc565b6040518082815260200191505060405180910390f35b34801561043157600080fd5b5061043a610edc565b604051808215151515815260200191505060405180910390f35b34801561046057600080fd5b506104b1600480360381019080803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050610f08565b6040518082815260200191505060405180910390f35b3480156104d357600080fd5b50610500600480360381019080803560001916906020019092919080359060200190929190505050610fc7565b6040518082815260200191505060405180910390f35b34801561052257600080fd5b5061052b6112fc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561057957600080fd5b50610582611322565b604051808215151515815260200191505060405180910390f35b3480156105a857600080fd5b506105b161133d565b6040518082815260200191505060405180910390f35b3480156105d357600080fd5b50610608600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061134d565b604051808215151515815260200191505060405180910390f35b34801561062e57600080fd5b50610651600480360381019080803560001916906020019092919050505061152e565b60405180826000191660001916815260200191505060405180910390f35b34801561067b57600080fd5b506106a460048036038101908080359060200190929190803590602001909291905050506115f0565b604051808215151515815260200191505060405180910390f35b3480156106ca57600080fd5b506106ed6004803603810190808035600019169060200190929190505050611647565b6040518082815260200191505060405180910390f35b34801561070f57600080fd5b506107386004803603810190808035906020019092919080359060200190929190505050611709565b604051808215151515815260200191505060405180910390f35b34801561075e57600080fd5b50610767611760565b604051808215151515815260200191505060405180910390f35b34801561078d57600080fd5b5061079661180e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107e457600080fd5b50610819600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611834565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006108db61088461086b603854611647565b610876603954611647565b611b0790919063ffffffff16565b6108cd6108be6108a5610895610ecc565b6108a0603854611647565b611b20565b6108b0603954611647565b611b0790919063ffffffff16565b85611b3790919063ffffffff16565b611b6f90919063ffffffff16565b9050919050565b6000607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663120c52ef84846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506040805180830381600087803b15801561097c57600080fd5b505af1158015610990573d6000803e3d6000fd5b505050506040513d60408110156109a657600080fd5b810190808051906020019092919080519060200190929190505050508091505092915050565b60006109d6611b85565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610a4c57600080fd5b505af1158015610a60573d6000803e3d6000fd5b505050506040513d6020811015610a7657600080fd5b81019080805190602001909291905050509050919050565b6000610b6e610a9e605d54611647565b610b60610aa9611b97565b73ffffffffffffffffffffffffffffffffffffffff1663abed029a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610b0c57600080fd5b505af1158015610b20573d6000803e3d6000fd5b505050506040513d6020811015610b3657600080fd5b8101908080519060200190929190505050610b52605c54611647565b611b3790919063ffffffff16565b611b6f90919063ffffffff16565b905090565b6000610ba4610b8b8385611ba990919063ffffffff16565b610b96604a54611647565b611b3790919063ffffffff16565b610bc1610bb2604b54611647565b85611b3790919063ffffffff16565b11905092915050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610c6a57600080fd5b505af1158015610c7e573d6000803e3d6000fd5b505050506040513d6020811015610c9457600080fd5b81019080805190602001909291905050509050919050565b60006060610cb8611bc5565b73ffffffffffffffffffffffffffffffffffffffff16637246d5a7846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015610d2e57600080fd5b505af1158015610d42573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506040811015610d6c57600080fd5b810190808051640100000000811115610d8457600080fd5b82810190506020810184811115610d9a57600080fd5b8151856020820283011164010000000082111715610db757600080fd5b5050929190602001805190602001909291905050505080915050610ec4610ddc611b97565b73ffffffffffffffffffffffffffffffffffffffff1663bf448a876040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610e3f57600080fd5b505af1158015610e53573d6000803e3d6000fd5b505050506040513d6020811015610e6957600080fd5b8101908080519060200190929190505050610e85603e54611647565b610e90603f54611647565b610e9b604054611647565b610ea6604154611647565b866000815181101515610eb557fe5b90602001906020020151611bd7565b915050919050565b6000610ed742611c73565b905090565b6000610ee6611760565b8015610f035750610ef8603854611647565b610f00610ecc565b10155b905090565b600080610f3988610f2b85610f1d898d611d5c565b611b3790919063ffffffff16565b611b6f90919063ffffffff16565b9050610fba610f518789611b3790919063ffffffff16565b610fac610f67878a611ba990919063ffffffff16565b610f9e610f8f8d610f818c8f611ba990919063ffffffff16565b611b0790919063ffffffff16565b86611b3790919063ffffffff16565b611b3790919063ffffffff16565b611b6f90919063ffffffff16565b9150509695505050505050565b600060606000610fd5611d73565b1515610fe057600080fd5b610fe8611bc5565b73ffffffffffffffffffffffffffffffffffffffff16637246d5a7866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b15801561105e57600080fd5b505af1158015611072573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250604081101561109c57600080fd5b8101908080516401000000008111156110b457600080fd5b828101905060208101848111156110ca57600080fd5b81518560208202830111640100000000821117156110e757600080fd5b50509291906020018051906020019092919050505080925081935050508151841115151561111457600080fd5b81518414156111ff576111f8611128611b97565b73ffffffffffffffffffffffffffffffffffffffff1663abed029a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561118b57600080fd5b505af115801561119f573d6000803e3d6000fd5b505050506040513d60208110156111b557600080fd5b81019080805190602001909291905050506111d1604254611647565b6111dc604354611647565b6111e7604654611647565b6111f2604754611647565b86611bd7565b92506112f4565b6112f161120a611b97565b73ffffffffffffffffffffffffffffffffffffffff1663abed029a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561126d57600080fd5b505af1158015611281573d6000803e3d6000fd5b505050506040513d602081101561129757600080fd5b81019080805190602001909291905050506112b3604254611647565b6112be604354611647565b6112c9604454611647565b6112d4604554611647565b878a8151811015156112e257fe5b90602001906020020151611bd7565b92505b505092915050565b607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061132f603854611647565b611337610ecc565b10905090565b600061134842611e8d565b905090565b600061135761133d565b61135f611f90565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156113f957600080fd5b505af115801561140d573d6000803e3d6000fd5b505050506040513d602081101561142357600080fd5b81019080805190602001909291905050501480156115275750611447603554611647565b61144f611b97565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156114e957600080fd5b505af11580156114fd573d6000803e3d6000fd5b505050506040513d602081101561151357600080fd5b810190808051906020019092919050505010155b9050919050565b6000611538611b85565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156115ae57600080fd5b505af11580156115c2573d6000803e3d6000fd5b505050506040513d60208110156115d857600080fd5b81019080805190602001909291905050509050919050565b60006116216116088385611ba990919063ffffffff16565b611613605a54611647565b611b3790919063ffffffff16565b61163e61162f605b54611647565b85611b3790919063ffffffff16565b11905092915050565b6000611651611b85565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156116c757600080fd5b505af11580156116db573d6000803e3d6000fd5b505050506040513d60208110156116f157600080fd5b81019080805190602001909291905050509050919050565b600061173a6117218385611ba990919063ffffffff16565b61172c604854611647565b611b3790919063ffffffff16565b611757611748604954611647565b85611b3790919063ffffffff16565b11905092915050565b600061176a611fa2565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156117cd57600080fd5b505af11580156117e1573d6000803e3d6000fd5b505050506040513d60208110156117f757600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061183e61133d565b611846611f90565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156118e057600080fd5b505af11580156118f4573d6000803e3d6000fd5b505050506040513d602081101561190a57600080fd5b8101908080519060200190929190505050148015611a0e575061192e603654611647565b611936611b97565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156119d057600080fd5b505af11580156119e4573d6000803e3d6000fd5b505050506040513d60208110156119fa57600080fd5b810190808051906020019092919050505010155b8015611b005750611a20603754611647565b611a28611fb4565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611ac257600080fd5b505af1158015611ad6573d6000803e3d6000fd5b505050506040513d6020811015611aec57600080fd5b810190808051906020019092919050505010155b9050919050565b6000828211151515611b1557fe5b818303905092915050565b600081905081831115611b31578290505b92915050565b600080831415611b4a5760009050611b69565b8183029050818382811515611b5b57fe5b04141515611b6557fe5b8090505b92915050565b60008183811515611b7c57fe5b04905092915050565b6000611b92602b54610bd0565b905090565b6000611ba4602c54610bd0565b905090565b60008183019050828110151515611bbc57fe5b80905092915050565b6000611bd2602554610bd0565b905090565b600080611be2611fc6565b9050611c0986611bfb898b611b3790919063ffffffff16565b611b6f90919063ffffffff16565b9150611c66611c57611c248684611b3790919063ffffffff16565b611c49611c3a8988611b3790919063ffffffff16565b8c611b3790919063ffffffff16565b611b6f90919063ffffffff16565b83611ba990919063ffffffff16565b9150509695505050505050565b6000611c7d611fef565b1515611c8857600080fd5b611c93603954611647565b611d4b611c9e611fa2565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611d0157600080fd5b505af1158015611d15573d6000803e3d6000fd5b505050506040513d6020811015611d2b57600080fd5b810190808051906020019092919050505084611b0790919063ffffffff16565b811515611d5457fe5b069050919050565b600081905081831015611d6d578290505b92915050565b60003273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611e885750611db261209f565b73ffffffffffffffffffffffffffffffffffffffff16639b19251a336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611e4c57600080fd5b505af1158015611e60573d6000803e3d6000fd5b505050506040513d6020811015611e7657600080fd5b81019080805190602001909291905050505b905090565b6000611e97611fef565b1515611ea257600080fd5b611f896001611f7b611eb5603954611647565b611f6d611ec0611fa2565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611f2357600080fd5b505af1158015611f37573d6000803e3d6000fd5b505050506040513d6020811015611f4d57600080fd5b810190808051906020019092919050505087611b0790919063ffffffff16565b611b6f90919063ffffffff16565b611ba990919063ffffffff16565b9050919050565b6000611f9d602d54610bd0565b905090565b6000611faf602754610bd0565b905090565b6000611fc1602954610bd0565b905090565b6000611fd3601e54610bd0565b73ffffffffffffffffffffffffffffffffffffffff1631905090565b600080611ffa611fa2565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561205d57600080fd5b505af1158015612071573d6000803e3d6000fd5b505050506040513d602081101561208757600080fd5b81019080805190602001909291905050501415905090565b60006120ac602e54610bd0565b9050905600a165627a7a723058209dc1dc042054f77e8593b178238231fb217ac3a6339579a0b22266e8364e4e840029", + "deployedBytecode": "0x60806040526004361061013e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146101435780630b3b15951461019a578063120c52ef146101db5780631d8ccd04146102265780632850568f1461029757806336dfb1c2146102c25780633943380c146103115780633f83acff14610344578063535199aa146103b5578063560a25ea146103fa578063685330601461042557806370ae8f5c1461045457806377ebd468146104c75780637c6c9af2146105165780637d6fed801461056d5780637f6a26b61461059c578063929066f5146105c757806393ddad0814610622578063a27c834c1461066f578063b1e2b9dd146106be578063d32d049914610703578063d70d935814610752578063db4ecbc114610781578063fa6f3936146107d8575b600080fd5b34801561014f57600080fd5b50610158610833565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101a657600080fd5b506101c560048036038101908080359060200190929190505050610858565b6040518082815260200191505060405180910390f35b3480156101e757600080fd5b5061021060048036038101908080359060200190929190803590602001909291905050506108e2565b6040518082815260200191505060405180910390f35b34801561023257600080fd5b5061025560048036038101908080356000191690602001909291905050506109cc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102a357600080fd5b506102ac610a8e565b6040518082815260200191505060405180910390f35b3480156102ce57600080fd5b506102f76004803603810190808035906020019092919080359060200190929190505050610b73565b604051808215151515815260200191505060405180910390f35b34801561031d57600080fd5b50610326610bca565b60405180826000191660001916815260200191505060405180910390f35b34801561035057600080fd5b506103736004803603810190808035600019169060200190929190505050610bd0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103c157600080fd5b506103e46004803603810190808035600019169060200190929190505050610cac565b6040518082815260200191505060405180910390f35b34801561040657600080fd5b5061040f610ecc565b6040518082815260200191505060405180910390f35b34801561043157600080fd5b5061043a610edc565b604051808215151515815260200191505060405180910390f35b34801561046057600080fd5b506104b1600480360381019080803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050610f08565b6040518082815260200191505060405180910390f35b3480156104d357600080fd5b50610500600480360381019080803560001916906020019092919080359060200190929190505050610fc7565b6040518082815260200191505060405180910390f35b34801561052257600080fd5b5061052b6112fc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561057957600080fd5b50610582611322565b604051808215151515815260200191505060405180910390f35b3480156105a857600080fd5b506105b161133d565b6040518082815260200191505060405180910390f35b3480156105d357600080fd5b50610608600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061134d565b604051808215151515815260200191505060405180910390f35b34801561062e57600080fd5b50610651600480360381019080803560001916906020019092919050505061152e565b60405180826000191660001916815260200191505060405180910390f35b34801561067b57600080fd5b506106a460048036038101908080359060200190929190803590602001909291905050506115f0565b604051808215151515815260200191505060405180910390f35b3480156106ca57600080fd5b506106ed6004803603810190808035600019169060200190929190505050611647565b6040518082815260200191505060405180910390f35b34801561070f57600080fd5b506107386004803603810190808035906020019092919080359060200190929190505050611709565b604051808215151515815260200191505060405180910390f35b34801561075e57600080fd5b50610767611760565b604051808215151515815260200191505060405180910390f35b34801561078d57600080fd5b5061079661180e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107e457600080fd5b50610819600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611834565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006108db61088461086b603854611647565b610876603954611647565b611b0790919063ffffffff16565b6108cd6108be6108a5610895610ecc565b6108a0603854611647565b611b20565b6108b0603954611647565b611b0790919063ffffffff16565b85611b3790919063ffffffff16565b611b6f90919063ffffffff16565b9050919050565b6000607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663120c52ef84846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001828152602001925050506040805180830381600087803b15801561097c57600080fd5b505af1158015610990573d6000803e3d6000fd5b505050506040513d60408110156109a657600080fd5b810190808051906020019092919080519060200190929190505050508091505092915050565b60006109d6611b85565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610a4c57600080fd5b505af1158015610a60573d6000803e3d6000fd5b505050506040513d6020811015610a7657600080fd5b81019080805190602001909291905050509050919050565b6000610b6e610a9e605d54611647565b610b60610aa9611b97565b73ffffffffffffffffffffffffffffffffffffffff1663abed029a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610b0c57600080fd5b505af1158015610b20573d6000803e3d6000fd5b505050506040513d6020811015610b3657600080fd5b8101908080519060200190929190505050610b52605c54611647565b611b3790919063ffffffff16565b611b6f90919063ffffffff16565b905090565b6000610ba4610b8b8385611ba990919063ffffffff16565b610b96604a54611647565b611b3790919063ffffffff16565b610bc1610bb2604b54611647565b85611b3790919063ffffffff16565b11905092915050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610c6a57600080fd5b505af1158015610c7e573d6000803e3d6000fd5b505050506040513d6020811015610c9457600080fd5b81019080805190602001909291905050509050919050565b60006060610cb8611bc5565b73ffffffffffffffffffffffffffffffffffffffff16637246d5a7846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015610d2e57600080fd5b505af1158015610d42573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506040811015610d6c57600080fd5b810190808051640100000000811115610d8457600080fd5b82810190506020810184811115610d9a57600080fd5b8151856020820283011164010000000082111715610db757600080fd5b5050929190602001805190602001909291905050505080915050610ec4610ddc611b97565b73ffffffffffffffffffffffffffffffffffffffff1663bf448a876040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610e3f57600080fd5b505af1158015610e53573d6000803e3d6000fd5b505050506040513d6020811015610e6957600080fd5b8101908080519060200190929190505050610e85603e54611647565b610e90603f54611647565b610e9b604054611647565b610ea6604154611647565b866000815181101515610eb557fe5b90602001906020020151611bd7565b915050919050565b6000610ed742611c73565b905090565b6000610ee6611760565b8015610f035750610ef8603854611647565b610f00610ecc565b10155b905090565b600080610f3988610f2b85610f1d898d611d5c565b611b3790919063ffffffff16565b611b6f90919063ffffffff16565b9050610fba610f518789611b3790919063ffffffff16565b610fac610f67878a611ba990919063ffffffff16565b610f9e610f8f8d610f818c8f611ba990919063ffffffff16565b611b0790919063ffffffff16565b86611b3790919063ffffffff16565b611b3790919063ffffffff16565b611b6f90919063ffffffff16565b9150509695505050505050565b600060606000610fd5611d73565b1515610fe057600080fd5b610fe8611bc5565b73ffffffffffffffffffffffffffffffffffffffff16637246d5a7866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b15801561105e57600080fd5b505af1158015611072573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250604081101561109c57600080fd5b8101908080516401000000008111156110b457600080fd5b828101905060208101848111156110ca57600080fd5b81518560208202830111640100000000821117156110e757600080fd5b50509291906020018051906020019092919050505080925081935050508151841115151561111457600080fd5b81518414156111ff576111f8611128611b97565b73ffffffffffffffffffffffffffffffffffffffff1663abed029a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561118b57600080fd5b505af115801561119f573d6000803e3d6000fd5b505050506040513d60208110156111b557600080fd5b81019080805190602001909291905050506111d1604254611647565b6111dc604354611647565b6111e7604654611647565b6111f2604754611647565b86611bd7565b92506112f4565b6112f161120a611b97565b73ffffffffffffffffffffffffffffffffffffffff1663abed029a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561126d57600080fd5b505af1158015611281573d6000803e3d6000fd5b505050506040513d602081101561129757600080fd5b81019080805190602001909291905050506112b3604254611647565b6112be604354611647565b6112c9604454611647565b6112d4604554611647565b878a8151811015156112e257fe5b90602001906020020151611bd7565b92505b505092915050565b607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061132f603854611647565b611337610ecc565b10905090565b600061134842611e8d565b905090565b600061135761133d565b61135f611f90565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156113f957600080fd5b505af115801561140d573d6000803e3d6000fd5b505050506040513d602081101561142357600080fd5b81019080805190602001909291905050501480156115275750611447603554611647565b61144f611b97565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156114e957600080fd5b505af11580156114fd573d6000803e3d6000fd5b505050506040513d602081101561151357600080fd5b810190808051906020019092919050505010155b9050919050565b6000611538611b85565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156115ae57600080fd5b505af11580156115c2573d6000803e3d6000fd5b505050506040513d60208110156115d857600080fd5b81019080805190602001909291905050509050919050565b60006116216116088385611ba990919063ffffffff16565b611613605a54611647565b611b3790919063ffffffff16565b61163e61162f605b54611647565b85611b3790919063ffffffff16565b11905092915050565b6000611651611b85565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156116c757600080fd5b505af11580156116db573d6000803e3d6000fd5b505050506040513d60208110156116f157600080fd5b81019080805190602001909291905050509050919050565b600061173a6117218385611ba990919063ffffffff16565b61172c604854611647565b611b3790919063ffffffff16565b611757611748604954611647565b85611b3790919063ffffffff16565b11905092915050565b600061176a611fa2565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156117cd57600080fd5b505af11580156117e1573d6000803e3d6000fd5b505050506040513d60208110156117f757600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061183e61133d565b611846611f90565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156118e057600080fd5b505af11580156118f4573d6000803e3d6000fd5b505050506040513d602081101561190a57600080fd5b8101908080519060200190929190505050148015611a0e575061192e603654611647565b611936611b97565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156119d057600080fd5b505af11580156119e4573d6000803e3d6000fd5b505050506040513d60208110156119fa57600080fd5b810190808051906020019092919050505010155b8015611b005750611a20603754611647565b611a28611fb4565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611ac257600080fd5b505af1158015611ad6573d6000803e3d6000fd5b505050506040513d6020811015611aec57600080fd5b810190808051906020019092919050505010155b9050919050565b6000828211151515611b1557fe5b818303905092915050565b600081905081831115611b31578290505b92915050565b600080831415611b4a5760009050611b69565b8183029050818382811515611b5b57fe5b04141515611b6557fe5b8090505b92915050565b60008183811515611b7c57fe5b04905092915050565b6000611b92602b54610bd0565b905090565b6000611ba4602c54610bd0565b905090565b60008183019050828110151515611bbc57fe5b80905092915050565b6000611bd2602554610bd0565b905090565b600080611be2611fc6565b9050611c0986611bfb898b611b3790919063ffffffff16565b611b6f90919063ffffffff16565b9150611c66611c57611c248684611b3790919063ffffffff16565b611c49611c3a8988611b3790919063ffffffff16565b8c611b3790919063ffffffff16565b611b6f90919063ffffffff16565b83611ba990919063ffffffff16565b9150509695505050505050565b6000611c7d611fef565b1515611c8857600080fd5b611c93603954611647565b611d4b611c9e611fa2565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611d0157600080fd5b505af1158015611d15573d6000803e3d6000fd5b505050506040513d6020811015611d2b57600080fd5b810190808051906020019092919050505084611b0790919063ffffffff16565b811515611d5457fe5b069050919050565b600081905081831015611d6d578290505b92915050565b60003273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611e885750611db261209f565b73ffffffffffffffffffffffffffffffffffffffff16639b19251a336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611e4c57600080fd5b505af1158015611e60573d6000803e3d6000fd5b505050506040513d6020811015611e7657600080fd5b81019080805190602001909291905050505b905090565b6000611e97611fef565b1515611ea257600080fd5b611f896001611f7b611eb5603954611647565b611f6d611ec0611fa2565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611f2357600080fd5b505af1158015611f37573d6000803e3d6000fd5b505050506040513d6020811015611f4d57600080fd5b810190808051906020019092919050505087611b0790919063ffffffff16565b611b6f90919063ffffffff16565b611ba990919063ffffffff16565b9050919050565b6000611f9d602d54610bd0565b905090565b6000611faf602754610bd0565b905090565b6000611fc1602954610bd0565b905090565b6000611fd3601e54610bd0565b73ffffffffffffffffffffffffffffffffffffffff1631905090565b600080611ffa611fa2565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561205d57600080fd5b505af1158015612071573d6000803e3d6000fd5b505050506040513d602081101561208757600080fd5b81019080805190602001909291905050501415905090565b60006120ac602e54610bd0565b9050905600a165627a7a723058209dc1dc042054f77e8593b178238231fb217ac3a6339579a0b22266e8364e4e840029", + "sourceMap": "150:6932:51:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;289:236:51;8:9:-1;5:2;;;30:1;27;20:12;5:2;289:236:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;397:48;402:31;;435:9;397:4;;;:48;;;:::i;:::-;389:57;;;;;;;;488:30;456:29;;:62;;;;;;;;;;;;;;;;;;289:236;;150:6932;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;150:6932:51:-;;;;;;;", + "deployedSourceMap": "150:6932:51:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;885:665:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;885:665:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6805:274;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6805:274:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5244:195:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5244:195:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4229:389:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4229:389:51;;;;;;;;;;;;;;;;;;;;;;;4625:290;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4625:290:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1601:665:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1601:665:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4743:147:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4743:147:2;;;;;;;;;;;;;;;;;;;;;;;1759:239;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1759:239:2;;;;;;;;;;;;;;;;;;;;;;;;;;;5982:816:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5982:816:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2611:1567;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2611:1567:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;200:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;200:44:51;;;;;;;;;;;;;;;;;;;;;;;;;;;1283:201:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1283:201:2;;;;;;;;;;;;;;;;;;;;;;;;;;;3064:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3064:159:2;;;;;;;;;;;;;;;;;;;;;;;5725:311:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5725:311:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5445:191:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4922:301:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4922:301:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7261:189:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7261:189:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2273:287:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2273:287:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:173:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;834:173:2;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;6123:431:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6123:431:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;885:665:51:-;997:33;1086:457;1424:105;1484:44;1498:29;;1484:13;:44::i;:::-;1424:38;1438:23;;1424:13;:38::i;:::-;:59;;:105;;;;:::i;:::-;1086:303;1122:253;1203:154;1243:22;:20;:22::i;:::-;1291:44;1305:29;;1291:13;:44::i;:::-;1203:14;:154::i;:::-;1122:38;1136:23;;1122:13;:38::i;:::-;:59;;:253;;;;:::i;:::-;1086:14;:18;;:303;;;;:::i;:::-;:320;;:457;;;;:::i;:::-;1046:497;;885:665;;;:::o;6805:274::-;6918:22;6999:29;;;;;;;;;;;6976:72;;;7049:8;7059:12;6976:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6976:96:51;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6976:96:51;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6976:96:51;;;;;;;;;;;;;;;;;;;;;;;;;6956:116;;;;;6805:274;;;;:::o;5244:195:1:-;5335:20;5386:19;:17;:19::i;:::-;:34;;;5421:10;5386:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5386:46:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5386:46:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5386:46:1;;;;;;;;;;;;;;;;5371:61;;5244:195;;;:::o;4229:389:51:-;4315:18;4360:251;4533:57;4547:42;;4533:13;:57::i;:::-;4360:144;4444:17;:15;:17::i;:::-;:37;;;:39;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4444:39:51;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4444:39:51;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4444:39:51;;;;;;;;;;;;;;;;4360:55;4374:40;;4360:13;:55::i;:::-;:59;;:144;;;;:::i;:::-;:148;;:251;;;;:::i;:::-;4347:264;;4229:389;:::o;4625:290::-;4727:12;4840:68;4889:18;4898:8;4889:4;:8;;:18;;;;:::i;:::-;4840:44;4854:29;;4840:13;:44::i;:::-;:48;;:68;;;;:::i;:::-;4765:56;4774:46;4788:31;;4774:13;:46::i;:::-;4765:4;:8;;:56;;;;:::i;:::-;:143;4755:153;;4625:290;;;;:::o;264:18:67:-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;1601:665:51:-;1695:18;1729:26;1781:12;:10;:12::i;:::-;:32;;;1814:11;1781:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1781:45:51;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1781:45:51;;;;;;39:16:-1;36:1;17:17;2:54;1781:45:51;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1781:45:51;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;1781:45:51;;;;;;;;;;;;;;;;;1766:60;;;;;1849:410;1881:17;:15;:17::i;:::-;:46;;;:48;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1881:48:51;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1881:48:51;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1881:48:51;;;;;;;;;;;;;;;;1943:58;1957:43;;1943:13;:58::i;:::-;2015:60;2029:45;;2015:13;:60::i;:::-;2089:59;2103:44;;2089:13;:59::i;:::-;2162:61;2176:46;;2162:13;:61::i;:::-;2237:9;2247:1;2237:12;;;;;;;;;;;;;;;;;;1849:18;:410::i;:::-;1836:423;;1601:665;;;;:::o;4743:147:2:-;4820:17;4865:18;4879:3;4865:13;:18::i;:::-;4853:30;;4743:147;:::o;1759:239::-;1827:17;1887:18;:16;:18::i;:::-;:104;;;;;1947:44;1961:29;;1947:13;:44::i;:::-;1921:22;:20;:22::i;:::-;:70;;1887:104;1860:131;;1759:239;:::o;5982:816:51:-;6305:28;6349:23;6375:110;6458:26;6375:78;6437:15;6375:57;6390:13;6405:26;6375:14;:57::i;:::-;:61;;:78;;;;:::i;:::-;:82;;:110;;;;:::i;:::-;6349:136;;6530:261;6729:61;6760:29;6729:26;:30;;:61;;;;:::i;:::-;6530:181;6659:51;6693:16;6659:29;:33;;:51;;;;:::i;:::-;6530:111;6563:77;6613:26;6563:45;6594:13;6563:26;:30;;:45;;;;:::i;:::-;:49;;:77;;;;:::i;:::-;6530:15;:32;;:111;;;;:::i;:::-;:128;;:181;;;;:::i;:::-;:198;;:261;;;;:::i;:::-;6495:296;;5982:816;;;;;;;;;:::o;2611:1567::-;2729:18;2805:38;2853:20;2771:23;:21;:23::i;:::-;2763:32;;;;;;;;2922:12;:10;:12::i;:::-;:32;;;2955:11;2922:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2922:45:51;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2922:45:51;;;;;;39:16:-1;36:1;17:17;2:54;2922:45:51;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2922:45:51;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;2922:45:51;;;;;;;;;;;;;;;;;2883:84;;;;;;;;3002:21;:28;2985:13;:45;;2977:54;;;;;;;;3062:21;:28;3045:13;:45;3041:1131;;;3178:431;3214:17;:15;:17::i;:::-;:37;;;:39;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3214:39:51;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3214:39:51;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3214:39:51;;;;;;;;;;;;;;;;3271:59;3285:44;;3271:13;:59::i;:::-;3348:61;3362:46;;3348:13;:61::i;:::-;3427:59;3441:44;;3427:13;:59::i;:::-;3504:61;3518:46;;3504:13;:61::i;:::-;3583:12;3178:18;:431::i;:::-;3165:444;;3041:1131;;;3704:457;3740:17;:15;:17::i;:::-;:37;;;:39;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3740:39:51;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3740:39:51;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3740:39:51;;;;;;;;;;;;;;;;3797:59;3811:44;;3797:13;:59::i;:::-;3874:61;3888:46;;3874:13;:61::i;:::-;3953:60;3967:45;;3953:13;:60::i;:::-;4031:62;4045:47;;4031:13;:62::i;:::-;4111:21;4133:13;4111:36;;;;;;;;;;;;;;;;;;3704:18;:457::i;:::-;3691:470;;3041:1131;2611:1567;;;;;;:::o;200:44::-;;;;;;;;;;;;;:::o;1283:201:2:-;1354:20;1433:44;1447:29;;1433:13;:44::i;:::-;1408:22;:20;:22::i;:::-;:69;1390:87;;1283:201;:::o;3064:159::-;3140:22;3195:21;3212:3;3195:16;:21::i;:::-;3178:38;;3064:159;:::o;5725:311:1:-;5808:8;5905:22;:20;:22::i;:::-;5851:19;:17;:19::i;:::-;:43;;;5895:5;5851:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5851:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5851:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5851:50:1;;;;;;;;;;;;;;;;:76;5850:179;;;;;5988:40;6002:25;;5988:13;:40::i;:::-;5945:17;:15;:17::i;:::-;:32;;;5978:5;5945:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5945:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5945:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5945:39:1;;;;;;;;;;;;;;;;:83;;5850:179;5832:197;;5725:311;;;:::o;5445:191::-;5534:20;5585:19;:17;:19::i;:::-;:32;;;5618:10;5585:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5585:44:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5585:44:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5585:44:1;;;;;;;;;;;;;;;;5570:59;;5445:191;;;:::o;4922:301:51:-;5034:12;5147:69;5197:18;5206:8;5197:4;:8;;:18;;;;:::i;:::-;5147:45;5161:30;;5147:13;:45::i;:::-;:49;;:69;;;;:::i;:::-;5071:57;5080:47;5094:32;;5080:13;:47::i;:::-;5071:4;:8;;:57;;;;:::i;:::-;:145;5062:154;;4922:301;;;;:::o;7261:189:2:-;7349:20;7400:19;:17;:19::i;:::-;:31;;;7432:10;7400:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7400:43:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7400:43:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7400:43:2;;;;;;;;;;;;;;;;7385:58;;7261:189;;;:::o;2273:287:51:-;2374:12;2486:67;2534:18;2543:8;2534:4;:8;;:18;;;;:::i;:::-;2486:43;2500:28;;2486:13;:43::i;:::-;:47;;:67;;;;:::i;:::-;2412:55;2421:45;2435:30;;2421:13;:45::i;:::-;2412:4;:8;;:55;;;;:::i;:::-;:141;2402:151;;2273:287;;;;:::o;834:173:2:-;907:19;960;:17;:19::i;:::-;:38;;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;960:40:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;960:40:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;960:40:2;;;;;;;;;;;;;;;;959:41;942:58;;834:173;:::o;344:31:67:-;;;;;;;;;;;;;:::o;6123:431:1:-;6204:8;6301:22;:20;:22::i;:::-;6247:19;:17;:19::i;:::-;:43;;;6291:5;6247:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6247:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6247:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6247:50:1;;;;;;;;;;;;;;;;:76;6246:186;;;;;6384:47;6398:32;;6384:13;:47::i;:::-;6341:17;:15;:17::i;:::-;:32;;;6374:5;6341:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6341:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6341:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6341:39:1;;;;;;;;;;;;;;;;:90;;6246:186;:301;;;;;6492:54;6506:39;;6492:13;:54::i;:::-;6449:18;:16;:18::i;:::-;:32;;;6482:5;6449:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6449:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6449:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6449:39:1;;;;;;;;;;;;;;;;:97;;6246:301;6228:319;;6123:431;;;:::o;1060:116:84:-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;143:139:24:-;201:12;229:1;222:8;;246:1;242;:5;238:40;;;268:1;261:8;;238:40;143:139;;;;:::o;203:380:84:-;263:9;495:1;489:2;:7;485:36;;;513:1;506:8;;;;485:36;536:2;531;:7;527:11;;561:2;555;551:1;:6;;;;;;;;:12;544:20;;;;;;577:1;570:8;;203:380;;;;;:::o;665:283::-;725:7;941:2;936;:7;;;;;;;;929:14;;665:283;;;;:::o;5398:198:2:-;5474:27;5547:41;5560:27;;5547:12;:41::i;:::-;5517:72;;5398:198;:::o;5602:191::-;5676:25;5745:40;5758:26;;5745:12;:40::i;:::-;5717:69;;5602:191;:::o;1238:128:84:-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o;5799:170:2:-;5868:20;5927:34;5940:20;;5927:12;:34::i;:::-;5904:58;;5799:170;:::o;5230:745:51:-;5545:22;5583:17;5603:10;:8;:10::i;:::-;5583:30;;5687:83;5739:30;5688:45;5704:28;5688:11;:15;;:45;;;;:::i;:::-;5687:51;;:83;;;;:::i;:::-;5670:100;;5847:121;5866:101;5926:40;5940:25;5926:9;:13;;:40;;;;:::i;:::-;5866:55;5882:38;5896:23;5882:9;:13;;:38;;;;:::i;:::-;5866:11;:15;;:55;;;;:::i;:::-;:59;;:101;;;;:::i;:::-;5847:14;:18;;:121;;;;:::i;:::-;5830:138;;5230:745;;;;;;;;;:::o;3862:332:2:-;3947:22;3993:26;:24;:26::i;:::-;3985:35;;;;;;;;4149:38;4163:23;;4149:13;:38::i;:::-;4082:52;4092:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4092:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4092:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4092:41:2;;;;;;;;;;;;;;;;4082:5;:9;;:52;;;;:::i;:::-;:105;;;;;;;;4053:134;;3862:332;;;:::o;286:139:24:-;344:12;372:1;365:8;;389:1;385;:5;381:40;;;411:1;404:8;;381:40;286:139;;;;:::o;707:316:6:-;787:27;956:9;942:23;;:10;:23;;;941:75;;;;970:24;:22;:24::i;:::-;:34;;;1005:10;970:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;970:46:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;970:46:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;970:46:6;;;;;;;;;;;;;;;;941:75;916:100;;707:316;:::o;3369:320:2:-;3457:14;3495:26;:24;:26::i;:::-;3487:35;;;;;;;;3553:129;3680:1;3553:109;3623:38;3637:23;;3623:13;:38::i;:::-;3553:52;3563:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3563:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3563:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3563:41:2;;;;;;;;;;;;;;;;3553:5;:9;;:52;;;;:::i;:::-;:69;;:109;;;;:::i;:::-;:126;;:129;;;;:::i;:::-;3532:150;;3369:320;;;:::o;6815:199::-;6891:27;6964:42;6977:28;;6964:12;:42::i;:::-;6934:73;;6815:199;:::o;6204:::-;6280:27;6353:42;6366:28;;6353:12;:42::i;:::-;6323:73;;6204:199;:::o;6614:195::-;6689:26;6760:41;6773:27;;6760:12;:41::i;:::-;6731:71;;6614:195;:::o;1234:159:1:-;1301:12;1336:42;1349:28;;1336:12;:42::i;:::-;:50;;;1329:57;;1234:159;:::o;4343:172:2:-;4426:11;4507:1;4462:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4462:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4462:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4462:41:2;;;;;;;;;;;;;;;;:46;;4453:55;;4343:172;:::o;5019:219:1:-;5100:32;5183:47;5196:33;;5183:12;:47::i;:::-;5148:83;;5019:219;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"./../interface/DgxDemurrageCalculator.sol\";\nimport \"./../common/DaoCommon.sol\";\nimport \"./../lib/MathHelper.sol\";\n\n\ncontract DaoCalculatorService is DaoCommon {\n\n address public dgxDemurrageCalculatorAddress;\n\n using MathHelper for MathHelper;\n\n constructor(address _resolver, address _dgxDemurrageCalculatorAddress)\n public\n {\n require(init(CONTRACT_SERVICE_DAO_CALCULATOR, _resolver));\n dgxDemurrageCalculatorAddress = _dgxDemurrageCalculatorAddress;\n }\n\n\n /**\n @notice Calculate the additional lockedDGDStake, given the DGDs that the user has just locked in\n @dev The earlier the locking happens, the more lockedDGDStake the user will get\n The formula is: additionalLockedDGDStake = (90 - t)/80 * additionalDGD if t is more than 10. If t<=10, additionalLockedDGDStake = additionalDGD\n */\n function calculateAdditionalLockedDGDStake(uint256 _additionalDgd)\n public\n view\n returns (uint256 _additionalLockedDGDStake)\n {\n _additionalLockedDGDStake =\n _additionalDgd.mul(\n getUintConfig(CONFIG_QUARTER_DURATION)\n .sub(\n MathHelper.max(\n currentTimeInQuarter(),\n getUintConfig(CONFIG_LOCKING_PHASE_DURATION)\n )\n )\n )\n .div(\n getUintConfig(CONFIG_QUARTER_DURATION)\n .sub(getUintConfig(CONFIG_LOCKING_PHASE_DURATION))\n );\n }\n\n\n // Quorum is in terms of lockedDGDStake\n function minimumDraftQuorum(bytes32 _proposalId)\n public\n view\n returns (uint256 _minQuorum)\n {\n uint256[] memory _fundings;\n\n (_fundings,) = daoStorage().readProposalFunding(_proposalId);\n _minQuorum = calculateMinQuorum(\n daoStakeStorage().totalModeratorLockedDGDStake(),\n getUintConfig(CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR),\n getUintConfig(CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR),\n getUintConfig(CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR),\n getUintConfig(CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR),\n _fundings[0]\n );\n }\n\n\n function draftQuotaPass(uint256 _for, uint256 _against)\n public\n view\n returns (bool _passed)\n {\n _passed = _for.mul(getUintConfig(CONFIG_DRAFT_QUOTA_DENOMINATOR))\n > getUintConfig(CONFIG_DRAFT_QUOTA_NUMERATOR).mul(_for.add(_against));\n }\n\n\n // Quorum is in terms of lockedDGDStake\n function minimumVotingQuorum(bytes32 _proposalId, uint256 _milestone_id)\n public\n view\n returns (uint256 _minQuorum)\n {\n require(senderIsAllowedToRead());\n uint256[] memory _weiAskedPerMilestone;\n uint256 _finalReward;\n (_weiAskedPerMilestone,_finalReward) = daoStorage().readProposalFunding(_proposalId);\n require(_milestone_id <= _weiAskedPerMilestone.length);\n if (_milestone_id == _weiAskedPerMilestone.length) {\n // calculate quorum for the final voting round\n _minQuorum = calculateMinQuorum(\n daoStakeStorage().totalLockedDGDStake(),\n getUintConfig(CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR),\n getUintConfig(CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR),\n getUintConfig(CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR),\n getUintConfig(CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR),\n _finalReward\n );\n } else {\n // calculate quorum for a voting round\n _minQuorum = calculateMinQuorum(\n daoStakeStorage().totalLockedDGDStake(),\n getUintConfig(CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR),\n getUintConfig(CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR),\n getUintConfig(CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR),\n getUintConfig(CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR),\n _weiAskedPerMilestone[_milestone_id]\n );\n }\n }\n\n\n // Quorum is in terms of lockedDGDStake\n function minimumVotingQuorumForSpecial()\n public\n view\n returns (uint256 _minQuorum)\n {\n _minQuorum = getUintConfig(CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR).mul(\n daoStakeStorage().totalLockedDGDStake()\n ).div(\n getUintConfig(CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR)\n );\n }\n\n\n function votingQuotaPass(uint256 _for, uint256 _against)\n public\n view\n returns (bool _passed)\n {\n _passed = _for.mul(getUintConfig(CONFIG_VOTING_QUOTA_DENOMINATOR))\n > getUintConfig(CONFIG_VOTING_QUOTA_NUMERATOR).mul(_for.add(_against));\n }\n\n\n function votingQuotaForSpecialPass(uint256 _for, uint256 _against)\n public\n view\n returns (bool _passed)\n {\n _passed =_for.mul(getUintConfig(CONFIG_SPECIAL_QUOTA_DENOMINATOR))\n > getUintConfig(CONFIG_SPECIAL_QUOTA_NUMERATOR).mul(_for.add(_against));\n }\n\n\n function calculateMinQuorum(\n uint256 _totalStake,\n uint256 _fixedQuorumPortionNumerator,\n uint256 _fixedQuorumPortionDenominator,\n uint256 _scalingFactorNumerator,\n uint256 _scalingFactorDenominator,\n uint256 _weiAsked\n )\n internal\n view\n returns (uint256 _minimumQuorum)\n {\n uint256 _weiInDao = weiInDao();\n // add the fixed portion of the quorum\n _minimumQuorum = (_totalStake.mul(_fixedQuorumPortionNumerator)).div(_fixedQuorumPortionDenominator);\n\n // add the dynamic portion of the quorum\n _minimumQuorum = _minimumQuorum.add(_totalStake.mul(_weiAsked.mul(_scalingFactorNumerator)).div(_weiInDao.mul(_scalingFactorDenominator)));\n }\n\n\n function calculateUserEffectiveBalance(\n uint256 _minimalParticipationPoint,\n uint256 _quarterPointScalingFactor,\n uint256 _reputationPointScalingFactor,\n uint256 _quarterPoint,\n uint256 _reputationPoint,\n uint256 _lockedDGDStake\n )\n public\n pure\n returns (uint256 _effectiveDGDBalance)\n {\n uint256 _baseDGDBalance = MathHelper.min(_quarterPoint, _minimalParticipationPoint).mul(_lockedDGDStake).div(_minimalParticipationPoint);\n _effectiveDGDBalance =\n _baseDGDBalance\n .mul(_quarterPointScalingFactor.add(_quarterPoint).sub(_minimalParticipationPoint))\n .mul(_reputationPointScalingFactor.add(_reputationPoint))\n .div(_quarterPointScalingFactor.mul(_reputationPointScalingFactor));\n }\n\n\n function calculateDemurrage(uint256 _balance, uint256 _daysElapsed)\n public\n view\n returns (uint256 _demurrageFees)\n {\n (_demurrageFees,) = DgxDemurrageCalculator(dgxDemurrageCalculatorAddress).calculateDemurrage(_balance, _daysElapsed);\n }\n\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/service/DaoCalculatorService.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/service/DaoCalculatorService.sol", + "exportedSymbols": { + "DaoCalculatorService": [ + 12494 + ] + }, + "id": 12495, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 12047, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:51" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interface/DgxDemurrageCalculator.sol", + "file": "./../interface/DgxDemurrageCalculator.sol", + "id": 12048, + "nodeType": "ImportDirective", + "scope": 12495, + "sourceUnit": 7900, + "src": "26:51:51", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommon.sol", + "file": "./../common/DaoCommon.sol", + "id": 12049, + "nodeType": "ImportDirective", + "scope": 12495, + "sourceUnit": 839, + "src": "78:35:51", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/MathHelper.sol", + "file": "./../lib/MathHelper.sol", + "id": 12050, + "nodeType": "ImportDirective", + "scope": 12495, + "sourceUnit": 8576, + "src": "114:33:51", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 12051, + "name": "DaoCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 838, + "src": "183:9:51", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommon_$838", + "typeString": "contract DaoCommon" + } + }, + "id": 12052, + "nodeType": "InheritanceSpecifier", + "src": "183:9:51" + } + ], + "contractDependencies": [ + 838, + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 12494, + "linearizedBaseContracts": [ + 12494, + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoCalculatorService", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 12054, + "name": "dgxDemurrageCalculatorAddress", + "nodeType": "VariableDeclaration", + "scope": 12494, + "src": "200:44:51", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12053, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "200:7:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "id": 12057, + "libraryName": { + "contractScope": null, + "id": 12055, + "name": "MathHelper", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8575, + "src": "257:10:51", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MathHelper_$8575", + "typeString": "library MathHelper" + } + }, + "nodeType": "UsingForDirective", + "src": "251:32:51", + "typeName": { + "contractScope": null, + "id": 12056, + "name": "MathHelper", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8575, + "src": "272:10:51", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MathHelper_$8575", + "typeString": "library MathHelper" + } + } + }, + { + "body": { + "id": 12075, + "nodeType": "Block", + "src": "379:146:51", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12066, + "name": "CONTRACT_SERVICE_DAO_CALCULATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1345, + "src": "402:31:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 12067, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12059, + "src": "435:9:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 12065, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "397:4:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 12068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "397:48:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12064, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "389:7:51", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 12069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "389:57:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12070, + "nodeType": "ExpressionStatement", + "src": "389:57:51" + }, + { + "expression": { + "argumentTypes": null, + "id": 12073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12071, + "name": "dgxDemurrageCalculatorAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12054, + "src": "456:29:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 12072, + "name": "_dgxDemurrageCalculatorAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12061, + "src": "488:30:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "456:62:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 12074, + "nodeType": "ExpressionStatement", + "src": "456:62:51" + } + ] + }, + "documentation": null, + "id": 12076, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12062, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12059, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 12076, + "src": "301:17:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12058, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "301:7:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12061, + "name": "_dgxDemurrageCalculatorAddress", + "nodeType": "VariableDeclaration", + "scope": 12076, + "src": "320:38:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12060, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "320:7:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "300:59:51" + }, + "payable": false, + "returnParameters": { + "id": 12063, + "nodeType": "ParameterList", + "parameters": [], + "src": "379:0:51" + }, + "scope": 12494, + "src": "289:236:51", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12112, + "nodeType": "Block", + "src": "1036:514:51", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12083, + "name": "_additionalLockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12081, + "src": "1046:25:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12106, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "1498:29:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12105, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1484:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1484:44:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12102, + "name": "CONFIG_QUARTER_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1417, + "src": "1438:23:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12101, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1424:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1424:38:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "1424:59:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1424:105:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12092, + "name": "currentTimeInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1057, + "src": "1243:20:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 12093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1243:22:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12095, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "1305:29:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12094, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1291:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1291:44:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12090, + "name": "MathHelper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8575, + "src": "1203:10:51", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MathHelper_$8575_$", + "typeString": "type(library MathHelper)" + } + }, + "id": 12091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": 8520, + "src": "1203:14:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1203:154:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12087, + "name": "CONFIG_QUARTER_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1417, + "src": "1136:23:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12086, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1122:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1122:38:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "1122:59:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1122:253:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12084, + "name": "_additionalDgd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12078, + "src": "1086:14:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "1086:18:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1086:303:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "1086:320:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1086:457:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1046:497:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12111, + "nodeType": "ExpressionStatement", + "src": "1046:497:51" + } + ] + }, + "documentation": "@notice Calculate the additional lockedDGDStake, given the DGDs that the user has just locked in\n@dev The earlier the locking happens, the more lockedDGDStake the user will get\nThe formula is: additionalLockedDGDStake = (90 - t)/80 * additionalDGD if t is more than 10. If t<=10, additionalLockedDGDStake = additionalDGD", + "id": 12113, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "calculateAdditionalLockedDGDStake", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12079, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12078, + "name": "_additionalDgd", + "nodeType": "VariableDeclaration", + "scope": 12113, + "src": "928:22:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12077, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "928:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "927:24:51" + }, + "payable": false, + "returnParameters": { + "id": 12082, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12081, + "name": "_additionalLockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 12113, + "src": "997:33:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12080, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "997:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "996:35:51" + }, + "scope": 12494, + "src": "885:665:51", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12158, + "nodeType": "Block", + "src": "1719:547:51", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 12123, + "name": "_fundings", + "nodeType": "VariableDeclaration", + "scope": 12159, + "src": "1729:26:51", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 12121, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1729:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12122, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1729:9:51", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 12124, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1729:26:51" + }, + { + "expression": { + "argumentTypes": null, + "id": 12132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 12125, + "name": "_fundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12123, + "src": "1767:9:51", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + null + ], + "id": 12126, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "1766:12:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$__$", + "typeString": "tuple(uint256[] memory,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12130, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12115, + "src": "1814:11:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12127, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "1781:10:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1781:12:51", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalFunding", + "nodeType": "MemberAccess", + "referencedDeclaration": 17162, + "src": "1781:32:51", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256[] memory,uint256)" + } + }, + "id": 12131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1781:45:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(uint256[] memory,uint256)" + } + }, + "src": "1766:60:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12133, + "nodeType": "ExpressionStatement", + "src": "1766:60:51" + }, + { + "expression": { + "argumentTypes": null, + "id": 12156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12134, + "name": "_minQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12118, + "src": "1836:10:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12136, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "1881:15:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1881:17:51", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "totalModeratorLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16056, + "src": "1881:46:51", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 12139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1881:48:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12141, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1432, + "src": "1957:43:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12140, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1943:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1943:58:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12144, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1435, + "src": "2029:45:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12143, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2015:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2015:60:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12147, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1438, + "src": "2103:44:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12146, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2089:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2089:59:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12150, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1441, + "src": "2176:46:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12149, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2162:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2162:61:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12152, + "name": "_fundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12123, + "src": "2237:9:51", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 12154, + "indexExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 12153, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2247:1:51", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2237:12:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 12135, + "name": "calculateMinQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12415, + "src": "1849:18:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) view returns (uint256)" + } + }, + "id": 12155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1849:410:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1836:423:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12157, + "nodeType": "ExpressionStatement", + "src": "1836:423:51" + } + ] + }, + "documentation": null, + "id": 12159, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "minimumDraftQuorum", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12116, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12115, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 12159, + "src": "1629:19:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 12114, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1629:7:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1628:21:51" + }, + "payable": false, + "returnParameters": { + "id": 12119, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12118, + "name": "_minQuorum", + "nodeType": "VariableDeclaration", + "scope": 12159, + "src": "1695:18:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12117, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1695:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1694:20:51" + }, + "scope": 12494, + "src": "1601:665:51", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12187, + "nodeType": "Block", + "src": "2392:168:51", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12168, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12166, + "src": "2402:7:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 12184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12172, + "name": "CONFIG_DRAFT_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1465, + "src": "2435:30:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12171, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2421:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2421:45:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12169, + "name": "_for", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12161, + "src": "2412:4:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "2412:8:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2412:55:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12181, + "name": "_against", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12163, + "src": "2543:8:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12179, + "name": "_for", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12161, + "src": "2534:4:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "2534:8:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2534:18:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12176, + "name": "CONFIG_DRAFT_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1462, + "src": "2500:28:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12175, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2486:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2486:43:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "2486:47:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2486:67:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2412:141:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2402:151:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 12186, + "nodeType": "ExpressionStatement", + "src": "2402:151:51" + } + ] + }, + "documentation": null, + "id": 12188, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "draftQuotaPass", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12164, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12161, + "name": "_for", + "nodeType": "VariableDeclaration", + "scope": 12188, + "src": "2297:12:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12160, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2297:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12163, + "name": "_against", + "nodeType": "VariableDeclaration", + "scope": 12188, + "src": "2311:16:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12162, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2311:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2296:32:51" + }, + "payable": false, + "returnParameters": { + "id": 12167, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12166, + "name": "_passed", + "nodeType": "VariableDeclaration", + "scope": 12188, + "src": "2374:12:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12165, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2374:4:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2373:14:51" + }, + "scope": 12494, + "src": "2273:287:51", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12280, + "nodeType": "Block", + "src": "2753:1425:51", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12198, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "2771:21:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 12199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2771:23:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12197, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2763:7:51", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 12200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2763:32:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12201, + "nodeType": "ExpressionStatement", + "src": "2763:32:51" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 12205, + "name": "_weiAskedPerMilestone", + "nodeType": "VariableDeclaration", + "scope": 12281, + "src": "2805:38:51", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 12203, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2805:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12204, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2805:9:51", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 12206, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "2805:38:51" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 12208, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 12281, + "src": "2853:20:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12207, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2853:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 12209, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "2853:20:51" + }, + { + "expression": { + "argumentTypes": null, + "id": 12218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 12210, + "name": "_weiAskedPerMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12205, + "src": "2884:21:51", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "argumentTypes": null, + "id": 12211, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12208, + "src": "2906:12:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 12212, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "2883:36:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(uint256[] memory,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12216, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12190, + "src": "2955:11:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12213, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2922:10:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2922:12:51", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalFunding", + "nodeType": "MemberAccess", + "referencedDeclaration": 17162, + "src": "2922:32:51", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256[] memory,uint256)" + } + }, + "id": 12217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2922:45:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(uint256[] memory,uint256)" + } + }, + "src": "2883:84:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12219, + "nodeType": "ExpressionStatement", + "src": "2883:84:51" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 12224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 12221, + "name": "_milestone_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12192, + "src": "2985:13:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 12222, + "name": "_weiAskedPerMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12205, + "src": "3002:21:51", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 12223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3002:28:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2985:45:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12220, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2977:7:51", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 12225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2977:54:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12226, + "nodeType": "ExpressionStatement", + "src": "2977:54:51" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 12230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 12227, + "name": "_milestone_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12192, + "src": "3045:13:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 12228, + "name": "_weiAskedPerMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12205, + "src": "3062:21:51", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 12229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3062:28:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3045:45:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 12278, + "nodeType": "Block", + "src": "3626:546:51", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12254, + "name": "_minQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12195, + "src": "3691:10:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12256, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "3740:15:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3740:17:51", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16054, + "src": "3740:37:51", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 12259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3740:39:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12261, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1444, + "src": "3811:44:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12260, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3797:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3797:59:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12264, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1447, + "src": "3888:46:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12263, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3874:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3874:61:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12267, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1450, + "src": "3967:45:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12266, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3953:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3953:60:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12270, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1453, + "src": "4045:47:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12269, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4031:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4031:62:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12272, + "name": "_weiAskedPerMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12205, + "src": "4111:21:51", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 12274, + "indexExpression": { + "argumentTypes": null, + "id": 12273, + "name": "_milestone_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12192, + "src": "4133:13:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4111:36:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 12255, + "name": "calculateMinQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12415, + "src": "3704:18:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) view returns (uint256)" + } + }, + "id": 12275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3704:457:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3691:470:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12277, + "nodeType": "ExpressionStatement", + "src": "3691:470:51" + } + ] + }, + "id": 12279, + "nodeType": "IfStatement", + "src": "3041:1131:51", + "trueBody": { + "id": 12253, + "nodeType": "Block", + "src": "3092:528:51", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12231, + "name": "_minQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12195, + "src": "3165:10:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12233, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "3214:15:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3214:17:51", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16054, + "src": "3214:37:51", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 12236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3214:39:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12238, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1444, + "src": "3285:44:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12237, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3271:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3271:59:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12241, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1447, + "src": "3362:46:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12240, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3348:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3348:61:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12244, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1456, + "src": "3441:44:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12243, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3427:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3427:59:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12247, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1459, + "src": "3518:46:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12246, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3504:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3504:61:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 12249, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12208, + "src": "3583:12:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 12232, + "name": "calculateMinQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12415, + "src": "3178:18:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) view returns (uint256)" + } + }, + "id": 12250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3178:431:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3165:444:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12252, + "nodeType": "ExpressionStatement", + "src": "3165:444:51" + } + ] + } + } + ] + }, + "documentation": null, + "id": 12281, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "minimumVotingQuorum", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12193, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12190, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 12281, + "src": "2640:19:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 12189, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2640:7:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12192, + "name": "_milestone_id", + "nodeType": "VariableDeclaration", + "scope": 12281, + "src": "2661:21:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12191, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2661:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2639:44:51" + }, + "payable": false, + "returnParameters": { + "id": 12196, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12195, + "name": "_minQuorum", + "nodeType": "VariableDeclaration", + "scope": 12281, + "src": "2729:18:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12194, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2729:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2728:20:51" + }, + "scope": 12494, + "src": "2611:1567:51", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12303, + "nodeType": "Block", + "src": "4339:279:51", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12286, + "name": "_minQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12284, + "src": "4347:10:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12298, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1525, + "src": "4547:42:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12297, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4533:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4533:57:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12291, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "4444:15:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4444:17:51", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16054, + "src": "4444:37:51", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 12294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4444:39:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12288, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1522, + "src": "4374:40:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12287, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4360:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4360:55:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "4360:59:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4360:144:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "4360:148:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4360:251:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4347:264:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12302, + "nodeType": "ExpressionStatement", + "src": "4347:264:51" + } + ] + }, + "documentation": null, + "id": 12304, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "minimumVotingQuorumForSpecial", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12282, + "nodeType": "ParameterList", + "parameters": [], + "src": "4267:2:51" + }, + "payable": false, + "returnParameters": { + "id": 12285, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12284, + "name": "_minQuorum", + "nodeType": "VariableDeclaration", + "scope": 12304, + "src": "4315:18:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12283, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4315:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4314:20:51" + }, + "scope": 12494, + "src": "4229:389:51", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12332, + "nodeType": "Block", + "src": "4745:170:51", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12313, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12311, + "src": "4755:7:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 12329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12317, + "name": "CONFIG_VOTING_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1471, + "src": "4788:31:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12316, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4774:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4774:46:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12314, + "name": "_for", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12306, + "src": "4765:4:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "4765:8:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4765:56:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12326, + "name": "_against", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12308, + "src": "4898:8:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12324, + "name": "_for", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12306, + "src": "4889:4:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "4889:8:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4889:18:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12321, + "name": "CONFIG_VOTING_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1468, + "src": "4854:29:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12320, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4840:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4840:44:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "4840:48:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4840:68:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4765:143:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4755:153:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 12331, + "nodeType": "ExpressionStatement", + "src": "4755:153:51" + } + ] + }, + "documentation": null, + "id": 12333, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "votingQuotaPass", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12309, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12306, + "name": "_for", + "nodeType": "VariableDeclaration", + "scope": 12333, + "src": "4650:12:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12305, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4650:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12308, + "name": "_against", + "nodeType": "VariableDeclaration", + "scope": 12333, + "src": "4664:16:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12307, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4664:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4649:32:51" + }, + "payable": false, + "returnParameters": { + "id": 12312, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12311, + "name": "_passed", + "nodeType": "VariableDeclaration", + "scope": 12333, + "src": "4727:12:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12310, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4727:4:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4726:14:51" + }, + "scope": 12494, + "src": "4625:290:51", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12361, + "nodeType": "Block", + "src": "5052:171:51", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12342, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12340, + "src": "5062:7:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 12358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12346, + "name": "CONFIG_SPECIAL_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "5094:32:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12345, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "5080:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5080:47:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12343, + "name": "_for", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12335, + "src": "5071:4:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "5071:8:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5071:57:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12355, + "name": "_against", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12337, + "src": "5206:8:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12353, + "name": "_for", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12335, + "src": "5197:4:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "5197:8:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5197:18:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12350, + "name": "CONFIG_SPECIAL_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1516, + "src": "5161:30:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12349, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "5147:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5147:45:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "5147:49:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5147:69:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5071:145:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5062:154:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 12360, + "nodeType": "ExpressionStatement", + "src": "5062:154:51" + } + ] + }, + "documentation": null, + "id": 12362, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "votingQuotaForSpecialPass", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12338, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12335, + "name": "_for", + "nodeType": "VariableDeclaration", + "scope": 12362, + "src": "4957:12:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12334, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4957:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12337, + "name": "_against", + "nodeType": "VariableDeclaration", + "scope": 12362, + "src": "4971:16:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12336, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4971:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4956:32:51" + }, + "payable": false, + "returnParameters": { + "id": 12341, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12340, + "name": "_passed", + "nodeType": "VariableDeclaration", + "scope": 12362, + "src": "5034:12:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12339, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5034:4:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5033:14:51" + }, + "scope": 12494, + "src": "4922:301:51", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12414, + "nodeType": "Block", + "src": "5573:402:51", + "statements": [ + { + "assignments": [ + 12380 + ], + "declarations": [ + { + "constant": false, + "id": 12380, + "name": "_weiInDao", + "nodeType": "VariableDeclaration", + "scope": 12415, + "src": "5583:17:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12379, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5583:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 12383, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12381, + "name": "weiInDao", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123, + "src": "5603:8:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 12382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5603:10:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5583:30:51" + }, + { + "expression": { + "argumentTypes": null, + "id": 12393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12384, + "name": "_minimumQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12377, + "src": "5670:14:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12391, + "name": "_fixedQuorumPortionDenominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12368, + "src": "5739:30:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12387, + "name": "_fixedQuorumPortionNumerator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12366, + "src": "5704:28:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12385, + "name": "_totalStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12364, + "src": "5688:11:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "5688:15:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5688:45:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 12389, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5687:47:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "5687:51:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5687:83:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5670:100:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12394, + "nodeType": "ExpressionStatement", + "src": "5670:100:51" + }, + { + "expression": { + "argumentTypes": null, + "id": 12412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12395, + "name": "_minimumQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12377, + "src": "5830:14:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12408, + "name": "_scalingFactorDenominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12372, + "src": "5940:25:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12406, + "name": "_weiInDao", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12380, + "src": "5926:9:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "5926:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5926:40:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12402, + "name": "_scalingFactorNumerator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12370, + "src": "5896:23:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12400, + "name": "_weiAsked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12374, + "src": "5882:9:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "5882:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5882:38:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12398, + "name": "_totalStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12364, + "src": "5866:11:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "5866:15:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5866:55:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "5866:59:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5866:101:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12396, + "name": "_minimumQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12377, + "src": "5847:14:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "5847:18:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5847:121:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5830:138:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12413, + "nodeType": "ExpressionStatement", + "src": "5830:138:51" + } + ] + }, + "documentation": null, + "id": 12415, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "calculateMinQuorum", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12375, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12364, + "name": "_totalStake", + "nodeType": "VariableDeclaration", + "scope": 12415, + "src": "5267:19:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12363, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5267:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12366, + "name": "_fixedQuorumPortionNumerator", + "nodeType": "VariableDeclaration", + "scope": 12415, + "src": "5296:36:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12365, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5296:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12368, + "name": "_fixedQuorumPortionDenominator", + "nodeType": "VariableDeclaration", + "scope": 12415, + "src": "5342:38:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12367, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5342:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12370, + "name": "_scalingFactorNumerator", + "nodeType": "VariableDeclaration", + "scope": 12415, + "src": "5390:31:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12369, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5390:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12372, + "name": "_scalingFactorDenominator", + "nodeType": "VariableDeclaration", + "scope": 12415, + "src": "5431:33:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12371, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5431:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12374, + "name": "_weiAsked", + "nodeType": "VariableDeclaration", + "scope": 12415, + "src": "5474:17:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12373, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5474:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5257:240:51" + }, + "payable": false, + "returnParameters": { + "id": 12378, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12377, + "name": "_minimumQuorum", + "nodeType": "VariableDeclaration", + "scope": 12415, + "src": "5545:22:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12376, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5545:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5544:24:51" + }, + "scope": 12494, + "src": "5230:745:51", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 12471, + "nodeType": "Block", + "src": "6339:459:51", + "statements": [ + { + "assignments": [ + 12433 + ], + "declarations": [ + { + "constant": false, + "id": 12433, + "name": "_baseDGDBalance", + "nodeType": "VariableDeclaration", + "scope": 12472, + "src": "6349:23:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12432, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6349:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 12445, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12443, + "name": "_minimalParticipationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12417, + "src": "6458:26:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12440, + "name": "_lockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12427, + "src": "6437:15:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12436, + "name": "_quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12423, + "src": "6390:13:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 12437, + "name": "_minimalParticipationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12417, + "src": "6405:26:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12434, + "name": "MathHelper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8575, + "src": "6375:10:51", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MathHelper_$8575_$", + "typeString": "type(library MathHelper)" + } + }, + "id": 12435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "min", + "nodeType": "MemberAccess", + "referencedDeclaration": 8543, + "src": "6375:14:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6375:57:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "6375:61:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6375:78:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "6375:82:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6375:110:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6349:136:51" + }, + { + "expression": { + "argumentTypes": null, + "id": 12469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12446, + "name": "_effectiveDGDBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12430, + "src": "6495:20:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12466, + "name": "_reputationPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12421, + "src": "6760:29:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12464, + "name": "_quarterPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12419, + "src": "6729:26:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "6729:30:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6729:61:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12460, + "name": "_reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12425, + "src": "6693:16:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12458, + "name": "_reputationPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12421, + "src": "6659:29:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "6659:33:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6659:51:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12454, + "name": "_minimalParticipationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12417, + "src": "6613:26:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12451, + "name": "_quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12423, + "src": "6594:13:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12449, + "name": "_quarterPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12419, + "src": "6563:26:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "6563:30:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6563:45:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "6563:49:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6563:77:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12447, + "name": "_baseDGDBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12433, + "src": "6530:15:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "6530:32:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6530:111:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "6530:128:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6530:181:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "6530:198:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6530:261:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6495:296:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12470, + "nodeType": "ExpressionStatement", + "src": "6495:296:51" + } + ] + }, + "documentation": null, + "id": 12472, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "calculateUserEffectiveBalance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12428, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12417, + "name": "_minimalParticipationPoint", + "nodeType": "VariableDeclaration", + "scope": 12472, + "src": "6030:34:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12416, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6030:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12419, + "name": "_quarterPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 12472, + "src": "6074:34:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12418, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6074:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12421, + "name": "_reputationPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 12472, + "src": "6118:37:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12420, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6118:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12423, + "name": "_quarterPoint", + "nodeType": "VariableDeclaration", + "scope": 12472, + "src": "6165:21:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6165:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12425, + "name": "_reputationPoint", + "nodeType": "VariableDeclaration", + "scope": 12472, + "src": "6196:24:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12424, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6196:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12427, + "name": "_lockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 12472, + "src": "6230:23:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12426, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6230:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6020:239:51" + }, + "payable": false, + "returnParameters": { + "id": 12431, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12430, + "name": "_effectiveDGDBalance", + "nodeType": "VariableDeclaration", + "scope": 12472, + "src": "6305:28:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12429, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6305:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6304:30:51" + }, + "scope": 12494, + "src": "5982:816:51", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12492, + "nodeType": "Block", + "src": "6946:133:51", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 12481, + "name": "_demurrageFees", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12479, + "src": "6957:14:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + null + ], + "id": 12482, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "6956:17:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$__$", + "typeString": "tuple(uint256,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12487, + "name": "_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12474, + "src": "7049:8:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 12488, + "name": "_daysElapsed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12476, + "src": "7059:12:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12484, + "name": "dgxDemurrageCalculatorAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12054, + "src": "6999:29:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 12483, + "name": "DgxDemurrageCalculator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7899, + "src": "6976:22:51", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DgxDemurrageCalculator_$7899_$", + "typeString": "type(contract DgxDemurrageCalculator)" + } + }, + "id": 12485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6976:53:51", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DgxDemurrageCalculator_$7899", + "typeString": "contract DgxDemurrageCalculator" + } + }, + "id": 12486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "calculateDemurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 7898, + "src": "6976:72:51", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_bool_$", + "typeString": "function (uint256,uint256) view external returns (uint256,bool)" + } + }, + "id": 12489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6976:96:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$", + "typeString": "tuple(uint256,bool)" + } + }, + "src": "6956:116:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12491, + "nodeType": "ExpressionStatement", + "src": "6956:116:51" + } + ] + }, + "documentation": null, + "id": 12493, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "calculateDemurrage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12477, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12474, + "name": "_balance", + "nodeType": "VariableDeclaration", + "scope": 12493, + "src": "6833:16:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12473, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6833:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12476, + "name": "_daysElapsed", + "nodeType": "VariableDeclaration", + "scope": 12493, + "src": "6851:20:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12475, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6851:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6832:40:51" + }, + "payable": false, + "returnParameters": { + "id": 12480, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12479, + "name": "_demurrageFees", + "nodeType": "VariableDeclaration", + "scope": 12493, + "src": "6918:22:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12478, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6918:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6917:24:51" + }, + "scope": 12494, + "src": "6805:274:51", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 12495, + "src": "150:6932:51" + } + ], + "src": "0:7083:51" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/service/DaoCalculatorService.sol", + "exportedSymbols": { + "DaoCalculatorService": [ + 12494 + ] + }, + "id": 12495, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 12047, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:51" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interface/DgxDemurrageCalculator.sol", + "file": "./../interface/DgxDemurrageCalculator.sol", + "id": 12048, + "nodeType": "ImportDirective", + "scope": 12495, + "sourceUnit": 7900, + "src": "26:51:51", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommon.sol", + "file": "./../common/DaoCommon.sol", + "id": 12049, + "nodeType": "ImportDirective", + "scope": 12495, + "sourceUnit": 839, + "src": "78:35:51", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/MathHelper.sol", + "file": "./../lib/MathHelper.sol", + "id": 12050, + "nodeType": "ImportDirective", + "scope": 12495, + "sourceUnit": 8576, + "src": "114:33:51", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 12051, + "name": "DaoCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 838, + "src": "183:9:51", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommon_$838", + "typeString": "contract DaoCommon" + } + }, + "id": 12052, + "nodeType": "InheritanceSpecifier", + "src": "183:9:51" + } + ], + "contractDependencies": [ + 838, + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 12494, + "linearizedBaseContracts": [ + 12494, + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoCalculatorService", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 12054, + "name": "dgxDemurrageCalculatorAddress", + "nodeType": "VariableDeclaration", + "scope": 12494, + "src": "200:44:51", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12053, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "200:7:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "id": 12057, + "libraryName": { + "contractScope": null, + "id": 12055, + "name": "MathHelper", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8575, + "src": "257:10:51", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MathHelper_$8575", + "typeString": "library MathHelper" + } + }, + "nodeType": "UsingForDirective", + "src": "251:32:51", + "typeName": { + "contractScope": null, + "id": 12056, + "name": "MathHelper", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8575, + "src": "272:10:51", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MathHelper_$8575", + "typeString": "library MathHelper" + } + } + }, + { + "body": { + "id": 12075, + "nodeType": "Block", + "src": "379:146:51", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12066, + "name": "CONTRACT_SERVICE_DAO_CALCULATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1345, + "src": "402:31:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 12067, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12059, + "src": "435:9:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 12065, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "397:4:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 12068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "397:48:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12064, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "389:7:51", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 12069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "389:57:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12070, + "nodeType": "ExpressionStatement", + "src": "389:57:51" + }, + { + "expression": { + "argumentTypes": null, + "id": 12073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12071, + "name": "dgxDemurrageCalculatorAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12054, + "src": "456:29:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 12072, + "name": "_dgxDemurrageCalculatorAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12061, + "src": "488:30:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "456:62:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 12074, + "nodeType": "ExpressionStatement", + "src": "456:62:51" + } + ] + }, + "documentation": null, + "id": 12076, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12062, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12059, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 12076, + "src": "301:17:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12058, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "301:7:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12061, + "name": "_dgxDemurrageCalculatorAddress", + "nodeType": "VariableDeclaration", + "scope": 12076, + "src": "320:38:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12060, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "320:7:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "300:59:51" + }, + "payable": false, + "returnParameters": { + "id": 12063, + "nodeType": "ParameterList", + "parameters": [], + "src": "379:0:51" + }, + "scope": 12494, + "src": "289:236:51", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12112, + "nodeType": "Block", + "src": "1036:514:51", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12083, + "name": "_additionalLockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12081, + "src": "1046:25:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12106, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "1498:29:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12105, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1484:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1484:44:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12102, + "name": "CONFIG_QUARTER_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1417, + "src": "1438:23:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12101, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1424:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1424:38:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "1424:59:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1424:105:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12092, + "name": "currentTimeInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1057, + "src": "1243:20:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 12093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1243:22:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12095, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "1305:29:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12094, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1291:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1291:44:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12090, + "name": "MathHelper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8575, + "src": "1203:10:51", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MathHelper_$8575_$", + "typeString": "type(library MathHelper)" + } + }, + "id": 12091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "referencedDeclaration": 8520, + "src": "1203:14:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1203:154:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12087, + "name": "CONFIG_QUARTER_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1417, + "src": "1136:23:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12086, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1122:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1122:38:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "1122:59:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1122:253:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12084, + "name": "_additionalDgd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12078, + "src": "1086:14:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "1086:18:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1086:303:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "1086:320:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1086:457:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1046:497:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12111, + "nodeType": "ExpressionStatement", + "src": "1046:497:51" + } + ] + }, + "documentation": "@notice Calculate the additional lockedDGDStake, given the DGDs that the user has just locked in\n@dev The earlier the locking happens, the more lockedDGDStake the user will get\nThe formula is: additionalLockedDGDStake = (90 - t)/80 * additionalDGD if t is more than 10. If t<=10, additionalLockedDGDStake = additionalDGD", + "id": 12113, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "calculateAdditionalLockedDGDStake", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12079, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12078, + "name": "_additionalDgd", + "nodeType": "VariableDeclaration", + "scope": 12113, + "src": "928:22:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12077, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "928:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "927:24:51" + }, + "payable": false, + "returnParameters": { + "id": 12082, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12081, + "name": "_additionalLockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 12113, + "src": "997:33:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12080, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "997:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "996:35:51" + }, + "scope": 12494, + "src": "885:665:51", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12158, + "nodeType": "Block", + "src": "1719:547:51", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 12123, + "name": "_fundings", + "nodeType": "VariableDeclaration", + "scope": 12159, + "src": "1729:26:51", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 12121, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1729:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12122, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1729:9:51", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 12124, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1729:26:51" + }, + { + "expression": { + "argumentTypes": null, + "id": 12132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 12125, + "name": "_fundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12123, + "src": "1767:9:51", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + null + ], + "id": 12126, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "1766:12:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$__$", + "typeString": "tuple(uint256[] memory,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12130, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12115, + "src": "1814:11:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12127, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "1781:10:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1781:12:51", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalFunding", + "nodeType": "MemberAccess", + "referencedDeclaration": 17162, + "src": "1781:32:51", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256[] memory,uint256)" + } + }, + "id": 12131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1781:45:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(uint256[] memory,uint256)" + } + }, + "src": "1766:60:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12133, + "nodeType": "ExpressionStatement", + "src": "1766:60:51" + }, + { + "expression": { + "argumentTypes": null, + "id": 12156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12134, + "name": "_minQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12118, + "src": "1836:10:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12136, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "1881:15:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1881:17:51", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "totalModeratorLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16056, + "src": "1881:46:51", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 12139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1881:48:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12141, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1432, + "src": "1957:43:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12140, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1943:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1943:58:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12144, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1435, + "src": "2029:45:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12143, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2015:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2015:60:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12147, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1438, + "src": "2103:44:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12146, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2089:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2089:59:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12150, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1441, + "src": "2176:46:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12149, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2162:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2162:61:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12152, + "name": "_fundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12123, + "src": "2237:9:51", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 12154, + "indexExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 12153, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2247:1:51", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2237:12:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 12135, + "name": "calculateMinQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12415, + "src": "1849:18:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) view returns (uint256)" + } + }, + "id": 12155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1849:410:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1836:423:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12157, + "nodeType": "ExpressionStatement", + "src": "1836:423:51" + } + ] + }, + "documentation": null, + "id": 12159, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "minimumDraftQuorum", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12116, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12115, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 12159, + "src": "1629:19:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 12114, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1629:7:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1628:21:51" + }, + "payable": false, + "returnParameters": { + "id": 12119, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12118, + "name": "_minQuorum", + "nodeType": "VariableDeclaration", + "scope": 12159, + "src": "1695:18:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12117, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1695:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1694:20:51" + }, + "scope": 12494, + "src": "1601:665:51", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12187, + "nodeType": "Block", + "src": "2392:168:51", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12168, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12166, + "src": "2402:7:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 12184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12172, + "name": "CONFIG_DRAFT_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1465, + "src": "2435:30:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12171, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2421:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2421:45:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12169, + "name": "_for", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12161, + "src": "2412:4:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "2412:8:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2412:55:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12181, + "name": "_against", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12163, + "src": "2543:8:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12179, + "name": "_for", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12161, + "src": "2534:4:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "2534:8:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2534:18:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12176, + "name": "CONFIG_DRAFT_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1462, + "src": "2500:28:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12175, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2486:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2486:43:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "2486:47:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2486:67:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2412:141:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2402:151:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 12186, + "nodeType": "ExpressionStatement", + "src": "2402:151:51" + } + ] + }, + "documentation": null, + "id": 12188, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "draftQuotaPass", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12164, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12161, + "name": "_for", + "nodeType": "VariableDeclaration", + "scope": 12188, + "src": "2297:12:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12160, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2297:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12163, + "name": "_against", + "nodeType": "VariableDeclaration", + "scope": 12188, + "src": "2311:16:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12162, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2311:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2296:32:51" + }, + "payable": false, + "returnParameters": { + "id": 12167, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12166, + "name": "_passed", + "nodeType": "VariableDeclaration", + "scope": 12188, + "src": "2374:12:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12165, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2374:4:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2373:14:51" + }, + "scope": 12494, + "src": "2273:287:51", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12280, + "nodeType": "Block", + "src": "2753:1425:51", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12198, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "2771:21:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 12199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2771:23:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12197, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2763:7:51", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 12200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2763:32:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12201, + "nodeType": "ExpressionStatement", + "src": "2763:32:51" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 12205, + "name": "_weiAskedPerMilestone", + "nodeType": "VariableDeclaration", + "scope": 12281, + "src": "2805:38:51", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 12203, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2805:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12204, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2805:9:51", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 12206, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "2805:38:51" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 12208, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 12281, + "src": "2853:20:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12207, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2853:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 12209, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "2853:20:51" + }, + { + "expression": { + "argumentTypes": null, + "id": 12218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 12210, + "name": "_weiAskedPerMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12205, + "src": "2884:21:51", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "argumentTypes": null, + "id": 12211, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12208, + "src": "2906:12:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 12212, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "2883:36:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(uint256[] memory,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12216, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12190, + "src": "2955:11:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12213, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2922:10:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2922:12:51", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalFunding", + "nodeType": "MemberAccess", + "referencedDeclaration": 17162, + "src": "2922:32:51", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256[] memory,uint256)" + } + }, + "id": 12217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2922:45:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(uint256[] memory,uint256)" + } + }, + "src": "2883:84:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12219, + "nodeType": "ExpressionStatement", + "src": "2883:84:51" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 12224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 12221, + "name": "_milestone_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12192, + "src": "2985:13:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 12222, + "name": "_weiAskedPerMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12205, + "src": "3002:21:51", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 12223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3002:28:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2985:45:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12220, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2977:7:51", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 12225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2977:54:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12226, + "nodeType": "ExpressionStatement", + "src": "2977:54:51" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 12230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 12227, + "name": "_milestone_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12192, + "src": "3045:13:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 12228, + "name": "_weiAskedPerMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12205, + "src": "3062:21:51", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 12229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3062:28:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3045:45:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 12278, + "nodeType": "Block", + "src": "3626:546:51", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12254, + "name": "_minQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12195, + "src": "3691:10:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12256, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "3740:15:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3740:17:51", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16054, + "src": "3740:37:51", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 12259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3740:39:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12261, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1444, + "src": "3811:44:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12260, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3797:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3797:59:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12264, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1447, + "src": "3888:46:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12263, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3874:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3874:61:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12267, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1450, + "src": "3967:45:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12266, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3953:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3953:60:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12270, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1453, + "src": "4045:47:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12269, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4031:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4031:62:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12272, + "name": "_weiAskedPerMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12205, + "src": "4111:21:51", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 12274, + "indexExpression": { + "argumentTypes": null, + "id": 12273, + "name": "_milestone_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12192, + "src": "4133:13:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4111:36:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 12255, + "name": "calculateMinQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12415, + "src": "3704:18:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) view returns (uint256)" + } + }, + "id": 12275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3704:457:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3691:470:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12277, + "nodeType": "ExpressionStatement", + "src": "3691:470:51" + } + ] + }, + "id": 12279, + "nodeType": "IfStatement", + "src": "3041:1131:51", + "trueBody": { + "id": 12253, + "nodeType": "Block", + "src": "3092:528:51", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12231, + "name": "_minQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12195, + "src": "3165:10:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12233, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "3214:15:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3214:17:51", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16054, + "src": "3214:37:51", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 12236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3214:39:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12238, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1444, + "src": "3285:44:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12237, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3271:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3271:59:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12241, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1447, + "src": "3362:46:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12240, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3348:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3348:61:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12244, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1456, + "src": "3441:44:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12243, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3427:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3427:59:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12247, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1459, + "src": "3518:46:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12246, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3504:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3504:61:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 12249, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12208, + "src": "3583:12:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 12232, + "name": "calculateMinQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12415, + "src": "3178:18:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) view returns (uint256)" + } + }, + "id": 12250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3178:431:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3165:444:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12252, + "nodeType": "ExpressionStatement", + "src": "3165:444:51" + } + ] + } + } + ] + }, + "documentation": null, + "id": 12281, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "minimumVotingQuorum", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12193, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12190, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 12281, + "src": "2640:19:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 12189, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2640:7:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12192, + "name": "_milestone_id", + "nodeType": "VariableDeclaration", + "scope": 12281, + "src": "2661:21:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12191, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2661:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2639:44:51" + }, + "payable": false, + "returnParameters": { + "id": 12196, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12195, + "name": "_minQuorum", + "nodeType": "VariableDeclaration", + "scope": 12281, + "src": "2729:18:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12194, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2729:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2728:20:51" + }, + "scope": 12494, + "src": "2611:1567:51", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12303, + "nodeType": "Block", + "src": "4339:279:51", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12286, + "name": "_minQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12284, + "src": "4347:10:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12298, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1525, + "src": "4547:42:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12297, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4533:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4533:57:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12291, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "4444:15:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4444:17:51", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16054, + "src": "4444:37:51", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 12294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4444:39:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12288, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1522, + "src": "4374:40:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12287, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4360:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4360:55:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "4360:59:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4360:144:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "4360:148:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4360:251:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4347:264:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12302, + "nodeType": "ExpressionStatement", + "src": "4347:264:51" + } + ] + }, + "documentation": null, + "id": 12304, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "minimumVotingQuorumForSpecial", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12282, + "nodeType": "ParameterList", + "parameters": [], + "src": "4267:2:51" + }, + "payable": false, + "returnParameters": { + "id": 12285, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12284, + "name": "_minQuorum", + "nodeType": "VariableDeclaration", + "scope": 12304, + "src": "4315:18:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12283, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4315:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4314:20:51" + }, + "scope": 12494, + "src": "4229:389:51", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12332, + "nodeType": "Block", + "src": "4745:170:51", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12313, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12311, + "src": "4755:7:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 12329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12317, + "name": "CONFIG_VOTING_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1471, + "src": "4788:31:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12316, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4774:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4774:46:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12314, + "name": "_for", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12306, + "src": "4765:4:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "4765:8:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4765:56:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12326, + "name": "_against", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12308, + "src": "4898:8:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12324, + "name": "_for", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12306, + "src": "4889:4:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "4889:8:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4889:18:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12321, + "name": "CONFIG_VOTING_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1468, + "src": "4854:29:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12320, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4840:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4840:44:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "4840:48:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4840:68:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4765:143:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4755:153:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 12331, + "nodeType": "ExpressionStatement", + "src": "4755:153:51" + } + ] + }, + "documentation": null, + "id": 12333, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "votingQuotaPass", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12309, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12306, + "name": "_for", + "nodeType": "VariableDeclaration", + "scope": 12333, + "src": "4650:12:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12305, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4650:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12308, + "name": "_against", + "nodeType": "VariableDeclaration", + "scope": 12333, + "src": "4664:16:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12307, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4664:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4649:32:51" + }, + "payable": false, + "returnParameters": { + "id": 12312, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12311, + "name": "_passed", + "nodeType": "VariableDeclaration", + "scope": 12333, + "src": "4727:12:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12310, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4727:4:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4726:14:51" + }, + "scope": 12494, + "src": "4625:290:51", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12361, + "nodeType": "Block", + "src": "5052:171:51", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12342, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12340, + "src": "5062:7:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 12358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12346, + "name": "CONFIG_SPECIAL_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "5094:32:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12345, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "5080:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5080:47:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12343, + "name": "_for", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12335, + "src": "5071:4:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "5071:8:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5071:57:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12355, + "name": "_against", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12337, + "src": "5206:8:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12353, + "name": "_for", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12335, + "src": "5197:4:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "5197:8:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5197:18:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12350, + "name": "CONFIG_SPECIAL_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1516, + "src": "5161:30:51", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12349, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "5147:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 12351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5147:45:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "5147:49:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5147:69:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5071:145:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5062:154:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 12360, + "nodeType": "ExpressionStatement", + "src": "5062:154:51" + } + ] + }, + "documentation": null, + "id": 12362, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "votingQuotaForSpecialPass", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12338, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12335, + "name": "_for", + "nodeType": "VariableDeclaration", + "scope": 12362, + "src": "4957:12:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12334, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4957:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12337, + "name": "_against", + "nodeType": "VariableDeclaration", + "scope": 12362, + "src": "4971:16:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12336, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4971:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4956:32:51" + }, + "payable": false, + "returnParameters": { + "id": 12341, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12340, + "name": "_passed", + "nodeType": "VariableDeclaration", + "scope": 12362, + "src": "5034:12:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12339, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5034:4:51", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5033:14:51" + }, + "scope": 12494, + "src": "4922:301:51", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12414, + "nodeType": "Block", + "src": "5573:402:51", + "statements": [ + { + "assignments": [ + 12380 + ], + "declarations": [ + { + "constant": false, + "id": 12380, + "name": "_weiInDao", + "nodeType": "VariableDeclaration", + "scope": 12415, + "src": "5583:17:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12379, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5583:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 12383, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12381, + "name": "weiInDao", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 123, + "src": "5603:8:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 12382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5603:10:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5583:30:51" + }, + { + "expression": { + "argumentTypes": null, + "id": 12393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12384, + "name": "_minimumQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12377, + "src": "5670:14:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12391, + "name": "_fixedQuorumPortionDenominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12368, + "src": "5739:30:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12387, + "name": "_fixedQuorumPortionNumerator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12366, + "src": "5704:28:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12385, + "name": "_totalStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12364, + "src": "5688:11:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "5688:15:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5688:45:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 12389, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5687:47:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "5687:51:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5687:83:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5670:100:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12394, + "nodeType": "ExpressionStatement", + "src": "5670:100:51" + }, + { + "expression": { + "argumentTypes": null, + "id": 12412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12395, + "name": "_minimumQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12377, + "src": "5830:14:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12408, + "name": "_scalingFactorDenominator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12372, + "src": "5940:25:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12406, + "name": "_weiInDao", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12380, + "src": "5926:9:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "5926:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5926:40:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12402, + "name": "_scalingFactorNumerator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12370, + "src": "5896:23:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12400, + "name": "_weiAsked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12374, + "src": "5882:9:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "5882:13:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5882:38:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12398, + "name": "_totalStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12364, + "src": "5866:11:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "5866:15:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5866:55:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "5866:59:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5866:101:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12396, + "name": "_minimumQuorum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12377, + "src": "5847:14:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "5847:18:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5847:121:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5830:138:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12413, + "nodeType": "ExpressionStatement", + "src": "5830:138:51" + } + ] + }, + "documentation": null, + "id": 12415, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "calculateMinQuorum", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12375, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12364, + "name": "_totalStake", + "nodeType": "VariableDeclaration", + "scope": 12415, + "src": "5267:19:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12363, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5267:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12366, + "name": "_fixedQuorumPortionNumerator", + "nodeType": "VariableDeclaration", + "scope": 12415, + "src": "5296:36:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12365, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5296:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12368, + "name": "_fixedQuorumPortionDenominator", + "nodeType": "VariableDeclaration", + "scope": 12415, + "src": "5342:38:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12367, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5342:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12370, + "name": "_scalingFactorNumerator", + "nodeType": "VariableDeclaration", + "scope": 12415, + "src": "5390:31:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12369, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5390:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12372, + "name": "_scalingFactorDenominator", + "nodeType": "VariableDeclaration", + "scope": 12415, + "src": "5431:33:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12371, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5431:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12374, + "name": "_weiAsked", + "nodeType": "VariableDeclaration", + "scope": 12415, + "src": "5474:17:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12373, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5474:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5257:240:51" + }, + "payable": false, + "returnParameters": { + "id": 12378, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12377, + "name": "_minimumQuorum", + "nodeType": "VariableDeclaration", + "scope": 12415, + "src": "5545:22:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12376, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5545:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5544:24:51" + }, + "scope": 12494, + "src": "5230:745:51", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 12471, + "nodeType": "Block", + "src": "6339:459:51", + "statements": [ + { + "assignments": [ + 12433 + ], + "declarations": [ + { + "constant": false, + "id": 12433, + "name": "_baseDGDBalance", + "nodeType": "VariableDeclaration", + "scope": 12472, + "src": "6349:23:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12432, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6349:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 12445, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12443, + "name": "_minimalParticipationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12417, + "src": "6458:26:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12440, + "name": "_lockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12427, + "src": "6437:15:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12436, + "name": "_quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12423, + "src": "6390:13:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 12437, + "name": "_minimalParticipationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12417, + "src": "6405:26:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12434, + "name": "MathHelper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8575, + "src": "6375:10:51", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MathHelper_$8575_$", + "typeString": "type(library MathHelper)" + } + }, + "id": 12435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "min", + "nodeType": "MemberAccess", + "referencedDeclaration": 8543, + "src": "6375:14:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6375:57:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "6375:61:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6375:78:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "6375:82:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6375:110:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6349:136:51" + }, + { + "expression": { + "argumentTypes": null, + "id": 12469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12446, + "name": "_effectiveDGDBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12430, + "src": "6495:20:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12466, + "name": "_reputationPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12421, + "src": "6760:29:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12464, + "name": "_quarterPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12419, + "src": "6729:26:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "6729:30:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6729:61:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12460, + "name": "_reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12425, + "src": "6693:16:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12458, + "name": "_reputationPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12421, + "src": "6659:29:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "6659:33:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6659:51:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12454, + "name": "_minimalParticipationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12417, + "src": "6613:26:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12451, + "name": "_quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12423, + "src": "6594:13:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12449, + "name": "_quarterPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12419, + "src": "6563:26:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "6563:30:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6563:45:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "6563:49:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6563:77:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 12447, + "name": "_baseDGDBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12433, + "src": "6530:15:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "6530:32:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6530:111:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "6530:128:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6530:181:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "6530:198:51", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 12468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6530:261:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6495:296:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12470, + "nodeType": "ExpressionStatement", + "src": "6495:296:51" + } + ] + }, + "documentation": null, + "id": 12472, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "calculateUserEffectiveBalance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12428, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12417, + "name": "_minimalParticipationPoint", + "nodeType": "VariableDeclaration", + "scope": 12472, + "src": "6030:34:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12416, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6030:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12419, + "name": "_quarterPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 12472, + "src": "6074:34:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12418, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6074:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12421, + "name": "_reputationPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 12472, + "src": "6118:37:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12420, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6118:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12423, + "name": "_quarterPoint", + "nodeType": "VariableDeclaration", + "scope": 12472, + "src": "6165:21:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6165:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12425, + "name": "_reputationPoint", + "nodeType": "VariableDeclaration", + "scope": 12472, + "src": "6196:24:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12424, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6196:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12427, + "name": "_lockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 12472, + "src": "6230:23:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12426, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6230:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6020:239:51" + }, + "payable": false, + "returnParameters": { + "id": 12431, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12430, + "name": "_effectiveDGDBalance", + "nodeType": "VariableDeclaration", + "scope": 12472, + "src": "6305:28:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12429, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6305:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6304:30:51" + }, + "scope": 12494, + "src": "5982:816:51", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12492, + "nodeType": "Block", + "src": "6946:133:51", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 12481, + "name": "_demurrageFees", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12479, + "src": "6957:14:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + null + ], + "id": 12482, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "6956:17:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$__$", + "typeString": "tuple(uint256,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12487, + "name": "_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12474, + "src": "7049:8:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 12488, + "name": "_daysElapsed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12476, + "src": "7059:12:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12484, + "name": "dgxDemurrageCalculatorAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12054, + "src": "6999:29:51", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 12483, + "name": "DgxDemurrageCalculator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7899, + "src": "6976:22:51", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DgxDemurrageCalculator_$7899_$", + "typeString": "type(contract DgxDemurrageCalculator)" + } + }, + "id": 12485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6976:53:51", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DgxDemurrageCalculator_$7899", + "typeString": "contract DgxDemurrageCalculator" + } + }, + "id": 12486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "calculateDemurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 7898, + "src": "6976:72:51", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_bool_$", + "typeString": "function (uint256,uint256) view external returns (uint256,bool)" + } + }, + "id": 12489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6976:96:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$", + "typeString": "tuple(uint256,bool)" + } + }, + "src": "6956:116:51", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12491, + "nodeType": "ExpressionStatement", + "src": "6956:116:51" + } + ] + }, + "documentation": null, + "id": 12493, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "calculateDemurrage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12477, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12474, + "name": "_balance", + "nodeType": "VariableDeclaration", + "scope": 12493, + "src": "6833:16:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12473, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6833:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12476, + "name": "_daysElapsed", + "nodeType": "VariableDeclaration", + "scope": 12493, + "src": "6851:20:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12475, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6851:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6832:40:51" + }, + "payable": false, + "returnParameters": { + "id": 12480, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12479, + "name": "_demurrageFees", + "nodeType": "VariableDeclaration", + "scope": 12493, + "src": "6918:22:51", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12478, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6918:7:51", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6917:24:51" + }, + "scope": 12494, + "src": "6805:274:51", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 12495, + "src": "150:6932:51" + } + ], + "src": "0:7083:51" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0xe69fd25c923466f045c7bc136d1c5df5d31d6dfa", + "transactionHash": "0x08985bb8f69f426d23333160a376db5dfb16484c9c120d2a661de43e6bd9eb2f" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T10:37:27.523Z" +} \ No newline at end of file diff --git a/build/contracts/DaoCommon.json b/build/contracts/DaoCommon.json new file mode 100644 index 0000000..b419583 --- /dev/null +++ b/build/contracts/DaoCommon.json @@ -0,0 +1,22092 @@ +{ + "contractName": "DaoCommon", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentTimeInQuarter", + "outputs": [ + { + "name": "_currentT", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isMainPhase", + "outputs": [ + { + "name": "_isMainPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isLockingPhase", + "outputs": [ + { + "name": "_isLockingPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentQuarterNumber", + "outputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getUintConfig", + "outputs": [ + { + "name": "_configValue", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isDaoNotReplaced", + "outputs": [ + { + "name": "_isNotReplaced", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getAddressConfig", + "outputs": [ + { + "name": "_configValue", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getBytesConfig", + "outputs": [ + { + "name": "_configValue", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isParticipant", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isModerator", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f9060001916905534801561113357600080fd5b5061116c806111436000396000f3006080604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100d55780631d8ccd041461012c5780633943380c1461019d5780633f83acff146101d0578063560a25ea14610241578063685330601461026c5780637d6fed801461029b5780637f6a26b6146102ca578063929066f5146102f557806393ddad0814610350578063b1e2b9dd1461039d578063d70d9358146103e2578063db4ecbc114610411578063fa6f393614610468575b600080fd5b3480156100e157600080fd5b506100ea6104c3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013857600080fd5b5061015b60048036038101908080356000191690602001909291905050506104e8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101a957600080fd5b506101b26105aa565b60405180826000191660001916815260200191505060405180910390f35b3480156101dc57600080fd5b506101ff60048036038101908080356000191690602001909291905050506105b0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024d57600080fd5b5061025661068c565b6040518082815260200191505060405180910390f35b34801561027857600080fd5b5061028161069c565b604051808215151515815260200191505060405180910390f35b3480156102a757600080fd5b506102b06106c8565b604051808215151515815260200191505060405180910390f35b3480156102d657600080fd5b506102df6106e3565b6040518082815260200191505060405180910390f35b34801561030157600080fd5b50610336600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106f3565b604051808215151515815260200191505060405180910390f35b34801561035c57600080fd5b5061037f60048036038101908080356000191690602001909291905050506108d4565b60405180826000191660001916815260200191505060405180910390f35b3480156103a957600080fd5b506103cc6004803603810190808035600019169060200190929190505050610996565b6040518082815260200191505060405180910390f35b3480156103ee57600080fd5b506103f7610a58565b604051808215151515815260200191505060405180910390f35b34801561041d57600080fd5b50610426610b06565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561047457600080fd5b506104a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b2c565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006104f2610dff565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561056857600080fd5b505af115801561057c573d6000803e3d6000fd5b505050506040513d602081101561059257600080fd5b81019080805190602001909291905050509050919050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561064a57600080fd5b505af115801561065e573d6000803e3d6000fd5b505050506040513d602081101561067457600080fd5b81019080805190602001909291905050509050919050565b600061069742610e11565b905090565b60006106a6610a58565b80156106c357506106b8603854610996565b6106c061068c565b10155b905090565b60006106d5603854610996565b6106dd61068c565b10905090565b60006106ee42610efa565b905090565b60006106fd6106e3565b610705610ffd565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561079f57600080fd5b505af11580156107b3573d6000803e3d6000fd5b505050506040513d60208110156107c957600080fd5b81019080805190602001909291905050501480156108cd57506107ed603554610996565b6107f561100f565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561088f57600080fd5b505af11580156108a3573d6000803e3d6000fd5b505050506040513d60208110156108b957600080fd5b810190808051906020019092919050505010155b9050919050565b60006108de610dff565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561095457600080fd5b505af1158015610968573d6000803e3d6000fd5b505050506040513d602081101561097e57600080fd5b81019080805190602001909291905050509050919050565b60006109a0610dff565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610a1657600080fd5b505af1158015610a2a573d6000803e3d6000fd5b505050506040513d6020811015610a4057600080fd5b81019080805190602001909291905050509050919050565b6000610a62611021565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610ac557600080fd5b505af1158015610ad9573d6000803e3d6000fd5b505050506040513d6020811015610aef57600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610b366106e3565b610b3e610ffd565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610bd857600080fd5b505af1158015610bec573d6000803e3d6000fd5b505050506040513d6020811015610c0257600080fd5b8101908080519060200190929190505050148015610d065750610c26603654610996565b610c2e61100f565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610cc857600080fd5b505af1158015610cdc573d6000803e3d6000fd5b505050506040513d6020811015610cf257600080fd5b810190808051906020019092919050505010155b8015610df85750610d18603754610996565b610d20611033565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610dba57600080fd5b505af1158015610dce573d6000803e3d6000fd5b505050506040513d6020811015610de457600080fd5b810190808051906020019092919050505010155b9050919050565b6000610e0c602b546105b0565b905090565b6000610e1b611045565b1515610e2657600080fd5b610e31603954610996565b610ee9610e3c611021565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610e9f57600080fd5b505af1158015610eb3573d6000803e3d6000fd5b505050506040513d6020811015610ec957600080fd5b8101908080519060200190929190505050846110f590919063ffffffff16565b811515610ef257fe5b069050919050565b6000610f04611045565b1515610f0f57600080fd5b610ff66001610fe8610f22603954610996565b610fda610f2d611021565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610f9057600080fd5b505af1158015610fa4573d6000803e3d6000fd5b505050506040513d6020811015610fba57600080fd5b8101908080519060200190929190505050876110f590919063ffffffff16565b61110e90919063ffffffff16565b61112490919063ffffffff16565b9050919050565b600061100a602d546105b0565b905090565b600061101c602c546105b0565b905090565b600061102e6027546105b0565b905090565b60006110406029546105b0565b905090565b600080611050611021565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156110b357600080fd5b505af11580156110c7573d6000803e3d6000fd5b505050506040513d60208110156110dd57600080fd5b81019080805190602001909291905050501415905090565b600082821115151561110357fe5b818303905092915050565b6000818381151561111b57fe5b04905092915050565b6000818301905082811015151561113757fe5b809050929150505600a165627a7a723058209b37d9afffdffe06bfb5920fd5d926556161ee5bbb951a3449cddcdc663758900029", + "deployedBytecode": "0x6080604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100d55780631d8ccd041461012c5780633943380c1461019d5780633f83acff146101d0578063560a25ea14610241578063685330601461026c5780637d6fed801461029b5780637f6a26b6146102ca578063929066f5146102f557806393ddad0814610350578063b1e2b9dd1461039d578063d70d9358146103e2578063db4ecbc114610411578063fa6f393614610468575b600080fd5b3480156100e157600080fd5b506100ea6104c3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013857600080fd5b5061015b60048036038101908080356000191690602001909291905050506104e8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101a957600080fd5b506101b26105aa565b60405180826000191660001916815260200191505060405180910390f35b3480156101dc57600080fd5b506101ff60048036038101908080356000191690602001909291905050506105b0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024d57600080fd5b5061025661068c565b6040518082815260200191505060405180910390f35b34801561027857600080fd5b5061028161069c565b604051808215151515815260200191505060405180910390f35b3480156102a757600080fd5b506102b06106c8565b604051808215151515815260200191505060405180910390f35b3480156102d657600080fd5b506102df6106e3565b6040518082815260200191505060405180910390f35b34801561030157600080fd5b50610336600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106f3565b604051808215151515815260200191505060405180910390f35b34801561035c57600080fd5b5061037f60048036038101908080356000191690602001909291905050506108d4565b60405180826000191660001916815260200191505060405180910390f35b3480156103a957600080fd5b506103cc6004803603810190808035600019169060200190929190505050610996565b6040518082815260200191505060405180910390f35b3480156103ee57600080fd5b506103f7610a58565b604051808215151515815260200191505060405180910390f35b34801561041d57600080fd5b50610426610b06565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561047457600080fd5b506104a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b2c565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006104f2610dff565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561056857600080fd5b505af115801561057c573d6000803e3d6000fd5b505050506040513d602081101561059257600080fd5b81019080805190602001909291905050509050919050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561064a57600080fd5b505af115801561065e573d6000803e3d6000fd5b505050506040513d602081101561067457600080fd5b81019080805190602001909291905050509050919050565b600061069742610e11565b905090565b60006106a6610a58565b80156106c357506106b8603854610996565b6106c061068c565b10155b905090565b60006106d5603854610996565b6106dd61068c565b10905090565b60006106ee42610efa565b905090565b60006106fd6106e3565b610705610ffd565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561079f57600080fd5b505af11580156107b3573d6000803e3d6000fd5b505050506040513d60208110156107c957600080fd5b81019080805190602001909291905050501480156108cd57506107ed603554610996565b6107f561100f565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561088f57600080fd5b505af11580156108a3573d6000803e3d6000fd5b505050506040513d60208110156108b957600080fd5b810190808051906020019092919050505010155b9050919050565b60006108de610dff565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561095457600080fd5b505af1158015610968573d6000803e3d6000fd5b505050506040513d602081101561097e57600080fd5b81019080805190602001909291905050509050919050565b60006109a0610dff565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610a1657600080fd5b505af1158015610a2a573d6000803e3d6000fd5b505050506040513d6020811015610a4057600080fd5b81019080805190602001909291905050509050919050565b6000610a62611021565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610ac557600080fd5b505af1158015610ad9573d6000803e3d6000fd5b505050506040513d6020811015610aef57600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610b366106e3565b610b3e610ffd565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610bd857600080fd5b505af1158015610bec573d6000803e3d6000fd5b505050506040513d6020811015610c0257600080fd5b8101908080519060200190929190505050148015610d065750610c26603654610996565b610c2e61100f565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610cc857600080fd5b505af1158015610cdc573d6000803e3d6000fd5b505050506040513d6020811015610cf257600080fd5b810190808051906020019092919050505010155b8015610df85750610d18603754610996565b610d20611033565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610dba57600080fd5b505af1158015610dce573d6000803e3d6000fd5b505050506040513d6020811015610de457600080fd5b810190808051906020019092919050505010155b9050919050565b6000610e0c602b546105b0565b905090565b6000610e1b611045565b1515610e2657600080fd5b610e31603954610996565b610ee9610e3c611021565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610e9f57600080fd5b505af1158015610eb3573d6000803e3d6000fd5b505050506040513d6020811015610ec957600080fd5b8101908080519060200190929190505050846110f590919063ffffffff16565b811515610ef257fe5b069050919050565b6000610f04611045565b1515610f0f57600080fd5b610ff66001610fe8610f22603954610996565b610fda610f2d611021565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610f9057600080fd5b505af1158015610fa4573d6000803e3d6000fd5b505050506040513d6020811015610fba57600080fd5b8101908080519060200190929190505050876110f590919063ffffffff16565b61110e90919063ffffffff16565b61112490919063ffffffff16565b9050919050565b600061100a602d546105b0565b905090565b600061101c602c546105b0565b905090565b600061102e6027546105b0565b905090565b60006110406029546105b0565b905090565b600080611050611021565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156110b357600080fd5b505af11580156110c7573d6000803e3d6000fd5b505050506040513d60208110156110dd57600080fd5b81019080805190602001909291905050501415905090565b600082821115151561110357fe5b818303905092915050565b6000818381151561111b57fe5b04905092915050565b6000818301905082811015151561113757fe5b809050929150505600a165627a7a723058209b37d9afffdffe06bfb5920fd5d926556161ee5bbb951a3449cddcdc663758900029", + "sourceMap": "89:11102:1:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;89:11102:1;8:9:-1;5:2;;;30:1;27;20:12;5:2;89:11102:1;;;;;;;", + "deployedSourceMap": "89:11102:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;5244:195:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5244:195:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4743:147:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4743:147:2;;;;;;;;;;;;;;;;;;;;;;;1759:239;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1759:239:2;;;;;;;;;;;;;;;;;;;;;;;;;;;1283:201;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1283:201:2;;;;;;;;;;;;;;;;;;;;;;;;;;;3064:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3064:159:2;;;;;;;;;;;;;;;;;;;;;;;5725:311:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5725:311:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5445:191:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7261:189:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7261:189:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;834:173:2;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;6123:431:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6123:431:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;5244:195:1:-;5335:20;5386:19;:17;:19::i;:::-;:34;;;5421:10;5386:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5386:46:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5386:46:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5386:46:1;;;;;;;;;;;;;;;;5371:61;;5244:195;;;:::o;264:18:67:-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;4743:147:2:-;4820:17;4865:18;4879:3;4865:13;:18::i;:::-;4853:30;;4743:147;:::o;1759:239::-;1827:17;1887:18;:16;:18::i;:::-;:104;;;;;1947:44;1961:29;;1947:13;:44::i;:::-;1921:22;:20;:22::i;:::-;:70;;1887:104;1860:131;;1759:239;:::o;1283:201::-;1354:20;1433:44;1447:29;;1433:13;:44::i;:::-;1408:22;:20;:22::i;:::-;:69;1390:87;;1283:201;:::o;3064:159::-;3140:22;3195:21;3212:3;3195:16;:21::i;:::-;3178:38;;3064:159;:::o;5725:311:1:-;5808:8;5905:22;:20;:22::i;:::-;5851:19;:17;:19::i;:::-;:43;;;5895:5;5851:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5851:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5851:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5851:50:1;;;;;;;;;;;;;;;;:76;5850:179;;;;;5988:40;6002:25;;5988:13;:40::i;:::-;5945:17;:15;:17::i;:::-;:32;;;5978:5;5945:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5945:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5945:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5945:39:1;;;;;;;;;;;;;;;;:83;;5850:179;5832:197;;5725:311;;;:::o;5445:191::-;5534:20;5585:19;:17;:19::i;:::-;:32;;;5618:10;5585:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5585:44:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5585:44:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5585:44:1;;;;;;;;;;;;;;;;5570:59;;5445:191;;;:::o;7261:189:2:-;7349:20;7400:19;:17;:19::i;:::-;:31;;;7432:10;7400:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7400:43:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7400:43:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7400:43:2;;;;;;;;;;;;;;;;7385:58;;7261:189;;;:::o;834:173::-;907:19;960;:17;:19::i;:::-;:38;;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;960:40:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;960:40:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;960:40:2;;;;;;;;;;;;;;;;959:41;942:58;;834:173;:::o;344:31:67:-;;;;;;;;;;;;;:::o;6123:431:1:-;6204:8;6301:22;:20;:22::i;:::-;6247:19;:17;:19::i;:::-;:43;;;6291:5;6247:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6247:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6247:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6247:50:1;;;;;;;;;;;;;;;;:76;6246:186;;;;;6384:47;6398:32;;6384:13;:47::i;:::-;6341:17;:15;:17::i;:::-;:32;;;6374:5;6341:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6341:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6341:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6341:39:1;;;;;;;;;;;;;;;;:90;;6246:186;:301;;;;;6492:54;6506:39;;6492:13;:54::i;:::-;6449:18;:16;:18::i;:::-;:32;;;6482:5;6449:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6449:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6449:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6449:39:1;;;;;;;;;;;;;;;;:97;;6246:301;6228:319;;6123:431;;;:::o;5398:198:2:-;5474:27;5547:41;5560:27;;5547:12;:41::i;:::-;5517:72;;5398:198;:::o;3862:332::-;3947:22;3993:26;:24;:26::i;:::-;3985:35;;;;;;;;4149:38;4163:23;;4149:13;:38::i;:::-;4082:52;4092:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4092:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4092:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4092:41:2;;;;;;;;;;;;;;;;4082:5;:9;;:52;;;;:::i;:::-;:105;;;;;;;;4053:134;;3862:332;;;:::o;3369:320::-;3457:14;3495:26;:24;:26::i;:::-;3487:35;;;;;;;;3553:129;3680:1;3553:109;3623:38;3637:23;;3623:13;:38::i;:::-;3553:52;3563:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3563:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3563:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3563:41:2;;;;;;;;;;;;;;;;3553:5;:9;;:52;;;;:::i;:::-;:69;;:109;;;;:::i;:::-;:126;;:129;;;;:::i;:::-;3532:150;;3369:320;;;:::o;6815:199::-;6891:27;6964:42;6977:28;;6964:12;:42::i;:::-;6934:73;;6815:199;:::o;5602:191::-;5676:25;5745:40;5758:26;;5745:12;:40::i;:::-;5717:69;;5602:191;:::o;6204:199::-;6280:27;6353:42;6366:28;;6353:12;:42::i;:::-;6323:73;;6204:199;:::o;6614:195::-;6689:26;6760:41;6773:27;;6760:12;:41::i;:::-;6731:71;;6614:195;:::o;4343:172::-;4426:11;4507:1;4462:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4462:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4462:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4462:41:2;;;;;;;;;;;;;;;;:46;;4453:55;;4343:172;:::o;1060:116:84:-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;665:283::-;725:7;941:2;936;:7;;;;;;;;929:14;;665:283;;;;:::o;1238:128::-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"./DaoCommonMini.sol\";\nimport \"../lib/MathHelper.sol\";\n\ncontract DaoCommon is DaoCommonMini {\n\n using MathHelper for MathHelper;\n\n /**\n @notice Check if the transaction is called by the proposer of a proposal\n @return _isFromProposer true if the caller is the proposer\n */\n function isFromProposer(bytes32 _proposalId)\n internal\n view\n returns (bool _isFromProposer)\n {\n _isFromProposer = msg.sender == daoStorage().readProposalProposer(_proposalId);\n }\n\n /**\n @notice Check if the proposal can still be \"editted\", or in other words, added more versions\n @dev Once the proposal is finalized, it can no longer be editted. The proposer will still be able to add docs and change fundings though.\n @return _isEditable true if the proposal is editable\n */\n function isEditable(bytes32 _proposalId)\n internal\n view\n returns (bool _isEditable)\n {\n bytes32 _finalVersion;\n (,,,,,,,_finalVersion,,) = daoStorage().readProposal(_proposalId);\n _isEditable = _finalVersion == EMPTY_BYTES;\n }\n\n /**\n @notice returns the balance of DaoFundingManager, which is the wei in DigixDAO\n */\n function weiInDao()\n internal\n view\n returns (uint256 _wei)\n {\n _wei = get_contract(CONTRACT_DAO_FUNDING_MANAGER).balance;\n }\n\n /**\n @notice Check if it is after the draft voting phase of the proposal\n */\n modifier ifAfterDraftVotingPhase(bytes32 _proposalId) {\n uint256 _start = daoStorage().readProposalDraftVotingTime(_proposalId);\n require(_start > 0); // Draft voting must have started. In other words, proposer must have finalized the proposal\n require(now >= _start.add(getUintConfig(CONFIG_DRAFT_VOTING_PHASE)));\n _;\n }\n\n modifier ifCommitPhase(bytes32 _proposalId, uint8 _index) {\n requireInPhase(\n daoStorage().readProposalVotingTime(_proposalId, _index),\n 0,\n getUintConfig(_index == 0 ? CONFIG_VOTING_COMMIT_PHASE : CONFIG_INTERIM_COMMIT_PHASE)\n );\n _;\n }\n\n modifier ifRevealPhase(bytes32 _proposalId, uint256 _index) {\n requireInPhase(\n daoStorage().readProposalVotingTime(_proposalId, _index),\n getUintConfig(_index == 0 ? CONFIG_VOTING_COMMIT_PHASE : CONFIG_INTERIM_COMMIT_PHASE),\n getUintConfig(_index == 0 ? CONFIG_VOTING_PHASE_TOTAL : CONFIG_INTERIM_PHASE_TOTAL)\n );\n _;\n }\n\n modifier ifAfterProposalRevealPhase(bytes32 _proposalId, uint256 _index) {\n uint256 _start = daoStorage().readProposalVotingTime(_proposalId, _index);\n require(_start > 0);\n require(now >= _start.add(getUintConfig(_index == 0 ? CONFIG_VOTING_PHASE_TOTAL : CONFIG_INTERIM_PHASE_TOTAL)));\n _;\n }\n\n modifier ifDraftVotingPhase(bytes32 _proposalId) {\n requireInPhase(\n daoStorage().readProposalDraftVotingTime(_proposalId),\n 0,\n getUintConfig(CONFIG_DRAFT_VOTING_PHASE)\n );\n _;\n }\n\n modifier isProposalState(bytes32 _proposalId, bytes32 _STATE) {\n bytes32 _currentState;\n (,,,_currentState,,,,,,) = daoStorage().readProposal(_proposalId);\n require(_currentState == _STATE);\n _;\n }\n\n modifier ifDraftNotClaimed(bytes32 _proposalId) {\n require(daoStorage().isDraftClaimed(_proposalId) == false);\n _;\n }\n\n modifier ifNotClaimed(bytes32 _proposalId, uint256 _index) {\n require(daoStorage().isClaimed(_proposalId, _index) == false);\n _;\n }\n\n modifier ifNotClaimedSpecial(bytes32 _proposalId) {\n require(daoSpecialStorage().isClaimed(_proposalId) == false);\n _;\n }\n\n modifier hasNotRevealed(bytes32 _proposalId, uint256 _index) {\n uint256 _voteWeight;\n (, _voteWeight) = daoStorage().readVote(_proposalId, _index, msg.sender);\n require(_voteWeight == uint(0));\n _;\n }\n\n modifier hasNotRevealedSpecial(bytes32 _proposalId) {\n uint256 _weight;\n (,_weight) = daoSpecialStorage().readVote(_proposalId, msg.sender);\n require(_weight == uint256(0));\n _;\n }\n\n modifier ifAfterRevealPhaseSpecial(bytes32 _proposalId) {\n uint256 _start = daoSpecialStorage().readVotingTime(_proposalId);\n require(_start > 0);\n require(now.sub(_start) >= getUintConfig(CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL));\n _;\n }\n\n modifier ifCommitPhaseSpecial(bytes32 _proposalId) {\n requireInPhase(\n daoSpecialStorage().readVotingTime(_proposalId),\n 0,\n getUintConfig(CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE)\n );\n _;\n }\n\n modifier ifRevealPhaseSpecial(bytes32 _proposalId) {\n requireInPhase(\n daoSpecialStorage().readVotingTime(_proposalId),\n getUintConfig(CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE),\n getUintConfig(CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL)\n );\n _;\n }\n\n function daoWhitelistingStorage()\n internal\n view\n returns (DaoWhitelistingStorage _contract)\n {\n _contract = DaoWhitelistingStorage(get_contract(CONTRACT_STORAGE_DAO_WHITELISTING));\n }\n\n function getAddressConfig(bytes32 _configKey)\n public\n view\n returns (address _configValue)\n {\n _configValue = daoConfigsStorage().addressConfigs(_configKey);\n }\n\n function getBytesConfig(bytes32 _configKey)\n public\n view\n returns (bytes32 _configValue)\n {\n _configValue = daoConfigsStorage().bytesConfigs(_configKey);\n }\n\n /**\n @notice Check if a user is a participant in the current quarter\n */\n function isParticipant(address _user)\n public\n view\n returns (bool _is)\n {\n _is =\n (daoRewardsStorage().lastParticipatedQuarter(_user) == currentQuarterNumber())\n && (daoStakeStorage().lockedDGDStake(_user) >= getUintConfig(CONFIG_MINIMUM_LOCKED_DGD));\n }\n\n /**\n @notice Check if a user is a moderator in the current quarter\n */\n function isModerator(address _user)\n public\n view\n returns (bool _is)\n {\n _is =\n (daoRewardsStorage().lastParticipatedQuarter(_user) == currentQuarterNumber())\n && (daoStakeStorage().lockedDGDStake(_user) >= getUintConfig(CONFIG_MINIMUM_DGD_FOR_MODERATOR))\n && (daoPointsStorage().getReputation(_user) >= getUintConfig(CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR));\n }\n\n /**\n @notice Calculate the start of a specific milestone of a specific proposal.\n @dev This is calculated from the voting start of the voting round preceding the milestone\n This would throw if the voting start is 0 (the voting round has not started yet)\n Note that if the milestoneIndex is exactly the same as the number of milestones,\n This will just return the end of the last voting round.\n */\n function startOfMilestone(bytes32 _proposalId, uint256 _milestoneIndex)\n internal\n view\n returns (uint256 _milestoneStart)\n {\n uint256 _startOfPrecedingVotingRound = daoStorage().readProposalVotingTime(_proposalId, _milestoneIndex);\n require(_startOfPrecedingVotingRound > 0);\n // the preceding voting round must have started\n\n if (_milestoneIndex == 0) { // This is the 1st milestone, which starts after voting round 0\n _milestoneStart =\n _startOfPrecedingVotingRound\n .add(getUintConfig(CONFIG_VOTING_PHASE_TOTAL));\n } else { // if its the n-th milestone, it starts after voting round n-th\n _milestoneStart =\n _startOfPrecedingVotingRound\n .add(getUintConfig(CONFIG_INTERIM_PHASE_TOTAL));\n }\n }\n\n /**\n @notice Calculate the actual voting start for a voting round, given the tentative start\n @dev The tentative start is the ideal start. For example, when a proposer finish a milestone, it should be now\n However, sometimes the tentative start is too close to the end of the quarter, hence, the actual voting start should be pushed to the next quarter\n */\n function getTimelineForNextVote(\n uint256 _index,\n uint256 _tentativeVotingStart\n )\n internal\n view\n returns (uint256 _actualVotingStart)\n {\n uint256 _timeLeftInQuarter = getTimeLeftInQuarter(_tentativeVotingStart);\n uint256 _votingDuration = getUintConfig(_index == 0 ? CONFIG_VOTING_PHASE_TOTAL : CONFIG_INTERIM_PHASE_TOTAL);\n _actualVotingStart = _tentativeVotingStart;\n if (timeInQuarter(_tentativeVotingStart) < getUintConfig(CONFIG_LOCKING_PHASE_DURATION)) { // if the tentative start is during a locking phase\n _actualVotingStart = _tentativeVotingStart.add(\n getUintConfig(CONFIG_LOCKING_PHASE_DURATION).sub(timeInQuarter(_tentativeVotingStart))\n );\n } else if (_timeLeftInQuarter < _votingDuration.add(getUintConfig(CONFIG_VOTE_CLAIMING_DEADLINE))) { // if the time left in quarter is not enough to vote and claim voting\n _actualVotingStart = _tentativeVotingStart.add(\n _timeLeftInQuarter.add(getUintConfig(CONFIG_LOCKING_PHASE_DURATION)).add(1)\n );\n }\n }\n\n /**\n @notice Check if we can add another non-Digix proposal in this quarter\n @dev There is a max cap to the number of non-Digix proposals CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER\n */\n function checkNonDigixProposalLimit(bytes32 _proposalId)\n internal\n view\n {\n require(isNonDigixProposalsWithinLimit(_proposalId));\n }\n\n function isNonDigixProposalsWithinLimit(bytes32 _proposalId)\n internal\n view\n returns (bool _withinLimit)\n {\n bool _isDigixProposal;\n (,,,,,,,,,_isDigixProposal) = daoStorage().readProposal(_proposalId);\n _withinLimit = true;\n if (!_isDigixProposal) {\n _withinLimit = daoProposalCounterStorage().proposalCountByQuarter(currentQuarterNumber()) < getUintConfig(CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER);\n }\n }\n\n /**\n @notice If its a non-Digix proposal, check if the fundings are within limit\n @dev There is a max cap to the fundings and number of milestones for non-Digix proposals\n */\n function checkNonDigixFundings(uint256[] _milestonesFundings, uint256 _finalReward)\n internal\n view\n {\n if (!is_founder()) {\n require(_milestonesFundings.length <= getUintConfig(CONFIG_MAX_MILESTONES_FOR_NON_DIGIX));\n require(MathHelper.sumNumbers(_milestonesFundings).add(_finalReward) <= getUintConfig(CONFIG_MAX_FUNDING_FOR_NON_DIGIX));\n }\n }\n\n /**\n @notice Check if msg.sender can do operations as a proposer\n @dev Note that this function does not check if he is the proposer of the proposal\n */\n function senderCanDoProposerOperations()\n internal\n view\n {\n require(isMainPhase());\n require(isParticipant(msg.sender));\n require(identity_storage().is_kyc_approved(msg.sender));\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommon.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommon.sol", + "exportedSymbols": { + "DaoCommon": [ + 838 + ] + }, + "id": 839, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 58, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:1" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommonMini.sol", + "file": "./DaoCommonMini.sol", + "id": 59, + "nodeType": "ImportDirective", + "scope": 839, + "sourceUnit": 1234, + "src": "26:29:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/MathHelper.sol", + "file": "../lib/MathHelper.sol", + "id": 60, + "nodeType": "ImportDirective", + "scope": 839, + "sourceUnit": 8576, + "src": "56:31:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 61, + "name": "DaoCommonMini", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1233, + "src": "111:13:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommonMini_$1233", + "typeString": "contract DaoCommonMini" + } + }, + "id": 62, + "nodeType": "InheritanceSpecifier", + "src": "111:13:1" + } + ], + "contractDependencies": [ + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 838, + "linearizedBaseContracts": [ + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoCommon", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 65, + "libraryName": { + "contractScope": null, + "id": 63, + "name": "MathHelper", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8575, + "src": "138:10:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MathHelper_$8575", + "typeString": "library MathHelper" + } + }, + "nodeType": "UsingForDirective", + "src": "132:32:1", + "typeName": { + "contractScope": null, + "id": 64, + "name": "MathHelper", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8575, + "src": "153:10:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MathHelper_$8575", + "typeString": "library MathHelper" + } + } + }, + { + "body": { + "id": 83, + "nodeType": "Block", + "src": "443:95:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 81, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 72, + "name": "_isFromProposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70, + "src": "453:15:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 80, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 73, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "471:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "471:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 78, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 67, + "src": "519:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 75, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "485:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 76, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "485:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 77, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalProposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 16610, + "src": "485:33:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 79, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "485:46:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "471:60:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "453:78:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 82, + "nodeType": "ExpressionStatement", + "src": "453:78:1" + } + ] + }, + "documentation": "@notice Check if the transaction is called by the proposer of a proposal\n@return _isFromProposer true if the caller is the proposer", + "id": 84, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isFromProposer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 68, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 67, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 84, + "src": "349:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 66, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "349:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "348:21:1" + }, + "payable": false, + "returnParameters": { + "id": 71, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 70, + "name": "_isFromProposer", + "nodeType": "VariableDeclaration", + "scope": 84, + "src": "417:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 69, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "417:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "416:22:1" + }, + "scope": 838, + "src": "325:213:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 109, + "nodeType": "Block", + "src": "965:165:1", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 92, + "name": "_finalVersion", + "nodeType": "VariableDeclaration", + "scope": 110, + "src": "975:21:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 91, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "975:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 93, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "975:21:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + null, + null, + null, + null, + null, + { + "argumentTypes": null, + "id": 94, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 92, + "src": "1014:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + null, + null + ], + "id": 95, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "1006:24:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$__$__$__$__$__$_t_bytes32_$__$__$", + "typeString": "tuple(,,,,,,,bytes32,,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 99, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86, + "src": "1059:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 96, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "1033:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 97, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1033:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 98, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16595, + "src": "1033:25:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "function (bytes32) view external returns (bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "id": 100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1033:38:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "tuple(bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "src": "1006:65:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 102, + "nodeType": "ExpressionStatement", + "src": "1006:65:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 103, + "name": "_isEditable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 89, + "src": "1081:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 104, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 92, + "src": "1095:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 105, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "1112:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1095:28:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1081:42:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 108, + "nodeType": "ExpressionStatement", + "src": "1081:42:1" + } + ] + }, + "documentation": "@notice Check if the proposal can still be \"editted\", or in other words, added more versions\n@dev Once the proposal is finalized, it can no longer be editted. The proposer will still be able to add docs and change fundings though.\n@return _isEditable true if the proposal is editable", + "id": 110, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isEditable", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 87, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 86, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 110, + "src": "875:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 85, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "875:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "874:21:1" + }, + "payable": false, + "returnParameters": { + "id": 90, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 89, + "name": "_isEditable", + "nodeType": "VariableDeclaration", + "scope": 110, + "src": "943:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 88, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "943:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "942:18:1" + }, + "scope": 838, + "src": "855:275:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 122, + "nodeType": "Block", + "src": "1319:74:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 115, + "name": "_wei", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 113, + "src": "1329:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 117, + "name": "CONTRACT_DAO_FUNDING_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1327, + "src": "1349:28:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 116, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "1336:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1336:42:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1336:50:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1329:57:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121, + "nodeType": "ExpressionStatement", + "src": "1329:57:1" + } + ] + }, + "documentation": "@notice returns the balance of DaoFundingManager, which is the wei in DigixDAO", + "id": 123, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "weiInDao", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 111, + "nodeType": "ParameterList", + "parameters": [], + "src": "1251:2:1" + }, + "payable": false, + "returnParameters": { + "id": 114, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 113, + "name": "_wei", + "nodeType": "VariableDeclaration", + "scope": 123, + "src": "1301:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 112, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1301:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1300:14:1" + }, + "scope": 838, + "src": "1234:159:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 153, + "nodeType": "Block", + "src": "1540:298:1", + "statements": [ + { + "assignments": [ + 128 + ], + "declarations": [ + { + "constant": false, + "id": 128, + "name": "_start", + "nodeType": "VariableDeclaration", + "scope": 154, + "src": "1550:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 127, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1550:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 134, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 132, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125, + "src": "1608:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 129, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "1567:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1567:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalDraftVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 16745, + "src": "1567:40:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1567:53:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1550:70:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 136, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1638:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 137, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1647:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1638:10:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 135, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1630:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1630:19:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 140, + "nodeType": "ExpressionStatement", + "src": "1630:19:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 142, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "1760:3:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 146, + "name": "CONFIG_DRAFT_VOTING_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1555, + "src": "1792:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 145, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1778:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1778:40:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 143, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1767:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "1767:10: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": 148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1767:52:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1760:59:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 141, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1752:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1752:68:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 151, + "nodeType": "ExpressionStatement", + "src": "1752:68:1" + }, + { + "id": 152, + "nodeType": "PlaceholderStatement", + "src": "1830:1:1" + } + ] + }, + "documentation": "@notice Check if it is after the draft voting phase of the proposal", + "id": 154, + "name": "ifAfterDraftVotingPhase", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 126, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 125, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 154, + "src": "1519:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 124, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1519:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1518:21:1" + }, + "src": "1486:352:1", + "visibility": "internal" + }, + { + "body": { + "id": 179, + "nodeType": "Block", + "src": "1902:236:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 164, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 156, + "src": "1976:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 165, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 158, + "src": "1989:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 161, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "1940:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1940:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 16770, + "src": "1940:35:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view external returns (uint256)" + } + }, + "id": 166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1940:56:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2010:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 169, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 158, + "src": "2039:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2049:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2039:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 173, + "name": "CONFIG_INTERIM_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1426, + "src": "2082:27:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "2039:70:1", + "trueExpression": { + "argumentTypes": null, + "id": 172, + "name": "CONFIG_VOTING_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1420, + "src": "2053:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 168, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2025:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2025:85:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 160, + "name": "requireInPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 960, + "src": "1912:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256) view" + } + }, + "id": 176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1912:208:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 177, + "nodeType": "ExpressionStatement", + "src": "1912:208:1" + }, + { + "id": 178, + "nodeType": "PlaceholderStatement", + "src": "2130:1:1" + } + ] + }, + "documentation": null, + "id": 180, + "name": "ifCommitPhase", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 159, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 156, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 180, + "src": "1867:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 155, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1867:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 158, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 180, + "src": "1888:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 157, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1888:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1866:35:1" + }, + "src": "1844:294:1", + "visibility": "internal" + }, + { + "body": { + "id": 212, + "nodeType": "Block", + "src": "2204:306:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 190, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 182, + "src": "2274:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 191, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 184, + "src": "2287:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 187, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2238:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2238:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 16770, + "src": "2238:35:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view external returns (uint256)" + } + }, + "id": 192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2238:56:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 194, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 184, + "src": "2320:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2330:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2320:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 198, + "name": "CONFIG_INTERIM_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1426, + "src": "2363:27:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "2320:70:1", + "trueExpression": { + "argumentTypes": null, + "id": 197, + "name": "CONFIG_VOTING_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1420, + "src": "2334:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 193, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2306:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2306:85:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 202, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 184, + "src": "2417:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 203, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2427:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2417:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 206, + "name": "CONFIG_INTERIM_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "2459:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "2417:68:1", + "trueExpression": { + "argumentTypes": null, + "id": 205, + "name": "CONFIG_VOTING_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "2431:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 201, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2403:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2403:83:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 186, + "name": "requireInPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 960, + "src": "2212:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256) view" + } + }, + "id": 209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2212:282:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 210, + "nodeType": "ExpressionStatement", + "src": "2212:282:1" + }, + { + "id": 211, + "nodeType": "PlaceholderStatement", + "src": "2502:1:1" + } + ] + }, + "documentation": null, + "id": 213, + "name": "ifRevealPhase", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 185, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 182, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 213, + "src": "2167:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 181, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2167:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 184, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 213, + "src": "2188:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 183, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2188:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2166:37:1" + }, + "src": "2144:366:1", + "visibility": "internal" + }, + { + "body": { + "id": 251, + "nodeType": "Block", + "src": "2589:243:1", + "statements": [ + { + "assignments": [ + 220 + ], + "declarations": [ + { + "constant": false, + "id": 220, + "name": "_start", + "nodeType": "VariableDeclaration", + "scope": 252, + "src": "2597:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 219, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2597:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 227, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 224, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 215, + "src": "2650:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 225, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 217, + "src": "2663:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 221, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2614:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2614:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 16770, + "src": "2614:35:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view external returns (uint256)" + } + }, + "id": 226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2614:56:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2597:73:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 229, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 220, + "src": "2686:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 230, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2695:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2686:10:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 228, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2678:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2678:19:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 233, + "nodeType": "ExpressionStatement", + "src": "2678:19:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 235, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "2713:3:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 239, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 217, + "src": "2745:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2755:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2745:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 243, + "name": "CONFIG_INTERIM_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "2787:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "2745:68:1", + "trueExpression": { + "argumentTypes": null, + "id": 242, + "name": "CONFIG_VOTING_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "2759:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 238, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2731:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2731:83:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 236, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 220, + "src": "2720:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "2720:10: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": 246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2720:95:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2713:102:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 234, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2705:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2705:111:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 249, + "nodeType": "ExpressionStatement", + "src": "2705:111:1" + }, + { + "id": 250, + "nodeType": "PlaceholderStatement", + "src": "2824:1:1" + } + ] + }, + "documentation": null, + "id": 252, + "name": "ifAfterProposalRevealPhase", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 218, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 215, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 252, + "src": "2552:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 214, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2552:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 217, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 252, + "src": "2573:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 216, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2573:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2551:37:1" + }, + "src": "2516:316:1", + "visibility": "internal" + }, + { + "body": { + "id": 269, + "nodeType": "Block", + "src": "2887:188:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 260, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 254, + "src": "2966:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 257, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2925:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2925:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalDraftVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 16745, + "src": "2925:40:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2925:53:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 262, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2992:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 264, + "name": "CONFIG_DRAFT_VOTING_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1555, + "src": "3021:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 263, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3007:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3007:40:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 256, + "name": "requireInPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 960, + "src": "2897:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256) view" + } + }, + "id": 266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2897:160:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 267, + "nodeType": "ExpressionStatement", + "src": "2897:160:1" + }, + { + "id": 268, + "nodeType": "PlaceholderStatement", + "src": "3067:1:1" + } + ] + }, + "documentation": null, + "id": 270, + "name": "ifDraftVotingPhase", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 255, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 254, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 270, + "src": "2866:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 253, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2866:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2865:21:1" + }, + "src": "2838:237:1", + "visibility": "internal" + }, + { + "body": { + "id": 295, + "nodeType": "Block", + "src": "3143:166:1", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 277, + "name": "_currentState", + "nodeType": "VariableDeclaration", + "scope": 296, + "src": "3153:21:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 276, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3153:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 278, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "3153:21:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + null, + { + "argumentTypes": null, + "id": 279, + "name": "_currentState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "3188:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + null, + null, + null, + null, + null, + null + ], + "id": 280, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3184:24:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$__$_t_bytes32_$__$__$__$__$__$__$", + "typeString": "tuple(,,,bytes32,,,,,,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 284, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 272, + "src": "3237:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 281, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "3211:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3211:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16595, + "src": "3211:25:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "function (bytes32) view external returns (bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3211:38:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "tuple(bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "src": "3184:65:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 287, + "nodeType": "ExpressionStatement", + "src": "3184:65:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 289, + "name": "_currentState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "3267:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 290, + "name": "_STATE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 274, + "src": "3284:6:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3267:23:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 288, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3259:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3259:32:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 293, + "nodeType": "ExpressionStatement", + "src": "3259:32:1" + }, + { + "id": 294, + "nodeType": "PlaceholderStatement", + "src": "3301:1:1" + } + ] + }, + "documentation": null, + "id": 296, + "name": "isProposalState", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 275, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 272, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 296, + "src": "3106:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 271, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3106:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 274, + "name": "_STATE", + "nodeType": "VariableDeclaration", + "scope": 296, + "src": "3127:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 273, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3127:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3105:37:1" + }, + "src": "3081:228:1", + "visibility": "internal" + }, + { + "body": { + "id": 311, + "nodeType": "Block", + "src": "3363:86:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 304, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 298, + "src": "3409:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 301, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "3381:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3381:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isDraftClaimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 17300, + "src": "3381:27:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view external returns (bool)" + } + }, + "id": 305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3381:40:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 306, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3425:5:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "3381:49:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 300, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3373:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3373:58:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 309, + "nodeType": "ExpressionStatement", + "src": "3373:58:1" + }, + { + "id": 310, + "nodeType": "PlaceholderStatement", + "src": "3441:1:1" + } + ] + }, + "documentation": null, + "id": 312, + "name": "ifDraftNotClaimed", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 299, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 298, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 312, + "src": "3342:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 297, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3342:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3341:21:1" + }, + "src": "3315:134:1", + "visibility": "internal" + }, + { + "body": { + "id": 330, + "nodeType": "Block", + "src": "3514:89:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 322, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 314, + "src": "3555:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 323, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3568:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 319, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "3532:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3532:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isClaimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 17320, + "src": "3532:22:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (bytes32,uint256) view external returns (bool)" + } + }, + "id": 324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3532:43:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 325, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3579:5:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "3532:52:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 318, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3524:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3524:61:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 328, + "nodeType": "ExpressionStatement", + "src": "3524:61:1" + }, + { + "id": 329, + "nodeType": "PlaceholderStatement", + "src": "3595:1:1" + } + ] + }, + "documentation": null, + "id": 331, + "name": "ifNotClaimed", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 317, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 314, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 331, + "src": "3477:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 313, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3477:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 316, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 331, + "src": "3498:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 315, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3498:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3476:37:1" + }, + "src": "3455:148:1", + "visibility": "internal" + }, + { + "body": { + "id": 346, + "nodeType": "Block", + "src": "3659:88:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 342, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 339, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 333, + "src": "3707:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 336, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "3677:17:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3677:19:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isClaimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 15975, + "src": "3677:29:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view external returns (bool)" + } + }, + "id": 340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3677:42:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 341, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3723:5:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "3677:51:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 335, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3669:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3669:60:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 344, + "nodeType": "ExpressionStatement", + "src": "3669:60:1" + }, + { + "id": 345, + "nodeType": "PlaceholderStatement", + "src": "3739:1:1" + } + ] + }, + "documentation": null, + "id": 347, + "name": "ifNotClaimedSpecial", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 334, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 333, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 347, + "src": "3638:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 332, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3638:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3637:21:1" + }, + "src": "3609:138:1", + "visibility": "internal" + }, + { + "body": { + "id": 377, + "nodeType": "Block", + "src": "3814:170:1", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 354, + "name": "_voteWeight", + "nodeType": "VariableDeclaration", + "scope": 378, + "src": "3824:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 353, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3824:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 355, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "3824:19:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + { + "argumentTypes": null, + "id": 356, + "name": "_voteWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 354, + "src": "3856:11:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 357, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3853:15:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$_t_uint256_$", + "typeString": "tuple(,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 361, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 349, + "src": "3893:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 362, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 351, + "src": "3906:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 363, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "3914:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3914:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 358, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "3871:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3871:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 16943, + "src": "3871:21:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_address_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (bytes32,uint256,address) view external returns (bool,uint256)" + } + }, + "id": 365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3871:54:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "src": "3853:72:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 367, + "nodeType": "ExpressionStatement", + "src": "3853:72:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 369, + "name": "_voteWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 354, + "src": "3943:11:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 371, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3963: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": 370, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3958:4:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint" + }, + "id": 372, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3958:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3943:22:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 368, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3935:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3935:31:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 375, + "nodeType": "ExpressionStatement", + "src": "3935:31:1" + }, + { + "id": 376, + "nodeType": "PlaceholderStatement", + "src": "3976:1:1" + } + ] + }, + "documentation": null, + "id": 378, + "name": "hasNotRevealed", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 352, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 349, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 378, + "src": "3777:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 348, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3777:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 351, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 378, + "src": "3798:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 350, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3798:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3776:37:1" + }, + "src": "3753:231:1", + "visibility": "internal" + }, + { + "body": { + "id": 405, + "nodeType": "Block", + "src": "4042:159:1", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 383, + "name": "_weight", + "nodeType": "VariableDeclaration", + "scope": 406, + "src": "4052:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 382, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4052:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 384, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4052:15:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + { + "argumentTypes": null, + "id": 385, + "name": "_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "4079:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 386, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "4077:10:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$_t_uint256_$", + "typeString": "tuple(,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 390, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 380, + "src": "4119:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 391, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4132:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4132:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 387, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "4090:17:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4090:19:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 16000, + "src": "4090:28:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (bytes32,address) view external returns (bool,uint256)" + } + }, + "id": 393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4090:53:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "src": "4077:66:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 395, + "nodeType": "ExpressionStatement", + "src": "4077:66:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 397, + "name": "_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "4161:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 399, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4180: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": 398, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4172:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 400, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4172:10:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4161:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 396, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4153:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4153:30:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 403, + "nodeType": "ExpressionStatement", + "src": "4153:30:1" + }, + { + "id": 404, + "nodeType": "PlaceholderStatement", + "src": "4193:1:1" + } + ] + }, + "documentation": null, + "id": 406, + "name": "hasNotRevealedSpecial", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 381, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 380, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 406, + "src": "4021:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 379, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4021:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4020:21:1" + }, + "src": "3990:211:1", + "visibility": "internal" + }, + { + "body": { + "id": 436, + "nodeType": "Block", + "src": "4263:201:1", + "statements": [ + { + "assignments": [ + 411 + ], + "declarations": [ + { + "constant": false, + "id": 411, + "name": "_start", + "nodeType": "VariableDeclaration", + "scope": 437, + "src": "4271:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 410, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4271:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 417, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 415, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 408, + "src": "4323:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 412, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "4288:17:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4288:19:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 15808, + "src": "4288:34:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4288:47:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4271:64:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 419, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 411, + "src": "4351:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 420, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4360:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4351:10:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 418, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4343:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4343:19:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 423, + "nodeType": "ExpressionStatement", + "src": "4343:19:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 427, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 411, + "src": "4386:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 425, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "4378:3:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "4378:7: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": 428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4378:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 430, + "name": "CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "4411:35:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 429, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4397:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4397:50:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4378:69:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 424, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4370:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4370:78:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 434, + "nodeType": "ExpressionStatement", + "src": "4370:78:1" + }, + { + "id": 435, + "nodeType": "PlaceholderStatement", + "src": "4456:1:1" + } + ] + }, + "documentation": null, + "id": 437, + "name": "ifAfterRevealPhaseSpecial", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 409, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 408, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 437, + "src": "4242:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 407, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4242:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4241:21:1" + }, + "src": "4207:257:1", + "visibility": "internal" + }, + { + "body": { + "id": 454, + "nodeType": "Block", + "src": "4521:193:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 445, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 439, + "src": "4594:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 442, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "4559:17:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4559:19:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 15808, + "src": "4559:34:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4559:47:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 447, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4620:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 449, + "name": "CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1510, + "src": "4649:36:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 448, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4635:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4635:51:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 441, + "name": "requireInPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 960, + "src": "4531:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256) view" + } + }, + "id": 451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4531:165:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 452, + "nodeType": "ExpressionStatement", + "src": "4531:165:1" + }, + { + "id": 453, + "nodeType": "PlaceholderStatement", + "src": "4706:1:1" + } + ] + }, + "documentation": null, + "id": 455, + "name": "ifCommitPhaseSpecial", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 440, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 439, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 455, + "src": "4500:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 438, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4500:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4499:21:1" + }, + "src": "4470:244:1", + "visibility": "internal" + }, + { + "body": { + "id": 474, + "nodeType": "Block", + "src": "4771:242:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 463, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 457, + "src": "4844:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 460, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "4809:17:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4809:19:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 15808, + "src": "4809:34:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4809:47:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 466, + "name": "CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1510, + "src": "4884:36:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 465, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4870:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4870:51:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 469, + "name": "CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "4949:35:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 468, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4935:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4935:50:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 459, + "name": "requireInPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 960, + "src": "4781:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256) view" + } + }, + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4781:214:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 472, + "nodeType": "ExpressionStatement", + "src": "4781:214:1" + }, + { + "id": 473, + "nodeType": "PlaceholderStatement", + "src": "5005:1:1" + } + ] + }, + "documentation": null, + "id": 475, + "name": "ifRevealPhaseSpecial", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 458, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 457, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 475, + "src": "4750:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 456, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4750:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4749:21:1" + }, + "src": "4720:293:1", + "visibility": "internal" + }, + { + "body": { + "id": 488, + "nodeType": "Block", + "src": "5138:100:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 480, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 478, + "src": "5148:9:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 483, + "name": "CONTRACT_STORAGE_DAO_WHITELISTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1375, + "src": "5196:33:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 482, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "5183:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5183:47:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 481, + "name": "DaoWhitelistingStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18440, + "src": "5160:22:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoWhitelistingStorage_$18440_$", + "typeString": "type(contract DaoWhitelistingStorage)" + } + }, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5160:71:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + } + }, + "src": "5148:83:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + } + }, + "id": 487, + "nodeType": "ExpressionStatement", + "src": "5148:83:1" + } + ] + }, + "documentation": null, + "id": 489, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoWhitelistingStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 476, + "nodeType": "ParameterList", + "parameters": [], + "src": "5050:2:1" + }, + "payable": false, + "returnParameters": { + "id": 479, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 478, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 489, + "src": "5100:32:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + }, + "typeName": { + "contractScope": null, + "id": 477, + "name": "DaoWhitelistingStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18440, + "src": "5100:22:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5099:34:1" + }, + "scope": 838, + "src": "5019:219:1", + "stateMutability": "view", + "superFunction": 1796, + "visibility": "internal" + }, + { + "body": { + "id": 504, + "nodeType": "Block", + "src": "5361:78:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 496, + "name": "_configValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 494, + "src": "5371:12:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 500, + "name": "_configKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 491, + "src": "5421:10:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 497, + "name": "daoConfigsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1104, + "src": "5386:17:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoConfigsStorage_$14281_$", + "typeString": "function () view returns (contract DaoConfigsStorage)" + } + }, + "id": 498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5386:19:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "id": 499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addressConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 12905, + "src": "5386:34:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5386:46:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5371:61:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 503, + "nodeType": "ExpressionStatement", + "src": "5371:61:1" + } + ] + }, + "documentation": null, + "id": 505, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getAddressConfig", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 492, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 491, + "name": "_configKey", + "nodeType": "VariableDeclaration", + "scope": 505, + "src": "5270:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 490, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5270:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5269:20:1" + }, + "payable": false, + "returnParameters": { + "id": 495, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 494, + "name": "_configValue", + "nodeType": "VariableDeclaration", + "scope": 505, + "src": "5335:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 493, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5335:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5334:22:1" + }, + "scope": 838, + "src": "5244:195:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 520, + "nodeType": "Block", + "src": "5560:76:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 512, + "name": "_configValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 510, + "src": "5570:12:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 516, + "name": "_configKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 507, + "src": "5618:10:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 513, + "name": "daoConfigsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1104, + "src": "5585:17:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoConfigsStorage_$14281_$", + "typeString": "function () view returns (contract DaoConfigsStorage)" + } + }, + "id": 514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5585:19:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "id": 515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "bytesConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 12909, + "src": "5585:32:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + "id": 517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5585:44:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5570:59:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 519, + "nodeType": "ExpressionStatement", + "src": "5570:59:1" + } + ] + }, + "documentation": null, + "id": 521, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getBytesConfig", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 508, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 507, + "name": "_configKey", + "nodeType": "VariableDeclaration", + "scope": 521, + "src": "5469:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 506, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5469:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5468:20:1" + }, + "payable": false, + "returnParameters": { + "id": 511, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 510, + "name": "_configValue", + "nodeType": "VariableDeclaration", + "scope": 521, + "src": "5534:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 509, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5534:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5533:22:1" + }, + "scope": 838, + "src": "5445:191:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 551, + "nodeType": "Block", + "src": "5822:214:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 528, + "name": "_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 526, + "src": "5832:3:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 532, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 523, + "src": "5895:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 529, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "5851:17:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5851:19:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15001, + "src": "5851:43:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5851:50:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 534, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "5905:20:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5905:22:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5851:76:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 537, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5850:78:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 541, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 523, + "src": "5978:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 538, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "5945:15:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5945:17:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16048, + "src": "5945:32:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5945:39:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 544, + "name": "CONFIG_MINIMUM_LOCKED_DGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "6002:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 543, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "5988:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5988:40:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5945:83:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 547, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5944:85:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5850:179:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5832:197:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 550, + "nodeType": "ExpressionStatement", + "src": "5832:197:1" + } + ] + }, + "documentation": "@notice Check if a user is a participant in the current quarter", + "id": 552, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isParticipant", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 524, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 523, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 552, + "src": "5748:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 522, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5748:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5747:15:1" + }, + "payable": false, + "returnParameters": { + "id": 527, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 526, + "name": "_is", + "nodeType": "VariableDeclaration", + "scope": 552, + "src": "5808:8:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 525, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5808:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5807:10:1" + }, + "scope": 838, + "src": "5725:311:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 593, + "nodeType": "Block", + "src": "6218:336:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 559, + "name": "_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 557, + "src": "6228:3:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 563, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 554, + "src": "6291:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 560, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "6247:17:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6247:19:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15001, + "src": "6247:43:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6247:50:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 565, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "6301:20:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6301:22:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6247:76:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 568, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6246:78:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 572, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 554, + "src": "6374:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 569, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "6341:15:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6341:17:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16048, + "src": "6341:32:1", + "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": "6341:39:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 575, + "name": "CONFIG_MINIMUM_DGD_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1408, + "src": "6398:32:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 574, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "6384:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6384:47:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6341:90:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 578, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6340:92:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6246:186:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 583, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 554, + "src": "6482:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 580, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "6449:16:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6449:18:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14914, + "src": "6449:32:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6449:39:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 586, + "name": "CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1411, + "src": "6506:39:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 585, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "6492:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6492:54:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6449:97:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 589, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6448:99:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6246:301:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6228:319:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 592, + "nodeType": "ExpressionStatement", + "src": "6228:319:1" + } + ] + }, + "documentation": "@notice Check if a user is a moderator in the current quarter", + "id": 594, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isModerator", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 555, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 554, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 594, + "src": "6144:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 553, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6144:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6143:15:1" + }, + "payable": false, + "returnParameters": { + "id": 558, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 557, + "name": "_is", + "nodeType": "VariableDeclaration", + "scope": 594, + "src": "6204:8:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 556, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6204:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6203:10:1" + }, + "scope": 838, + "src": "6123:431:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 642, + "nodeType": "Block", + "src": "7142:699:1", + "statements": [ + { + "assignments": [ + 604 + ], + "declarations": [ + { + "constant": false, + "id": 604, + "name": "_startOfPrecedingVotingRound", + "nodeType": "VariableDeclaration", + "scope": 643, + "src": "7152:36:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7152:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 611, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 608, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 596, + "src": "7227:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 609, + "name": "_milestoneIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 598, + "src": "7240:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 605, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "7191:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7191:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 16770, + "src": "7191:35:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view external returns (uint256)" + } + }, + "id": 610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7191:65:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7152:104:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 613, + "name": "_startOfPrecedingVotingRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 604, + "src": "7274:28:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 614, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7305:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7274:32:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 612, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "7266:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7266:41:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 617, + "nodeType": "ExpressionStatement", + "src": "7266:41:1" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 618, + "name": "_milestoneIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 598, + "src": "7378:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 619, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7397:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7378:20:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 640, + "nodeType": "Block", + "src": "7620:215:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 631, + "name": "_milestoneStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 601, + "src": "7698:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 635, + "name": "CONFIG_INTERIM_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "7796:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 634, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "7782:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7782:41:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 632, + "name": "_startOfPrecedingVotingRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 604, + "src": "7732:28:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "7732:49: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": 637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7732:92:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7698:126:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 639, + "nodeType": "ExpressionStatement", + "src": "7698:126:1" + } + ] + }, + "id": 641, + "nodeType": "IfStatement", + "src": "7374:461:1", + "trueBody": { + "id": 630, + "nodeType": "Block", + "src": "7400:214:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 621, + "name": "_milestoneStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 601, + "src": "7478:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 625, + "name": "CONFIG_VOTING_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "7576:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 624, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "7562:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7562:40:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 622, + "name": "_startOfPrecedingVotingRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 604, + "src": "7512:28:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "7512:49: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": 627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7512:91:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7478:125:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 629, + "nodeType": "ExpressionStatement", + "src": "7478:125:1" + } + ] + } + } + ] + }, + "documentation": "@notice Calculate the start of a specific milestone of a specific proposal.\n@dev This is calculated from the voting start of the voting round preceding the milestone\nThis would throw if the voting start is 0 (the voting round has not started yet)\nNote that if the milestoneIndex is exactly the same as the number of milestones,\nThis will just return the end of the last voting round.", + "id": 643, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "startOfMilestone", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 599, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 596, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 643, + "src": "7020:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 595, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7020:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 598, + "name": "_milestoneIndex", + "nodeType": "VariableDeclaration", + "scope": 643, + "src": "7041:23:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 597, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7041:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7019:46:1" + }, + "payable": false, + "returnParameters": { + "id": 602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 601, + "name": "_milestoneStart", + "nodeType": "VariableDeclaration", + "scope": 643, + "src": "7113:23:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 600, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7113:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7112:25:1" + }, + "scope": 838, + "src": "6994:847:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 721, + "nodeType": "Block", + "src": "8405:945:1", + "statements": [ + { + "assignments": [ + 653 + ], + "declarations": [ + { + "constant": false, + "id": 653, + "name": "_timeLeftInQuarter", + "nodeType": "VariableDeclaration", + "scope": 722, + "src": "8415:26:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 652, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8415:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 657, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 655, + "name": "_tentativeVotingStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 647, + "src": "8465:21:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 654, + "name": "getTimeLeftInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1076, + "src": "8444:20:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8444:43:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8415:72:1" + }, + { + "assignments": [ + 659 + ], + "declarations": [ + { + "constant": false, + "id": 659, + "name": "_votingDuration", + "nodeType": "VariableDeclaration", + "scope": 722, + "src": "8497:23:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 658, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8497:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 668, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 661, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 645, + "src": "8537:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8547:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8537:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 665, + "name": "CONFIG_INTERIM_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "8579:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "8537:68:1", + "trueExpression": { + "argumentTypes": null, + "id": 664, + "name": "CONFIG_VOTING_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "8551:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 660, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "8523:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8523:83:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8497:109:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 669, + "name": "_actualVotingStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 650, + "src": "8616:18:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 670, + "name": "_tentativeVotingStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 647, + "src": "8637:21:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8616:42:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 672, + "nodeType": "ExpressionStatement", + "src": "8616:42:1" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 674, + "name": "_tentativeVotingStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 647, + "src": "8686:21:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 673, + "name": "timeInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1030, + "src": "8672:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8672:36:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 677, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "8725:29:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 676, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "8711:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8711:44:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8672:83:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 695, + "name": "_timeLeftInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 653, + "src": "9008:18:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 699, + "name": "CONFIG_VOTE_CLAIMING_DEADLINE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "9063:29:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 698, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "9049:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9049:44:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 696, + "name": "_votingDuration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 659, + "src": "9029:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "9029:19:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9029:65:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9008:86:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 719, + "nodeType": "IfStatement", + "src": "9004:340:1", + "trueBody": { + "id": 718, + "nodeType": "Block", + "src": "9096:248:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 703, + "name": "_actualVotingStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 650, + "src": "9180:18:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 713, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9317:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 709, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "9281:29:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 708, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "9267:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9267:44:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 706, + "name": "_timeLeftInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 653, + "src": "9244:18:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "9244:22: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": 711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9244:68:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "9244:72: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": 714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9244:75:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 704, + "name": "_tentativeVotingStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 647, + "src": "9201:21:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "9201:25: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": 715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9201:132:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9180:153:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 717, + "nodeType": "ExpressionStatement", + "src": "9180:153:1" + } + ] + } + }, + "id": 720, + "nodeType": "IfStatement", + "src": "8668:676:1", + "trueBody": { + "id": 694, + "nodeType": "Block", + "src": "8757:241:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 680, + "name": "_actualVotingStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 650, + "src": "8823:18:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 688, + "name": "_tentativeVotingStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 647, + "src": "8950:21:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 687, + "name": "timeInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1030, + "src": "8936:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8936:36:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 684, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "8901:29:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 683, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "8887:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8887:44:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "8887:48: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": 690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8887:86:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 681, + "name": "_tentativeVotingStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 647, + "src": "8844:21:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "8844:25: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": 691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8844:143:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8823:164:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 693, + "nodeType": "ExpressionStatement", + "src": "8823:164:1" + } + ] + } + } + ] + }, + "documentation": "@notice Calculate the actual voting start for a voting round, given the tentative start\n@dev The tentative start is the ideal start. For example, when a proposer finish a milestone, it should be now\nHowever, sometimes the tentative start is too close to the end of the quarter, hence, the actual voting start should be pushed to the next quarter", + "id": 722, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getTimelineForNextVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 648, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 645, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 722, + "src": "8266:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 644, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8266:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 647, + "name": "_tentativeVotingStart", + "nodeType": "VariableDeclaration", + "scope": 722, + "src": "8290:29:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 646, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8290:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8256:69:1" + }, + "payable": false, + "returnParameters": { + "id": 651, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 650, + "name": "_actualVotingStart", + "nodeType": "VariableDeclaration", + "scope": 722, + "src": "8373:26:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 649, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8373:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8372:28:1" + }, + "scope": 838, + "src": "8225:1125:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 733, + "nodeType": "Block", + "src": "9644:69:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 729, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 724, + "src": "9693:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 728, + "name": "isNonDigixProposalsWithinLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "9662:30:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9662:43:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 727, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "9654:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9654:52:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 732, + "nodeType": "ExpressionStatement", + "src": "9654:52:1" + } + ] + }, + "documentation": "@notice Check if we can add another non-Digix proposal in this quarter\n@dev There is a max cap to the number of non-Digix proposals CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER", + "id": 734, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "checkNonDigixProposalLimit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 725, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 724, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 734, + "src": "9589:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 723, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9589:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9588:21:1" + }, + "payable": false, + "returnParameters": { + "id": 726, + "nodeType": "ParameterList", + "parameters": [], + "src": "9644:0:1" + }, + "scope": 838, + "src": "9553:160:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 774, + "nodeType": "Block", + "src": "9850:350:1", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 742, + "name": "_isDigixProposal", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "9860:21:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 741, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9860:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 743, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "9860:21:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "argumentTypes": null, + "id": 744, + "name": "_isDigixProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 742, + "src": "9901:16:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 745, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "9891:27:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$__$__$__$__$__$__$__$_t_bool_$", + "typeString": "tuple(,,,,,,,,,bool)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 749, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 736, + "src": "9947:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 746, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "9921:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9921:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16595, + "src": "9921:25:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "function (bytes32) view external returns (bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "id": 750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9921:38:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "tuple(bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "src": "9891:68:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 752, + "nodeType": "ExpressionStatement", + "src": "9891:68:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 753, + "name": "_withinLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 739, + "src": "9969:12:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 754, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9984:4:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "9969:19:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 756, + "nodeType": "ExpressionStatement", + "src": "9969:19:1" + }, + { + "condition": { + "argumentTypes": null, + "id": 758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "10002:17:1", + "subExpression": { + "argumentTypes": null, + "id": 757, + "name": "_isDigixProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 742, + "src": "10003:16:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 773, + "nodeType": "IfStatement", + "src": "9998:196:1", + "trueBody": { + "id": 772, + "nodeType": "Block", + "src": "10021:173:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 759, + "name": "_withinLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 739, + "src": "10035:12:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 763, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "10101:20:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10101:22:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 760, + "name": "daoProposalCounterStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1146, + "src": "10050:25:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoProposalCounterStorage_$14975_$", + "typeString": "function () view returns (contract DaoProposalCounterStorage)" + } + }, + "id": 761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10050:27:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoProposalCounterStorage_$14975", + "typeString": "contract DaoProposalCounterStorage" + } + }, + "id": 762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalCountByQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 14951, + "src": "10050:50:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10050:74:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 767, + "name": "CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1573, + "src": "10141:41:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 766, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "10127:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10127:56:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10050:133:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10035:148:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 771, + "nodeType": "ExpressionStatement", + "src": "10035:148:1" + } + ] + } + } + ] + }, + "documentation": null, + "id": 775, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isNonDigixProposalsWithinLimit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 737, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 736, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "9759:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 735, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9759:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9758:21:1" + }, + "payable": false, + "returnParameters": { + "id": 740, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 739, + "name": "_withinLimit", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "9827:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 738, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9827:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9826:19:1" + }, + "scope": 838, + "src": "9719:481:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 811, + "nodeType": "Block", + "src": "10512:283:1", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "10526:13:1", + "subExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 783, + "name": "is_founder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1866, + "src": "10527:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10527:12:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 810, + "nodeType": "IfStatement", + "src": "10522:267:1", + "trueBody": { + "id": 809, + "nodeType": "Block", + "src": "10541:248:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 787, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 778, + "src": "10563:19:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10563:26:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 790, + "name": "CONFIG_MAX_MILESTONES_FOR_NON_DIGIX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1570, + "src": "10607:35:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 789, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "10593:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10593:50:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10563:80:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 786, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "10555:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10555:89:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 794, + "nodeType": "ExpressionStatement", + "src": "10555:89:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 801, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 780, + "src": "10713:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 798, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 778, + "src": "10688:19:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 796, + "name": "MathHelper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8575, + "src": "10666:10:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MathHelper_$8575_$", + "typeString": "type(library MathHelper)" + } + }, + "id": 797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sumNumbers", + "nodeType": "MemberAccess", + "referencedDeclaration": 8574, + "src": "10666:21:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (uint256[] memory) pure returns (uint256)" + } + }, + "id": 799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10666:42:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "10666:46: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": 802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10666:60:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 804, + "name": "CONFIG_MAX_FUNDING_FOR_NON_DIGIX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1567, + "src": "10744:32:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 803, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "10730:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10730:47:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10666:111:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 795, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "10658:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10658:120:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 808, + "nodeType": "ExpressionStatement", + "src": "10658:120:1" + } + ] + } + } + ] + }, + "documentation": "@notice If its a non-Digix proposal, check if the fundings are within limit\n@dev There is a max cap to the fundings and number of milestones for non-Digix proposals", + "id": 812, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "checkNonDigixFundings", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 781, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 778, + "name": "_milestonesFundings", + "nodeType": "VariableDeclaration", + "scope": 812, + "src": "10425:29:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 776, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10425:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 777, + "length": null, + "nodeType": "ArrayTypeName", + "src": "10425:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 780, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 812, + "src": "10456:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 779, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10456:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10424:53:1" + }, + "payable": false, + "returnParameters": { + "id": 782, + "nodeType": "ParameterList", + "parameters": [], + "src": "10512:0:1" + }, + "scope": 838, + "src": "10394:401:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 836, + "nodeType": "Block", + "src": "11041:148:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 816, + "name": "isMainPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "11059:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11059:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 815, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "11051:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11051:22:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 819, + "nodeType": "ExpressionStatement", + "src": "11051:22:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 822, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "11105:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11105:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 821, + "name": "isParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 552, + "src": "11091:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11091:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 820, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "11083:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11083:34:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 826, + "nodeType": "ExpressionStatement", + "src": "11083:34:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 831, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "11170:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11170:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 828, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "11135:16:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11135:18:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "is_kyc_approved", + "nodeType": "MemberAccess", + "referencedDeclaration": 14512, + "src": "11135:34:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11135:46:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 827, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "11127:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11127:55:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 835, + "nodeType": "ExpressionStatement", + "src": "11127:55:1" + } + ] + }, + "documentation": "@notice Check if msg.sender can do operations as a proposer\n@dev Note that this function does not check if he is the proposer of the proposal", + "id": 837, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "senderCanDoProposerOperations", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 813, + "nodeType": "ParameterList", + "parameters": [], + "src": "11004:2:1" + }, + "payable": false, + "returnParameters": { + "id": 814, + "nodeType": "ParameterList", + "parameters": [], + "src": "11041:0:1" + }, + "scope": 838, + "src": "10966:223:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 839, + "src": "89:11102:1" + } + ], + "src": "0:11192:1" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommon.sol", + "exportedSymbols": { + "DaoCommon": [ + 838 + ] + }, + "id": 839, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 58, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:1" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommonMini.sol", + "file": "./DaoCommonMini.sol", + "id": 59, + "nodeType": "ImportDirective", + "scope": 839, + "sourceUnit": 1234, + "src": "26:29:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/MathHelper.sol", + "file": "../lib/MathHelper.sol", + "id": 60, + "nodeType": "ImportDirective", + "scope": 839, + "sourceUnit": 8576, + "src": "56:31:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 61, + "name": "DaoCommonMini", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1233, + "src": "111:13:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommonMini_$1233", + "typeString": "contract DaoCommonMini" + } + }, + "id": 62, + "nodeType": "InheritanceSpecifier", + "src": "111:13:1" + } + ], + "contractDependencies": [ + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 838, + "linearizedBaseContracts": [ + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoCommon", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 65, + "libraryName": { + "contractScope": null, + "id": 63, + "name": "MathHelper", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8575, + "src": "138:10:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MathHelper_$8575", + "typeString": "library MathHelper" + } + }, + "nodeType": "UsingForDirective", + "src": "132:32:1", + "typeName": { + "contractScope": null, + "id": 64, + "name": "MathHelper", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8575, + "src": "153:10:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MathHelper_$8575", + "typeString": "library MathHelper" + } + } + }, + { + "body": { + "id": 83, + "nodeType": "Block", + "src": "443:95:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 81, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 72, + "name": "_isFromProposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70, + "src": "453:15:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 80, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 73, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "471:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 74, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "471:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 78, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 67, + "src": "519:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 75, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "485:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 76, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "485:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 77, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalProposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 16610, + "src": "485:33:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 79, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "485:46:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "471:60:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "453:78:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 82, + "nodeType": "ExpressionStatement", + "src": "453:78:1" + } + ] + }, + "documentation": "@notice Check if the transaction is called by the proposer of a proposal\n@return _isFromProposer true if the caller is the proposer", + "id": 84, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isFromProposer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 68, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 67, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 84, + "src": "349:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 66, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "349:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "348:21:1" + }, + "payable": false, + "returnParameters": { + "id": 71, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 70, + "name": "_isFromProposer", + "nodeType": "VariableDeclaration", + "scope": 84, + "src": "417:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 69, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "417:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "416:22:1" + }, + "scope": 838, + "src": "325:213:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 109, + "nodeType": "Block", + "src": "965:165:1", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 92, + "name": "_finalVersion", + "nodeType": "VariableDeclaration", + "scope": 110, + "src": "975:21:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 91, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "975:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 93, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "975:21:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + null, + null, + null, + null, + null, + { + "argumentTypes": null, + "id": 94, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 92, + "src": "1014:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + null, + null + ], + "id": 95, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "1006:24:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$__$__$__$__$__$_t_bytes32_$__$__$", + "typeString": "tuple(,,,,,,,bytes32,,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 99, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86, + "src": "1059:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 96, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "1033:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 97, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1033:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 98, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16595, + "src": "1033:25:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "function (bytes32) view external returns (bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "id": 100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1033:38:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "tuple(bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "src": "1006:65:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 102, + "nodeType": "ExpressionStatement", + "src": "1006:65:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 103, + "name": "_isEditable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 89, + "src": "1081:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 104, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 92, + "src": "1095:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 105, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "1112:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1095:28:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1081:42:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 108, + "nodeType": "ExpressionStatement", + "src": "1081:42:1" + } + ] + }, + "documentation": "@notice Check if the proposal can still be \"editted\", or in other words, added more versions\n@dev Once the proposal is finalized, it can no longer be editted. The proposer will still be able to add docs and change fundings though.\n@return _isEditable true if the proposal is editable", + "id": 110, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isEditable", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 87, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 86, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 110, + "src": "875:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 85, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "875:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "874:21:1" + }, + "payable": false, + "returnParameters": { + "id": 90, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 89, + "name": "_isEditable", + "nodeType": "VariableDeclaration", + "scope": 110, + "src": "943:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 88, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "943:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "942:18:1" + }, + "scope": 838, + "src": "855:275:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 122, + "nodeType": "Block", + "src": "1319:74:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 115, + "name": "_wei", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 113, + "src": "1329:4:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 117, + "name": "CONTRACT_DAO_FUNDING_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1327, + "src": "1349:28:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 116, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "1336:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1336:42:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1336:50:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1329:57:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 121, + "nodeType": "ExpressionStatement", + "src": "1329:57:1" + } + ] + }, + "documentation": "@notice returns the balance of DaoFundingManager, which is the wei in DigixDAO", + "id": 123, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "weiInDao", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 111, + "nodeType": "ParameterList", + "parameters": [], + "src": "1251:2:1" + }, + "payable": false, + "returnParameters": { + "id": 114, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 113, + "name": "_wei", + "nodeType": "VariableDeclaration", + "scope": 123, + "src": "1301:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 112, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1301:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1300:14:1" + }, + "scope": 838, + "src": "1234:159:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 153, + "nodeType": "Block", + "src": "1540:298:1", + "statements": [ + { + "assignments": [ + 128 + ], + "declarations": [ + { + "constant": false, + "id": 128, + "name": "_start", + "nodeType": "VariableDeclaration", + "scope": 154, + "src": "1550:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 127, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1550:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 134, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 132, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125, + "src": "1608:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 129, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "1567:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1567:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalDraftVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 16745, + "src": "1567:40:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1567:53:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1550:70:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 136, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1638:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 137, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1647:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1638:10:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 135, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1630:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1630:19:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 140, + "nodeType": "ExpressionStatement", + "src": "1630:19:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 142, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "1760:3:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 146, + "name": "CONFIG_DRAFT_VOTING_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1555, + "src": "1792:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 145, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1778:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1778:40:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 143, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "1767:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "1767:10: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": 148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1767:52:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1760:59:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 141, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1752:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1752:68:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 151, + "nodeType": "ExpressionStatement", + "src": "1752:68:1" + }, + { + "id": 152, + "nodeType": "PlaceholderStatement", + "src": "1830:1:1" + } + ] + }, + "documentation": "@notice Check if it is after the draft voting phase of the proposal", + "id": 154, + "name": "ifAfterDraftVotingPhase", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 126, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 125, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 154, + "src": "1519:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 124, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1519:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1518:21:1" + }, + "src": "1486:352:1", + "visibility": "internal" + }, + { + "body": { + "id": 179, + "nodeType": "Block", + "src": "1902:236:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 164, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 156, + "src": "1976:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 165, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 158, + "src": "1989:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 161, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "1940:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1940:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 16770, + "src": "1940:35:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view external returns (uint256)" + } + }, + "id": 166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1940:56:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2010:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 169, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 158, + "src": "2039:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2049:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2039:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 173, + "name": "CONFIG_INTERIM_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1426, + "src": "2082:27:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "2039:70:1", + "trueExpression": { + "argumentTypes": null, + "id": 172, + "name": "CONFIG_VOTING_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1420, + "src": "2053:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 168, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2025:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2025:85:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 160, + "name": "requireInPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 960, + "src": "1912:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256) view" + } + }, + "id": 176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1912:208:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 177, + "nodeType": "ExpressionStatement", + "src": "1912:208:1" + }, + { + "id": 178, + "nodeType": "PlaceholderStatement", + "src": "2130:1:1" + } + ] + }, + "documentation": null, + "id": 180, + "name": "ifCommitPhase", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 159, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 156, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 180, + "src": "1867:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 155, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1867:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 158, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 180, + "src": "1888:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 157, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1888:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1866:35:1" + }, + "src": "1844:294:1", + "visibility": "internal" + }, + { + "body": { + "id": 212, + "nodeType": "Block", + "src": "2204:306:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 190, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 182, + "src": "2274:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 191, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 184, + "src": "2287:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 187, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2238:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2238:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 16770, + "src": "2238:35:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view external returns (uint256)" + } + }, + "id": 192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2238:56:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 194, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 184, + "src": "2320:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2330:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2320:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 198, + "name": "CONFIG_INTERIM_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1426, + "src": "2363:27:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "2320:70:1", + "trueExpression": { + "argumentTypes": null, + "id": 197, + "name": "CONFIG_VOTING_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1420, + "src": "2334:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 193, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2306:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2306:85:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 202, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 184, + "src": "2417:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 203, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2427:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2417:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 206, + "name": "CONFIG_INTERIM_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "2459:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "2417:68:1", + "trueExpression": { + "argumentTypes": null, + "id": 205, + "name": "CONFIG_VOTING_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "2431:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 201, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2403:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2403:83:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 186, + "name": "requireInPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 960, + "src": "2212:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256) view" + } + }, + "id": 209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2212:282:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 210, + "nodeType": "ExpressionStatement", + "src": "2212:282:1" + }, + { + "id": 211, + "nodeType": "PlaceholderStatement", + "src": "2502:1:1" + } + ] + }, + "documentation": null, + "id": 213, + "name": "ifRevealPhase", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 185, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 182, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 213, + "src": "2167:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 181, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2167:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 184, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 213, + "src": "2188:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 183, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2188:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2166:37:1" + }, + "src": "2144:366:1", + "visibility": "internal" + }, + { + "body": { + "id": 251, + "nodeType": "Block", + "src": "2589:243:1", + "statements": [ + { + "assignments": [ + 220 + ], + "declarations": [ + { + "constant": false, + "id": 220, + "name": "_start", + "nodeType": "VariableDeclaration", + "scope": 252, + "src": "2597:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 219, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2597:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 227, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 224, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 215, + "src": "2650:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 225, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 217, + "src": "2663:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 221, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2614:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2614:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 16770, + "src": "2614:35:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view external returns (uint256)" + } + }, + "id": 226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2614:56:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2597:73:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 229, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 220, + "src": "2686:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 230, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2695:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2686:10:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 228, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2678:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2678:19:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 233, + "nodeType": "ExpressionStatement", + "src": "2678:19:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 235, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "2713:3:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 239, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 217, + "src": "2745:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2755:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2745:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 243, + "name": "CONFIG_INTERIM_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "2787:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "2745:68:1", + "trueExpression": { + "argumentTypes": null, + "id": 242, + "name": "CONFIG_VOTING_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "2759:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 238, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2731:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2731:83:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 236, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 220, + "src": "2720:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "2720:10: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": 246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2720:95:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2713:102:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 234, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2705:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2705:111:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 249, + "nodeType": "ExpressionStatement", + "src": "2705:111:1" + }, + { + "id": 250, + "nodeType": "PlaceholderStatement", + "src": "2824:1:1" + } + ] + }, + "documentation": null, + "id": 252, + "name": "ifAfterProposalRevealPhase", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 218, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 215, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 252, + "src": "2552:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 214, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2552:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 217, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 252, + "src": "2573:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 216, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2573:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2551:37:1" + }, + "src": "2516:316:1", + "visibility": "internal" + }, + { + "body": { + "id": 269, + "nodeType": "Block", + "src": "2887:188:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 260, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 254, + "src": "2966:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 257, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2925:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2925:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalDraftVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 16745, + "src": "2925:40:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2925:53:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 262, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2992:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 264, + "name": "CONFIG_DRAFT_VOTING_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1555, + "src": "3021:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 263, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3007:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3007:40:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 256, + "name": "requireInPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 960, + "src": "2897:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256) view" + } + }, + "id": 266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2897:160:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 267, + "nodeType": "ExpressionStatement", + "src": "2897:160:1" + }, + { + "id": 268, + "nodeType": "PlaceholderStatement", + "src": "3067:1:1" + } + ] + }, + "documentation": null, + "id": 270, + "name": "ifDraftVotingPhase", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 255, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 254, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 270, + "src": "2866:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 253, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2866:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2865:21:1" + }, + "src": "2838:237:1", + "visibility": "internal" + }, + { + "body": { + "id": 295, + "nodeType": "Block", + "src": "3143:166:1", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 277, + "name": "_currentState", + "nodeType": "VariableDeclaration", + "scope": 296, + "src": "3153:21:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 276, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3153:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 278, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "3153:21:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + null, + { + "argumentTypes": null, + "id": 279, + "name": "_currentState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "3188:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + null, + null, + null, + null, + null, + null + ], + "id": 280, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3184:24:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$__$_t_bytes32_$__$__$__$__$__$__$", + "typeString": "tuple(,,,bytes32,,,,,,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 284, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 272, + "src": "3237:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 281, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "3211:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3211:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16595, + "src": "3211:25:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "function (bytes32) view external returns (bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3211:38:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "tuple(bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "src": "3184:65:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 287, + "nodeType": "ExpressionStatement", + "src": "3184:65:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 289, + "name": "_currentState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 277, + "src": "3267:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 290, + "name": "_STATE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 274, + "src": "3284:6:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3267:23:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 288, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3259:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3259:32:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 293, + "nodeType": "ExpressionStatement", + "src": "3259:32:1" + }, + { + "id": 294, + "nodeType": "PlaceholderStatement", + "src": "3301:1:1" + } + ] + }, + "documentation": null, + "id": 296, + "name": "isProposalState", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 275, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 272, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 296, + "src": "3106:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 271, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3106:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 274, + "name": "_STATE", + "nodeType": "VariableDeclaration", + "scope": 296, + "src": "3127:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 273, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3127:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3105:37:1" + }, + "src": "3081:228:1", + "visibility": "internal" + }, + { + "body": { + "id": 311, + "nodeType": "Block", + "src": "3363:86:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 304, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 298, + "src": "3409:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 301, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "3381:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3381:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isDraftClaimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 17300, + "src": "3381:27:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view external returns (bool)" + } + }, + "id": 305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3381:40:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 306, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3425:5:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "3381:49:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 300, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3373:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3373:58:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 309, + "nodeType": "ExpressionStatement", + "src": "3373:58:1" + }, + { + "id": 310, + "nodeType": "PlaceholderStatement", + "src": "3441:1:1" + } + ] + }, + "documentation": null, + "id": 312, + "name": "ifDraftNotClaimed", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 299, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 298, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 312, + "src": "3342:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 297, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3342:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3341:21:1" + }, + "src": "3315:134:1", + "visibility": "internal" + }, + { + "body": { + "id": 330, + "nodeType": "Block", + "src": "3514:89:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 322, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 314, + "src": "3555:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 323, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 316, + "src": "3568:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 319, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "3532:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3532:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isClaimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 17320, + "src": "3532:22:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (bytes32,uint256) view external returns (bool)" + } + }, + "id": 324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3532:43:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 325, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3579:5:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "3532:52:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 318, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3524:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3524:61:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 328, + "nodeType": "ExpressionStatement", + "src": "3524:61:1" + }, + { + "id": 329, + "nodeType": "PlaceholderStatement", + "src": "3595:1:1" + } + ] + }, + "documentation": null, + "id": 331, + "name": "ifNotClaimed", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 317, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 314, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 331, + "src": "3477:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 313, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3477:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 316, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 331, + "src": "3498:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 315, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3498:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3476:37:1" + }, + "src": "3455:148:1", + "visibility": "internal" + }, + { + "body": { + "id": 346, + "nodeType": "Block", + "src": "3659:88:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 342, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 339, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 333, + "src": "3707:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 336, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "3677:17:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3677:19:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isClaimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 15975, + "src": "3677:29:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view external returns (bool)" + } + }, + "id": 340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3677:42:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 341, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3723:5:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "3677:51:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 335, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3669:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3669:60:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 344, + "nodeType": "ExpressionStatement", + "src": "3669:60:1" + }, + { + "id": 345, + "nodeType": "PlaceholderStatement", + "src": "3739:1:1" + } + ] + }, + "documentation": null, + "id": 347, + "name": "ifNotClaimedSpecial", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 334, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 333, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 347, + "src": "3638:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 332, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3638:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3637:21:1" + }, + "src": "3609:138:1", + "visibility": "internal" + }, + { + "body": { + "id": 377, + "nodeType": "Block", + "src": "3814:170:1", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 354, + "name": "_voteWeight", + "nodeType": "VariableDeclaration", + "scope": 378, + "src": "3824:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 353, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3824:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 355, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "3824:19:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + { + "argumentTypes": null, + "id": 356, + "name": "_voteWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 354, + "src": "3856:11:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 357, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3853:15:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$_t_uint256_$", + "typeString": "tuple(,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 361, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 349, + "src": "3893:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 362, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 351, + "src": "3906:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 363, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "3914:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3914:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 358, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "3871:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3871:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 16943, + "src": "3871:21:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_address_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (bytes32,uint256,address) view external returns (bool,uint256)" + } + }, + "id": 365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3871:54:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "src": "3853:72:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 367, + "nodeType": "ExpressionStatement", + "src": "3853:72:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 369, + "name": "_voteWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 354, + "src": "3943:11:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 371, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3963: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": 370, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3958:4:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint" + }, + "id": 372, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3958:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3943:22:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 368, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3935:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3935:31:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 375, + "nodeType": "ExpressionStatement", + "src": "3935:31:1" + }, + { + "id": 376, + "nodeType": "PlaceholderStatement", + "src": "3976:1:1" + } + ] + }, + "documentation": null, + "id": 378, + "name": "hasNotRevealed", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 352, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 349, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 378, + "src": "3777:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 348, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3777:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 351, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 378, + "src": "3798:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 350, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3798:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3776:37:1" + }, + "src": "3753:231:1", + "visibility": "internal" + }, + { + "body": { + "id": 405, + "nodeType": "Block", + "src": "4042:159:1", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 383, + "name": "_weight", + "nodeType": "VariableDeclaration", + "scope": 406, + "src": "4052:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 382, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4052:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 384, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4052:15:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + { + "argumentTypes": null, + "id": 385, + "name": "_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "4079:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 386, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "4077:10:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$_t_uint256_$", + "typeString": "tuple(,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 390, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 380, + "src": "4119:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 391, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4132:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4132:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 387, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "4090:17:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4090:19:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 16000, + "src": "4090:28:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (bytes32,address) view external returns (bool,uint256)" + } + }, + "id": 393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4090:53:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "src": "4077:66:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 395, + "nodeType": "ExpressionStatement", + "src": "4077:66:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 397, + "name": "_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 383, + "src": "4161:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 399, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4180: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": 398, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4172:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 400, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4172:10:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4161:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 396, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4153:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4153:30:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 403, + "nodeType": "ExpressionStatement", + "src": "4153:30:1" + }, + { + "id": 404, + "nodeType": "PlaceholderStatement", + "src": "4193:1:1" + } + ] + }, + "documentation": null, + "id": 406, + "name": "hasNotRevealedSpecial", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 381, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 380, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 406, + "src": "4021:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 379, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4021:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4020:21:1" + }, + "src": "3990:211:1", + "visibility": "internal" + }, + { + "body": { + "id": 436, + "nodeType": "Block", + "src": "4263:201:1", + "statements": [ + { + "assignments": [ + 411 + ], + "declarations": [ + { + "constant": false, + "id": 411, + "name": "_start", + "nodeType": "VariableDeclaration", + "scope": 437, + "src": "4271:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 410, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4271:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 417, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 415, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 408, + "src": "4323:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 412, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "4288:17:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4288:19:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 15808, + "src": "4288:34:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4288:47:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4271:64:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 419, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 411, + "src": "4351:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 420, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4360:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4351:10:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 418, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4343:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4343:19:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 423, + "nodeType": "ExpressionStatement", + "src": "4343:19:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 427, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 411, + "src": "4386:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 425, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "4378:3:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "4378:7: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": 428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4378:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 430, + "name": "CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "4411:35:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 429, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4397:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4397:50:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4378:69:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 424, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4370:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4370:78:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 434, + "nodeType": "ExpressionStatement", + "src": "4370:78:1" + }, + { + "id": 435, + "nodeType": "PlaceholderStatement", + "src": "4456:1:1" + } + ] + }, + "documentation": null, + "id": 437, + "name": "ifAfterRevealPhaseSpecial", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 409, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 408, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 437, + "src": "4242:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 407, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4242:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4241:21:1" + }, + "src": "4207:257:1", + "visibility": "internal" + }, + { + "body": { + "id": 454, + "nodeType": "Block", + "src": "4521:193:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 445, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 439, + "src": "4594:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 442, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "4559:17:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4559:19:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 15808, + "src": "4559:34:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4559:47:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 447, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4620:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 449, + "name": "CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1510, + "src": "4649:36:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 448, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4635:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4635:51:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 441, + "name": "requireInPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 960, + "src": "4531:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256) view" + } + }, + "id": 451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4531:165:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 452, + "nodeType": "ExpressionStatement", + "src": "4531:165:1" + }, + { + "id": 453, + "nodeType": "PlaceholderStatement", + "src": "4706:1:1" + } + ] + }, + "documentation": null, + "id": 455, + "name": "ifCommitPhaseSpecial", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 440, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 439, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 455, + "src": "4500:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 438, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4500:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4499:21:1" + }, + "src": "4470:244:1", + "visibility": "internal" + }, + { + "body": { + "id": 474, + "nodeType": "Block", + "src": "4771:242:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 463, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 457, + "src": "4844:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 460, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "4809:17:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4809:19:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 15808, + "src": "4809:34:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4809:47:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 466, + "name": "CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1510, + "src": "4884:36:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 465, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4870:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4870:51:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 469, + "name": "CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "4949:35:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 468, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4935:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4935:50:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 459, + "name": "requireInPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 960, + "src": "4781:14:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256) view" + } + }, + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4781:214:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 472, + "nodeType": "ExpressionStatement", + "src": "4781:214:1" + }, + { + "id": 473, + "nodeType": "PlaceholderStatement", + "src": "5005:1:1" + } + ] + }, + "documentation": null, + "id": 475, + "name": "ifRevealPhaseSpecial", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 458, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 457, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 475, + "src": "4750:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 456, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4750:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4749:21:1" + }, + "src": "4720:293:1", + "visibility": "internal" + }, + { + "body": { + "id": 488, + "nodeType": "Block", + "src": "5138:100:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 480, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 478, + "src": "5148:9:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 483, + "name": "CONTRACT_STORAGE_DAO_WHITELISTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1375, + "src": "5196:33:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 482, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "5183:12:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5183:47:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 481, + "name": "DaoWhitelistingStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18440, + "src": "5160:22:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoWhitelistingStorage_$18440_$", + "typeString": "type(contract DaoWhitelistingStorage)" + } + }, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5160:71:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + } + }, + "src": "5148:83:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + } + }, + "id": 487, + "nodeType": "ExpressionStatement", + "src": "5148:83:1" + } + ] + }, + "documentation": null, + "id": 489, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoWhitelistingStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 476, + "nodeType": "ParameterList", + "parameters": [], + "src": "5050:2:1" + }, + "payable": false, + "returnParameters": { + "id": 479, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 478, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 489, + "src": "5100:32:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + }, + "typeName": { + "contractScope": null, + "id": 477, + "name": "DaoWhitelistingStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18440, + "src": "5100:22:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5099:34:1" + }, + "scope": 838, + "src": "5019:219:1", + "stateMutability": "view", + "superFunction": 1796, + "visibility": "internal" + }, + { + "body": { + "id": 504, + "nodeType": "Block", + "src": "5361:78:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 496, + "name": "_configValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 494, + "src": "5371:12:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 500, + "name": "_configKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 491, + "src": "5421:10:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 497, + "name": "daoConfigsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1104, + "src": "5386:17:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoConfigsStorage_$14281_$", + "typeString": "function () view returns (contract DaoConfigsStorage)" + } + }, + "id": 498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5386:19:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "id": 499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addressConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 12905, + "src": "5386:34:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5386:46:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5371:61:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 503, + "nodeType": "ExpressionStatement", + "src": "5371:61:1" + } + ] + }, + "documentation": null, + "id": 505, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getAddressConfig", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 492, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 491, + "name": "_configKey", + "nodeType": "VariableDeclaration", + "scope": 505, + "src": "5270:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 490, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5270:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5269:20:1" + }, + "payable": false, + "returnParameters": { + "id": 495, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 494, + "name": "_configValue", + "nodeType": "VariableDeclaration", + "scope": 505, + "src": "5335:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 493, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5335:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5334:22:1" + }, + "scope": 838, + "src": "5244:195:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 520, + "nodeType": "Block", + "src": "5560:76:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 512, + "name": "_configValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 510, + "src": "5570:12:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 516, + "name": "_configKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 507, + "src": "5618:10:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 513, + "name": "daoConfigsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1104, + "src": "5585:17:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoConfigsStorage_$14281_$", + "typeString": "function () view returns (contract DaoConfigsStorage)" + } + }, + "id": 514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5585:19:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "id": 515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "bytesConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 12909, + "src": "5585:32:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + "id": 517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5585:44:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5570:59:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 519, + "nodeType": "ExpressionStatement", + "src": "5570:59:1" + } + ] + }, + "documentation": null, + "id": 521, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getBytesConfig", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 508, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 507, + "name": "_configKey", + "nodeType": "VariableDeclaration", + "scope": 521, + "src": "5469:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 506, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5469:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5468:20:1" + }, + "payable": false, + "returnParameters": { + "id": 511, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 510, + "name": "_configValue", + "nodeType": "VariableDeclaration", + "scope": 521, + "src": "5534:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 509, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5534:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5533:22:1" + }, + "scope": 838, + "src": "5445:191:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 551, + "nodeType": "Block", + "src": "5822:214:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 528, + "name": "_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 526, + "src": "5832:3:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 532, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 523, + "src": "5895:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 529, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "5851:17:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5851:19:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15001, + "src": "5851:43:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5851:50:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 534, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "5905:20:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5905:22:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5851:76:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 537, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5850:78:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 541, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 523, + "src": "5978:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 538, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "5945:15:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5945:17:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16048, + "src": "5945:32:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5945:39:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 544, + "name": "CONFIG_MINIMUM_LOCKED_DGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "6002:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 543, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "5988:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5988:40:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5945:83:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 547, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5944:85:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5850:179:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5832:197:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 550, + "nodeType": "ExpressionStatement", + "src": "5832:197:1" + } + ] + }, + "documentation": "@notice Check if a user is a participant in the current quarter", + "id": 552, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isParticipant", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 524, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 523, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 552, + "src": "5748:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 522, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5748:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5747:15:1" + }, + "payable": false, + "returnParameters": { + "id": 527, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 526, + "name": "_is", + "nodeType": "VariableDeclaration", + "scope": 552, + "src": "5808:8:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 525, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5808:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5807:10:1" + }, + "scope": 838, + "src": "5725:311:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 593, + "nodeType": "Block", + "src": "6218:336:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 559, + "name": "_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 557, + "src": "6228:3:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 563, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 554, + "src": "6291:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 560, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "6247:17:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6247:19:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15001, + "src": "6247:43:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6247:50:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 565, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "6301:20:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6301:22:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6247:76:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 568, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6246:78:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 572, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 554, + "src": "6374:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 569, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "6341:15:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6341:17:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16048, + "src": "6341:32:1", + "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": "6341:39:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 575, + "name": "CONFIG_MINIMUM_DGD_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1408, + "src": "6398:32:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 574, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "6384:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6384:47:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6341:90:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 578, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6340:92:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6246:186:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 583, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 554, + "src": "6482:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 580, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "6449:16:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6449:18:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14914, + "src": "6449:32:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6449:39:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 586, + "name": "CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1411, + "src": "6506:39:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 585, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "6492:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6492:54:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6449:97:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 589, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6448:99:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6246:301:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6228:319:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 592, + "nodeType": "ExpressionStatement", + "src": "6228:319:1" + } + ] + }, + "documentation": "@notice Check if a user is a moderator in the current quarter", + "id": 594, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isModerator", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 555, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 554, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 594, + "src": "6144:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 553, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6144:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6143:15:1" + }, + "payable": false, + "returnParameters": { + "id": 558, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 557, + "name": "_is", + "nodeType": "VariableDeclaration", + "scope": 594, + "src": "6204:8:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 556, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6204:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6203:10:1" + }, + "scope": 838, + "src": "6123:431:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 642, + "nodeType": "Block", + "src": "7142:699:1", + "statements": [ + { + "assignments": [ + 604 + ], + "declarations": [ + { + "constant": false, + "id": 604, + "name": "_startOfPrecedingVotingRound", + "nodeType": "VariableDeclaration", + "scope": 643, + "src": "7152:36:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7152:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 611, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 608, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 596, + "src": "7227:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 609, + "name": "_milestoneIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 598, + "src": "7240:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 605, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "7191:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7191:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 16770, + "src": "7191:35:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view external returns (uint256)" + } + }, + "id": 610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7191:65:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7152:104:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 613, + "name": "_startOfPrecedingVotingRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 604, + "src": "7274:28:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 614, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7305:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7274:32:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 612, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "7266:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7266:41:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 617, + "nodeType": "ExpressionStatement", + "src": "7266:41:1" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 618, + "name": "_milestoneIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 598, + "src": "7378:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 619, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7397:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7378:20:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 640, + "nodeType": "Block", + "src": "7620:215:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 631, + "name": "_milestoneStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 601, + "src": "7698:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 635, + "name": "CONFIG_INTERIM_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "7796:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 634, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "7782:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7782:41:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 632, + "name": "_startOfPrecedingVotingRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 604, + "src": "7732:28:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "7732:49: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": 637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7732:92:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7698:126:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 639, + "nodeType": "ExpressionStatement", + "src": "7698:126:1" + } + ] + }, + "id": 641, + "nodeType": "IfStatement", + "src": "7374:461:1", + "trueBody": { + "id": 630, + "nodeType": "Block", + "src": "7400:214:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 621, + "name": "_milestoneStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 601, + "src": "7478:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 625, + "name": "CONFIG_VOTING_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "7576:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 624, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "7562:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7562:40:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 622, + "name": "_startOfPrecedingVotingRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 604, + "src": "7512:28:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "7512:49: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": 627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7512:91:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7478:125:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 629, + "nodeType": "ExpressionStatement", + "src": "7478:125:1" + } + ] + } + } + ] + }, + "documentation": "@notice Calculate the start of a specific milestone of a specific proposal.\n@dev This is calculated from the voting start of the voting round preceding the milestone\nThis would throw if the voting start is 0 (the voting round has not started yet)\nNote that if the milestoneIndex is exactly the same as the number of milestones,\nThis will just return the end of the last voting round.", + "id": 643, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "startOfMilestone", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 599, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 596, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 643, + "src": "7020:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 595, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7020:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 598, + "name": "_milestoneIndex", + "nodeType": "VariableDeclaration", + "scope": 643, + "src": "7041:23:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 597, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7041:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7019:46:1" + }, + "payable": false, + "returnParameters": { + "id": 602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 601, + "name": "_milestoneStart", + "nodeType": "VariableDeclaration", + "scope": 643, + "src": "7113:23:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 600, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7113:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7112:25:1" + }, + "scope": 838, + "src": "6994:847:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 721, + "nodeType": "Block", + "src": "8405:945:1", + "statements": [ + { + "assignments": [ + 653 + ], + "declarations": [ + { + "constant": false, + "id": 653, + "name": "_timeLeftInQuarter", + "nodeType": "VariableDeclaration", + "scope": 722, + "src": "8415:26:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 652, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8415:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 657, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 655, + "name": "_tentativeVotingStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 647, + "src": "8465:21:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 654, + "name": "getTimeLeftInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1076, + "src": "8444:20:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8444:43:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8415:72:1" + }, + { + "assignments": [ + 659 + ], + "declarations": [ + { + "constant": false, + "id": 659, + "name": "_votingDuration", + "nodeType": "VariableDeclaration", + "scope": 722, + "src": "8497:23:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 658, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8497:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 668, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 661, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 645, + "src": "8537:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8547:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8537:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 665, + "name": "CONFIG_INTERIM_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "8579:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "8537:68:1", + "trueExpression": { + "argumentTypes": null, + "id": 664, + "name": "CONFIG_VOTING_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "8551:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 660, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "8523:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8523:83:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8497:109:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 669, + "name": "_actualVotingStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 650, + "src": "8616:18:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 670, + "name": "_tentativeVotingStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 647, + "src": "8637:21:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8616:42:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 672, + "nodeType": "ExpressionStatement", + "src": "8616:42:1" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 674, + "name": "_tentativeVotingStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 647, + "src": "8686:21:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 673, + "name": "timeInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1030, + "src": "8672:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8672:36:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 677, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "8725:29:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 676, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "8711:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8711:44:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8672:83:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 695, + "name": "_timeLeftInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 653, + "src": "9008:18:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 699, + "name": "CONFIG_VOTE_CLAIMING_DEADLINE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "9063:29:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 698, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "9049:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9049:44:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 696, + "name": "_votingDuration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 659, + "src": "9029:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "9029:19:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9029:65:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9008:86:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 719, + "nodeType": "IfStatement", + "src": "9004:340:1", + "trueBody": { + "id": 718, + "nodeType": "Block", + "src": "9096:248:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 703, + "name": "_actualVotingStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 650, + "src": "9180:18:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 713, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9317:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 709, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "9281:29:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 708, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "9267:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9267:44:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 706, + "name": "_timeLeftInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 653, + "src": "9244:18:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "9244:22: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": 711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9244:68:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "9244:72: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": 714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9244:75:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 704, + "name": "_tentativeVotingStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 647, + "src": "9201:21:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "9201:25: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": 715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9201:132:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9180:153:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 717, + "nodeType": "ExpressionStatement", + "src": "9180:153:1" + } + ] + } + }, + "id": 720, + "nodeType": "IfStatement", + "src": "8668:676:1", + "trueBody": { + "id": 694, + "nodeType": "Block", + "src": "8757:241:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 680, + "name": "_actualVotingStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 650, + "src": "8823:18:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 688, + "name": "_tentativeVotingStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 647, + "src": "8950:21:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 687, + "name": "timeInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1030, + "src": "8936:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8936:36:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 684, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "8901:29:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 683, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "8887:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8887:44:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "8887:48: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": 690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8887:86:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 681, + "name": "_tentativeVotingStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 647, + "src": "8844:21:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "8844:25: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": 691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8844:143:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8823:164:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 693, + "nodeType": "ExpressionStatement", + "src": "8823:164:1" + } + ] + } + } + ] + }, + "documentation": "@notice Calculate the actual voting start for a voting round, given the tentative start\n@dev The tentative start is the ideal start. For example, when a proposer finish a milestone, it should be now\nHowever, sometimes the tentative start is too close to the end of the quarter, hence, the actual voting start should be pushed to the next quarter", + "id": 722, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getTimelineForNextVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 648, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 645, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 722, + "src": "8266:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 644, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8266:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 647, + "name": "_tentativeVotingStart", + "nodeType": "VariableDeclaration", + "scope": 722, + "src": "8290:29:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 646, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8290:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8256:69:1" + }, + "payable": false, + "returnParameters": { + "id": 651, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 650, + "name": "_actualVotingStart", + "nodeType": "VariableDeclaration", + "scope": 722, + "src": "8373:26:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 649, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8373:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8372:28:1" + }, + "scope": 838, + "src": "8225:1125:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 733, + "nodeType": "Block", + "src": "9644:69:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 729, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 724, + "src": "9693:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 728, + "name": "isNonDigixProposalsWithinLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "9662:30:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9662:43:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 727, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "9654:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9654:52:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 732, + "nodeType": "ExpressionStatement", + "src": "9654:52:1" + } + ] + }, + "documentation": "@notice Check if we can add another non-Digix proposal in this quarter\n@dev There is a max cap to the number of non-Digix proposals CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER", + "id": 734, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "checkNonDigixProposalLimit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 725, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 724, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 734, + "src": "9589:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 723, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9589:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9588:21:1" + }, + "payable": false, + "returnParameters": { + "id": 726, + "nodeType": "ParameterList", + "parameters": [], + "src": "9644:0:1" + }, + "scope": 838, + "src": "9553:160:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 774, + "nodeType": "Block", + "src": "9850:350:1", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 742, + "name": "_isDigixProposal", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "9860:21:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 741, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9860:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 743, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "9860:21:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "argumentTypes": null, + "id": 744, + "name": "_isDigixProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 742, + "src": "9901:16:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 745, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "9891:27:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$__$__$__$__$__$__$__$_t_bool_$", + "typeString": "tuple(,,,,,,,,,bool)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 749, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 736, + "src": "9947:11:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 746, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "9921:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9921:12:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16595, + "src": "9921:25:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "function (bytes32) view external returns (bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "id": 750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9921:38:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "tuple(bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "src": "9891:68:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 752, + "nodeType": "ExpressionStatement", + "src": "9891:68:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 753, + "name": "_withinLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 739, + "src": "9969:12:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 754, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9984:4:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "9969:19:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 756, + "nodeType": "ExpressionStatement", + "src": "9969:19:1" + }, + { + "condition": { + "argumentTypes": null, + "id": 758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "10002:17:1", + "subExpression": { + "argumentTypes": null, + "id": 757, + "name": "_isDigixProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 742, + "src": "10003:16:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 773, + "nodeType": "IfStatement", + "src": "9998:196:1", + "trueBody": { + "id": 772, + "nodeType": "Block", + "src": "10021:173:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 759, + "name": "_withinLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 739, + "src": "10035:12:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 763, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "10101:20:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10101:22:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 760, + "name": "daoProposalCounterStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1146, + "src": "10050:25:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoProposalCounterStorage_$14975_$", + "typeString": "function () view returns (contract DaoProposalCounterStorage)" + } + }, + "id": 761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10050:27:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoProposalCounterStorage_$14975", + "typeString": "contract DaoProposalCounterStorage" + } + }, + "id": 762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalCountByQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 14951, + "src": "10050:50:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10050:74:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 767, + "name": "CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1573, + "src": "10141:41:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 766, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "10127:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10127:56:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10050:133:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10035:148:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 771, + "nodeType": "ExpressionStatement", + "src": "10035:148:1" + } + ] + } + } + ] + }, + "documentation": null, + "id": 775, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isNonDigixProposalsWithinLimit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 737, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 736, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "9759:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 735, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9759:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9758:21:1" + }, + "payable": false, + "returnParameters": { + "id": 740, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 739, + "name": "_withinLimit", + "nodeType": "VariableDeclaration", + "scope": 775, + "src": "9827:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 738, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9827:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9826:19:1" + }, + "scope": 838, + "src": "9719:481:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 811, + "nodeType": "Block", + "src": "10512:283:1", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "10526:13:1", + "subExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 783, + "name": "is_founder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1866, + "src": "10527:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10527:12:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 810, + "nodeType": "IfStatement", + "src": "10522:267:1", + "trueBody": { + "id": 809, + "nodeType": "Block", + "src": "10541:248:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 787, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 778, + "src": "10563:19:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10563:26:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 790, + "name": "CONFIG_MAX_MILESTONES_FOR_NON_DIGIX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1570, + "src": "10607:35:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 789, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "10593:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10593:50:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10563:80:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 786, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "10555:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10555:89:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 794, + "nodeType": "ExpressionStatement", + "src": "10555:89:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 801, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 780, + "src": "10713:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 798, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 778, + "src": "10688:19:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 796, + "name": "MathHelper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8575, + "src": "10666:10:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MathHelper_$8575_$", + "typeString": "type(library MathHelper)" + } + }, + "id": 797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sumNumbers", + "nodeType": "MemberAccess", + "referencedDeclaration": 8574, + "src": "10666:21:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (uint256[] memory) pure returns (uint256)" + } + }, + "id": 799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10666:42:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "10666:46: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": 802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10666:60:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 804, + "name": "CONFIG_MAX_FUNDING_FOR_NON_DIGIX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1567, + "src": "10744:32:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 803, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "10730:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10730:47:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10666:111:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 795, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "10658:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10658:120:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 808, + "nodeType": "ExpressionStatement", + "src": "10658:120:1" + } + ] + } + } + ] + }, + "documentation": "@notice If its a non-Digix proposal, check if the fundings are within limit\n@dev There is a max cap to the fundings and number of milestones for non-Digix proposals", + "id": 812, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "checkNonDigixFundings", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 781, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 778, + "name": "_milestonesFundings", + "nodeType": "VariableDeclaration", + "scope": 812, + "src": "10425:29:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 776, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10425:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 777, + "length": null, + "nodeType": "ArrayTypeName", + "src": "10425:9:1", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 780, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 812, + "src": "10456:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 779, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10456:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10424:53:1" + }, + "payable": false, + "returnParameters": { + "id": 782, + "nodeType": "ParameterList", + "parameters": [], + "src": "10512:0:1" + }, + "scope": 838, + "src": "10394:401:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 836, + "nodeType": "Block", + "src": "11041:148:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 816, + "name": "isMainPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "11059:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11059:13:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 815, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "11051:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11051:22:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 819, + "nodeType": "ExpressionStatement", + "src": "11051:22:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 822, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "11105:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11105:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 821, + "name": "isParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 552, + "src": "11091:13:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11091:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 820, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "11083:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11083:34:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 826, + "nodeType": "ExpressionStatement", + "src": "11083:34:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 831, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "11170:3:1", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11170:10:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 828, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "11135:16:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11135:18:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "is_kyc_approved", + "nodeType": "MemberAccess", + "referencedDeclaration": 14512, + "src": "11135:34:1", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11135:46:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 827, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "11127:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11127:55:1", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 835, + "nodeType": "ExpressionStatement", + "src": "11127:55:1" + } + ] + }, + "documentation": "@notice Check if msg.sender can do operations as a proposer\n@dev Note that this function does not check if he is the proposer of the proposal", + "id": 837, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "senderCanDoProposerOperations", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 813, + "nodeType": "ParameterList", + "parameters": [], + "src": "11004:2:1" + }, + "payable": false, + "returnParameters": { + "id": 814, + "nodeType": "ParameterList", + "parameters": [], + "src": "11041:0:1" + }, + "scope": 838, + "src": "10966:223:1", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 839, + "src": "89:11102:1" + } + ], + "src": "0:11192:1" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.814Z" +} \ No newline at end of file diff --git a/build/contracts/DaoCommonMini.json b/build/contracts/DaoCommonMini.json new file mode 100644 index 0000000..b2f7213 --- /dev/null +++ b/build/contracts/DaoCommonMini.json @@ -0,0 +1,10608 @@ +{ + "contractName": "DaoCommonMini", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isDaoNotReplaced", + "outputs": [ + { + "name": "_isNotReplaced", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isLockingPhase", + "outputs": [ + { + "name": "_isLockingPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isMainPhase", + "outputs": [ + { + "name": "_isMainPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentQuarterNumber", + "outputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentTimeInQuarter", + "outputs": [ + { + "name": "_currentT", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getUintConfig", + "outputs": [ + { + "name": "_configValue", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f9060001916905534801561113357600080fd5b5061095e806111436000396000f3006080604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100a95780633943380c146101005780633f83acff14610133578063560a25ea146101a457806368533060146101cf5780637d6fed80146101fe5780637f6a26b61461022d578063b1e2b9dd14610258578063d70d93581461029d578063db4ecbc1146102cc575b600080fd5b3480156100b557600080fd5b506100be610323565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561010c57600080fd5b50610115610348565b60405180826000191660001916815260200191505060405180910390f35b34801561013f57600080fd5b50610162600480360381019080803560001916906020019092919050505061034e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101b057600080fd5b506101b961042a565b6040518082815260200191505060405180910390f35b3480156101db57600080fd5b506101e461043a565b604051808215151515815260200191505060405180910390f35b34801561020a57600080fd5b50610213610466565b604051808215151515815260200191505060405180910390f35b34801561023957600080fd5b50610242610481565b6040518082815260200191505060405180910390f35b34801561026457600080fd5b506102876004803603810190808035600019169060200190929190505050610491565b6040518082815260200191505060405180910390f35b3480156102a957600080fd5b506102b2610553565b604051808215151515815260200191505060405180910390f35b3480156102d857600080fd5b506102e1610601565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156103e857600080fd5b505af11580156103fc573d6000803e3d6000fd5b505050506040513d602081101561041257600080fd5b81019080805190602001909291905050509050919050565b600061043542610627565b905090565b6000610444610553565b80156104615750610456603854610491565b61045e61042a565b10155b905090565b6000610473603854610491565b61047b61042a565b10905090565b600061048c42610710565b905090565b600061049b610813565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561051157600080fd5b505af1158015610525573d6000803e3d6000fd5b505050506040513d602081101561053b57600080fd5b81019080805190602001909291905050509050919050565b600061055d610825565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156105c057600080fd5b505af11580156105d4573d6000803e3d6000fd5b505050506040513d60208110156105ea57600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610631610837565b151561063c57600080fd5b610647603954610491565b6106ff610652610825565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156106b557600080fd5b505af11580156106c9573d6000803e3d6000fd5b505050506040513d60208110156106df57600080fd5b8101908080519060200190929190505050846108e790919063ffffffff16565b81151561070857fe5b069050919050565b600061071a610837565b151561072557600080fd5b61080c60016107fe610738603954610491565b6107f0610743610825565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156107a657600080fd5b505af11580156107ba573d6000803e3d6000fd5b505050506040513d60208110156107d057600080fd5b8101908080519060200190929190505050876108e790919063ffffffff16565b61090090919063ffffffff16565b61091690919063ffffffff16565b9050919050565b6000610820602b5461034e565b905090565b600061083260275461034e565b905090565b600080610842610825565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156108a557600080fd5b505af11580156108b9573d6000803e3d6000fd5b505050506040513d60208110156108cf57600080fd5b81019080805190602001909291905050501415905090565b60008282111515156108f557fe5b818303905092915050565b6000818381151561090d57fe5b04905092915050565b6000818301905082811015151561092957fe5b809050929150505600a165627a7a72305820123cf1b1b480e1cacf865ac270d4632821a1504793b62fa529ae23e7e794ddc20029", + "deployedBytecode": "0x6080604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100a95780633943380c146101005780633f83acff14610133578063560a25ea146101a457806368533060146101cf5780637d6fed80146101fe5780637f6a26b61461022d578063b1e2b9dd14610258578063d70d93581461029d578063db4ecbc1146102cc575b600080fd5b3480156100b557600080fd5b506100be610323565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561010c57600080fd5b50610115610348565b60405180826000191660001916815260200191505060405180910390f35b34801561013f57600080fd5b50610162600480360381019080803560001916906020019092919050505061034e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101b057600080fd5b506101b961042a565b6040518082815260200191505060405180910390f35b3480156101db57600080fd5b506101e461043a565b604051808215151515815260200191505060405180910390f35b34801561020a57600080fd5b50610213610466565b604051808215151515815260200191505060405180910390f35b34801561023957600080fd5b50610242610481565b6040518082815260200191505060405180910390f35b34801561026457600080fd5b506102876004803603810190808035600019169060200190929190505050610491565b6040518082815260200191505060405180910390f35b3480156102a957600080fd5b506102b2610553565b604051808215151515815260200191505060405180910390f35b3480156102d857600080fd5b506102e1610601565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156103e857600080fd5b505af11580156103fc573d6000803e3d6000fd5b505050506040513d602081101561041257600080fd5b81019080805190602001909291905050509050919050565b600061043542610627565b905090565b6000610444610553565b80156104615750610456603854610491565b61045e61042a565b10155b905090565b6000610473603854610491565b61047b61042a565b10905090565b600061048c42610710565b905090565b600061049b610813565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561051157600080fd5b505af1158015610525573d6000803e3d6000fd5b505050506040513d602081101561053b57600080fd5b81019080805190602001909291905050509050919050565b600061055d610825565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156105c057600080fd5b505af11580156105d4573d6000803e3d6000fd5b505050506040513d60208110156105ea57600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610631610837565b151561063c57600080fd5b610647603954610491565b6106ff610652610825565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156106b557600080fd5b505af11580156106c9573d6000803e3d6000fd5b505050506040513d60208110156106df57600080fd5b8101908080519060200190929190505050846108e790919063ffffffff16565b81151561070857fe5b069050919050565b600061071a610837565b151561072557600080fd5b61080c60016107fe610738603954610491565b6107f0610743610825565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156107a657600080fd5b505af11580156107ba573d6000803e3d6000fd5b505050506040513d60208110156107d057600080fd5b8101908080519060200190929190505050876108e790919063ffffffff16565b61090090919063ffffffff16565b61091690919063ffffffff16565b9050919050565b6000610820602b5461034e565b905090565b600061083260275461034e565b905090565b600080610842610825565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156108a557600080fd5b505af11580156108b9573d6000803e3d6000fd5b505050506040513d60208110156108cf57600080fd5b81019080805190602001909291905050501415905090565b60008282111515156108f557fe5b818303905092915050565b6000818381151561090d57fe5b04905092915050565b6000818301905082811015151561092957fe5b809050929150505600a165627a7a72305820123cf1b1b480e1cacf865ac270d4632821a1504793b62fa529ae23e7e794ddc20029", + "sourceMap": "556:6896:2:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;556:6896:2;8:9:-1;5:2;;;30:1;27;20:12;5:2;556:6896:2;;;;;;;", + "deployedSourceMap": "556:6896:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4743:147:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4743:147:2;;;;;;;;;;;;;;;;;;;;;;;1759:239;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1759:239:2;;;;;;;;;;;;;;;;;;;;;;;;;;;1283:201;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1283:201:2;;;;;;;;;;;;;;;;;;;;;;;;;;;3064:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3064:159:2;;;;;;;;;;;;;;;;;;;;;;;7261:189;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7261:189:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;834:173:2;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23;;;;;;;;;;;;;:::o;264:18::-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;4743:147:2:-;4820:17;4865:18;4879:3;4865:13;:18::i;:::-;4853:30;;4743:147;:::o;1759:239::-;1827:17;1887:18;:16;:18::i;:::-;:104;;;;;1947:44;1961:29;;1947:13;:44::i;:::-;1921:22;:20;:22::i;:::-;:70;;1887:104;1860:131;;1759:239;:::o;1283:201::-;1354:20;1433:44;1447:29;;1433:13;:44::i;:::-;1408:22;:20;:22::i;:::-;:69;1390:87;;1283:201;:::o;3064:159::-;3140:22;3195:21;3212:3;3195:16;:21::i;:::-;3178:38;;3064:159;:::o;7261:189::-;7349:20;7400:19;:17;:19::i;:::-;:31;;;7432:10;7400:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7400:43:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7400:43:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7400:43:2;;;;;;;;;;;;;;;;7385:58;;7261:189;;;:::o;834:173::-;907:19;960;:17;:19::i;:::-;:38;;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;960:40:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;960:40:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;960:40:2;;;;;;;;;;;;;;;;959:41;942:58;;834:173;:::o;344:31:67:-;;;;;;;;;;;;;:::o;3862:332:2:-;3947:22;3993:26;:24;:26::i;:::-;3985:35;;;;;;;;4149:38;4163:23;;4149:13;:38::i;:::-;4082:52;4092:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4092:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4092:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4092:41:2;;;;;;;;;;;;;;;;4082:5;:9;;:52;;;;:::i;:::-;:105;;;;;;;;4053:134;;3862:332;;;:::o;3369:320::-;3457:14;3495:26;:24;:26::i;:::-;3487:35;;;;;;;;3553:129;3680:1;3553:109;3623:38;3637:23;;3623:13;:38::i;:::-;3553:52;3563:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3563:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3563:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3563:41:2;;;;;;;;;;;;;;;;3553:5;:9;;:52;;;;:::i;:::-;:69;;:109;;;;:::i;:::-;:126;;:129;;;;:::i;:::-;3532:150;;3369:320;;;:::o;5398:198::-;5474:27;5547:41;5560:27;;5547:12;:41::i;:::-;5517:72;;5398:198;:::o;6204:199::-;6280:27;6353:42;6366:28;;6353:12;:42::i;:::-;6323:73;;6204:199;:::o;4343:172::-;4426:11;4507:1;4462:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4462:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4462:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4462:41:2;;;;;;;;;;;;;;;;:46;;4453:55;;4343:172;:::o;1060:116:84:-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;665:283::-;725:7;941:2;936;:7;;;;;;;;929:14;;665:283;;;;:::o;1238:128::-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"../service/DaoListingService.sol\";\nimport \"./DaoConstants.sol\";\nimport \"./IdentityCommon.sol\";\nimport \"../storage/DaoConfigsStorage.sol\";\nimport \"../storage/DaoStakeStorage.sol\";\nimport \"../storage/DaoStorage.sol\";\nimport \"../storage/DaoProposalCounterStorage.sol\";\nimport \"../storage/DaoUpgradeStorage.sol\";\nimport \"../storage/DaoSpecialStorage.sol\";\nimport \"../storage/DaoPointsStorage.sol\";\nimport \"../storage/DaoRewardsStorage.sol\";\nimport \"../storage/IntermediateResultsStorage.sol\";\nimport \"../lib/MathHelper.sol\";\n\ncontract DaoCommonMini is IdentityCommon {\n\n using MathHelper for MathHelper;\n\n /**\n @notice Check if the DAO contracts have been replaced by a new set of contracts\n @return _isNotReplaced true if it is not replaced, false if it has already been replaced\n */\n function isDaoNotReplaced()\n public\n view\n returns (bool _isNotReplaced)\n {\n _isNotReplaced = !daoUpgradeStorage().isReplacedByNewDao();\n }\n\n /**\n @notice Check if it is currently in the locking phase\n @dev No governance activities can happen in the locking phase. The locking phase is from t=0 to t=CONFIG_LOCKING_PHASE_DURATION-1\n @return _isLockingPhase true if it is in the locking phase\n */\n function isLockingPhase()\n public\n view\n returns (bool _isLockingPhase)\n {\n _isLockingPhase = currentTimeInQuarter() < getUintConfig(CONFIG_LOCKING_PHASE_DURATION);\n }\n\n /**\n @notice Check if it is currently in a main phase.\n @dev The main phase is where all the governance activities could take plase. If the DAO is replaced, there can never be any more main phase.\n @return _isMainPhase true if it is in a main phase\n */\n function isMainPhase()\n public\n view\n returns (bool _isMainPhase)\n {\n _isMainPhase =\n isDaoNotReplaced() &&\n currentTimeInQuarter() >= getUintConfig(CONFIG_LOCKING_PHASE_DURATION);\n }\n\n /**\n @notice Check if the calculateGlobalRewardsBeforeNewQuarter function has been done for a certain quarter\n @dev However, there is no need to run calculateGlobalRewardsBeforeNewQuarter for the first quarter\n */\n modifier ifGlobalRewardsSet(uint256 _quarterNumber) {\n if (_quarterNumber > 1) {\n require(daoRewardsStorage().readDgxDistributionDay(_quarterNumber) > 0);\n }\n _;\n }\n\n /**\n @notice require that it is currently during a phase, which is within _relativePhaseStart and _relativePhaseEnd seconds, after the _startingPoint\n */\n function requireInPhase(uint256 _startingPoint, uint256 _relativePhaseStart, uint256 _relativePhaseEnd)\n internal\n view\n {\n require(_startingPoint > 0);\n require(now < _startingPoint.add(_relativePhaseEnd));\n require(now >= _startingPoint.add(_relativePhaseStart));\n }\n\n /**\n @notice Get the current quarter index\n @dev Quarter indexes starts from 1\n @return _quarterNumber the current quarter index\n */\n function currentQuarterNumber()\n public\n view\n returns(uint256 _quarterNumber)\n {\n _quarterNumber = getQuarterNumber(now);\n }\n\n /**\n @notice Get the quarter index of a timestamp\n @dev Quarter indexes starts from 1\n @return _index the quarter index\n */\n function getQuarterNumber(uint256 _time)\n internal\n view\n returns (uint256 _index)\n {\n require(startOfFirstQuarterIsSet());\n _index =\n _time.sub(daoUpgradeStorage().startOfFirstQuarter())\n .div(getUintConfig(CONFIG_QUARTER_DURATION))\n .add(1);\n }\n\n /**\n @notice Get the relative time in quarter of a timestamp\n @dev For example, the timeInQuarter of the first second of any quarter n-th is always 1\n */\n function timeInQuarter(uint256 _time)\n internal\n view\n returns (uint256 _timeInQuarter)\n {\n require(startOfFirstQuarterIsSet()); // must be already set\n _timeInQuarter =\n _time.sub(daoUpgradeStorage().startOfFirstQuarter())\n % getUintConfig(CONFIG_QUARTER_DURATION);\n }\n\n /**\n @notice Check if the start of first quarter is already set\n @return _isSet true if start of first quarter is already set\n */\n function startOfFirstQuarterIsSet()\n internal\n view\n returns (bool _isSet)\n {\n _isSet = daoUpgradeStorage().startOfFirstQuarter() != 0;\n }\n\n /**\n @notice Get the current relative time in the quarter\n @dev For example: the currentTimeInQuarter of the first second of any quarter is 1\n @return _currentT the current relative time in the quarter\n */\n function currentTimeInQuarter()\n public\n view\n returns (uint256 _currentT)\n {\n _currentT = timeInQuarter(now);\n }\n\n /**\n @notice Get the time remaining in the quarter\n */\n function getTimeLeftInQuarter(uint256 _time)\n internal\n view\n returns (uint256 _timeLeftInQuarter)\n {\n _timeLeftInQuarter = getUintConfig(CONFIG_QUARTER_DURATION).sub(timeInQuarter(_time));\n }\n\n function daoListingService()\n internal\n view\n returns (DaoListingService _contract)\n {\n _contract = DaoListingService(get_contract(CONTRACT_SERVICE_DAO_LISTING));\n }\n\n function daoConfigsStorage()\n internal\n view\n returns (DaoConfigsStorage _contract)\n {\n _contract = DaoConfigsStorage(get_contract(CONTRACT_STORAGE_DAO_CONFIG));\n }\n\n function daoStakeStorage()\n internal\n view\n returns (DaoStakeStorage _contract)\n {\n _contract = DaoStakeStorage(get_contract(CONTRACT_STORAGE_DAO_STAKE));\n }\n\n function daoStorage()\n internal\n view\n returns (DaoStorage _contract)\n {\n _contract = DaoStorage(get_contract(CONTRACT_STORAGE_DAO));\n }\n\n function daoProposalCounterStorage()\n internal\n view\n returns (DaoProposalCounterStorage _contract)\n {\n _contract = DaoProposalCounterStorage(get_contract(CONTRACT_STORAGE_DAO_COUNTER));\n }\n\n function daoUpgradeStorage()\n internal\n view\n returns (DaoUpgradeStorage _contract)\n {\n _contract = DaoUpgradeStorage(get_contract(CONTRACT_STORAGE_DAO_UPGRADE));\n }\n\n function daoSpecialStorage()\n internal\n view\n returns (DaoSpecialStorage _contract)\n {\n _contract = DaoSpecialStorage(get_contract(CONTRACT_STORAGE_DAO_SPECIAL));\n }\n\n function daoPointsStorage()\n internal\n view\n returns (DaoPointsStorage _contract)\n {\n _contract = DaoPointsStorage(get_contract(CONTRACT_STORAGE_DAO_POINTS));\n }\n\n function daoRewardsStorage()\n internal\n view\n returns (DaoRewardsStorage _contract)\n {\n _contract = DaoRewardsStorage(get_contract(CONTRACT_STORAGE_DAO_REWARDS));\n }\n\n function intermediateResultsStorage()\n internal\n view\n returns (IntermediateResultsStorage _contract)\n {\n _contract = IntermediateResultsStorage(get_contract(CONTRACT_STORAGE_INTERMEDIATE_RESULTS));\n }\n\n function getUintConfig(bytes32 _configKey)\n public\n view\n returns (uint256 _configValue)\n {\n _configValue = daoConfigsStorage().uintConfigs(_configKey);\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommonMini.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommonMini.sol", + "exportedSymbols": { + "DaoCommonMini": [ + 1233 + ] + }, + "id": 1234, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 840, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:2" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/service/DaoListingService.sol", + "file": "../service/DaoListingService.sol", + "id": 841, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 12890, + "src": "26:42:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "./DaoConstants.sol", + "id": 842, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 1581, + "src": "69:28:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/IdentityCommon.sol", + "file": "./IdentityCommon.sol", + "id": 843, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 1912, + "src": "98:30:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoConfigsStorage.sol", + "file": "../storage/DaoConfigsStorage.sol", + "id": 844, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 14282, + "src": "129:42:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStakeStorage.sol", + "file": "../storage/DaoStakeStorage.sol", + "id": 845, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 16457, + "src": "172:40:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStorage.sol", + "file": "../storage/DaoStorage.sol", + "id": 846, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 18305, + "src": "213:35:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoProposalCounterStorage.sol", + "file": "../storage/DaoProposalCounterStorage.sol", + "id": 847, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 14976, + "src": "249:50:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoUpgradeStorage.sol", + "file": "../storage/DaoUpgradeStorage.sol", + "id": 848, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 18395, + "src": "300:42:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoSpecialStorage.sol", + "file": "../storage/DaoSpecialStorage.sol", + "id": 849, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 16030, + "src": "343:42:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoPointsStorage.sol", + "file": "../storage/DaoPointsStorage.sol", + "id": 850, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 14927, + "src": "386:41:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoRewardsStorage.sol", + "file": "../storage/DaoRewardsStorage.sol", + "id": 851, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 15546, + "src": "428:42:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/IntermediateResultsStorage.sol", + "file": "../storage/IntermediateResultsStorage.sol", + "id": 852, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 18588, + "src": "471:51:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/MathHelper.sol", + "file": "../lib/MathHelper.sol", + "id": 853, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 8576, + "src": "523:31:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 854, + "name": "IdentityCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1911, + "src": "582:14:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IdentityCommon_$1911", + "typeString": "contract IdentityCommon" + } + }, + "id": 855, + "nodeType": "InheritanceSpecifier", + "src": "582:14:2" + } + ], + "contractDependencies": [ + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1233, + "linearizedBaseContracts": [ + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoCommonMini", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 858, + "libraryName": { + "contractScope": null, + "id": 856, + "name": "MathHelper", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8575, + "src": "610:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MathHelper_$8575", + "typeString": "library MathHelper" + } + }, + "nodeType": "UsingForDirective", + "src": "604:32:2", + "typeName": { + "contractScope": null, + "id": 857, + "name": "MathHelper", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8575, + "src": "625:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MathHelper_$8575", + "typeString": "library MathHelper" + } + } + }, + { + "body": { + "id": 871, + "nodeType": "Block", + "src": "932:75:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 863, + "name": "_isNotReplaced", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 861, + "src": "942:14:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "959:41:2", + "subExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 864, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "960:17:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "960:19:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isReplacedByNewDao", + "nodeType": "MemberAccess", + "referencedDeclaration": 18316, + "src": "960:38:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", + "typeString": "function () view external returns (bool)" + } + }, + "id": 867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "960:40:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "942:58:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 870, + "nodeType": "ExpressionStatement", + "src": "942:58:2" + } + ] + }, + "documentation": "@notice Check if the DAO contracts have been replaced by a new set of contracts\n@return _isNotReplaced true if it is not replaced, false if it has already been replaced", + "id": 872, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isDaoNotReplaced", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 859, + "nodeType": "ParameterList", + "parameters": [], + "src": "859:2:2" + }, + "payable": false, + "returnParameters": { + "id": 862, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 861, + "name": "_isNotReplaced", + "nodeType": "VariableDeclaration", + "scope": 872, + "src": "907:19:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 860, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "907:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "906:21:2" + }, + "scope": 1233, + "src": "834:173:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 886, + "nodeType": "Block", + "src": "1380:104:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 877, + "name": "_isLockingPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 875, + "src": "1390:15:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 878, + "name": "currentTimeInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1057, + "src": "1408:20:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1408:22:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 881, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "1447:29:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 880, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1433:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1433:44:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1408:69:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1390:87:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 885, + "nodeType": "ExpressionStatement", + "src": "1390:87:2" + } + ] + }, + "documentation": "@notice Check if it is currently in the locking phase\n@dev No governance activities can happen in the locking phase. The locking phase is from t=0 to t=CONFIG_LOCKING_PHASE_DURATION-1\n@return _isLockingPhase true if it is in the locking phase", + "id": 887, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isLockingPhase", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 873, + "nodeType": "ParameterList", + "parameters": [], + "src": "1306:2:2" + }, + "payable": false, + "returnParameters": { + "id": 876, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 875, + "name": "_isLockingPhase", + "nodeType": "VariableDeclaration", + "scope": 887, + "src": "1354:20:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 874, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1354:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1353:22:2" + }, + "scope": 1233, + "src": "1283:201:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 904, + "nodeType": "Block", + "src": "1850:148:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 892, + "name": "_isMainPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 890, + "src": "1860:12:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 893, + "name": "isDaoNotReplaced", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 872, + "src": "1887:16:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1887:18:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 895, + "name": "currentTimeInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1057, + "src": "1921:20:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1921:22:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 898, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "1961:29:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 897, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1947:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1947:44:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1921:70:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1887:104:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1860:131:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 903, + "nodeType": "ExpressionStatement", + "src": "1860:131:2" + } + ] + }, + "documentation": "@notice Check if it is currently in a main phase.\n@dev The main phase is where all the governance activities could take plase. If the DAO is replaced, there can never be any more main phase.\n@return _isMainPhase true if it is in a main phase", + "id": 905, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isMainPhase", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 888, + "nodeType": "ParameterList", + "parameters": [], + "src": "1779:2:2" + }, + "payable": false, + "returnParameters": { + "id": 891, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 890, + "name": "_isMainPhase", + "nodeType": "VariableDeclaration", + "scope": 905, + "src": "1827:17:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 889, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1827:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1826:19:2" + }, + "scope": 1233, + "src": "1759:239:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 925, + "nodeType": "Block", + "src": "2283:147:2", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 909, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 907, + "src": "2297:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2314:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2297:18:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 923, + "nodeType": "IfStatement", + "src": "2293:120:2", + "trueBody": { + "id": 922, + "nodeType": "Block", + "src": "2317:96:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 916, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 907, + "src": "2382:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 913, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "2339:17:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2339:19:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readDgxDistributionDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 15499, + "src": "2339:42:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2339:58:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 918, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2400:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2339:62:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 912, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2331:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2331:71:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 921, + "nodeType": "ExpressionStatement", + "src": "2331:71:2" + } + ] + } + }, + { + "id": 924, + "nodeType": "PlaceholderStatement", + "src": "2422:1:2" + } + ] + }, + "documentation": "@notice Check if the calculateGlobalRewardsBeforeNewQuarter function has been done for a certain quarter\n@dev However, there is no need to run calculateGlobalRewardsBeforeNewQuarter for the first quarter", + "id": 926, + "name": "ifGlobalRewardsSet", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 908, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 907, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 926, + "src": "2259:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 906, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2259:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2258:24:2" + }, + "src": "2231:199:2", + "visibility": "internal" + }, + { + "body": { + "id": 959, + "nodeType": "Block", + "src": "2738:171:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 936, + "name": "_startingPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 928, + "src": "2756:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2773:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2756:18:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 935, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2748:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2748:27:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 940, + "nodeType": "ExpressionStatement", + "src": "2748:27:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 942, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "2793:3:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 945, + "name": "_relativePhaseEnd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 932, + "src": "2818:17:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 943, + "name": "_startingPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 928, + "src": "2799:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "2799:18:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2799:37:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2793:43:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 941, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2785:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2785:52:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 949, + "nodeType": "ExpressionStatement", + "src": "2785:52:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 951, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "2855:3:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 954, + "name": "_relativePhaseStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 930, + "src": "2881:19:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 952, + "name": "_startingPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 928, + "src": "2862:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "2862:18:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2862:39:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2855:46:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 950, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2847:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2847:55:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 958, + "nodeType": "ExpressionStatement", + "src": "2847:55:2" + } + ] + }, + "documentation": "@notice require that it is currently during a phase, which is within _relativePhaseStart and _relativePhaseEnd seconds, after the _startingPoint", + "id": 960, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "requireInPhase", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 933, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 928, + "name": "_startingPoint", + "nodeType": "VariableDeclaration", + "scope": 960, + "src": "2624:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 927, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2624:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 930, + "name": "_relativePhaseStart", + "nodeType": "VariableDeclaration", + "scope": 960, + "src": "2648:27:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 929, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2648:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 932, + "name": "_relativePhaseEnd", + "nodeType": "VariableDeclaration", + "scope": 960, + "src": "2677:25:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 931, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2677:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2623:80:2" + }, + "payable": false, + "returnParameters": { + "id": 934, + "nodeType": "ParameterList", + "parameters": [], + "src": "2738:0:2" + }, + "scope": 1233, + "src": "2600:309:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 971, + "nodeType": "Block", + "src": "3168:55:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 965, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 963, + "src": "3178:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 967, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "3212:3:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 966, + "name": "getQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1003, + "src": "3195:16:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3195:21:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3178:38:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 970, + "nodeType": "ExpressionStatement", + "src": "3178:38:2" + } + ] + }, + "documentation": "@notice Get the current quarter index\n@dev Quarter indexes starts from 1\n@return _quarterNumber the current quarter index", + "id": 972, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "currentQuarterNumber", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 961, + "nodeType": "ParameterList", + "parameters": [], + "src": "3093:2:2" + }, + "payable": false, + "returnParameters": { + "id": 964, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 963, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 972, + "src": "3140:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 962, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3140:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3139:24:2" + }, + "scope": 1233, + "src": "3064:159:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1002, + "nodeType": "Block", + "src": "3477:212:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 980, + "name": "startOfFirstQuarterIsSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1045, + "src": "3495:24:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3495:26:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 979, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3487:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3487:35:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 983, + "nodeType": "ExpressionStatement", + "src": "3487:35:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 1000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 984, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 977, + "src": "3532:6:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 998, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3680:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 994, + "name": "CONFIG_QUARTER_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1417, + "src": "3637:23:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 993, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3623:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3623:38:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 987, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "3563:17:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3563:19:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "startOfFirstQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 18314, + "src": "3563:39:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3563:41:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 985, + "name": "_time", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 974, + "src": "3553:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "3553:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3553:52:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "3553:69:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3553:109:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "3553:126:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3553:129:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3532:150:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1001, + "nodeType": "ExpressionStatement", + "src": "3532:150:2" + } + ] + }, + "documentation": "@notice Get the quarter index of a timestamp\n@dev Quarter indexes starts from 1\n@return _index the quarter index", + "id": 1003, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getQuarterNumber", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 975, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 974, + "name": "_time", + "nodeType": "VariableDeclaration", + "scope": 1003, + "src": "3395:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 973, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3395:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3394:15:2" + }, + "payable": false, + "returnParameters": { + "id": 978, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 977, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 1003, + "src": "3457:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 976, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3457:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3456:16:2" + }, + "scope": 1233, + "src": "3369:320:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1029, + "nodeType": "Block", + "src": "3975:219:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1011, + "name": "startOfFirstQuarterIsSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1045, + "src": "3993:24:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 1012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3993:26:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1010, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3985:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3985:35:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1014, + "nodeType": "ExpressionStatement", + "src": "3985:35:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 1027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1015, + "name": "_timeInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1008, + "src": "4053:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1018, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "4092:17:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 1019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4092:19:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 1020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "startOfFirstQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 18314, + "src": "4092:39:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4092:41:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1016, + "name": "_time", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1005, + "src": "4082:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "4082:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4082:52:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1024, + "name": "CONFIG_QUARTER_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1417, + "src": "4163:23:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1023, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4149:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 1025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4149:38:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4082:105:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4053:134:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1028, + "nodeType": "ExpressionStatement", + "src": "4053:134:2" + } + ] + }, + "documentation": "@notice Get the relative time in quarter of a timestamp\n@dev For example, the timeInQuarter of the first second of any quarter n-th is always 1", + "id": 1030, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "timeInQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1006, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1005, + "name": "_time", + "nodeType": "VariableDeclaration", + "scope": 1030, + "src": "3885:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1004, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3885:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3884:15:2" + }, + "payable": false, + "returnParameters": { + "id": 1009, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1008, + "name": "_timeInQuarter", + "nodeType": "VariableDeclaration", + "scope": 1030, + "src": "3947:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1007, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3947:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3946:24:2" + }, + "scope": 1233, + "src": "3862:332:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1044, + "nodeType": "Block", + "src": "4443:72:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1035, + "name": "_isSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1033, + "src": "4453:6:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1036, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "4462:17:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 1037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4462:19:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 1038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "startOfFirstQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 18314, + "src": "4462:39:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4462:41:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1040, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4507:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4462:46:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4453:55:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1043, + "nodeType": "ExpressionStatement", + "src": "4453:55:2" + } + ] + }, + "documentation": "@notice Check if the start of first quarter is already set\n@return _isSet true if start of first quarter is already set", + "id": 1045, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "startOfFirstQuarterIsSet", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1031, + "nodeType": "ParameterList", + "parameters": [], + "src": "4376:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1034, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1033, + "name": "_isSet", + "nodeType": "VariableDeclaration", + "scope": 1045, + "src": "4426:11:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1032, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4426:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4425:13:2" + }, + "scope": 1233, + "src": "4343:172:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1056, + "nodeType": "Block", + "src": "4843:47:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1050, + "name": "_currentT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1048, + "src": "4853:9:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1052, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "4879:3:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1051, + "name": "timeInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1030, + "src": "4865:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 1053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4865:18:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4853:30:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1055, + "nodeType": "ExpressionStatement", + "src": "4853:30:2" + } + ] + }, + "documentation": "@notice Get the current relative time in the quarter\n@dev For example: the currentTimeInQuarter of the first second of any quarter is 1\n@return _currentT the current relative time in the quarter", + "id": 1057, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "currentTimeInQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1046, + "nodeType": "ParameterList", + "parameters": [], + "src": "4772:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1049, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1048, + "name": "_currentT", + "nodeType": "VariableDeclaration", + "scope": 1057, + "src": "4820:17:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1047, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4820:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4819:19:2" + }, + "scope": 1233, + "src": "4743:147:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1075, + "nodeType": "Block", + "src": "5085:102:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1064, + "name": "_timeLeftInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1062, + "src": "5095:18:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1070, + "name": "_time", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1059, + "src": "5173:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1069, + "name": "timeInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1030, + "src": "5159:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 1071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5159:20:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1066, + "name": "CONFIG_QUARTER_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1417, + "src": "5130:23:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1065, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "5116:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 1067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5116:38:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "5116:42:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5116:64:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5095:85:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1074, + "nodeType": "ExpressionStatement", + "src": "5095:85:2" + } + ] + }, + "documentation": "@notice Get the time remaining in the quarter", + "id": 1076, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getTimeLeftInQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1060, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1059, + "name": "_time", + "nodeType": "VariableDeclaration", + "scope": 1076, + "src": "4991:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1058, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4991:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4990:15:2" + }, + "payable": false, + "returnParameters": { + "id": 1063, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1062, + "name": "_timeLeftInQuarter", + "nodeType": "VariableDeclaration", + "scope": 1076, + "src": "5053:26:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1061, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5053:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5052:28:2" + }, + "scope": 1233, + "src": "4961:226:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1089, + "nodeType": "Block", + "src": "5302:90:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1081, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1079, + "src": "5312:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1084, + "name": "CONTRACT_SERVICE_DAO_LISTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1342, + "src": "5355:28:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1083, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "5342:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5342:42:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1082, + "name": "DaoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12889, + "src": "5324:17:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoListingService_$12889_$", + "typeString": "type(contract DaoListingService)" + } + }, + "id": 1086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5324:61:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "src": "5312:73:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 1088, + "nodeType": "ExpressionStatement", + "src": "5312:73:2" + } + ] + }, + "documentation": null, + "id": 1090, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoListingService", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1077, + "nodeType": "ParameterList", + "parameters": [], + "src": "5219:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1080, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1079, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1090, + "src": "5269:27:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + }, + "typeName": { + "contractScope": null, + "id": 1078, + "name": "DaoListingService", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 12889, + "src": "5269:17:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5268:29:2" + }, + "scope": 1233, + "src": "5193:199:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1103, + "nodeType": "Block", + "src": "5507:89:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1095, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1093, + "src": "5517:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1098, + "name": "CONTRACT_STORAGE_DAO_CONFIG", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1366, + "src": "5560:27:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1097, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "5547:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5547:41:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1096, + "name": "DaoConfigsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14281, + "src": "5529:17:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoConfigsStorage_$14281_$", + "typeString": "type(contract DaoConfigsStorage)" + } + }, + "id": 1100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5529:60:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "src": "5517:72:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "id": 1102, + "nodeType": "ExpressionStatement", + "src": "5517:72:2" + } + ] + }, + "documentation": null, + "id": 1104, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoConfigsStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1091, + "nodeType": "ParameterList", + "parameters": [], + "src": "5424:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1094, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1093, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1104, + "src": "5474:27:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + }, + "typeName": { + "contractScope": null, + "id": 1092, + "name": "DaoConfigsStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14281, + "src": "5474:17:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5473:29:2" + }, + "scope": 1233, + "src": "5398:198:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1117, + "nodeType": "Block", + "src": "5707:86:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1109, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1107, + "src": "5717:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1112, + "name": "CONTRACT_STORAGE_DAO_STAKE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "5758:26:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1111, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "5745:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5745:40:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1110, + "name": "DaoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16456, + "src": "5729:15:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "type(contract DaoStakeStorage)" + } + }, + "id": 1114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5729:57:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "src": "5717:69:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 1116, + "nodeType": "ExpressionStatement", + "src": "5717:69:2" + } + ] + }, + "documentation": null, + "id": 1118, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoStakeStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1105, + "nodeType": "ParameterList", + "parameters": [], + "src": "5626:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1108, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1107, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1118, + "src": "5676:25:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + }, + "typeName": { + "contractScope": null, + "id": 1106, + "name": "DaoStakeStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 16456, + "src": "5676:15:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5675:27:2" + }, + "scope": 1233, + "src": "5602:191:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1131, + "nodeType": "Block", + "src": "5894:75:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1123, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1121, + "src": "5904:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1126, + "name": "CONTRACT_STORAGE_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1348, + "src": "5940:20:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1125, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "5927:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5927:34:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1124, + "name": "DaoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18304, + "src": "5916:10:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStorage_$18304_$", + "typeString": "type(contract DaoStorage)" + } + }, + "id": 1128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5916:46:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "src": "5904:58:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 1130, + "nodeType": "ExpressionStatement", + "src": "5904:58:2" + } + ] + }, + "documentation": null, + "id": 1132, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1119, + "nodeType": "ParameterList", + "parameters": [], + "src": "5818:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1122, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1121, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1132, + "src": "5868:20:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + }, + "typeName": { + "contractScope": null, + "id": 1120, + "name": "DaoStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18304, + "src": "5868:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5867:22:2" + }, + "scope": 1233, + "src": "5799:170:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1145, + "nodeType": "Block", + "src": "6100:98:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1137, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1135, + "src": "6110:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoProposalCounterStorage_$14975", + "typeString": "contract DaoProposalCounterStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1140, + "name": "CONTRACT_STORAGE_DAO_COUNTER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1351, + "src": "6161:28:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1139, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "6148:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6148:42:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1138, + "name": "DaoProposalCounterStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14975, + "src": "6122:25:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoProposalCounterStorage_$14975_$", + "typeString": "type(contract DaoProposalCounterStorage)" + } + }, + "id": 1142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6122:69:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoProposalCounterStorage_$14975", + "typeString": "contract DaoProposalCounterStorage" + } + }, + "src": "6110:81:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoProposalCounterStorage_$14975", + "typeString": "contract DaoProposalCounterStorage" + } + }, + "id": 1144, + "nodeType": "ExpressionStatement", + "src": "6110:81:2" + } + ] + }, + "documentation": null, + "id": 1146, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoProposalCounterStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1133, + "nodeType": "ParameterList", + "parameters": [], + "src": "6009:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1136, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1135, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1146, + "src": "6059:35:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoProposalCounterStorage_$14975", + "typeString": "contract DaoProposalCounterStorage" + }, + "typeName": { + "contractScope": null, + "id": 1134, + "name": "DaoProposalCounterStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14975, + "src": "6059:25:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoProposalCounterStorage_$14975", + "typeString": "contract DaoProposalCounterStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6058:37:2" + }, + "scope": 1233, + "src": "5975:223:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1159, + "nodeType": "Block", + "src": "6313:90:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1151, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1149, + "src": "6323:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1154, + "name": "CONTRACT_STORAGE_DAO_UPGRADE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1354, + "src": "6366:28:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1153, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "6353:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6353:42:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1152, + "name": "DaoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18394, + "src": "6335:17:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "type(contract DaoUpgradeStorage)" + } + }, + "id": 1156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6335:61:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "src": "6323:73:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 1158, + "nodeType": "ExpressionStatement", + "src": "6323:73:2" + } + ] + }, + "documentation": null, + "id": 1160, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoUpgradeStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1147, + "nodeType": "ParameterList", + "parameters": [], + "src": "6230:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1150, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1149, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1160, + "src": "6280:27:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + }, + "typeName": { + "contractScope": null, + "id": 1148, + "name": "DaoUpgradeStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18394, + "src": "6280:17:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6279:29:2" + }, + "scope": 1233, + "src": "6204:199:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1173, + "nodeType": "Block", + "src": "6518:90:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1165, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1163, + "src": "6528:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1168, + "name": "CONTRACT_STORAGE_DAO_SPECIAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "6571:28:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1167, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "6558:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6558:42:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1166, + "name": "DaoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16029, + "src": "6540:17:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "type(contract DaoSpecialStorage)" + } + }, + "id": 1170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6540:61:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "src": "6528:73:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 1172, + "nodeType": "ExpressionStatement", + "src": "6528:73:2" + } + ] + }, + "documentation": null, + "id": 1174, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoSpecialStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1161, + "nodeType": "ParameterList", + "parameters": [], + "src": "6435:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1164, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1163, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1174, + "src": "6485:27:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + }, + "typeName": { + "contractScope": null, + "id": 1162, + "name": "DaoSpecialStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 16029, + "src": "6485:17:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6484:29:2" + }, + "scope": 1233, + "src": "6409:199:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1187, + "nodeType": "Block", + "src": "6721:88:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1179, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1177, + "src": "6731:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1182, + "name": "CONTRACT_STORAGE_DAO_POINTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1360, + "src": "6773:27:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1181, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "6760:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6760:41:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1180, + "name": "DaoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14926, + "src": "6743:16:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "type(contract DaoPointsStorage)" + } + }, + "id": 1184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6743:59:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "src": "6731:71:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 1186, + "nodeType": "ExpressionStatement", + "src": "6731:71:2" + } + ] + }, + "documentation": null, + "id": 1188, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoPointsStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1175, + "nodeType": "ParameterList", + "parameters": [], + "src": "6639:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1178, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1177, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1188, + "src": "6689:26:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + }, + "typeName": { + "contractScope": null, + "id": 1176, + "name": "DaoPointsStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14926, + "src": "6689:16:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6688:28:2" + }, + "scope": 1233, + "src": "6614:195:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1201, + "nodeType": "Block", + "src": "6924:90:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1193, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1191, + "src": "6934:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1196, + "name": "CONTRACT_STORAGE_DAO_REWARDS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1372, + "src": "6977:28:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1195, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "6964:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6964:42:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1194, + "name": "DaoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15545, + "src": "6946:17:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "type(contract DaoRewardsStorage)" + } + }, + "id": 1198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6946:61:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "src": "6934:73:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 1200, + "nodeType": "ExpressionStatement", + "src": "6934:73:2" + } + ] + }, + "documentation": null, + "id": 1202, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoRewardsStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1189, + "nodeType": "ParameterList", + "parameters": [], + "src": "6841:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1192, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1191, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1202, + "src": "6891:27:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + }, + "typeName": { + "contractScope": null, + "id": 1190, + "name": "DaoRewardsStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 15545, + "src": "6891:17:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6890:29:2" + }, + "scope": 1233, + "src": "6815:199:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1215, + "nodeType": "Block", + "src": "7147:108:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1207, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1205, + "src": "7157:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1210, + "name": "CONTRACT_STORAGE_INTERMEDIATE_RESULTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1378, + "src": "7209:37:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1209, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "7196:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7196:51:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1208, + "name": "IntermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18587, + "src": "7169:26:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "type(contract IntermediateResultsStorage)" + } + }, + "id": 1212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7169:79:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "src": "7157:91:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 1214, + "nodeType": "ExpressionStatement", + "src": "7157:91:2" + } + ] + }, + "documentation": null, + "id": 1216, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "intermediateResultsStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1203, + "nodeType": "ParameterList", + "parameters": [], + "src": "7055:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1205, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1216, + "src": "7105:36:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + }, + "typeName": { + "contractScope": null, + "id": 1204, + "name": "IntermediateResultsStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18587, + "src": "7105:26:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7104:38:2" + }, + "scope": 1233, + "src": "7020:235:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1231, + "nodeType": "Block", + "src": "7375:75:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1223, + "name": "_configValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1221, + "src": "7385:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1227, + "name": "_configKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1218, + "src": "7432:10:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1224, + "name": "daoConfigsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1104, + "src": "7400:17:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoConfigsStorage_$14281_$", + "typeString": "function () view returns (contract DaoConfigsStorage)" + } + }, + "id": 1225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7400:19:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "id": 1226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "uintConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 12901, + "src": "7400:31:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 1228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7400:43:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7385:58:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1230, + "nodeType": "ExpressionStatement", + "src": "7385:58:2" + } + ] + }, + "documentation": null, + "id": 1232, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getUintConfig", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1219, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1218, + "name": "_configKey", + "nodeType": "VariableDeclaration", + "scope": 1232, + "src": "7284:18:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1217, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7284:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7283:20:2" + }, + "payable": false, + "returnParameters": { + "id": 1222, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1221, + "name": "_configValue", + "nodeType": "VariableDeclaration", + "scope": 1232, + "src": "7349:20:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1220, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7349:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7348:22:2" + }, + "scope": 1233, + "src": "7261:189:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1234, + "src": "556:6896:2" + } + ], + "src": "0:7453:2" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommonMini.sol", + "exportedSymbols": { + "DaoCommonMini": [ + 1233 + ] + }, + "id": 1234, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 840, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:2" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/service/DaoListingService.sol", + "file": "../service/DaoListingService.sol", + "id": 841, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 12890, + "src": "26:42:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "./DaoConstants.sol", + "id": 842, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 1581, + "src": "69:28:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/IdentityCommon.sol", + "file": "./IdentityCommon.sol", + "id": 843, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 1912, + "src": "98:30:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoConfigsStorage.sol", + "file": "../storage/DaoConfigsStorage.sol", + "id": 844, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 14282, + "src": "129:42:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStakeStorage.sol", + "file": "../storage/DaoStakeStorage.sol", + "id": 845, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 16457, + "src": "172:40:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStorage.sol", + "file": "../storage/DaoStorage.sol", + "id": 846, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 18305, + "src": "213:35:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoProposalCounterStorage.sol", + "file": "../storage/DaoProposalCounterStorage.sol", + "id": 847, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 14976, + "src": "249:50:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoUpgradeStorage.sol", + "file": "../storage/DaoUpgradeStorage.sol", + "id": 848, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 18395, + "src": "300:42:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoSpecialStorage.sol", + "file": "../storage/DaoSpecialStorage.sol", + "id": 849, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 16030, + "src": "343:42:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoPointsStorage.sol", + "file": "../storage/DaoPointsStorage.sol", + "id": 850, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 14927, + "src": "386:41:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoRewardsStorage.sol", + "file": "../storage/DaoRewardsStorage.sol", + "id": 851, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 15546, + "src": "428:42:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/IntermediateResultsStorage.sol", + "file": "../storage/IntermediateResultsStorage.sol", + "id": 852, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 18588, + "src": "471:51:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/MathHelper.sol", + "file": "../lib/MathHelper.sol", + "id": 853, + "nodeType": "ImportDirective", + "scope": 1234, + "sourceUnit": 8576, + "src": "523:31:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 854, + "name": "IdentityCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1911, + "src": "582:14:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IdentityCommon_$1911", + "typeString": "contract IdentityCommon" + } + }, + "id": 855, + "nodeType": "InheritanceSpecifier", + "src": "582:14:2" + } + ], + "contractDependencies": [ + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1233, + "linearizedBaseContracts": [ + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoCommonMini", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 858, + "libraryName": { + "contractScope": null, + "id": 856, + "name": "MathHelper", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8575, + "src": "610:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MathHelper_$8575", + "typeString": "library MathHelper" + } + }, + "nodeType": "UsingForDirective", + "src": "604:32:2", + "typeName": { + "contractScope": null, + "id": 857, + "name": "MathHelper", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8575, + "src": "625:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MathHelper_$8575", + "typeString": "library MathHelper" + } + } + }, + { + "body": { + "id": 871, + "nodeType": "Block", + "src": "932:75:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 863, + "name": "_isNotReplaced", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 861, + "src": "942:14:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "959:41:2", + "subExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 864, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "960:17:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "960:19:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isReplacedByNewDao", + "nodeType": "MemberAccess", + "referencedDeclaration": 18316, + "src": "960:38:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", + "typeString": "function () view external returns (bool)" + } + }, + "id": 867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "960:40:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "942:58:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 870, + "nodeType": "ExpressionStatement", + "src": "942:58:2" + } + ] + }, + "documentation": "@notice Check if the DAO contracts have been replaced by a new set of contracts\n@return _isNotReplaced true if it is not replaced, false if it has already been replaced", + "id": 872, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isDaoNotReplaced", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 859, + "nodeType": "ParameterList", + "parameters": [], + "src": "859:2:2" + }, + "payable": false, + "returnParameters": { + "id": 862, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 861, + "name": "_isNotReplaced", + "nodeType": "VariableDeclaration", + "scope": 872, + "src": "907:19:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 860, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "907:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "906:21:2" + }, + "scope": 1233, + "src": "834:173:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 886, + "nodeType": "Block", + "src": "1380:104:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 877, + "name": "_isLockingPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 875, + "src": "1390:15:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 878, + "name": "currentTimeInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1057, + "src": "1408:20:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1408:22:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 881, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "1447:29:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 880, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1433:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1433:44:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1408:69:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1390:87:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 885, + "nodeType": "ExpressionStatement", + "src": "1390:87:2" + } + ] + }, + "documentation": "@notice Check if it is currently in the locking phase\n@dev No governance activities can happen in the locking phase. The locking phase is from t=0 to t=CONFIG_LOCKING_PHASE_DURATION-1\n@return _isLockingPhase true if it is in the locking phase", + "id": 887, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isLockingPhase", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 873, + "nodeType": "ParameterList", + "parameters": [], + "src": "1306:2:2" + }, + "payable": false, + "returnParameters": { + "id": 876, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 875, + "name": "_isLockingPhase", + "nodeType": "VariableDeclaration", + "scope": 887, + "src": "1354:20:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 874, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1354:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1353:22:2" + }, + "scope": 1233, + "src": "1283:201:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 904, + "nodeType": "Block", + "src": "1850:148:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 892, + "name": "_isMainPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 890, + "src": "1860:12:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 893, + "name": "isDaoNotReplaced", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 872, + "src": "1887:16:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1887:18:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 895, + "name": "currentTimeInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1057, + "src": "1921:20:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1921:22:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 898, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "1961:29:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 897, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1947:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1947:44:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1921:70:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1887:104:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1860:131:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 903, + "nodeType": "ExpressionStatement", + "src": "1860:131:2" + } + ] + }, + "documentation": "@notice Check if it is currently in a main phase.\n@dev The main phase is where all the governance activities could take plase. If the DAO is replaced, there can never be any more main phase.\n@return _isMainPhase true if it is in a main phase", + "id": 905, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isMainPhase", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 888, + "nodeType": "ParameterList", + "parameters": [], + "src": "1779:2:2" + }, + "payable": false, + "returnParameters": { + "id": 891, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 890, + "name": "_isMainPhase", + "nodeType": "VariableDeclaration", + "scope": 905, + "src": "1827:17:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 889, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1827:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1826:19:2" + }, + "scope": 1233, + "src": "1759:239:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 925, + "nodeType": "Block", + "src": "2283:147:2", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 909, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 907, + "src": "2297:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2314:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2297:18:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 923, + "nodeType": "IfStatement", + "src": "2293:120:2", + "trueBody": { + "id": 922, + "nodeType": "Block", + "src": "2317:96:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 916, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 907, + "src": "2382:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 913, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "2339:17:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2339:19:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readDgxDistributionDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 15499, + "src": "2339:42:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2339:58:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 918, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2400:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2339:62:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 912, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2331:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2331:71:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 921, + "nodeType": "ExpressionStatement", + "src": "2331:71:2" + } + ] + } + }, + { + "id": 924, + "nodeType": "PlaceholderStatement", + "src": "2422:1:2" + } + ] + }, + "documentation": "@notice Check if the calculateGlobalRewardsBeforeNewQuarter function has been done for a certain quarter\n@dev However, there is no need to run calculateGlobalRewardsBeforeNewQuarter for the first quarter", + "id": 926, + "name": "ifGlobalRewardsSet", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 908, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 907, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 926, + "src": "2259:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 906, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2259:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2258:24:2" + }, + "src": "2231:199:2", + "visibility": "internal" + }, + { + "body": { + "id": 959, + "nodeType": "Block", + "src": "2738:171:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 936, + "name": "_startingPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 928, + "src": "2756:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2773:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2756:18:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 935, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2748:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2748:27:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 940, + "nodeType": "ExpressionStatement", + "src": "2748:27:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 942, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "2793:3:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 945, + "name": "_relativePhaseEnd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 932, + "src": "2818:17:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 943, + "name": "_startingPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 928, + "src": "2799:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "2799:18:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2799:37:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2793:43:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 941, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2785:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2785:52:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 949, + "nodeType": "ExpressionStatement", + "src": "2785:52:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 951, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "2855:3:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 954, + "name": "_relativePhaseStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 930, + "src": "2881:19:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 952, + "name": "_startingPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 928, + "src": "2862:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "2862:18:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2862:39:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2855:46:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 950, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2847:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2847:55:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 958, + "nodeType": "ExpressionStatement", + "src": "2847:55:2" + } + ] + }, + "documentation": "@notice require that it is currently during a phase, which is within _relativePhaseStart and _relativePhaseEnd seconds, after the _startingPoint", + "id": 960, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "requireInPhase", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 933, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 928, + "name": "_startingPoint", + "nodeType": "VariableDeclaration", + "scope": 960, + "src": "2624:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 927, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2624:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 930, + "name": "_relativePhaseStart", + "nodeType": "VariableDeclaration", + "scope": 960, + "src": "2648:27:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 929, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2648:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 932, + "name": "_relativePhaseEnd", + "nodeType": "VariableDeclaration", + "scope": 960, + "src": "2677:25:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 931, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2677:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2623:80:2" + }, + "payable": false, + "returnParameters": { + "id": 934, + "nodeType": "ParameterList", + "parameters": [], + "src": "2738:0:2" + }, + "scope": 1233, + "src": "2600:309:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 971, + "nodeType": "Block", + "src": "3168:55:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 965, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 963, + "src": "3178:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 967, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "3212:3:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 966, + "name": "getQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1003, + "src": "3195:16:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3195:21:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3178:38:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 970, + "nodeType": "ExpressionStatement", + "src": "3178:38:2" + } + ] + }, + "documentation": "@notice Get the current quarter index\n@dev Quarter indexes starts from 1\n@return _quarterNumber the current quarter index", + "id": 972, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "currentQuarterNumber", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 961, + "nodeType": "ParameterList", + "parameters": [], + "src": "3093:2:2" + }, + "payable": false, + "returnParameters": { + "id": 964, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 963, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 972, + "src": "3140:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 962, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3140:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3139:24:2" + }, + "scope": 1233, + "src": "3064:159:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1002, + "nodeType": "Block", + "src": "3477:212:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 980, + "name": "startOfFirstQuarterIsSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1045, + "src": "3495:24:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3495:26:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 979, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3487:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3487:35:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 983, + "nodeType": "ExpressionStatement", + "src": "3487:35:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 1000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 984, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 977, + "src": "3532:6:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 998, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3680:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 994, + "name": "CONFIG_QUARTER_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1417, + "src": "3637:23:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 993, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3623:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3623:38:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 987, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "3563:17:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3563:19:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "startOfFirstQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 18314, + "src": "3563:39:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3563:41:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 985, + "name": "_time", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 974, + "src": "3553:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "3553:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3553:52:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "3553:69:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3553:109:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "3553:126:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3553:129:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3532:150:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1001, + "nodeType": "ExpressionStatement", + "src": "3532:150:2" + } + ] + }, + "documentation": "@notice Get the quarter index of a timestamp\n@dev Quarter indexes starts from 1\n@return _index the quarter index", + "id": 1003, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getQuarterNumber", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 975, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 974, + "name": "_time", + "nodeType": "VariableDeclaration", + "scope": 1003, + "src": "3395:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 973, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3395:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3394:15:2" + }, + "payable": false, + "returnParameters": { + "id": 978, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 977, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 1003, + "src": "3457:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 976, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3457:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3456:16:2" + }, + "scope": 1233, + "src": "3369:320:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1029, + "nodeType": "Block", + "src": "3975:219:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1011, + "name": "startOfFirstQuarterIsSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1045, + "src": "3993:24:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 1012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3993:26:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1010, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3985:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3985:35:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1014, + "nodeType": "ExpressionStatement", + "src": "3985:35:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 1027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1015, + "name": "_timeInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1008, + "src": "4053:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1018, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "4092:17:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 1019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4092:19:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 1020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "startOfFirstQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 18314, + "src": "4092:39:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4092:41:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 1016, + "name": "_time", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1005, + "src": "4082:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "4082:9:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4082:52:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1024, + "name": "CONFIG_QUARTER_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1417, + "src": "4163:23:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1023, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4149:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 1025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4149:38:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4082:105:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4053:134:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1028, + "nodeType": "ExpressionStatement", + "src": "4053:134:2" + } + ] + }, + "documentation": "@notice Get the relative time in quarter of a timestamp\n@dev For example, the timeInQuarter of the first second of any quarter n-th is always 1", + "id": 1030, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "timeInQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1006, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1005, + "name": "_time", + "nodeType": "VariableDeclaration", + "scope": 1030, + "src": "3885:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1004, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3885:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3884:15:2" + }, + "payable": false, + "returnParameters": { + "id": 1009, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1008, + "name": "_timeInQuarter", + "nodeType": "VariableDeclaration", + "scope": 1030, + "src": "3947:22:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1007, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3947:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3946:24:2" + }, + "scope": 1233, + "src": "3862:332:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1044, + "nodeType": "Block", + "src": "4443:72:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1035, + "name": "_isSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1033, + "src": "4453:6:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1036, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "4462:17:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 1037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4462:19:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 1038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "startOfFirstQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 18314, + "src": "4462:39:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4462:41:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1040, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4507:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4462:46:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4453:55:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1043, + "nodeType": "ExpressionStatement", + "src": "4453:55:2" + } + ] + }, + "documentation": "@notice Check if the start of first quarter is already set\n@return _isSet true if start of first quarter is already set", + "id": 1045, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "startOfFirstQuarterIsSet", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1031, + "nodeType": "ParameterList", + "parameters": [], + "src": "4376:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1034, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1033, + "name": "_isSet", + "nodeType": "VariableDeclaration", + "scope": 1045, + "src": "4426:11:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1032, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4426:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4425:13:2" + }, + "scope": 1233, + "src": "4343:172:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1056, + "nodeType": "Block", + "src": "4843:47:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1050, + "name": "_currentT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1048, + "src": "4853:9:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1052, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "4879:3:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1051, + "name": "timeInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1030, + "src": "4865:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 1053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4865:18:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4853:30:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1055, + "nodeType": "ExpressionStatement", + "src": "4853:30:2" + } + ] + }, + "documentation": "@notice Get the current relative time in the quarter\n@dev For example: the currentTimeInQuarter of the first second of any quarter is 1\n@return _currentT the current relative time in the quarter", + "id": 1057, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "currentTimeInQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1046, + "nodeType": "ParameterList", + "parameters": [], + "src": "4772:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1049, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1048, + "name": "_currentT", + "nodeType": "VariableDeclaration", + "scope": 1057, + "src": "4820:17:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1047, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4820:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4819:19:2" + }, + "scope": 1233, + "src": "4743:147:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 1075, + "nodeType": "Block", + "src": "5085:102:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1064, + "name": "_timeLeftInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1062, + "src": "5095:18:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1070, + "name": "_time", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1059, + "src": "5173:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1069, + "name": "timeInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1030, + "src": "5159:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 1071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5159:20:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1066, + "name": "CONFIG_QUARTER_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1417, + "src": "5130:23:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1065, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "5116:13:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 1067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5116:38:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "5116:42:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 1072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5116:64:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5095:85:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1074, + "nodeType": "ExpressionStatement", + "src": "5095:85:2" + } + ] + }, + "documentation": "@notice Get the time remaining in the quarter", + "id": 1076, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getTimeLeftInQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1060, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1059, + "name": "_time", + "nodeType": "VariableDeclaration", + "scope": 1076, + "src": "4991:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1058, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4991:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4990:15:2" + }, + "payable": false, + "returnParameters": { + "id": 1063, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1062, + "name": "_timeLeftInQuarter", + "nodeType": "VariableDeclaration", + "scope": 1076, + "src": "5053:26:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1061, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5053:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5052:28:2" + }, + "scope": 1233, + "src": "4961:226:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1089, + "nodeType": "Block", + "src": "5302:90:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1081, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1079, + "src": "5312:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1084, + "name": "CONTRACT_SERVICE_DAO_LISTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1342, + "src": "5355:28:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1083, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "5342:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5342:42:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1082, + "name": "DaoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12889, + "src": "5324:17:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoListingService_$12889_$", + "typeString": "type(contract DaoListingService)" + } + }, + "id": 1086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5324:61:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "src": "5312:73:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 1088, + "nodeType": "ExpressionStatement", + "src": "5312:73:2" + } + ] + }, + "documentation": null, + "id": 1090, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoListingService", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1077, + "nodeType": "ParameterList", + "parameters": [], + "src": "5219:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1080, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1079, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1090, + "src": "5269:27:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + }, + "typeName": { + "contractScope": null, + "id": 1078, + "name": "DaoListingService", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 12889, + "src": "5269:17:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5268:29:2" + }, + "scope": 1233, + "src": "5193:199:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1103, + "nodeType": "Block", + "src": "5507:89:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1095, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1093, + "src": "5517:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1098, + "name": "CONTRACT_STORAGE_DAO_CONFIG", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1366, + "src": "5560:27:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1097, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "5547:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5547:41:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1096, + "name": "DaoConfigsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14281, + "src": "5529:17:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoConfigsStorage_$14281_$", + "typeString": "type(contract DaoConfigsStorage)" + } + }, + "id": 1100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5529:60:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "src": "5517:72:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "id": 1102, + "nodeType": "ExpressionStatement", + "src": "5517:72:2" + } + ] + }, + "documentation": null, + "id": 1104, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoConfigsStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1091, + "nodeType": "ParameterList", + "parameters": [], + "src": "5424:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1094, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1093, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1104, + "src": "5474:27:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + }, + "typeName": { + "contractScope": null, + "id": 1092, + "name": "DaoConfigsStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14281, + "src": "5474:17:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5473:29:2" + }, + "scope": 1233, + "src": "5398:198:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1117, + "nodeType": "Block", + "src": "5707:86:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1109, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1107, + "src": "5717:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1112, + "name": "CONTRACT_STORAGE_DAO_STAKE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "5758:26:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1111, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "5745:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5745:40:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1110, + "name": "DaoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16456, + "src": "5729:15:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "type(contract DaoStakeStorage)" + } + }, + "id": 1114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5729:57:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "src": "5717:69:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 1116, + "nodeType": "ExpressionStatement", + "src": "5717:69:2" + } + ] + }, + "documentation": null, + "id": 1118, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoStakeStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1105, + "nodeType": "ParameterList", + "parameters": [], + "src": "5626:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1108, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1107, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1118, + "src": "5676:25:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + }, + "typeName": { + "contractScope": null, + "id": 1106, + "name": "DaoStakeStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 16456, + "src": "5676:15:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5675:27:2" + }, + "scope": 1233, + "src": "5602:191:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1131, + "nodeType": "Block", + "src": "5894:75:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1123, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1121, + "src": "5904:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1126, + "name": "CONTRACT_STORAGE_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1348, + "src": "5940:20:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1125, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "5927:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5927:34:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1124, + "name": "DaoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18304, + "src": "5916:10:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStorage_$18304_$", + "typeString": "type(contract DaoStorage)" + } + }, + "id": 1128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5916:46:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "src": "5904:58:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 1130, + "nodeType": "ExpressionStatement", + "src": "5904:58:2" + } + ] + }, + "documentation": null, + "id": 1132, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1119, + "nodeType": "ParameterList", + "parameters": [], + "src": "5818:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1122, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1121, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1132, + "src": "5868:20:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + }, + "typeName": { + "contractScope": null, + "id": 1120, + "name": "DaoStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18304, + "src": "5868:10:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5867:22:2" + }, + "scope": 1233, + "src": "5799:170:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1145, + "nodeType": "Block", + "src": "6100:98:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1137, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1135, + "src": "6110:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoProposalCounterStorage_$14975", + "typeString": "contract DaoProposalCounterStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1140, + "name": "CONTRACT_STORAGE_DAO_COUNTER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1351, + "src": "6161:28:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1139, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "6148:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6148:42:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1138, + "name": "DaoProposalCounterStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14975, + "src": "6122:25:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoProposalCounterStorage_$14975_$", + "typeString": "type(contract DaoProposalCounterStorage)" + } + }, + "id": 1142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6122:69:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoProposalCounterStorage_$14975", + "typeString": "contract DaoProposalCounterStorage" + } + }, + "src": "6110:81:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoProposalCounterStorage_$14975", + "typeString": "contract DaoProposalCounterStorage" + } + }, + "id": 1144, + "nodeType": "ExpressionStatement", + "src": "6110:81:2" + } + ] + }, + "documentation": null, + "id": 1146, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoProposalCounterStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1133, + "nodeType": "ParameterList", + "parameters": [], + "src": "6009:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1136, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1135, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1146, + "src": "6059:35:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoProposalCounterStorage_$14975", + "typeString": "contract DaoProposalCounterStorage" + }, + "typeName": { + "contractScope": null, + "id": 1134, + "name": "DaoProposalCounterStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14975, + "src": "6059:25:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoProposalCounterStorage_$14975", + "typeString": "contract DaoProposalCounterStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6058:37:2" + }, + "scope": 1233, + "src": "5975:223:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1159, + "nodeType": "Block", + "src": "6313:90:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1151, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1149, + "src": "6323:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1154, + "name": "CONTRACT_STORAGE_DAO_UPGRADE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1354, + "src": "6366:28:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1153, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "6353:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6353:42:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1152, + "name": "DaoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18394, + "src": "6335:17:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "type(contract DaoUpgradeStorage)" + } + }, + "id": 1156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6335:61:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "src": "6323:73:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 1158, + "nodeType": "ExpressionStatement", + "src": "6323:73:2" + } + ] + }, + "documentation": null, + "id": 1160, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoUpgradeStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1147, + "nodeType": "ParameterList", + "parameters": [], + "src": "6230:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1150, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1149, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1160, + "src": "6280:27:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + }, + "typeName": { + "contractScope": null, + "id": 1148, + "name": "DaoUpgradeStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18394, + "src": "6280:17:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6279:29:2" + }, + "scope": 1233, + "src": "6204:199:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1173, + "nodeType": "Block", + "src": "6518:90:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1165, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1163, + "src": "6528:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1168, + "name": "CONTRACT_STORAGE_DAO_SPECIAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "6571:28:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1167, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "6558:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6558:42:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1166, + "name": "DaoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16029, + "src": "6540:17:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "type(contract DaoSpecialStorage)" + } + }, + "id": 1170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6540:61:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "src": "6528:73:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 1172, + "nodeType": "ExpressionStatement", + "src": "6528:73:2" + } + ] + }, + "documentation": null, + "id": 1174, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoSpecialStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1161, + "nodeType": "ParameterList", + "parameters": [], + "src": "6435:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1164, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1163, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1174, + "src": "6485:27:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + }, + "typeName": { + "contractScope": null, + "id": 1162, + "name": "DaoSpecialStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 16029, + "src": "6485:17:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6484:29:2" + }, + "scope": 1233, + "src": "6409:199:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1187, + "nodeType": "Block", + "src": "6721:88:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1179, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1177, + "src": "6731:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1182, + "name": "CONTRACT_STORAGE_DAO_POINTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1360, + "src": "6773:27:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1181, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "6760:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6760:41:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1180, + "name": "DaoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14926, + "src": "6743:16:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "type(contract DaoPointsStorage)" + } + }, + "id": 1184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6743:59:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "src": "6731:71:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 1186, + "nodeType": "ExpressionStatement", + "src": "6731:71:2" + } + ] + }, + "documentation": null, + "id": 1188, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoPointsStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1175, + "nodeType": "ParameterList", + "parameters": [], + "src": "6639:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1178, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1177, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1188, + "src": "6689:26:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + }, + "typeName": { + "contractScope": null, + "id": 1176, + "name": "DaoPointsStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14926, + "src": "6689:16:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6688:28:2" + }, + "scope": 1233, + "src": "6614:195:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1201, + "nodeType": "Block", + "src": "6924:90:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1193, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1191, + "src": "6934:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1196, + "name": "CONTRACT_STORAGE_DAO_REWARDS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1372, + "src": "6977:28:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1195, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "6964:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6964:42:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1194, + "name": "DaoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15545, + "src": "6946:17:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "type(contract DaoRewardsStorage)" + } + }, + "id": 1198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6946:61:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "src": "6934:73:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 1200, + "nodeType": "ExpressionStatement", + "src": "6934:73:2" + } + ] + }, + "documentation": null, + "id": 1202, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoRewardsStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1189, + "nodeType": "ParameterList", + "parameters": [], + "src": "6841:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1192, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1191, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1202, + "src": "6891:27:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + }, + "typeName": { + "contractScope": null, + "id": 1190, + "name": "DaoRewardsStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 15545, + "src": "6891:17:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6890:29:2" + }, + "scope": 1233, + "src": "6815:199:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1215, + "nodeType": "Block", + "src": "7147:108:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1207, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1205, + "src": "7157:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1210, + "name": "CONTRACT_STORAGE_INTERMEDIATE_RESULTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1378, + "src": "7209:37:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1209, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "7196:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7196:51:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1208, + "name": "IntermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18587, + "src": "7169:26:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "type(contract IntermediateResultsStorage)" + } + }, + "id": 1212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7169:79:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "src": "7157:91:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 1214, + "nodeType": "ExpressionStatement", + "src": "7157:91:2" + } + ] + }, + "documentation": null, + "id": 1216, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "intermediateResultsStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1203, + "nodeType": "ParameterList", + "parameters": [], + "src": "7055:2:2" + }, + "payable": false, + "returnParameters": { + "id": 1206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1205, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1216, + "src": "7105:36:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + }, + "typeName": { + "contractScope": null, + "id": 1204, + "name": "IntermediateResultsStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18587, + "src": "7105:26:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7104:38:2" + }, + "scope": 1233, + "src": "7020:235:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1231, + "nodeType": "Block", + "src": "7375:75:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1223, + "name": "_configValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1221, + "src": "7385:12:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1227, + "name": "_configKey", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1218, + "src": "7432:10:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1224, + "name": "daoConfigsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1104, + "src": "7400:17:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoConfigsStorage_$14281_$", + "typeString": "function () view returns (contract DaoConfigsStorage)" + } + }, + "id": 1225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7400:19:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "id": 1226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "uintConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 12901, + "src": "7400:31:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 1228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7400:43:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7385:58:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1230, + "nodeType": "ExpressionStatement", + "src": "7385:58:2" + } + ] + }, + "documentation": null, + "id": 1232, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getUintConfig", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1219, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1218, + "name": "_configKey", + "nodeType": "VariableDeclaration", + "scope": 1232, + "src": "7284:18:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1217, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7284:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7283:20:2" + }, + "payable": false, + "returnParameters": { + "id": 1222, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1221, + "name": "_configValue", + "nodeType": "VariableDeclaration", + "scope": 1232, + "src": "7349:20:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1220, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7349:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7348:22:2" + }, + "scope": 1233, + "src": "7261:189:2", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 1234, + "src": "556:6896:2" + } + ], + "src": "0:7453:2" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.819Z" +} \ No newline at end of file diff --git a/build/contracts/DaoConfigsStorage.json b/build/contracts/DaoConfigsStorage.json new file mode 100644 index 0000000..d740e66 --- /dev/null +++ b/build/contracts/DaoConfigsStorage.json @@ -0,0 +1,36626 @@ +{ + "contractName": "DaoConfigsStorage", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "uintConfigs", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "bytesConfigs", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "addressConfigs", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_uintConfigs", + "type": "uint256[]" + } + ], + "name": "updateUintConfigs", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "readUintConfigs", + "outputs": [ + { + "name": "", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f90600019169055633b9aca00607355620f42406074553480156200114357600080fd5b5060405160208062003d7f8339810180604052810190808051906020019092919050505062001184602b548262001a18640100000000026401000000009004565b15156200119057600080fd5b620d2f006070600060385460001916600019168152602001908152602001600020819055506034546070600060395460001916600019168152602001908152602001600020819055506212750060706000603a546000191660001916815260200190815260200160002081905550621baf8060706000603b54600019166000191681526020019081526020016000208190555062093a8060706000603c5460001916600019168152602001908152602001600020819055506212750060706000603d546000191660001916815260200190815260200160002081905550600560706000603e546000191660001916815260200190815260200160002081905550606460706000603f54600019166000191681526020019081526020016000208190555060236070600060405460001916600019168152602001908152602001600020819055506064607060006041546000191660001916815260200190815260200160002081905550600560706000604254600019166000191681526020019081526020016000208190555060646070600060435460001916600019168152602001908152602001600020819055506019607060006044546000191660001916815260200190815260200160002081905550606460706000604554600019166000191681526020019081526020016000208190555060016070600060485460001916600019168152602001908152602001600020819055506002607060006049546000191660001916815260200190815260200160002081905550600160706000604a546000191660001916815260200190815260200160002081905550600260706000604b546000191660001916815260200190815260200160002081905550607354607060006052546000191660001916815260200190815260200160002081905550607354607060006053546000191660001916815260200190815260200160002081905550607354607060006054546000191660001916815260200190815260200160002081905550607354614e2002607060006055546000191660001916815260200190815260200160002081905550600f60706000605654600019166000191681526020019081526020016000208190555060646070600060575460001916600019168152602001908152602001600020819055506224ea00607060006058546000191660001916815260200190815260200160002081905550622e2480607060006059546000191660001916815260200190815260200160002081905550600160706000605a546000191660001916815260200190815260200160002081905550600260706000605b546000191660001916815260200190815260200160002081905550602860706000605c546000191660001916815260200190815260200160002081905550606460706000605d54600019166000191681526020019081526020016000208190555060745461208e0260706000605e5460001916600019168152602001908152602001600020819055506074546106820260706000605f5460001916600019168152602001908152602001600020819055506001607060006060546000191660001916815260200190815260200160002081905550600160706000606154600019166000191681526020019081526020016000208190555060735460020260706000604c5460001916600019168152602001908152602001600020819055506073546101900260706000604d5460001916600019168152602001908152602001600020819055506073546107d00260706000604e54600019166000191681526020019081526020016000208190555060735460040260706000604f546000191660001916815260200190815260200160002081905550607354610190026070600060505460001916600019168152602001908152602001600020819055506073546107d002607060006051546000191660001916815260200190815260200160002081905550602a6070600060655460001916600019168152602001908152602001600020819055506103e8607060006066546000191660001916815260200190815260200160002081905550620d2f0060706000606754600019166000191681526020019081526020016000208190555060745462064b5402607060006068546000191660001916815260200190815260200160002081905550600760706000604654600019166000191681526020019081526020016000208190555060646070600060475460001916600019168152602001908152602001600020819055506074546130d40260706000606254600019166000191681526020019081526020016000208190555060016070600060635460001916600019168152602001908152602001600020819055506001607060006064546000191660001916815260200190815260200160002081905550620d2f00607060006069546000191660001916815260200190815260200160002081905550607354600a0260706000603554600019166000191681526020019081526020016000208190555060735461034a0260706000603654600019166000191681526020019081526020016000208190555060735461019002607060006037546000191660001916815260200190815260200160002081905550671bc16d674ec8000060706000606a54600019166000191681526020019081526020016000208190555068056bc75e2d6310000060706000606b546000191660001916815260200190815260200160002081905550600560706000606c546000191660001916815260200190815260200160002081905550605060706000606d5460001916600019168152602001908152602001600020819055506276a70060706000606e546000191660001916815260200190815260200160002081905550607354600a0260706000606f5460001916600019168152602001908152602001600020819055505062001ca9565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801562001a8057600080fd5b505af115801562001a95573d6000803e3d6000fd5b505050506040513d602081101562001aac57600080fd5b8101908080519060200190929190505050905060001515811515141562001c9d5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801562001c4a57600080fd5b505af115801562001c5f573d6000803e3d6000fd5b505050506040513d602081101562001c7657600080fd5b8101908080519060200190929190505050151562001c9357600080fd5b6001915062001ca2565b600091505b5092915050565b6120c68062001cb96000396000f300608060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec1461009e5780633943380c146100f55780633977815b146101285780633f83acff14610194578063734c116814610205578063aecbca671461024a578063c0a8405d14610285578063db4ecbc1146102d2578063e6b39eab14610329575b600080fd5b3480156100aa57600080fd5b506100b361039a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561010157600080fd5b5061010a6103bf565b60405180826000191660001916815260200191505060405180910390f35b34801561013457600080fd5b5061013d6103c5565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610180578082015181840152602081019050610165565b505050509050019250505060405180910390f35b3480156101a057600080fd5b506101c3600480360381019080803560001916906020019092919050505061119b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561021157600080fd5b506102346004803603810190808035600019169060200190929190505050611277565b6040518082815260200191505060405180910390f35b34801561025657600080fd5b5061028360048036038101908080359060200190820180359060200191909192939192939050505061128f565b005b34801561029157600080fd5b506102b46004803603810190808035600019169060200190929190505050611f1f565b60405180826000191660001916815260200191505060405180910390f35b3480156102de57600080fd5b506102e7611f37565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561033557600080fd5b506103586004803603810190808035600019169060200190929190505050611f5d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b606080603b6040519080825280602002602001820160405280156103f85781602001602082028038833980820191505090505b50905060706000603854600019166000191681526020019081526020016000205481600081518110151561042857fe5b906020019060200201818152505060706000603954600019166000191681526020019081526020016000205481600181518110151561046357fe5b906020019060200201818152505060706000603a54600019166000191681526020019081526020016000205481600281518110151561049e57fe5b906020019060200201818152505060706000603b5460001916600019168152602001908152602001600020548160038151811015156104d957fe5b906020019060200201818152505060706000603c54600019166000191681526020019081526020016000205481600481518110151561051457fe5b906020019060200201818152505060706000603d54600019166000191681526020019081526020016000205481600581518110151561054f57fe5b906020019060200201818152505060706000603e54600019166000191681526020019081526020016000205481600681518110151561058a57fe5b906020019060200201818152505060706000603f5460001916600019168152602001908152602001600020548160078151811015156105c557fe5b906020019060200201818152505060706000604054600019166000191681526020019081526020016000205481600881518110151561060057fe5b906020019060200201818152505060706000604154600019166000191681526020019081526020016000205481600981518110151561063b57fe5b906020019060200201818152505060706000604254600019166000191681526020019081526020016000205481600a81518110151561067657fe5b906020019060200201818152505060706000604354600019166000191681526020019081526020016000205481600b8151811015156106b157fe5b906020019060200201818152505060706000604454600019166000191681526020019081526020016000205481600c8151811015156106ec57fe5b906020019060200201818152505060706000604554600019166000191681526020019081526020016000205481600d81518110151561072757fe5b906020019060200201818152505060706000604854600019166000191681526020019081526020016000205481600e81518110151561076257fe5b906020019060200201818152505060706000604954600019166000191681526020019081526020016000205481600f81518110151561079d57fe5b906020019060200201818152505060706000604a5460001916600019168152602001908152602001600020548160108151811015156107d857fe5b906020019060200201818152505060706000604b54600019166000191681526020019081526020016000205481601181518110151561081357fe5b906020019060200201818152505060706000605254600019166000191681526020019081526020016000205481601281518110151561084e57fe5b906020019060200201818152505060706000605354600019166000191681526020019081526020016000205481601381518110151561088957fe5b90602001906020020181815250506070600060545460001916600019168152602001908152602001600020548160148151811015156108c457fe5b906020019060200201818152505060706000604c5460001916600019168152602001908152602001600020548160158151811015156108ff57fe5b906020019060200201818152505060706000605554600019166000191681526020019081526020016000205481601681518110151561093a57fe5b906020019060200201818152505060706000605654600019166000191681526020019081526020016000205481601781518110151561097557fe5b90602001906020020181815250506070600060575460001916600019168152602001908152602001600020548160188151811015156109b057fe5b90602001906020020181815250506070600060585460001916600019168152602001908152602001600020548160198151811015156109eb57fe5b906020019060200201818152505060706000605954600019166000191681526020019081526020016000205481601a815181101515610a2657fe5b906020019060200201818152505060706000605a54600019166000191681526020019081526020016000205481601b815181101515610a6157fe5b906020019060200201818152505060706000605b54600019166000191681526020019081526020016000205481601c815181101515610a9c57fe5b906020019060200201818152505060706000605c54600019166000191681526020019081526020016000205481601d815181101515610ad757fe5b906020019060200201818152505060706000605d54600019166000191681526020019081526020016000205481601e815181101515610b1257fe5b906020019060200201818152505060706000605e54600019166000191681526020019081526020016000205481601f815181101515610b4d57fe5b906020019060200201818152505060706000605f546000191660001916815260200190815260200160002054816020815181101515610b8857fe5b9060200190602002018181525050607060006060546000191660001916815260200190815260200160002054816021815181101515610bc357fe5b9060200190602002018181525050607060006061546000191660001916815260200190815260200160002054816022815181101515610bfe57fe5b906020019060200201818152505060706000604d546000191660001916815260200190815260200160002054816023815181101515610c3957fe5b906020019060200201818152505060706000604e546000191660001916815260200190815260200160002054816024815181101515610c7457fe5b906020019060200201818152505060706000604f546000191660001916815260200190815260200160002054816025815181101515610caf57fe5b9060200190602002018181525050607060006050546000191660001916815260200190815260200160002054816026815181101515610cea57fe5b9060200190602002018181525050607060006051546000191660001916815260200190815260200160002054816027815181101515610d2557fe5b9060200190602002018181525050607060006065546000191660001916815260200190815260200160002054816028815181101515610d6057fe5b9060200190602002018181525050607060006066546000191660001916815260200190815260200160002054816029815181101515610d9b57fe5b906020019060200201818152505060706000606754600019166000191681526020019081526020016000205481602a815181101515610dd657fe5b906020019060200201818152505060706000606854600019166000191681526020019081526020016000205481602b815181101515610e1157fe5b906020019060200201818152505060706000604654600019166000191681526020019081526020016000205481602c815181101515610e4c57fe5b906020019060200201818152505060706000604754600019166000191681526020019081526020016000205481602d815181101515610e8757fe5b906020019060200201818152505060706000606254600019166000191681526020019081526020016000205481602e815181101515610ec257fe5b906020019060200201818152505060706000606354600019166000191681526020019081526020016000205481602f815181101515610efd57fe5b9060200190602002018181525050607060006064546000191660001916815260200190815260200160002054816030815181101515610f3857fe5b9060200190602002018181525050607060006069546000191660001916815260200190815260200160002054816031815181101515610f7357fe5b9060200190602002018181525050607060006035546000191660001916815260200190815260200160002054816032815181101515610fae57fe5b9060200190602002018181525050607060006036546000191660001916815260200190815260200160002054816033815181101515610fe957fe5b906020019060200201818152505060706000603754600019166000191681526020019081526020016000205481603481518110151561102457fe5b906020019060200201818152505060706000606a54600019166000191681526020019081526020016000205481603581518110151561105f57fe5b906020019060200201818152505060706000606b54600019166000191681526020019081526020016000205481603681518110151561109a57fe5b906020019060200201818152505060706000606c5460001916600019168152602001908152602001600020548160378151811015156110d557fe5b906020019060200201818152505060706000606d54600019166000191681526020019081526020016000205481603881518110151561111057fe5b906020019060200201818152505060706000606e54600019166000191681526020019081526020016000205481603981518110151561114b57fe5b906020019060200201818152505060706000606f54600019166000191681526020019081526020016000205481603a81518110151561118657fe5b90602001906020020181815250508091505090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561123557600080fd5b505af1158015611249573d6000803e3d6000fd5b505050506040513d602081101561125f57600080fd5b81019080805190602001909291905050509050919050565b60706020528060005260406000206000915090505481565b61129a601954611f90565b15156112a557600080fd5b8181600081811015156112b457fe5b905060200201356070600060385460001916600019168152602001908152602001600020819055508181600281811015156112eb57fe5b9050602002013560706000603a54600019166000191681526020019081526020016000208190555081816003818110151561132257fe5b9050602002013560706000603b54600019166000191681526020019081526020016000208190555081816004818110151561135957fe5b9050602002013560706000603c54600019166000191681526020019081526020016000208190555081816005818110151561139057fe5b9050602002013560706000603d5460001916600019168152602001908152602001600020819055508181600681811015156113c757fe5b9050602002013560706000603e5460001916600019168152602001908152602001600020819055508181600781811015156113fe57fe5b9050602002013560706000603f54600019166000191681526020019081526020016000208190555081816008818110151561143557fe5b9050602002013560706000604054600019166000191681526020019081526020016000208190555081816009818110151561146c57fe5b905060200201356070600060415460001916600019168152602001908152602001600020819055508181600a81811015156114a357fe5b905060200201356070600060425460001916600019168152602001908152602001600020819055508181600b81811015156114da57fe5b905060200201356070600060435460001916600019168152602001908152602001600020819055508181600c818110151561151157fe5b905060200201356070600060445460001916600019168152602001908152602001600020819055508181600d818110151561154857fe5b905060200201356070600060455460001916600019168152602001908152602001600020819055508181600e818110151561157f57fe5b905060200201356070600060485460001916600019168152602001908152602001600020819055508181600f81811015156115b657fe5b905060200201356070600060495460001916600019168152602001908152602001600020819055508181601081811015156115ed57fe5b9050602002013560706000604a54600019166000191681526020019081526020016000208190555081816011818110151561162457fe5b9050602002013560706000604b54600019166000191681526020019081526020016000208190555081816012818110151561165b57fe5b9050602002013560706000605254600019166000191681526020019081526020016000208190555081816013818110151561169257fe5b905060200201356070600060535460001916600019168152602001908152602001600020819055508181601481811015156116c957fe5b9050602002013560706000605454600019166000191681526020019081526020016000208190555081816015818110151561170057fe5b9050602002013560706000604c54600019166000191681526020019081526020016000208190555081816016818110151561173757fe5b9050602002013560706000605554600019166000191681526020019081526020016000208190555081816017818110151561176e57fe5b905060200201356070600060565460001916600019168152602001908152602001600020819055508181601881811015156117a557fe5b905060200201356070600060575460001916600019168152602001908152602001600020819055508181601981811015156117dc57fe5b905060200201356070600060585460001916600019168152602001908152602001600020819055508181601a818110151561181357fe5b905060200201356070600060595460001916600019168152602001908152602001600020819055508181601b818110151561184a57fe5b9050602002013560706000605a5460001916600019168152602001908152602001600020819055508181601c818110151561188157fe5b9050602002013560706000605b5460001916600019168152602001908152602001600020819055508181601d81811015156118b857fe5b9050602002013560706000605c5460001916600019168152602001908152602001600020819055508181601e81811015156118ef57fe5b9050602002013560706000605d5460001916600019168152602001908152602001600020819055508181601f818110151561192657fe5b9050602002013560706000605e54600019166000191681526020019081526020016000208190555081816020818110151561195d57fe5b9050602002013560706000605f54600019166000191681526020019081526020016000208190555081816021818110151561199457fe5b905060200201356070600060605460001916600019168152602001908152602001600020819055508181602281811015156119cb57fe5b90506020020135607060006061546000191660001916815260200190815260200160002081905550818160238181101515611a0257fe5b9050602002013560706000604d546000191660001916815260200190815260200160002081905550818160248181101515611a3957fe5b9050602002013560706000604e546000191660001916815260200190815260200160002081905550818160258181101515611a7057fe5b9050602002013560706000604f546000191660001916815260200190815260200160002081905550818160268181101515611aa757fe5b90506020020135607060006050546000191660001916815260200190815260200160002081905550818160278181101515611ade57fe5b90506020020135607060006051546000191660001916815260200190815260200160002081905550818160288181101515611b1557fe5b90506020020135607060006065546000191660001916815260200190815260200160002081905550818160298181101515611b4c57fe5b905060200201356070600060665460001916600019168152602001908152602001600020819055508181602a8181101515611b8357fe5b905060200201356070600060675460001916600019168152602001908152602001600020819055508181602b8181101515611bba57fe5b905060200201356070600060685460001916600019168152602001908152602001600020819055508181602c8181101515611bf157fe5b905060200201356070600060465460001916600019168152602001908152602001600020819055508181602d8181101515611c2857fe5b905060200201356070600060475460001916600019168152602001908152602001600020819055508181602e8181101515611c5f57fe5b905060200201356070600060625460001916600019168152602001908152602001600020819055508181602f8181101515611c9657fe5b90506020020135607060006063546000191660001916815260200190815260200160002081905550818160308181101515611ccd57fe5b90506020020135607060006064546000191660001916815260200190815260200160002081905550818160318181101515611d0457fe5b90506020020135607060006069546000191660001916815260200190815260200160002081905550818160328181101515611d3b57fe5b90506020020135607060006035546000191660001916815260200190815260200160002081905550818160338181101515611d7257fe5b90506020020135607060006036546000191660001916815260200190815260200160002081905550818160348181101515611da957fe5b90506020020135607060006037546000191660001916815260200190815260200160002081905550818160358181101515611de057fe5b9050602002013560706000606a546000191660001916815260200190815260200160002081905550818160368181101515611e1757fe5b9050602002013560706000606b546000191660001916815260200190815260200160002081905550818160378181101515611e4e57fe5b9050602002013560706000606c546000191660001916815260200190815260200160002081905550818160388181101515611e8557fe5b9050602002013560706000606d546000191660001916815260200190815260200160002081905550818160398181101515611ebc57fe5b9050602002013560706000606e5460001916600019168152602001908152602001600020819055508181603a8181101515611ef357fe5b9050602002013560706000606f5460001916600019168152602001908152602001600020819055505050565b60726020528060005260406000206000915090505481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60716020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561202a57600080fd5b505af115801561203e573d6000803e3d6000fd5b505050506040513d602081101561205457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161490509190505600a165627a7a72305820ae6082aa09010babe73f7e009983bbb99b0b8b8d3fa7f2ebafdbcc23232de4cb0029", + "deployedBytecode": "0x608060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec1461009e5780633943380c146100f55780633977815b146101285780633f83acff14610194578063734c116814610205578063aecbca671461024a578063c0a8405d14610285578063db4ecbc1146102d2578063e6b39eab14610329575b600080fd5b3480156100aa57600080fd5b506100b361039a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561010157600080fd5b5061010a6103bf565b60405180826000191660001916815260200191505060405180910390f35b34801561013457600080fd5b5061013d6103c5565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610180578082015181840152602081019050610165565b505050509050019250505060405180910390f35b3480156101a057600080fd5b506101c3600480360381019080803560001916906020019092919050505061119b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561021157600080fd5b506102346004803603810190808035600019169060200190929190505050611277565b6040518082815260200191505060405180910390f35b34801561025657600080fd5b5061028360048036038101908080359060200190820180359060200191909192939192939050505061128f565b005b34801561029157600080fd5b506102b46004803603810190808035600019169060200190929190505050611f1f565b60405180826000191660001916815260200191505060405180910390f35b3480156102de57600080fd5b506102e7611f37565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561033557600080fd5b506103586004803603810190808035600019169060200190929190505050611f5d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b606080603b6040519080825280602002602001820160405280156103f85781602001602082028038833980820191505090505b50905060706000603854600019166000191681526020019081526020016000205481600081518110151561042857fe5b906020019060200201818152505060706000603954600019166000191681526020019081526020016000205481600181518110151561046357fe5b906020019060200201818152505060706000603a54600019166000191681526020019081526020016000205481600281518110151561049e57fe5b906020019060200201818152505060706000603b5460001916600019168152602001908152602001600020548160038151811015156104d957fe5b906020019060200201818152505060706000603c54600019166000191681526020019081526020016000205481600481518110151561051457fe5b906020019060200201818152505060706000603d54600019166000191681526020019081526020016000205481600581518110151561054f57fe5b906020019060200201818152505060706000603e54600019166000191681526020019081526020016000205481600681518110151561058a57fe5b906020019060200201818152505060706000603f5460001916600019168152602001908152602001600020548160078151811015156105c557fe5b906020019060200201818152505060706000604054600019166000191681526020019081526020016000205481600881518110151561060057fe5b906020019060200201818152505060706000604154600019166000191681526020019081526020016000205481600981518110151561063b57fe5b906020019060200201818152505060706000604254600019166000191681526020019081526020016000205481600a81518110151561067657fe5b906020019060200201818152505060706000604354600019166000191681526020019081526020016000205481600b8151811015156106b157fe5b906020019060200201818152505060706000604454600019166000191681526020019081526020016000205481600c8151811015156106ec57fe5b906020019060200201818152505060706000604554600019166000191681526020019081526020016000205481600d81518110151561072757fe5b906020019060200201818152505060706000604854600019166000191681526020019081526020016000205481600e81518110151561076257fe5b906020019060200201818152505060706000604954600019166000191681526020019081526020016000205481600f81518110151561079d57fe5b906020019060200201818152505060706000604a5460001916600019168152602001908152602001600020548160108151811015156107d857fe5b906020019060200201818152505060706000604b54600019166000191681526020019081526020016000205481601181518110151561081357fe5b906020019060200201818152505060706000605254600019166000191681526020019081526020016000205481601281518110151561084e57fe5b906020019060200201818152505060706000605354600019166000191681526020019081526020016000205481601381518110151561088957fe5b90602001906020020181815250506070600060545460001916600019168152602001908152602001600020548160148151811015156108c457fe5b906020019060200201818152505060706000604c5460001916600019168152602001908152602001600020548160158151811015156108ff57fe5b906020019060200201818152505060706000605554600019166000191681526020019081526020016000205481601681518110151561093a57fe5b906020019060200201818152505060706000605654600019166000191681526020019081526020016000205481601781518110151561097557fe5b90602001906020020181815250506070600060575460001916600019168152602001908152602001600020548160188151811015156109b057fe5b90602001906020020181815250506070600060585460001916600019168152602001908152602001600020548160198151811015156109eb57fe5b906020019060200201818152505060706000605954600019166000191681526020019081526020016000205481601a815181101515610a2657fe5b906020019060200201818152505060706000605a54600019166000191681526020019081526020016000205481601b815181101515610a6157fe5b906020019060200201818152505060706000605b54600019166000191681526020019081526020016000205481601c815181101515610a9c57fe5b906020019060200201818152505060706000605c54600019166000191681526020019081526020016000205481601d815181101515610ad757fe5b906020019060200201818152505060706000605d54600019166000191681526020019081526020016000205481601e815181101515610b1257fe5b906020019060200201818152505060706000605e54600019166000191681526020019081526020016000205481601f815181101515610b4d57fe5b906020019060200201818152505060706000605f546000191660001916815260200190815260200160002054816020815181101515610b8857fe5b9060200190602002018181525050607060006060546000191660001916815260200190815260200160002054816021815181101515610bc357fe5b9060200190602002018181525050607060006061546000191660001916815260200190815260200160002054816022815181101515610bfe57fe5b906020019060200201818152505060706000604d546000191660001916815260200190815260200160002054816023815181101515610c3957fe5b906020019060200201818152505060706000604e546000191660001916815260200190815260200160002054816024815181101515610c7457fe5b906020019060200201818152505060706000604f546000191660001916815260200190815260200160002054816025815181101515610caf57fe5b9060200190602002018181525050607060006050546000191660001916815260200190815260200160002054816026815181101515610cea57fe5b9060200190602002018181525050607060006051546000191660001916815260200190815260200160002054816027815181101515610d2557fe5b9060200190602002018181525050607060006065546000191660001916815260200190815260200160002054816028815181101515610d6057fe5b9060200190602002018181525050607060006066546000191660001916815260200190815260200160002054816029815181101515610d9b57fe5b906020019060200201818152505060706000606754600019166000191681526020019081526020016000205481602a815181101515610dd657fe5b906020019060200201818152505060706000606854600019166000191681526020019081526020016000205481602b815181101515610e1157fe5b906020019060200201818152505060706000604654600019166000191681526020019081526020016000205481602c815181101515610e4c57fe5b906020019060200201818152505060706000604754600019166000191681526020019081526020016000205481602d815181101515610e8757fe5b906020019060200201818152505060706000606254600019166000191681526020019081526020016000205481602e815181101515610ec257fe5b906020019060200201818152505060706000606354600019166000191681526020019081526020016000205481602f815181101515610efd57fe5b9060200190602002018181525050607060006064546000191660001916815260200190815260200160002054816030815181101515610f3857fe5b9060200190602002018181525050607060006069546000191660001916815260200190815260200160002054816031815181101515610f7357fe5b9060200190602002018181525050607060006035546000191660001916815260200190815260200160002054816032815181101515610fae57fe5b9060200190602002018181525050607060006036546000191660001916815260200190815260200160002054816033815181101515610fe957fe5b906020019060200201818152505060706000603754600019166000191681526020019081526020016000205481603481518110151561102457fe5b906020019060200201818152505060706000606a54600019166000191681526020019081526020016000205481603581518110151561105f57fe5b906020019060200201818152505060706000606b54600019166000191681526020019081526020016000205481603681518110151561109a57fe5b906020019060200201818152505060706000606c5460001916600019168152602001908152602001600020548160378151811015156110d557fe5b906020019060200201818152505060706000606d54600019166000191681526020019081526020016000205481603881518110151561111057fe5b906020019060200201818152505060706000606e54600019166000191681526020019081526020016000205481603981518110151561114b57fe5b906020019060200201818152505060706000606f54600019166000191681526020019081526020016000205481603a81518110151561118657fe5b90602001906020020181815250508091505090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561123557600080fd5b505af1158015611249573d6000803e3d6000fd5b505050506040513d602081101561125f57600080fd5b81019080805190602001909291905050509050919050565b60706020528060005260406000206000915090505481565b61129a601954611f90565b15156112a557600080fd5b8181600081811015156112b457fe5b905060200201356070600060385460001916600019168152602001908152602001600020819055508181600281811015156112eb57fe5b9050602002013560706000603a54600019166000191681526020019081526020016000208190555081816003818110151561132257fe5b9050602002013560706000603b54600019166000191681526020019081526020016000208190555081816004818110151561135957fe5b9050602002013560706000603c54600019166000191681526020019081526020016000208190555081816005818110151561139057fe5b9050602002013560706000603d5460001916600019168152602001908152602001600020819055508181600681811015156113c757fe5b9050602002013560706000603e5460001916600019168152602001908152602001600020819055508181600781811015156113fe57fe5b9050602002013560706000603f54600019166000191681526020019081526020016000208190555081816008818110151561143557fe5b9050602002013560706000604054600019166000191681526020019081526020016000208190555081816009818110151561146c57fe5b905060200201356070600060415460001916600019168152602001908152602001600020819055508181600a81811015156114a357fe5b905060200201356070600060425460001916600019168152602001908152602001600020819055508181600b81811015156114da57fe5b905060200201356070600060435460001916600019168152602001908152602001600020819055508181600c818110151561151157fe5b905060200201356070600060445460001916600019168152602001908152602001600020819055508181600d818110151561154857fe5b905060200201356070600060455460001916600019168152602001908152602001600020819055508181600e818110151561157f57fe5b905060200201356070600060485460001916600019168152602001908152602001600020819055508181600f81811015156115b657fe5b905060200201356070600060495460001916600019168152602001908152602001600020819055508181601081811015156115ed57fe5b9050602002013560706000604a54600019166000191681526020019081526020016000208190555081816011818110151561162457fe5b9050602002013560706000604b54600019166000191681526020019081526020016000208190555081816012818110151561165b57fe5b9050602002013560706000605254600019166000191681526020019081526020016000208190555081816013818110151561169257fe5b905060200201356070600060535460001916600019168152602001908152602001600020819055508181601481811015156116c957fe5b9050602002013560706000605454600019166000191681526020019081526020016000208190555081816015818110151561170057fe5b9050602002013560706000604c54600019166000191681526020019081526020016000208190555081816016818110151561173757fe5b9050602002013560706000605554600019166000191681526020019081526020016000208190555081816017818110151561176e57fe5b905060200201356070600060565460001916600019168152602001908152602001600020819055508181601881811015156117a557fe5b905060200201356070600060575460001916600019168152602001908152602001600020819055508181601981811015156117dc57fe5b905060200201356070600060585460001916600019168152602001908152602001600020819055508181601a818110151561181357fe5b905060200201356070600060595460001916600019168152602001908152602001600020819055508181601b818110151561184a57fe5b9050602002013560706000605a5460001916600019168152602001908152602001600020819055508181601c818110151561188157fe5b9050602002013560706000605b5460001916600019168152602001908152602001600020819055508181601d81811015156118b857fe5b9050602002013560706000605c5460001916600019168152602001908152602001600020819055508181601e81811015156118ef57fe5b9050602002013560706000605d5460001916600019168152602001908152602001600020819055508181601f818110151561192657fe5b9050602002013560706000605e54600019166000191681526020019081526020016000208190555081816020818110151561195d57fe5b9050602002013560706000605f54600019166000191681526020019081526020016000208190555081816021818110151561199457fe5b905060200201356070600060605460001916600019168152602001908152602001600020819055508181602281811015156119cb57fe5b90506020020135607060006061546000191660001916815260200190815260200160002081905550818160238181101515611a0257fe5b9050602002013560706000604d546000191660001916815260200190815260200160002081905550818160248181101515611a3957fe5b9050602002013560706000604e546000191660001916815260200190815260200160002081905550818160258181101515611a7057fe5b9050602002013560706000604f546000191660001916815260200190815260200160002081905550818160268181101515611aa757fe5b90506020020135607060006050546000191660001916815260200190815260200160002081905550818160278181101515611ade57fe5b90506020020135607060006051546000191660001916815260200190815260200160002081905550818160288181101515611b1557fe5b90506020020135607060006065546000191660001916815260200190815260200160002081905550818160298181101515611b4c57fe5b905060200201356070600060665460001916600019168152602001908152602001600020819055508181602a8181101515611b8357fe5b905060200201356070600060675460001916600019168152602001908152602001600020819055508181602b8181101515611bba57fe5b905060200201356070600060685460001916600019168152602001908152602001600020819055508181602c8181101515611bf157fe5b905060200201356070600060465460001916600019168152602001908152602001600020819055508181602d8181101515611c2857fe5b905060200201356070600060475460001916600019168152602001908152602001600020819055508181602e8181101515611c5f57fe5b905060200201356070600060625460001916600019168152602001908152602001600020819055508181602f8181101515611c9657fe5b90506020020135607060006063546000191660001916815260200190815260200160002081905550818160308181101515611ccd57fe5b90506020020135607060006064546000191660001916815260200190815260200160002081905550818160318181101515611d0457fe5b90506020020135607060006069546000191660001916815260200190815260200160002081905550818160328181101515611d3b57fe5b90506020020135607060006035546000191660001916815260200190815260200160002081905550818160338181101515611d7257fe5b90506020020135607060006036546000191660001916815260200190815260200160002081905550818160348181101515611da957fe5b90506020020135607060006037546000191660001916815260200190815260200160002081905550818160358181101515611de057fe5b9050602002013560706000606a546000191660001916815260200190815260200160002081905550818160368181101515611e1757fe5b9050602002013560706000606b546000191660001916815260200190815260200160002081905550818160378181101515611e4e57fe5b9050602002013560706000606c546000191660001916815260200190815260200160002081905550818160388181101515611e8557fe5b9050602002013560706000606d546000191660001916815260200190815260200160002081905550818160398181101515611ebc57fe5b9050602002013560706000606e5460001916600019168152602001908152602001600020819055508181603a8181101515611ef357fe5b9050602002013560706000606f5460001916600019168152602001908152602001600020819055505050565b60726020528060005260406000206000915090505481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60716020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561202a57600080fd5b505af115801561203e573d6000803e3d6000fd5b505050506040513d602081101561205457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161490509190505600a165627a7a72305820ae6082aa09010babe73f7e009983bbb99b0b8b8d3fa7f2ebafdbcc23232de4cb0029", + "sourceMap": "129:14746:53:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;695:10:53;673:32;;733:7;711:29;;747:4499;8:9:-1;5:2;;;30:1;27;20:12;5:2;747:4499:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;815:44;820:27;;849:9;815:4;;;:44;;;:::i;:::-;807:53;;;;;;;;916:7;871:11;:42;883:29;;871:42;;;;;;;;;;;;;;;;;:52;;;;972:16;;933:11;:36;945:23;;933:36;;;;;;;;;;;;;;;;;:55;;;;1040:7;998:11;:39;1010:26;;998:39;;;;;;;;;;;;;;;;;:49;;;;1098:7;1057:11;:38;1069:25;;1057:38;;;;;;;;;;;;;;;;;:48;;;;1158:6;1115:11;:40;1127:27;;1115:40;;;;;;;;;;;;;;;;;:49;;;;1216:7;1174:11;:39;1186:26;;1174:39;;;;;;;;;;;;;;;;;:49;;;;1295:1;1236:11;:56;1248:43;;1236:56;;;;;;;;;;;;;;;;;:60;;;;1373:3;1312:11;:58;1324:45;;1312:58;;;;;;;;;;;;;;;;;:64;;;;1452:2;1392:11;:57;1404:44;;1392:57;;;;;;;;;;;;;;;;;:62;;;;1533:3;1471:11;:59;1483:46;;1471:59;;;;;;;;;;;;;;;;;:65;;;;1615:1;1555:11;:57;1567:44;;1555:57;;;;;;;;;;;;;;;;;:61;;;;1694:3;1632:11;:59;1644:46;;1632:59;;;;;;;;;;;;;;;;;:65;;;;1774:2;1713:11;:58;1725:45;;1713:58;;;;;;;;;;;;;;;;;:63;;;;1856:3;1793:11;:60;1805:47;;1793:60;;;;;;;;;;;;;;;;;:66;;;;1921:1;1877:11;:41;1889:28;;1877:41;;;;;;;;;;;;;;;;;:45;;;;1986:1;1940:11;:43;1952:30;;1940:43;;;;;;;;;;;;;;;;;:47;;;;2050:1;2005:11;:42;2017:29;;2005:42;;;;;;;;;;;;;;;;;:46;;;;2116:1;2069:11;:44;2081:31;;2069:44;;;;;;;;;;;;;;;;;:48;;;;2184:11;;2137;:44;2149:31;;2137:44;;;;;;;;;;;;;;;;;:58;;;;2246:11;;2205;:38;2217:25;;2205:38;;;;;;;;;;;;;;;;;:52;;;;2316:11;;2267;:46;2279:33;;2267:46;;;;;;;;;;;;;;;;;:60;;;;2416:11;;2408:5;:19;2338:11;:67;2350:54;;2338:67;;;;;;;;;;;;;;;;;:89;;;;2487:2;2438:11;:46;2450:33;;2438:46;;;;;;;;;;;;;;;;;:51;;;;2584:3;2533:11;:48;2545:35;;2533:48;;;;;;;;;;;;;;;;;:54;;;;2684:7;2632:11;:49;2644:36;;2632:49;;;;;;;;;;;;;;;;;:59;;;;2752:7;2701:11;:48;2713:35;;2701:48;;;;;;;;;;;;;;;;;:58;;;;2818:1;2772:11;:43;2784:30;;2772:43;;;;;;;;;;;;;;;;;:47;;;;2885:1;2837:11;:45;2849:32;;2837:45;;;;;;;;;;;;;;;;;:49;;;;2961:2;2905:11;:53;2917:40;;2905:53;;;;;;;;;;;;;;;;;:58;;;;3038:3;2980:11;:55;2992:42;;2980:55;;;;;;;;;;;;;;;;;:61;;;;3117:11;;3110:4;:18;3059:11;:48;3071:35;;3059:48;;;;;;;;;;;;;;;;;:69;;;;3195:11;;3188:4;:18;3139:11;:46;3151:33;;3139:46;;;;;;;;;;;;;;;;;:67;;;;3266:1;3216:11;:47;3228:34;;3216:47;;;;;;;;;;;;;;;;;:51;;;;3354:1;3304:11;:47;3316:34;;3304:47;;;;;;;;;;;;;;;;;:51;;;;3415:11;;3411:1;:15;3367:11;:41;3379:28;;3367:41;;;;;;;;;;;;;;;;;:59;;;;3493:11;;3487:3;:17;3436:11;:48;3448:35;;3436:48;;;;;;;;;;;;;;;;;:68;;;;3575:11;;3568:4;:18;3514:11;:51;3526:38;;3514:51;;;;;;;;;;;;;;;;;:72;;;;3655:11;;3651:1;:15;3597:11;:51;3609:38;;3597:51;;;;;;;;;;;;;;;;;:69;;;;3743:11;;3737:3;:17;3676:11;:58;3688:45;;3676:58;;;;;;;;;;;;;;;;;:78;;;;3835:11;;3828:4;:18;3764:11;:61;3776:48;;3764:61;;;;;;;;;;;;;;;;;:82;;;;3905:2;3857:11;:45;3869:32;;3857:45;;;;;;;;;;;;;;;;;:50;;;;4008:4;3960:11;:45;3972:32;;3960:45;;;;;;;;;;;;;;;;;:52;;;;4064:7;4023:11;:38;4035:25;;4023:38;;;;;;;;;;;;;;;;;:48;;;;4146:11;;4137:6;:20;4082:11;:52;4094:39;;4082:52;;;;;;;;;;;;;;;;;:75;;;;4228:1;4168:11;:57;4180:44;;4168:57;;;;;;;;;;;;;;;;;:61;;;;4307:3;4245:11;:59;4257:46;;4245:59;;;;;;;;;;;;;;;;;:65;;;;4396:11;;4388:5;:19;4327:11;:58;4339:45;;4327:58;;;;;;;;;;;;;;;;;:80;;;;4477:1;4417:11;:57;4429:44;;4417:57;;;;;;;;;;;;;;;;;:61;;;;4548:1;4488:11;:57;4500:44;;4488:57;;;;;;;;;;;;;;;;;:61;;;;4605:7;4560:11;:42;4572:29;;4560:42;;;;;;;;;;;;;;;;;:52;;;;4669:11;;4664:2;:16;4623:11;:38;4635:25;;4623:38;;;;;;;;;;;;;;;;;:57;;;;4744:11;;4738:3;:17;4690:11;:45;4702:32;;4690:45;;;;;;;;;;;;;;;;;:65;;;;4826:11;;4820:3;:17;4765:11;:52;4777:39;;4765:52;;;;;;;;;;;;;;;;;:72;;;;4893:7;4848:11;:42;4860:29;;4848:42;;;;;;;;;;;;;;;;;:52;;;;4959:9;4911:11;:45;4923:32;;4911:45;;;;;;;;;;;;;;;;;:57;;;;5029:1;4978:11;:48;4990:35;;4978:48;;;;;;;;;;;;;;;;;:52;;;;5097:2;5040:11;:54;5052:41;;5040:54;;;;;;;;;;;;;;;;;:59;;;;5155:7;5110:11;:42;5122:29;;5110:42;;;;;;;;;;;;;;;;;:52;;;;5228:11;;5223:2;:16;5172:11;:48;5184:35;;5172:48;;;;;;;;;;;;;;;;;:67;;;;747:4499;129:14746;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;129:14746:53:-;;;;;;;", + "deployedSourceMap": "129:14746:53:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10118:4755:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10118:4755:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;10118:4755:53;;;;;;;;;;;;;;;;;2380:179:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;299:47:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;299:47:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5252:4860;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5252:4860:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;618:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;618:48:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;457:50:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;457:50:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;264:18::-;;;;:::o;10118:4755:53:-;10190:9;10215:29;10261:2;10247:17;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;10247:17:53;;;;10215:49;;10292:11;:42;10304:29;;10292:42;;;;;;;;;;;;;;;;;;10274:12;10287:1;10274:15;;;;;;;;;;;;;;;;;:60;;;;;10362:11;:36;10374:23;;10362:36;;;;;;;;;;;;;;;;;;10344:12;10357:1;10344:15;;;;;;;;;;;;;;;;;:54;;;;;10426:11;:39;10438:26;;10426:39;;;;;;;;;;;;;;;;;;10408:12;10421:1;10408:15;;;;;;;;;;;;;;;;;:57;;;;;10493:11;:38;10505:25;;10493:38;;;;;;;;;;;;;;;;;;10475:12;10488:1;10475:15;;;;;;;;;;;;;;;;;:56;;;;;10559:11;:40;10571:27;;10559:40;;;;;;;;;;;;;;;;;;10541:12;10554:1;10541:15;;;;;;;;;;;;;;;;;:58;;;;;10627:11;:39;10639:26;;10627:39;;;;;;;;;;;;;;;;;;10609:12;10622:1;10609:15;;;;;;;;;;;;;;;;;:57;;;;;10694:11;:56;10706:43;;10694:56;;;;;;;;;;;;;;;;;;10676:12;10689:1;10676:15;;;;;;;;;;;;;;;;;:74;;;;;10778:11;:58;10790:45;;10778:58;;;;;;;;;;;;;;;;;;10760:12;10773:1;10760:15;;;;;;;;;;;;;;;;;:76;;;;;10864:11;:57;10876:44;;10864:57;;;;;;;;;;;;;;;;;;10846:12;10859:1;10846:15;;;;;;;;;;;;;;;;;:75;;;;;10949:11;:59;10961:46;;10949:59;;;;;;;;;;;;;;;;;;10931:12;10944:1;10931:15;;;;;;;;;;;;;;;;;:77;;;;;11037:11;:57;11049:44;;11037:57;;;;;;;;;;;;;;;;;;11018:12;11031:2;11018:16;;;;;;;;;;;;;;;;;:76;;;;;11123:11;:59;11135:46;;11123:59;;;;;;;;;;;;;;;;;;11104:12;11117:2;11104:16;;;;;;;;;;;;;;;;;:78;;;;;11211:11;:58;11223:45;;11211:58;;;;;;;;;;;;;;;;;;11192:12;11205:2;11192:16;;;;;;;;;;;;;;;;;:77;;;;;11298:11;:60;11310:47;;11298:60;;;;;;;;;;;;;;;;;;11279:12;11292:2;11279:16;;;;;;;;;;;;;;;;;:79;;;;;11387:11;:41;11399:28;;11387:41;;;;;;;;;;;;;;;;;;11368:12;11381:2;11368:16;;;;;;;;;;;;;;;;;:60;;;;;11457:11;:43;11469:30;;11457:43;;;;;;;;;;;;;;;;;;11438:12;11451:2;11438:16;;;;;;;;;;;;;;;;;:62;;;;;11529:11;:42;11541:29;;11529:42;;;;;;;;;;;;;;;;;;11510:12;11523:2;11510:16;;;;;;;;;;;;;;;;;:61;;;;;11600:11;:44;11612:31;;11600:44;;;;;;;;;;;;;;;;;;11581:12;11594:2;11581:16;;;;;;;;;;;;;;;;;:63;;;;;11673:11;:44;11685:31;;11673:44;;;;;;;;;;;;;;;;;;11654:12;11667:2;11654:16;;;;;;;;;;;;;;;;;:63;;;;;11746:11;:38;11758:25;;11746:38;;;;;;;;;;;;;;;;;;11727:12;11740:2;11727:16;;;;;;;;;;;;;;;;;:57;;;;;11813:11;:46;11825:33;;11813:46;;;;;;;;;;;;;;;;;;11794:12;11807:2;11794:16;;;;;;;;;;;;;;;;;:65;;;;;11888:11;:41;11900:28;;11888:41;;;;;;;;;;;;;;;;;;11869:12;11882:2;11869:16;;;;;;;;;;;;;;;;;:60;;;;;11958:11;:67;11970:54;;11958:67;;;;;;;;;;;;;;;;;;11939:12;11952:2;11939:16;;;;;;;;;;;;;;;;;:86;;;;;12054:11;:46;12066:33;;12054:46;;;;;;;;;;;;;;;;;;12035:12;12048:2;12035:16;;;;;;;;;;;;;;;;;:65;;;;;12129:11;:48;12141:35;;12129:48;;;;;;;;;;;;;;;;;;12110:12;12123:2;12110:16;;;;;;;;;;;;;;;;;:67;;;;;12206:11;:49;12218:36;;12206:49;;;;;;;;;;;;;;;;;;12187:12;12200:2;12187:16;;;;;;;;;;;;;;;;;:68;;;;;12284:11;:48;12296:35;;12284:48;;;;;;;;;;;;;;;;;;12265:12;12278:2;12265:16;;;;;;;;;;;;;;;;;:67;;;;;12361:11;:43;12373:30;;12361:43;;;;;;;;;;;;;;;;;;12342:12;12355:2;12342:16;;;;;;;;;;;;;;;;;:62;;;;;12433:11;:45;12445:32;;12433:45;;;;;;;;;;;;;;;;;;12414:12;12427:2;12414:16;;;;;;;;;;;;;;;;;:64;;;;;12507:11;:53;12519:40;;12507:53;;;;;;;;;;;;;;;;;;12488:12;12501:2;12488:16;;;;;;;;;;;;;;;;;:72;;;;;12589:11;:55;12601:42;;12589:55;;;;;;;;;;;;;;;;;;12570:12;12583:2;12570:16;;;;;;;;;;;;;;;;;:74;;;;;12673:11;:48;12685:35;;12673:48;;;;;;;;;;;;;;;;;;12654:12;12667:2;12654:16;;;;;;;;;;;;;;;;;:67;;;;;12750:11;:46;12762:33;;12750:46;;;;;;;;;;;;;;;;;;12731:12;12744:2;12731:16;;;;;;;;;;;;;;;;;:65;;;;;12825:11;:47;12837:34;;12825:47;;;;;;;;;;;;;;;;;;12806:12;12819:2;12806:16;;;;;;;;;;;;;;;;;:66;;;;;12901:11;:47;12913:34;;12901:47;;;;;;;;;;;;;;;;;;12882:12;12895:2;12882:16;;;;;;;;;;;;;;;;;:66;;;;;12977:11;:48;12989:35;;12977:48;;;;;;;;;;;;;;;;;;12958:12;12971:2;12958:16;;;;;;;;;;;;;;;;;:67;;;;;13054:11;:51;13066:38;;13054:51;;;;;;;;;;;;;;;;;;13035:12;13048:2;13035:16;;;;;;;;;;;;;;;;;:70;;;;;13134:11;:51;13146:38;;13134:51;;;;;;;;;;;;;;;;;;13115:12;13128:2;13115:16;;;;;;;;;;;;;;;;;:70;;;;;13214:11;:58;13226:45;;13214:58;;;;;;;;;;;;;;;;;;13195:12;13208:2;13195:16;;;;;;;;;;;;;;;;;:77;;;;;13301:11;:61;13313:48;;13301:61;;;;;;;;;;;;;;;;;;13282:12;13295:2;13282:16;;;;;;;;;;;;;;;;;:80;;;;;13391:11;:45;13403:32;;13391:45;;;;;;;;;;;;;;;;;;13372:12;13385:2;13372:16;;;;;;;;;;;;;;;;;:64;;;;;13465:11;:45;13477:32;;13465:45;;;;;;;;;;;;;;;;;;13446:12;13459:2;13446:16;;;;;;;;;;;;;;;;;:64;;;;;13539:11;:38;13551:25;;13539:38;;;;;;;;;;;;;;;;;;13520:12;13533:2;13520:16;;;;;;;;;;;;;;;;;:57;;;;;13606:11;:52;13618:39;;13606:52;;;;;;;;;;;;;;;;;;13587:12;13600:2;13587:16;;;;;;;;;;;;;;;;;:71;;;;;13687:11;:57;13699:44;;13687:57;;;;;;;;;;;;;;;;;;13668:12;13681:2;13668:16;;;;;;;;;;;;;;;;;:76;;;;;13773:11;:59;13785:46;;13773:59;;;;;;;;;;;;;;;;;;13754:12;13767:2;13754:16;;;;;;;;;;;;;;;;;:78;;;;;13861:11;:58;13873:45;;13861:58;;;;;;;;;;;;;;;;;;13842:12;13855:2;13842:16;;;;;;;;;;;;;;;;;:77;;;;;13948:11;:57;13960:44;;13948:57;;;;;;;;;;;;;;;;;;13929:12;13942:2;13929:16;;;;;;;;;;;;;;;;;:76;;;;;14034:11;:57;14046:44;;14034:57;;;;;;;;;;;;;;;;;;14015:12;14028:2;14015:16;;;;;;;;;;;;;;;;;:76;;;;;14120:11;:42;14132:29;;14120:42;;;;;;;;;;;;;;;;;;14101:12;14114:2;14101:16;;;;;;;;;;;;;;;;;:61;;;;;14191:11;:38;14203:25;;14191:38;;;;;;;;;;;;;;;;;;14172:12;14185:2;14172:16;;;;;;;;;;;;;;;;;:57;;;;;14258:11;:45;14270:32;;14258:45;;;;;;;;;;;;;;;;;;14239:12;14252:2;14239:16;;;;;;;;;;;;;;;;;:64;;;;;14332:11;:52;14344:39;;14332:52;;;;;;;;;;;;;;;;;;14313:12;14326:2;14313:16;;;;;;;;;;;;;;;;;:71;;;;;14413:11;:42;14425:29;;14413:42;;;;;;;;;;;;;;;;;;14394:12;14407:2;14394:16;;;;;;;;;;;;;;;;;:61;;;;;14484:11;:45;14496:32;;14484:45;;;;;;;;;;;;;;;;;;14465:12;14478:2;14465:16;;;;;;;;;;;;;;;;;:64;;;;;14558:11;:48;14570:35;;14558:48;;;;;;;;;;;;;;;;;;14539:12;14552:2;14539:16;;;;;;;;;;;;;;;;;:67;;;;;14635:11;:54;14647:41;;14635:54;;;;;;;;;;;;;;;;;;14616:12;14629:2;14616:16;;;;;;;;;;;;;;;;;:73;;;;;14718:11;:42;14730:29;;14718:42;;;;;;;;;;;;;;;;;;14699:12;14712:2;14699:16;;;;;;;;;;;;;;;;;:61;;;;;14789:11;:48;14801:35;;14789:48;;;;;;;;;;;;;;;;;;14770:12;14783:2;14770:16;;;;;;;;;;;;;;;;;:67;;;;;14854:12;14847:19;;10118:4755;;:::o;2380:179:67:-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;299:47:53:-;;;;;;;;;;;;;;;;;:::o;5252:4860::-;5342:45;5352:34;;5342:9;:45::i;:::-;5334:54;;;;;;;;5443:12;;5456:1;5443:15;;;;;;;;;;;;;;;5398:11;:42;5410:29;;5398:42;;;;;;;;;;;;;;;;;:60;;;;5718:12;;5731:1;5718:15;;;;;;;;;;;;;;;5676:11;:39;5688:26;;5676:39;;;;;;;;;;;;;;;;;:57;;;;5784:12;;5797:1;5784:15;;;;;;;;;;;;;;;5743:11;:38;5755:25;;5743:38;;;;;;;;;;;;;;;;;:56;;;;5852:12;;5865:1;5852:15;;;;;;;;;;;;;;;5809:11;:40;5821:27;;5809:40;;;;;;;;;;;;;;;;;:58;;;;5919:12;;5932:1;5919:15;;;;;;;;;;;;;;;5877:11;:39;5889:26;;5877:39;;;;;;;;;;;;;;;;;:57;;;;6003:12;;6016:1;6003:15;;;;;;;;;;;;;;;5944:11;:56;5956:43;;5944:56;;;;;;;;;;;;;;;;;:74;;;;6089:12;;6102:1;6089:15;;;;;;;;;;;;;;;6028:11;:58;6040:45;;6028:58;;;;;;;;;;;;;;;;;:76;;;;6174:12;;6187:1;6174:15;;;;;;;;;;;;;;;6114:11;:57;6126:44;;6114:57;;;;;;;;;;;;;;;;;:75;;;;6261:12;;6274:1;6261:15;;;;;;;;;;;;;;;6199:11;:59;6211:46;;6199:59;;;;;;;;;;;;;;;;;:77;;;;6346:12;;6359:2;6346:16;;;;;;;;;;;;;;;6286:11;:57;6298:44;;6286:57;;;;;;;;;;;;;;;;;:76;;;;6434:12;;6447:2;6434:16;;;;;;;;;;;;;;;6372:11;:59;6384:46;;6372:59;;;;;;;;;;;;;;;;;:78;;;;6521:12;;6534:2;6521:16;;;;;;;;;;;;;;;6460:11;:58;6472:45;;6460:58;;;;;;;;;;;;;;;;;:77;;;;6610:12;;6623:2;6610:16;;;;;;;;;;;;;;;6547:11;:60;6559:47;;6547:60;;;;;;;;;;;;;;;;;:79;;;;6680:12;;6693:2;6680:16;;;;;;;;;;;;;;;6636:11;:41;6648:28;;6636:41;;;;;;;;;;;;;;;;;:60;;;;6752:12;;6765:2;6752:16;;;;;;;;;;;;;;;6706:11;:43;6718:30;;6706:43;;;;;;;;;;;;;;;;;:62;;;;6823:12;;6836:2;6823:16;;;;;;;;;;;;;;;6778:11;:42;6790:29;;6778:42;;;;;;;;;;;;;;;;;:61;;;;6896:12;;6909:2;6896:16;;;;;;;;;;;;;;;6849:11;:44;6861:31;;6849:44;;;;;;;;;;;;;;;;;:63;;;;6969:12;;6982:2;6969:16;;;;;;;;;;;;;;;6922:11;:44;6934:31;;6922:44;;;;;;;;;;;;;;;;;:63;;;;7036:12;;7049:2;7036:16;;;;;;;;;;;;;;;6995:11;:38;7007:25;;6995:38;;;;;;;;;;;;;;;;;:57;;;;7111:12;;7124:2;7111:16;;;;;;;;;;;;;;;7062:11;:46;7074:33;;7062:46;;;;;;;;;;;;;;;;;:65;;;;7181:12;;7194:2;7181:16;;;;;;;;;;;;;;;7137:11;:41;7149:28;;7137:41;;;;;;;;;;;;;;;;;:60;;;;7277:12;;7290:2;7277:16;;;;;;;;;;;;;;;7207:11;:67;7219:54;;7207:67;;;;;;;;;;;;;;;;;:86;;;;7352:12;;7365:2;7352:16;;;;;;;;;;;;;;;7303:11;:46;7315:33;;7303:46;;;;;;;;;;;;;;;;;:65;;;;7429:12;;7442:2;7429:16;;;;;;;;;;;;;;;7378:11;:48;7390:35;;7378:48;;;;;;;;;;;;;;;;;:67;;;;7507:12;;7520:2;7507:16;;;;;;;;;;;;;;;7455:11;:49;7467:36;;7455:49;;;;;;;;;;;;;;;;;:68;;;;7584:12;;7597:2;7584:16;;;;;;;;;;;;;;;7533:11;:48;7545:35;;7533:48;;;;;;;;;;;;;;;;;:67;;;;7656:12;;7669:2;7656:16;;;;;;;;;;;;;;;7610:11;:43;7622:30;;7610:43;;;;;;;;;;;;;;;;;:62;;;;7730:12;;7743:2;7730:16;;;;;;;;;;;;;;;7682:11;:45;7694:32;;7682:45;;;;;;;;;;;;;;;;;:64;;;;7812:12;;7825:2;7812:16;;;;;;;;;;;;;;;7756:11;:53;7768:40;;7756:53;;;;;;;;;;;;;;;;;:72;;;;7896:12;;7909:2;7896:16;;;;;;;;;;;;;;;7838:11;:55;7850:42;;7838:55;;;;;;;;;;;;;;;;;:74;;;;7973:12;;7986:2;7973:16;;;;;;;;;;;;;;;7922:11;:48;7934:35;;7922:48;;;;;;;;;;;;;;;;;:67;;;;8048:12;;8061:2;8048:16;;;;;;;;;;;;;;;7999:11;:46;8011:33;;7999:46;;;;;;;;;;;;;;;;;:65;;;;8124:12;;8137:2;8124:16;;;;;;;;;;;;;;;8074:11;:47;8086:34;;8074:47;;;;;;;;;;;;;;;;;:66;;;;8200:12;;8213:2;8200:16;;;;;;;;;;;;;;;8150:11;:47;8162:34;;8150:47;;;;;;;;;;;;;;;;;:66;;;;8277:12;;8290:2;8277:16;;;;;;;;;;;;;;;8226:11;:48;8238:35;;8226:48;;;;;;;;;;;;;;;;;:67;;;;8357:12;;8370:2;8357:16;;;;;;;;;;;;;;;8303:11;:51;8315:38;;8303:51;;;;;;;;;;;;;;;;;:70;;;;8437:12;;8450:2;8437:16;;;;;;;;;;;;;;;8383:11;:51;8395:38;;8383:51;;;;;;;;;;;;;;;;;:70;;;;8524:12;;8537:2;8524:16;;;;;;;;;;;;;;;8463:11;:58;8475:45;;8463:58;;;;;;;;;;;;;;;;;:77;;;;8614:12;;8627:2;8614:16;;;;;;;;;;;;;;;8550:11;:61;8562:48;;8550:61;;;;;;;;;;;;;;;;;:80;;;;8688:12;;8701:2;8688:16;;;;;;;;;;;;;;;8640:11;:45;8652:32;;8640:45;;;;;;;;;;;;;;;;;:64;;;;8762:12;;8775:2;8762:16;;;;;;;;;;;;;;;8714:11;:45;8726:32;;8714:45;;;;;;;;;;;;;;;;;:64;;;;8829:12;;8842:2;8829:16;;;;;;;;;;;;;;;8788:11;:38;8800:25;;8788:38;;;;;;;;;;;;;;;;;:57;;;;8910:12;;8923:2;8910:16;;;;;;;;;;;;;;;8855:11;:52;8867:39;;8855:52;;;;;;;;;;;;;;;;;:71;;;;8996:12;;9009:2;8996:16;;;;;;;;;;;;;;;8936:11;:57;8948:44;;8936:57;;;;;;;;;;;;;;;;;:76;;;;9084:12;;9097:2;9084:16;;;;;;;;;;;;;;;9022:11;:59;9034:46;;9022:59;;;;;;;;;;;;;;;;;:78;;;;9171:12;;9184:2;9171:16;;;;;;;;;;;;;;;9110:11;:58;9122:45;;9110:58;;;;;;;;;;;;;;;;;:77;;;;9257:12;;9270:2;9257:16;;;;;;;;;;;;;;;9197:11;:57;9209:44;;9197:57;;;;;;;;;;;;;;;;;:76;;;;9343:12;;9356:2;9343:16;;;;;;;;;;;;;;;9283:11;:57;9295:44;;9283:57;;;;;;;;;;;;;;;;;:76;;;;9414:12;;9427:2;9414:16;;;;;;;;;;;;;;;9369:11;:42;9381:29;;9369:42;;;;;;;;;;;;;;;;;:61;;;;9481:12;;9494:2;9481:16;;;;;;;;;;;;;;;9440:11;:38;9452:25;;9440:38;;;;;;;;;;;;;;;;;:57;;;;9555:12;;9568:2;9555:16;;;;;;;;;;;;;;;9507:11;:45;9519:32;;9507:45;;;;;;;;;;;;;;;;;:64;;;;9636:12;;9649:2;9636:16;;;;;;;;;;;;;;;9581:11;:52;9593:39;;9581:52;;;;;;;;;;;;;;;;;:71;;;;9707:12;;9720:2;9707:16;;;;;;;;;;;;;;;9662:11;:42;9674:29;;9662:42;;;;;;;;;;;;;;;;;:61;;;;9781:12;;9794:2;9781:16;;;;;;;;;;;;;;;9733:11;:45;9745:32;;9733:45;;;;;;;;;;;;;;;;;:64;;;;9858:12;;9871:2;9858:16;;;;;;;;;;;;;;;9807:11;:48;9819:35;;9807:48;;;;;;;;;;;;;;;;;:67;;;;9941:12;;9954:2;9941:16;;;;;;;;;;;;;;;9884:11;:54;9896:41;;9884:54;;;;;;;;;;;;;;;;;:73;;;;10012:12;;10025:2;10012:16;;;;;;;;;;;;;;;9967:11;:42;9979:29;;9967:42;;;;;;;;;;;;;;;;;:61;;;;10089:12;;10102:2;10089:16;;;;;;;;;;;;;;;10038:11;:48;10050:35;;10038:48;;;;;;;;;;;;;;;;;:67;;;;5252:4860;;:::o;618:48::-;;;;;;;;;;;;;;;;;:::o;344:31:67:-;;;;;;;;;;;;;:::o;457:50:53:-;;;;;;;;;;;;;;;;;;;;;;:::o;610:160:67:-;671:12;732:8;;;;;;;;;;;715:39;;;755:9;715:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;715:50:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;715:50:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;715:50:67;;;;;;;;;;;;;;;;701:64;;:10;:64;;;691:74;;610:160;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"@digix/cacp-contracts-dao/contracts/ResolverClient.sol\";\nimport \"../common/DaoConstants.sol\";\n\ncontract DaoConfigsStorage is ResolverClient, DaoConstants {\n\n // mapping of config name to config value\n // config names can be found in DaoConstants contract\n mapping (bytes32 => uint256) public uintConfigs;\n\n // mapping of config name to config value\n // config names can be found in DaoConstants contract\n mapping (bytes32 => address) public addressConfigs;\n\n // mapping of config name to config value\n // config names can be found in DaoConstants contract\n mapping (bytes32 => bytes32) public bytesConfigs;\n\n uint256 ONE_BILLION = 1000000000;\n uint256 ONE_MILLION = 1000000;\n\n constructor(address _resolver)\n public\n {\n require(init(CONTRACT_STORAGE_DAO_CONFIG, _resolver));\n\n uintConfigs[CONFIG_LOCKING_PHASE_DURATION] = 10 days;\n uintConfigs[CONFIG_QUARTER_DURATION] = QUARTER_DURATION;\n uintConfigs[CONFIG_VOTING_COMMIT_PHASE] = 14 days;\n uintConfigs[CONFIG_VOTING_PHASE_TOTAL] = 21 days;\n uintConfigs[CONFIG_INTERIM_COMMIT_PHASE] = 7 days;\n uintConfigs[CONFIG_INTERIM_PHASE_TOTAL] = 14 days;\n\n\n\n uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR] = 5; // 5%\n uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR] = 100; // 5%\n uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR] = 35; // 35%\n uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR] = 100; // 35%\n\n\n uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR] = 5; // 5%\n uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR] = 100; // 5%\n uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR] = 25; // 25%\n uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR] = 100; // 25%\n\n uintConfigs[CONFIG_DRAFT_QUOTA_NUMERATOR] = 1; // >50%\n uintConfigs[CONFIG_DRAFT_QUOTA_DENOMINATOR] = 2; // >50%\n uintConfigs[CONFIG_VOTING_QUOTA_NUMERATOR] = 1; // >50%\n uintConfigs[CONFIG_VOTING_QUOTA_DENOMINATOR] = 2; // >50%\n\n\n uintConfigs[CONFIG_QUARTER_POINT_DRAFT_VOTE] = ONE_BILLION;\n uintConfigs[CONFIG_QUARTER_POINT_VOTE] = ONE_BILLION;\n uintConfigs[CONFIG_QUARTER_POINT_INTERIM_VOTE] = ONE_BILLION;\n\n uintConfigs[CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH] = 20000 * ONE_BILLION;\n\n uintConfigs[CONFIG_BONUS_REPUTATION_NUMERATOR] = 15; // 15% bonus for consistent votes\n uintConfigs[CONFIG_BONUS_REPUTATION_DENOMINATOR] = 100; // 15% bonus for consistent votes\n\n uintConfigs[CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE] = 28 days;\n uintConfigs[CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL] = 35 days;\n\n\n\n uintConfigs[CONFIG_SPECIAL_QUOTA_NUMERATOR] = 1; // >50%\n uintConfigs[CONFIG_SPECIAL_QUOTA_DENOMINATOR] = 2; // >50%\n\n uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR] = 40; // 40%\n uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR] = 100; // 40%\n\n uintConfigs[CONFIG_MAXIMUM_REPUTATION_DEDUCTION] = 8334 * ONE_MILLION;\n\n uintConfigs[CONFIG_PUNISHMENT_FOR_NOT_LOCKING] = 1666 * ONE_MILLION;\n uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_NUM] = 1; // 1 extra QP gains 1/1 RP\n uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_DEN] = 1;\n\n\n uintConfigs[CONFIG_MINIMAL_QUARTER_POINT] = 2 * ONE_BILLION;\n uintConfigs[CONFIG_QUARTER_POINT_SCALING_FACTOR] = 400 * ONE_BILLION;\n uintConfigs[CONFIG_REPUTATION_POINT_SCALING_FACTOR] = 2000 * ONE_BILLION;\n\n uintConfigs[CONFIG_MODERATOR_MINIMAL_QUARTER_POINT] = 4 * ONE_BILLION;\n uintConfigs[CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR] = 400 * ONE_BILLION;\n uintConfigs[CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR] = 2000 * ONE_BILLION;\n\n uintConfigs[CONFIG_PORTION_TO_MODERATORS_NUM] = 42; //4.2% of DGX to moderator voting activity\n uintConfigs[CONFIG_PORTION_TO_MODERATORS_DEN] = 1000;\n\n uintConfigs[CONFIG_DRAFT_VOTING_PHASE] = 10 days;\n\n uintConfigs[CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE] = 412500 * ONE_MILLION;\n\n uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR] = 7; // 7%\n uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR] = 100; // 7%\n\n uintConfigs[CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION] = 12500 * ONE_MILLION;\n uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM] = 1;\n uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN] = 1;\n\n uintConfigs[CONFIG_VOTE_CLAIMING_DEADLINE] = 10 days;\n\n uintConfigs[CONFIG_MINIMUM_LOCKED_DGD] = 10 * ONE_BILLION;\n uintConfigs[CONFIG_MINIMUM_DGD_FOR_MODERATOR] = 842 * ONE_BILLION;\n uintConfigs[CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR] = 400 * ONE_BILLION;\n\n uintConfigs[CONFIG_PREPROPOSAL_COLLATERAL] = 2 ether;\n\n uintConfigs[CONFIG_MAX_FUNDING_FOR_NON_DIGIX] = 100 ether;\n uintConfigs[CONFIG_MAX_MILESTONES_FOR_NON_DIGIX] = 5;\n uintConfigs[CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER] = 80;\n\n uintConfigs[CONFIG_PROPOSAL_DEAD_DURATION] = 90 days;\n uintConfigs[CONFIG_CARBON_VOTE_REPUTATION_BONUS] = 10 * ONE_BILLION;\n }\n\n function updateUintConfigs(uint256[] _uintConfigs)\n external\n {\n require(sender_is(CONTRACT_DAO_SPECIAL_VOTING_CLAIMS));\n uintConfigs[CONFIG_LOCKING_PHASE_DURATION] = _uintConfigs[0];\n /*\n This used to be a config that can be changed. Now, _uintConfigs[1] is just a dummy config that doesnt do anything\n uintConfigs[CONFIG_QUARTER_DURATION] = _uintConfigs[1];\n */\n uintConfigs[CONFIG_VOTING_COMMIT_PHASE] = _uintConfigs[2];\n uintConfigs[CONFIG_VOTING_PHASE_TOTAL] = _uintConfigs[3];\n uintConfigs[CONFIG_INTERIM_COMMIT_PHASE] = _uintConfigs[4];\n uintConfigs[CONFIG_INTERIM_PHASE_TOTAL] = _uintConfigs[5];\n uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR] = _uintConfigs[6];\n uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR] = _uintConfigs[7];\n uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR] = _uintConfigs[8];\n uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR] = _uintConfigs[9];\n uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR] = _uintConfigs[10];\n uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR] = _uintConfigs[11];\n uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR] = _uintConfigs[12];\n uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR] = _uintConfigs[13];\n uintConfigs[CONFIG_DRAFT_QUOTA_NUMERATOR] = _uintConfigs[14];\n uintConfigs[CONFIG_DRAFT_QUOTA_DENOMINATOR] = _uintConfigs[15];\n uintConfigs[CONFIG_VOTING_QUOTA_NUMERATOR] = _uintConfigs[16];\n uintConfigs[CONFIG_VOTING_QUOTA_DENOMINATOR] = _uintConfigs[17];\n uintConfigs[CONFIG_QUARTER_POINT_DRAFT_VOTE] = _uintConfigs[18];\n uintConfigs[CONFIG_QUARTER_POINT_VOTE] = _uintConfigs[19];\n uintConfigs[CONFIG_QUARTER_POINT_INTERIM_VOTE] = _uintConfigs[20];\n uintConfigs[CONFIG_MINIMAL_QUARTER_POINT] = _uintConfigs[21];\n uintConfigs[CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH] = _uintConfigs[22];\n uintConfigs[CONFIG_BONUS_REPUTATION_NUMERATOR] = _uintConfigs[23];\n uintConfigs[CONFIG_BONUS_REPUTATION_DENOMINATOR] = _uintConfigs[24];\n uintConfigs[CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE] = _uintConfigs[25];\n uintConfigs[CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL] = _uintConfigs[26];\n uintConfigs[CONFIG_SPECIAL_QUOTA_NUMERATOR] = _uintConfigs[27];\n uintConfigs[CONFIG_SPECIAL_QUOTA_DENOMINATOR] = _uintConfigs[28];\n uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR] = _uintConfigs[29];\n uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR] = _uintConfigs[30];\n uintConfigs[CONFIG_MAXIMUM_REPUTATION_DEDUCTION] = _uintConfigs[31];\n uintConfigs[CONFIG_PUNISHMENT_FOR_NOT_LOCKING] = _uintConfigs[32];\n uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_NUM] = _uintConfigs[33];\n uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_DEN] = _uintConfigs[34];\n uintConfigs[CONFIG_QUARTER_POINT_SCALING_FACTOR] = _uintConfigs[35];\n uintConfigs[CONFIG_REPUTATION_POINT_SCALING_FACTOR] = _uintConfigs[36];\n uintConfigs[CONFIG_MODERATOR_MINIMAL_QUARTER_POINT] = _uintConfigs[37];\n uintConfigs[CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR] = _uintConfigs[38];\n uintConfigs[CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR] = _uintConfigs[39];\n uintConfigs[CONFIG_PORTION_TO_MODERATORS_NUM] = _uintConfigs[40];\n uintConfigs[CONFIG_PORTION_TO_MODERATORS_DEN] = _uintConfigs[41];\n uintConfigs[CONFIG_DRAFT_VOTING_PHASE] = _uintConfigs[42];\n uintConfigs[CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE] = _uintConfigs[43];\n uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR] = _uintConfigs[44];\n uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR] = _uintConfigs[45];\n uintConfigs[CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION] = _uintConfigs[46];\n uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM] = _uintConfigs[47];\n uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN] = _uintConfigs[48];\n uintConfigs[CONFIG_VOTE_CLAIMING_DEADLINE] = _uintConfigs[49];\n uintConfigs[CONFIG_MINIMUM_LOCKED_DGD] = _uintConfigs[50];\n uintConfigs[CONFIG_MINIMUM_DGD_FOR_MODERATOR] = _uintConfigs[51];\n uintConfigs[CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR] = _uintConfigs[52];\n uintConfigs[CONFIG_PREPROPOSAL_COLLATERAL] = _uintConfigs[53];\n uintConfigs[CONFIG_MAX_FUNDING_FOR_NON_DIGIX] = _uintConfigs[54];\n uintConfigs[CONFIG_MAX_MILESTONES_FOR_NON_DIGIX] = _uintConfigs[55];\n uintConfigs[CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER] = _uintConfigs[56];\n uintConfigs[CONFIG_PROPOSAL_DEAD_DURATION] = _uintConfigs[57];\n uintConfigs[CONFIG_CARBON_VOTE_REPUTATION_BONUS] = _uintConfigs[58];\n }\n\n function readUintConfigs()\n public\n view\n returns (uint256[])\n {\n uint256[] memory _uintConfigs = new uint256[](59);\n _uintConfigs[0] = uintConfigs[CONFIG_LOCKING_PHASE_DURATION];\n _uintConfigs[1] = uintConfigs[CONFIG_QUARTER_DURATION];\n _uintConfigs[2] = uintConfigs[CONFIG_VOTING_COMMIT_PHASE];\n _uintConfigs[3] = uintConfigs[CONFIG_VOTING_PHASE_TOTAL];\n _uintConfigs[4] = uintConfigs[CONFIG_INTERIM_COMMIT_PHASE];\n _uintConfigs[5] = uintConfigs[CONFIG_INTERIM_PHASE_TOTAL];\n _uintConfigs[6] = uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR];\n _uintConfigs[7] = uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR];\n _uintConfigs[8] = uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR];\n _uintConfigs[9] = uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR];\n _uintConfigs[10] = uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR];\n _uintConfigs[11] = uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR];\n _uintConfigs[12] = uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR];\n _uintConfigs[13] = uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR];\n _uintConfigs[14] = uintConfigs[CONFIG_DRAFT_QUOTA_NUMERATOR];\n _uintConfigs[15] = uintConfigs[CONFIG_DRAFT_QUOTA_DENOMINATOR];\n _uintConfigs[16] = uintConfigs[CONFIG_VOTING_QUOTA_NUMERATOR];\n _uintConfigs[17] = uintConfigs[CONFIG_VOTING_QUOTA_DENOMINATOR];\n _uintConfigs[18] = uintConfigs[CONFIG_QUARTER_POINT_DRAFT_VOTE];\n _uintConfigs[19] = uintConfigs[CONFIG_QUARTER_POINT_VOTE];\n _uintConfigs[20] = uintConfigs[CONFIG_QUARTER_POINT_INTERIM_VOTE];\n _uintConfigs[21] = uintConfigs[CONFIG_MINIMAL_QUARTER_POINT];\n _uintConfigs[22] = uintConfigs[CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH];\n _uintConfigs[23] = uintConfigs[CONFIG_BONUS_REPUTATION_NUMERATOR];\n _uintConfigs[24] = uintConfigs[CONFIG_BONUS_REPUTATION_DENOMINATOR];\n _uintConfigs[25] = uintConfigs[CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE];\n _uintConfigs[26] = uintConfigs[CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL];\n _uintConfigs[27] = uintConfigs[CONFIG_SPECIAL_QUOTA_NUMERATOR];\n _uintConfigs[28] = uintConfigs[CONFIG_SPECIAL_QUOTA_DENOMINATOR];\n _uintConfigs[29] = uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR];\n _uintConfigs[30] = uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR];\n _uintConfigs[31] = uintConfigs[CONFIG_MAXIMUM_REPUTATION_DEDUCTION];\n _uintConfigs[32] = uintConfigs[CONFIG_PUNISHMENT_FOR_NOT_LOCKING];\n _uintConfigs[33] = uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_NUM];\n _uintConfigs[34] = uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_DEN];\n _uintConfigs[35] = uintConfigs[CONFIG_QUARTER_POINT_SCALING_FACTOR];\n _uintConfigs[36] = uintConfigs[CONFIG_REPUTATION_POINT_SCALING_FACTOR];\n _uintConfigs[37] = uintConfigs[CONFIG_MODERATOR_MINIMAL_QUARTER_POINT];\n _uintConfigs[38] = uintConfigs[CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR];\n _uintConfigs[39] = uintConfigs[CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR];\n _uintConfigs[40] = uintConfigs[CONFIG_PORTION_TO_MODERATORS_NUM];\n _uintConfigs[41] = uintConfigs[CONFIG_PORTION_TO_MODERATORS_DEN];\n _uintConfigs[42] = uintConfigs[CONFIG_DRAFT_VOTING_PHASE];\n _uintConfigs[43] = uintConfigs[CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE];\n _uintConfigs[44] = uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR];\n _uintConfigs[45] = uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR];\n _uintConfigs[46] = uintConfigs[CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION];\n _uintConfigs[47] = uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM];\n _uintConfigs[48] = uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN];\n _uintConfigs[49] = uintConfigs[CONFIG_VOTE_CLAIMING_DEADLINE];\n _uintConfigs[50] = uintConfigs[CONFIG_MINIMUM_LOCKED_DGD];\n _uintConfigs[51] = uintConfigs[CONFIG_MINIMUM_DGD_FOR_MODERATOR];\n _uintConfigs[52] = uintConfigs[CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR];\n _uintConfigs[53] = uintConfigs[CONFIG_PREPROPOSAL_COLLATERAL];\n _uintConfigs[54] = uintConfigs[CONFIG_MAX_FUNDING_FOR_NON_DIGIX];\n _uintConfigs[55] = uintConfigs[CONFIG_MAX_MILESTONES_FOR_NON_DIGIX];\n _uintConfigs[56] = uintConfigs[CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER];\n _uintConfigs[57] = uintConfigs[CONFIG_PROPOSAL_DEAD_DURATION];\n _uintConfigs[58] = uintConfigs[CONFIG_CARBON_VOTE_REPUTATION_BONUS];\n return _uintConfigs;\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoConfigsStorage.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoConfigsStorage.sol", + "exportedSymbols": { + "DaoConfigsStorage": [ + 14281 + ] + }, + "id": 14282, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 12891, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:53" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 12892, + "nodeType": "ImportDirective", + "scope": 14282, + "sourceUnit": 19059, + "src": "26:64:53", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "../common/DaoConstants.sol", + "id": 12893, + "nodeType": "ImportDirective", + "scope": 14282, + "sourceUnit": 1581, + "src": "91:36:53", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 12894, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "159:14:53", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 12895, + "nodeType": "InheritanceSpecifier", + "src": "159:14:53" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 12896, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "175:12:53", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 12897, + "nodeType": "InheritanceSpecifier", + "src": "175:12:53" + } + ], + "contractDependencies": [ + 1580, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 14281, + "linearizedBaseContracts": [ + 14281, + 1580, + 19058 + ], + "name": "DaoConfigsStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 12901, + "name": "uintConfigs", + "nodeType": "VariableDeclaration", + "scope": 14281, + "src": "299:47:53", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 12900, + "keyType": { + "id": 12898, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "308:7:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "299:28:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueType": { + "id": 12899, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "319:7:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 12905, + "name": "addressConfigs", + "nodeType": "VariableDeclaration", + "scope": 14281, + "src": "457:50:53", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "typeName": { + "id": 12904, + "keyType": { + "id": 12902, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "466:7:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "457:28:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "valueType": { + "id": 12903, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "477:7:53", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 12909, + "name": "bytesConfigs", + "nodeType": "VariableDeclaration", + "scope": 14281, + "src": "618:48:53", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes32_$", + "typeString": "mapping(bytes32 => bytes32)" + }, + "typeName": { + "id": 12908, + "keyType": { + "id": 12906, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "627:7:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "618:28:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes32_$", + "typeString": "mapping(bytes32 => bytes32)" + }, + "valueType": { + "id": 12907, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "638:7:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 12912, + "name": "ONE_BILLION", + "nodeType": "VariableDeclaration", + "scope": 14281, + "src": "673:32:53", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12910, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "673:7:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31303030303030303030", + "id": 12911, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "695:10:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000_by_1", + "typeString": "int_const 1000000000" + }, + "value": "1000000000" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12915, + "name": "ONE_MILLION", + "nodeType": "VariableDeclaration", + "scope": 14281, + "src": "711:29:53", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12913, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "711:7:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31303030303030", + "id": 12914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "733:7:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000_by_1", + "typeString": "int_const 1000000" + }, + "value": "1000000" + }, + "visibility": "internal" + }, + { + "body": { + "id": 13311, + "nodeType": "Block", + "src": "797:4449:53", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12922, + "name": "CONTRACT_STORAGE_DAO_CONFIG", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1366, + "src": "820:27:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 12923, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12917, + "src": "849:9:53", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 12921, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "815:4:53", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 12924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "815:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12920, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "807:7:53", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 12925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "807:53:53", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12926, + "nodeType": "ExpressionStatement", + "src": "807:53:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12927, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "871:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12929, + "indexExpression": { + "argumentTypes": null, + "id": 12928, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "883:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "871:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130", + "id": 12930, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "916:7:53", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_864000_by_1", + "typeString": "int_const 864000" + }, + "value": "10" + }, + "src": "871:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12932, + "nodeType": "ExpressionStatement", + "src": "871:52:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12933, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "933:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12935, + "indexExpression": { + "argumentTypes": null, + "id": 12934, + "name": "CONFIG_QUARTER_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1417, + "src": "945:23:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "933:36:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 12936, + "name": "QUARTER_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1402, + "src": "972:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "933:55:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12938, + "nodeType": "ExpressionStatement", + "src": "933:55:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12939, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "998:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12941, + "indexExpression": { + "argumentTypes": null, + "id": 12940, + "name": "CONFIG_VOTING_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1420, + "src": "1010:26:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "998:39:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3134", + "id": 12942, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1040:7:53", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_1209600_by_1", + "typeString": "int_const 1209600" + }, + "value": "14" + }, + "src": "998:49:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12944, + "nodeType": "ExpressionStatement", + "src": "998:49:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12945, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1057:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12947, + "indexExpression": { + "argumentTypes": null, + "id": 12946, + "name": "CONFIG_VOTING_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "1069:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1057:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3231", + "id": 12948, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1098:7:53", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_1814400_by_1", + "typeString": "int_const 1814400" + }, + "value": "21" + }, + "src": "1057:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12950, + "nodeType": "ExpressionStatement", + "src": "1057:48:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12951, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1115:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12953, + "indexExpression": { + "argumentTypes": null, + "id": 12952, + "name": "CONFIG_INTERIM_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1426, + "src": "1127:27:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1115:40:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "37", + "id": 12954, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1158:6:53", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_604800_by_1", + "typeString": "int_const 604800" + }, + "value": "7" + }, + "src": "1115:49:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12956, + "nodeType": "ExpressionStatement", + "src": "1115:49:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12957, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1174:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12959, + "indexExpression": { + "argumentTypes": null, + "id": 12958, + "name": "CONFIG_INTERIM_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "1186:26:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1174:39:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3134", + "id": 12960, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1216:7:53", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_1209600_by_1", + "typeString": "int_const 1209600" + }, + "value": "14" + }, + "src": "1174:49:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12962, + "nodeType": "ExpressionStatement", + "src": "1174:49:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12963, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1236:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12965, + "indexExpression": { + "argumentTypes": null, + "id": 12964, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1432, + "src": "1248:43:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1236:56:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "35", + "id": 12966, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1295:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "src": "1236:60:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12968, + "nodeType": "ExpressionStatement", + "src": "1236:60:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12969, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1312:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12971, + "indexExpression": { + "argumentTypes": null, + "id": 12970, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1435, + "src": "1324:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1312:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 12972, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1373:3:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "1312:64:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12974, + "nodeType": "ExpressionStatement", + "src": "1312:64:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12975, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1392:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12977, + "indexExpression": { + "argumentTypes": null, + "id": 12976, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1438, + "src": "1404:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1392:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3335", + "id": 12978, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1452:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_35_by_1", + "typeString": "int_const 35" + }, + "value": "35" + }, + "src": "1392:62:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12980, + "nodeType": "ExpressionStatement", + "src": "1392:62:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12981, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1471:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12983, + "indexExpression": { + "argumentTypes": null, + "id": 12982, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1441, + "src": "1483:46:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1471:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 12984, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1533:3:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "1471:65:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12986, + "nodeType": "ExpressionStatement", + "src": "1471:65:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12987, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1555:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12989, + "indexExpression": { + "argumentTypes": null, + "id": 12988, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1444, + "src": "1567:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1555:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "35", + "id": 12990, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1615:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "src": "1555:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12992, + "nodeType": "ExpressionStatement", + "src": "1555:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12993, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1632:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12995, + "indexExpression": { + "argumentTypes": null, + "id": 12994, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1447, + "src": "1644:46:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1632:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 12996, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1694:3:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "1632:65:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12998, + "nodeType": "ExpressionStatement", + "src": "1632:65:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12999, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1713:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13001, + "indexExpression": { + "argumentTypes": null, + "id": 13000, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1450, + "src": "1725:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1713:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3235", + "id": 13002, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1774:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_25_by_1", + "typeString": "int_const 25" + }, + "value": "25" + }, + "src": "1713:63:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13004, + "nodeType": "ExpressionStatement", + "src": "1713:63:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13005, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1793:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13007, + "indexExpression": { + "argumentTypes": null, + "id": 13006, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1453, + "src": "1805:47:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1793:60:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 13008, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1856:3:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "1793:66:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13010, + "nodeType": "ExpressionStatement", + "src": "1793:66:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13011, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1877:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13013, + "indexExpression": { + "argumentTypes": null, + "id": 13012, + "name": "CONFIG_DRAFT_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1462, + "src": "1889:28:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1877:41:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 13014, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1921:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1877:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13016, + "nodeType": "ExpressionStatement", + "src": "1877:45:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13017, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1940:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13019, + "indexExpression": { + "argumentTypes": null, + "id": 13018, + "name": "CONFIG_DRAFT_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1465, + "src": "1952:30:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1940:43:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "32", + "id": 13020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1986:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1940:47:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13022, + "nodeType": "ExpressionStatement", + "src": "1940:47:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13023, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2005:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13025, + "indexExpression": { + "argumentTypes": null, + "id": 13024, + "name": "CONFIG_VOTING_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1468, + "src": "2017:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2005:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 13026, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2050:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2005:46:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13028, + "nodeType": "ExpressionStatement", + "src": "2005:46:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13029, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2069:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13031, + "indexExpression": { + "argumentTypes": null, + "id": 13030, + "name": "CONFIG_VOTING_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1471, + "src": "2081:31:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2069:44:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "32", + "id": 13032, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2116:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "2069:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13034, + "nodeType": "ExpressionStatement", + "src": "2069:48:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13035, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2137:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13037, + "indexExpression": { + "argumentTypes": null, + "id": 13036, + "name": "CONFIG_QUARTER_POINT_DRAFT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "2149:31:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2137:44:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 13038, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "2184:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2137:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13040, + "nodeType": "ExpressionStatement", + "src": "2137:58:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13041, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2205:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13043, + "indexExpression": { + "argumentTypes": null, + "id": 13042, + "name": "CONFIG_QUARTER_POINT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1495, + "src": "2217:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2205:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 13044, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "2246:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2205:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13046, + "nodeType": "ExpressionStatement", + "src": "2205:52:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13047, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2267:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13049, + "indexExpression": { + "argumentTypes": null, + "id": 13048, + "name": "CONFIG_QUARTER_POINT_INTERIM_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1498, + "src": "2279:33:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2267:46:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 13050, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "2316:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2267:60:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13052, + "nodeType": "ExpressionStatement", + "src": "2267:60:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13053, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2338:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13055, + "indexExpression": { + "argumentTypes": null, + "id": 13054, + "name": "CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1501, + "src": "2350:54:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2338:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3230303030", + "id": 13056, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2408:5:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_20000_by_1", + "typeString": "int_const 20000" + }, + "value": "20000" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13057, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "2416:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2408:19:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2338:89:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13060, + "nodeType": "ExpressionStatement", + "src": "2338:89:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13061, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2438:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13063, + "indexExpression": { + "argumentTypes": null, + "id": 13062, + "name": "CONFIG_BONUS_REPUTATION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1504, + "src": "2450:33:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2438:46:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3135", + "id": 13064, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2487:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + }, + "value": "15" + }, + "src": "2438:51:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13066, + "nodeType": "ExpressionStatement", + "src": "2438:51:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13067, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2533:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13069, + "indexExpression": { + "argumentTypes": null, + "id": 13068, + "name": "CONFIG_BONUS_REPUTATION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1507, + "src": "2545:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2533:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 13070, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2584:3:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "2533:54:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13072, + "nodeType": "ExpressionStatement", + "src": "2533:54:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13073, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2632:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13075, + "indexExpression": { + "argumentTypes": null, + "id": 13074, + "name": "CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1510, + "src": "2644:36:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2632:49:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3238", + "id": 13076, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2684:7:53", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_2419200_by_1", + "typeString": "int_const 2419200" + }, + "value": "28" + }, + "src": "2632:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13078, + "nodeType": "ExpressionStatement", + "src": "2632:59:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13079, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2701:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13081, + "indexExpression": { + "argumentTypes": null, + "id": 13080, + "name": "CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "2713:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2701:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3335", + "id": 13082, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2752:7:53", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_3024000_by_1", + "typeString": "int_const 3024000" + }, + "value": "35" + }, + "src": "2701:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13084, + "nodeType": "ExpressionStatement", + "src": "2701:58:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13085, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2772:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13087, + "indexExpression": { + "argumentTypes": null, + "id": 13086, + "name": "CONFIG_SPECIAL_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1516, + "src": "2784:30:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2772:43:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 13088, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2818:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2772:47:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13090, + "nodeType": "ExpressionStatement", + "src": "2772:47:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13091, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2837:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13093, + "indexExpression": { + "argumentTypes": null, + "id": 13092, + "name": "CONFIG_SPECIAL_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "2849:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2837:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "32", + "id": 13094, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2885:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "2837:49:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13096, + "nodeType": "ExpressionStatement", + "src": "2837:49:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13097, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2905:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13099, + "indexExpression": { + "argumentTypes": null, + "id": 13098, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1522, + "src": "2917:40:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2905:53:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3430", + "id": 13100, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2961:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_40_by_1", + "typeString": "int_const 40" + }, + "value": "40" + }, + "src": "2905:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13102, + "nodeType": "ExpressionStatement", + "src": "2905:58:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13103, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2980:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13105, + "indexExpression": { + "argumentTypes": null, + "id": 13104, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1525, + "src": "2992:42:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2980:55:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 13106, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3038:3:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "2980:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13108, + "nodeType": "ExpressionStatement", + "src": "2980:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13109, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3059:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13111, + "indexExpression": { + "argumentTypes": null, + "id": 13110, + "name": "CONFIG_MAXIMUM_REPUTATION_DEDUCTION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1528, + "src": "3071:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3059:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "38333334", + "id": 13112, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3110:4:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_8334_by_1", + "typeString": "int_const 8334" + }, + "value": "8334" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13113, + "name": "ONE_MILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12915, + "src": "3117:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3110:18:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3059:69:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13116, + "nodeType": "ExpressionStatement", + "src": "3059:69:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13117, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3139:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13119, + "indexExpression": { + "argumentTypes": null, + "id": 13118, + "name": "CONFIG_PUNISHMENT_FOR_NOT_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1531, + "src": "3151:33:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3139:46:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "31363636", + "id": 13120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3188:4:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1666_by_1", + "typeString": "int_const 1666" + }, + "value": "1666" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13121, + "name": "ONE_MILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12915, + "src": "3195:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3188:18:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3139:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13124, + "nodeType": "ExpressionStatement", + "src": "3139:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13125, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3216:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13127, + "indexExpression": { + "argumentTypes": null, + "id": 13126, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1534, + "src": "3228:34:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3216:47:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 13128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3266:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3216:51:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13130, + "nodeType": "ExpressionStatement", + "src": "3216:51:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13131, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3304:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13133, + "indexExpression": { + "argumentTypes": null, + "id": 13132, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1537, + "src": "3316:34:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3304:47:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 13134, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3354:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3304:51:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13136, + "nodeType": "ExpressionStatement", + "src": "3304:51:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13137, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3367:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13139, + "indexExpression": { + "argumentTypes": null, + "id": 13138, + "name": "CONFIG_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1474, + "src": "3379:28:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3367:41:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 13140, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3411:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13141, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "3415:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3411:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3367:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13144, + "nodeType": "ExpressionStatement", + "src": "3367:59:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13145, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3436:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13147, + "indexExpression": { + "argumentTypes": null, + "id": 13146, + "name": "CONFIG_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1477, + "src": "3448:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3436:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "343030", + "id": 13148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3487:3:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_400_by_1", + "typeString": "int_const 400" + }, + "value": "400" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13149, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "3493:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3487:17:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3436:68:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13152, + "nodeType": "ExpressionStatement", + "src": "3436:68:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13153, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3514:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13155, + "indexExpression": { + "argumentTypes": null, + "id": 13154, + "name": "CONFIG_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1480, + "src": "3526:38:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3514:51:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32303030", + "id": 13156, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3568:4:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2000_by_1", + "typeString": "int_const 2000" + }, + "value": "2000" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13157, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "3575:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3568:18:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3514:72:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13160, + "nodeType": "ExpressionStatement", + "src": "3514:72:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13161, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3597:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13163, + "indexExpression": { + "argumentTypes": null, + "id": 13162, + "name": "CONFIG_MODERATOR_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1483, + "src": "3609:38:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3597:51:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "34", + "id": 13164, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3651:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13165, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "3655:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3651:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3597:69:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13168, + "nodeType": "ExpressionStatement", + "src": "3597:69:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13169, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3676:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13171, + "indexExpression": { + "argumentTypes": null, + "id": 13170, + "name": "CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1486, + "src": "3688:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3676:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "343030", + "id": 13172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3737:3:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_400_by_1", + "typeString": "int_const 400" + }, + "value": "400" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13173, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "3743:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3737:17:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3676:78:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13176, + "nodeType": "ExpressionStatement", + "src": "3676:78:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13177, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3764:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13179, + "indexExpression": { + "argumentTypes": null, + "id": 13178, + "name": "CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1489, + "src": "3776:48:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3764:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32303030", + "id": 13180, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3828:4:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2000_by_1", + "typeString": "int_const 2000" + }, + "value": "2000" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13181, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "3835:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3828:18:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3764:82:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13184, + "nodeType": "ExpressionStatement", + "src": "3764:82:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13185, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3857:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13187, + "indexExpression": { + "argumentTypes": null, + "id": 13186, + "name": "CONFIG_PORTION_TO_MODERATORS_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1549, + "src": "3869:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3857:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3432", + "id": 13188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3905:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_42_by_1", + "typeString": "int_const 42" + }, + "value": "42" + }, + "src": "3857:50:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13190, + "nodeType": "ExpressionStatement", + "src": "3857:50:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13191, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3960:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13193, + "indexExpression": { + "argumentTypes": null, + "id": 13192, + "name": "CONFIG_PORTION_TO_MODERATORS_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1552, + "src": "3972:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3960:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31303030", + "id": 13194, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4008:4:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + }, + "src": "3960:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13196, + "nodeType": "ExpressionStatement", + "src": "3960:52:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13197, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4023:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13199, + "indexExpression": { + "argumentTypes": null, + "id": 13198, + "name": "CONFIG_DRAFT_VOTING_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1555, + "src": "4035:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4023:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130", + "id": 13200, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4064:7:53", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_864000_by_1", + "typeString": "int_const 864000" + }, + "value": "10" + }, + "src": "4023:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13202, + "nodeType": "ExpressionStatement", + "src": "4023:48:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13203, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4082:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13205, + "indexExpression": { + "argumentTypes": null, + "id": 13204, + "name": "CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1558, + "src": "4094:39:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4082:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "343132353030", + "id": 13206, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4137:6:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_412500_by_1", + "typeString": "int_const 412500" + }, + "value": "412500" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13207, + "name": "ONE_MILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12915, + "src": "4146:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4137:20:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4082:75:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13210, + "nodeType": "ExpressionStatement", + "src": "4082:75:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13211, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4168:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13213, + "indexExpression": { + "argumentTypes": null, + "id": 13212, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1456, + "src": "4180:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4168:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "37", + "id": 13214, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4228:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4168:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13216, + "nodeType": "ExpressionStatement", + "src": "4168:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13217, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4245:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13219, + "indexExpression": { + "argumentTypes": null, + "id": 13218, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1459, + "src": "4257:46:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4245:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 13220, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4307:3:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "4245:65:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13222, + "nodeType": "ExpressionStatement", + "src": "4245:65:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13223, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4327:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13225, + "indexExpression": { + "argumentTypes": null, + "id": 13224, + "name": "CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1540, + "src": "4339:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4327:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3132353030", + "id": 13226, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4388:5:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_12500_by_1", + "typeString": "int_const 12500" + }, + "value": "12500" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13227, + "name": "ONE_MILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12915, + "src": "4396:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4388:19:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4327:80:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13230, + "nodeType": "ExpressionStatement", + "src": "4327:80:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13231, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4417:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13233, + "indexExpression": { + "argumentTypes": null, + "id": 13232, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1543, + "src": "4429:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4417:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 13234, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4477:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4417:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13236, + "nodeType": "ExpressionStatement", + "src": "4417:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13237, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4488:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13239, + "indexExpression": { + "argumentTypes": null, + "id": 13238, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1546, + "src": "4500:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4488:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 13240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4548:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4488:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13242, + "nodeType": "ExpressionStatement", + "src": "4488:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13243, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4560:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13245, + "indexExpression": { + "argumentTypes": null, + "id": 13244, + "name": "CONFIG_VOTE_CLAIMING_DEADLINE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "4572:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4560:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130", + "id": 13246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4605:7:53", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_864000_by_1", + "typeString": "int_const 864000" + }, + "value": "10" + }, + "src": "4560:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13248, + "nodeType": "ExpressionStatement", + "src": "4560:52:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13249, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4623:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13251, + "indexExpression": { + "argumentTypes": null, + "id": 13250, + "name": "CONFIG_MINIMUM_LOCKED_DGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "4635:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4623:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 13252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4664:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13253, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "4669:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4664:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4623:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13256, + "nodeType": "ExpressionStatement", + "src": "4623:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13257, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4690:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13259, + "indexExpression": { + "argumentTypes": null, + "id": 13258, + "name": "CONFIG_MINIMUM_DGD_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1408, + "src": "4702:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4690:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "383432", + "id": 13260, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4738:3:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_842_by_1", + "typeString": "int_const 842" + }, + "value": "842" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13261, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "4744:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4738:17:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4690:65:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13264, + "nodeType": "ExpressionStatement", + "src": "4690:65:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13265, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4765:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13267, + "indexExpression": { + "argumentTypes": null, + "id": 13266, + "name": "CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1411, + "src": "4777:39:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4765:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "343030", + "id": 13268, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4820:3:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_400_by_1", + "typeString": "int_const 400" + }, + "value": "400" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13269, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "4826:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4820:17:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4765:72:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13272, + "nodeType": "ExpressionStatement", + "src": "4765:72:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13273, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4848:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13275, + "indexExpression": { + "argumentTypes": null, + "id": 13274, + "name": "CONFIG_PREPROPOSAL_COLLATERAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1564, + "src": "4860:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4848:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "32", + "id": 13276, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4893:7:53", + "subdenomination": "ether", + "typeDescriptions": { + "typeIdentifier": "t_rational_2000000000000000000_by_1", + "typeString": "int_const 2000000000000000000" + }, + "value": "2" + }, + "src": "4848:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13278, + "nodeType": "ExpressionStatement", + "src": "4848:52:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13279, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4911:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13281, + "indexExpression": { + "argumentTypes": null, + "id": 13280, + "name": "CONFIG_MAX_FUNDING_FOR_NON_DIGIX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1567, + "src": "4923:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4911:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 13282, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4959:9:53", + "subdenomination": "ether", + "typeDescriptions": { + "typeIdentifier": "t_rational_100000000000000000000_by_1", + "typeString": "int_const 100000000000000000000" + }, + "value": "100" + }, + "src": "4911:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13284, + "nodeType": "ExpressionStatement", + "src": "4911:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13285, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4978:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13287, + "indexExpression": { + "argumentTypes": null, + "id": 13286, + "name": "CONFIG_MAX_MILESTONES_FOR_NON_DIGIX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1570, + "src": "4990:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4978:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "35", + "id": 13288, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5029:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "src": "4978:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13290, + "nodeType": "ExpressionStatement", + "src": "4978:52:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13291, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "5040:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13293, + "indexExpression": { + "argumentTypes": null, + "id": 13292, + "name": "CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1573, + "src": "5052:41:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5040:54:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3830", + "id": 13294, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5097:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_80_by_1", + "typeString": "int_const 80" + }, + "value": "80" + }, + "src": "5040:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13296, + "nodeType": "ExpressionStatement", + "src": "5040:59:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13297, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "5110:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13299, + "indexExpression": { + "argumentTypes": null, + "id": 13298, + "name": "CONFIG_PROPOSAL_DEAD_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1576, + "src": "5122:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5110:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3930", + "id": 13300, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5155:7:53", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_7776000_by_1", + "typeString": "int_const 7776000" + }, + "value": "90" + }, + "src": "5110:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13302, + "nodeType": "ExpressionStatement", + "src": "5110:52:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13303, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "5172:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13305, + "indexExpression": { + "argumentTypes": null, + "id": 13304, + "name": "CONFIG_CARBON_VOTE_REPUTATION_BONUS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1579, + "src": "5184:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5172:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 13306, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5223:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13307, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "5228:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5223:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5172:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13310, + "nodeType": "ExpressionStatement", + "src": "5172:67:53" + } + ] + }, + "documentation": null, + "id": 13312, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12918, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12917, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 13312, + "src": "759:17:53", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12916, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "759:7:53", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "758:19:53" + }, + "payable": false, + "returnParameters": { + "id": 12919, + "nodeType": "ParameterList", + "parameters": [], + "src": "797:0:53" + }, + "scope": 14281, + "src": "747:4499:53", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 13788, + "nodeType": "Block", + "src": "5324:4788:53", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 13320, + "name": "CONTRACT_DAO_SPECIAL_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1312, + "src": "5352:34:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 13319, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "5342:9:53", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 13321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5342:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 13318, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5334:7:53", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 13322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5334:54:53", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13323, + "nodeType": "ExpressionStatement", + "src": "5334:54:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13324, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "5398:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13326, + "indexExpression": { + "argumentTypes": null, + "id": 13325, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "5410:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5398:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13327, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "5443:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13329, + "indexExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 13328, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5456:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5443:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5398:60:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13331, + "nodeType": "ExpressionStatement", + "src": "5398:60:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13332, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "5676:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13334, + "indexExpression": { + "argumentTypes": null, + "id": 13333, + "name": "CONFIG_VOTING_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1420, + "src": "5688:26:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5676:39:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13335, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "5718:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13337, + "indexExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 13336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5731:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5718:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5676:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13339, + "nodeType": "ExpressionStatement", + "src": "5676:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13340, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "5743:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13342, + "indexExpression": { + "argumentTypes": null, + "id": 13341, + "name": "CONFIG_VOTING_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "5755:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5743:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13343, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "5784:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13345, + "indexExpression": { + "argumentTypes": null, + "hexValue": "33", + "id": 13344, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5797:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5784:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5743:56:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13347, + "nodeType": "ExpressionStatement", + "src": "5743:56:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13348, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "5809:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13350, + "indexExpression": { + "argumentTypes": null, + "id": 13349, + "name": "CONFIG_INTERIM_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1426, + "src": "5821:27:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5809:40:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13351, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "5852:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13353, + "indexExpression": { + "argumentTypes": null, + "hexValue": "34", + "id": 13352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5865:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5852:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5809:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13355, + "nodeType": "ExpressionStatement", + "src": "5809:58:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13356, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "5877:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13358, + "indexExpression": { + "argumentTypes": null, + "id": 13357, + "name": "CONFIG_INTERIM_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "5889:26:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5877:39:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13359, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "5919:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13361, + "indexExpression": { + "argumentTypes": null, + "hexValue": "35", + "id": 13360, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5932:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5919:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5877:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13363, + "nodeType": "ExpressionStatement", + "src": "5877:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13364, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "5944:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13366, + "indexExpression": { + "argumentTypes": null, + "id": 13365, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1432, + "src": "5956:43:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5944:56:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13367, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6003:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13369, + "indexExpression": { + "argumentTypes": null, + "hexValue": "36", + "id": 13368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6016:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_6_by_1", + "typeString": "int_const 6" + }, + "value": "6" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6003:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5944:74:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13371, + "nodeType": "ExpressionStatement", + "src": "5944:74:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13372, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6028:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13374, + "indexExpression": { + "argumentTypes": null, + "id": 13373, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1435, + "src": "6040:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6028:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13375, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6089:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13377, + "indexExpression": { + "argumentTypes": null, + "hexValue": "37", + "id": 13376, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6102:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6089:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6028:76:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13379, + "nodeType": "ExpressionStatement", + "src": "6028:76:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13380, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6114:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13382, + "indexExpression": { + "argumentTypes": null, + "id": 13381, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1438, + "src": "6126:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6114:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13383, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6174:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13385, + "indexExpression": { + "argumentTypes": null, + "hexValue": "38", + "id": 13384, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6187:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6174:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6114:75:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13387, + "nodeType": "ExpressionStatement", + "src": "6114:75:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13388, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6199:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13390, + "indexExpression": { + "argumentTypes": null, + "id": 13389, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1441, + "src": "6211:46:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6199:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13391, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6261:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13393, + "indexExpression": { + "argumentTypes": null, + "hexValue": "39", + "id": 13392, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6274:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "9" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6261:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6199:77:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13395, + "nodeType": "ExpressionStatement", + "src": "6199:77:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13396, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6286:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13398, + "indexExpression": { + "argumentTypes": null, + "id": 13397, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1444, + "src": "6298:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6286:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13399, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6346:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13401, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 13400, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6359:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6346:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6286:76:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13403, + "nodeType": "ExpressionStatement", + "src": "6286:76:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13404, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6372:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13406, + "indexExpression": { + "argumentTypes": null, + "id": 13405, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1447, + "src": "6384:46:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6372:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13407, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6434:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13409, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3131", + "id": 13408, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6447:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_11_by_1", + "typeString": "int_const 11" + }, + "value": "11" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6434:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6372:78:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13411, + "nodeType": "ExpressionStatement", + "src": "6372:78:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13412, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6460:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13414, + "indexExpression": { + "argumentTypes": null, + "id": 13413, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1450, + "src": "6472:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6460:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13415, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6521:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13417, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3132", + "id": 13416, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6534:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_12_by_1", + "typeString": "int_const 12" + }, + "value": "12" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6521:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6460:77:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13419, + "nodeType": "ExpressionStatement", + "src": "6460:77:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13420, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6547:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13422, + "indexExpression": { + "argumentTypes": null, + "id": 13421, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1453, + "src": "6559:47:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6547:60:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13423, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6610:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13425, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3133", + "id": 13424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6623:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_13_by_1", + "typeString": "int_const 13" + }, + "value": "13" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6610:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6547:79:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13427, + "nodeType": "ExpressionStatement", + "src": "6547:79:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13428, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6636:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13430, + "indexExpression": { + "argumentTypes": null, + "id": 13429, + "name": "CONFIG_DRAFT_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1462, + "src": "6648:28:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6636:41:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13431, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6680:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13433, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3134", + "id": 13432, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6693:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_14_by_1", + "typeString": "int_const 14" + }, + "value": "14" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6680:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6636:60:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13435, + "nodeType": "ExpressionStatement", + "src": "6636:60:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13436, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6706:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13438, + "indexExpression": { + "argumentTypes": null, + "id": 13437, + "name": "CONFIG_DRAFT_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1465, + "src": "6718:30:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6706:43:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13439, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6752:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13441, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3135", + "id": 13440, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6765:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + }, + "value": "15" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6752:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6706:62:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13443, + "nodeType": "ExpressionStatement", + "src": "6706:62:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13444, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6778:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13446, + "indexExpression": { + "argumentTypes": null, + "id": 13445, + "name": "CONFIG_VOTING_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1468, + "src": "6790:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6778:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13447, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6823:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13449, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3136", + "id": 13448, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6836:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6823:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6778:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13451, + "nodeType": "ExpressionStatement", + "src": "6778:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13452, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6849:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13454, + "indexExpression": { + "argumentTypes": null, + "id": 13453, + "name": "CONFIG_VOTING_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1471, + "src": "6861:31:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6849:44:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13455, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6896:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13457, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3137", + "id": 13456, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6909:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_17_by_1", + "typeString": "int_const 17" + }, + "value": "17" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6896:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6849:63:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13459, + "nodeType": "ExpressionStatement", + "src": "6849:63:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13460, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6922:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13462, + "indexExpression": { + "argumentTypes": null, + "id": 13461, + "name": "CONFIG_QUARTER_POINT_DRAFT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "6934:31:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6922:44:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13463, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6969:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13465, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3138", + "id": 13464, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6982:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6969:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6922:63:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13467, + "nodeType": "ExpressionStatement", + "src": "6922:63:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13468, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6995:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13470, + "indexExpression": { + "argumentTypes": null, + "id": 13469, + "name": "CONFIG_QUARTER_POINT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1495, + "src": "7007:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6995:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13471, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7036:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13473, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3139", + "id": 13472, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7049:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_19_by_1", + "typeString": "int_const 19" + }, + "value": "19" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7036:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6995:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13475, + "nodeType": "ExpressionStatement", + "src": "6995:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13476, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7062:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13478, + "indexExpression": { + "argumentTypes": null, + "id": 13477, + "name": "CONFIG_QUARTER_POINT_INTERIM_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1498, + "src": "7074:33:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7062:46:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13479, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7111:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13481, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3230", + "id": 13480, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7124:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7111:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7062:65:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13483, + "nodeType": "ExpressionStatement", + "src": "7062:65:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13484, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7137:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13486, + "indexExpression": { + "argumentTypes": null, + "id": 13485, + "name": "CONFIG_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1474, + "src": "7149:28:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7137:41:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13487, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7181:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13489, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3231", + "id": 13488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7194:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_21_by_1", + "typeString": "int_const 21" + }, + "value": "21" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7181:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7137:60:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13491, + "nodeType": "ExpressionStatement", + "src": "7137:60:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13492, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7207:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13494, + "indexExpression": { + "argumentTypes": null, + "id": 13493, + "name": "CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1501, + "src": "7219:54:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7207:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13495, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7277:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13497, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3232", + "id": 13496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7290:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_22_by_1", + "typeString": "int_const 22" + }, + "value": "22" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7277:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7207:86:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13499, + "nodeType": "ExpressionStatement", + "src": "7207:86:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13500, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7303:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13502, + "indexExpression": { + "argumentTypes": null, + "id": 13501, + "name": "CONFIG_BONUS_REPUTATION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1504, + "src": "7315:33:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7303:46:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13503, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7352:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13505, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3233", + "id": 13504, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7365:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_23_by_1", + "typeString": "int_const 23" + }, + "value": "23" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7352:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7303:65:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13507, + "nodeType": "ExpressionStatement", + "src": "7303:65:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13508, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7378:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13510, + "indexExpression": { + "argumentTypes": null, + "id": 13509, + "name": "CONFIG_BONUS_REPUTATION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1507, + "src": "7390:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7378:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13511, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7429:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13513, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3234", + "id": 13512, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7442:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_24_by_1", + "typeString": "int_const 24" + }, + "value": "24" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7429:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7378:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13515, + "nodeType": "ExpressionStatement", + "src": "7378:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13516, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7455:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13518, + "indexExpression": { + "argumentTypes": null, + "id": 13517, + "name": "CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1510, + "src": "7467:36:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7455:49:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13519, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7507:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13521, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3235", + "id": 13520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7520:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_25_by_1", + "typeString": "int_const 25" + }, + "value": "25" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7507:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7455:68:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13523, + "nodeType": "ExpressionStatement", + "src": "7455:68:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13524, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7533:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13526, + "indexExpression": { + "argumentTypes": null, + "id": 13525, + "name": "CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "7545:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7533:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13527, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7584:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13529, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3236", + "id": 13528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7597:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_26_by_1", + "typeString": "int_const 26" + }, + "value": "26" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7584:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7533:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13531, + "nodeType": "ExpressionStatement", + "src": "7533:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13532, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7610:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13534, + "indexExpression": { + "argumentTypes": null, + "id": 13533, + "name": "CONFIG_SPECIAL_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1516, + "src": "7622:30:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7610:43:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13535, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7656:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13537, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3237", + "id": 13536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7669:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_27_by_1", + "typeString": "int_const 27" + }, + "value": "27" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7656:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7610:62:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13539, + "nodeType": "ExpressionStatement", + "src": "7610:62:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13540, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7682:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13542, + "indexExpression": { + "argumentTypes": null, + "id": 13541, + "name": "CONFIG_SPECIAL_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "7694:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7682:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13543, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7730:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13545, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3238", + "id": 13544, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7743:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_28_by_1", + "typeString": "int_const 28" + }, + "value": "28" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7730:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7682:64:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13547, + "nodeType": "ExpressionStatement", + "src": "7682:64:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13548, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7756:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13550, + "indexExpression": { + "argumentTypes": null, + "id": 13549, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1522, + "src": "7768:40:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7756:53:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13551, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7812:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13553, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3239", + "id": 13552, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7825:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_29_by_1", + "typeString": "int_const 29" + }, + "value": "29" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7812:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7756:72:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13555, + "nodeType": "ExpressionStatement", + "src": "7756:72:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13556, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7838:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13558, + "indexExpression": { + "argumentTypes": null, + "id": 13557, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1525, + "src": "7850:42:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7838:55:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13559, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7896:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13561, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3330", + "id": 13560, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7909:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7896:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7838:74:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13563, + "nodeType": "ExpressionStatement", + "src": "7838:74:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13564, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7922:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13566, + "indexExpression": { + "argumentTypes": null, + "id": 13565, + "name": "CONFIG_MAXIMUM_REPUTATION_DEDUCTION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1528, + "src": "7934:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7922:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13567, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7973:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13569, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3331", + "id": 13568, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7986:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_31_by_1", + "typeString": "int_const 31" + }, + "value": "31" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7973:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7922:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13571, + "nodeType": "ExpressionStatement", + "src": "7922:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13572, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7999:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13574, + "indexExpression": { + "argumentTypes": null, + "id": 13573, + "name": "CONFIG_PUNISHMENT_FOR_NOT_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1531, + "src": "8011:33:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7999:46:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13575, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8048:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13577, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3332", + "id": 13576, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8061:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8048:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7999:65:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13579, + "nodeType": "ExpressionStatement", + "src": "7999:65:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13580, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8074:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13582, + "indexExpression": { + "argumentTypes": null, + "id": 13581, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1534, + "src": "8086:34:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8074:47:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13583, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8124:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13585, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3333", + "id": 13584, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8137:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_33_by_1", + "typeString": "int_const 33" + }, + "value": "33" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8124:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8074:66:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13587, + "nodeType": "ExpressionStatement", + "src": "8074:66:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13588, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8150:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13590, + "indexExpression": { + "argumentTypes": null, + "id": 13589, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1537, + "src": "8162:34:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8150:47:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13591, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8200:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13593, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3334", + "id": 13592, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8213:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_34_by_1", + "typeString": "int_const 34" + }, + "value": "34" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8200:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8150:66:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13595, + "nodeType": "ExpressionStatement", + "src": "8150:66:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13596, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8226:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13598, + "indexExpression": { + "argumentTypes": null, + "id": 13597, + "name": "CONFIG_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1477, + "src": "8238:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8226:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13599, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8277:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13601, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3335", + "id": 13600, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8290:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_35_by_1", + "typeString": "int_const 35" + }, + "value": "35" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8277:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8226:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13603, + "nodeType": "ExpressionStatement", + "src": "8226:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13604, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8303:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13606, + "indexExpression": { + "argumentTypes": null, + "id": 13605, + "name": "CONFIG_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1480, + "src": "8315:38:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8303:51:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13607, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8357:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13609, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3336", + "id": 13608, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8370:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_36_by_1", + "typeString": "int_const 36" + }, + "value": "36" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8357:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8303:70:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13611, + "nodeType": "ExpressionStatement", + "src": "8303:70:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13612, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8383:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13614, + "indexExpression": { + "argumentTypes": null, + "id": 13613, + "name": "CONFIG_MODERATOR_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1483, + "src": "8395:38:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8383:51:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13615, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8437:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13617, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3337", + "id": 13616, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8450:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_37_by_1", + "typeString": "int_const 37" + }, + "value": "37" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8437:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8383:70:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13619, + "nodeType": "ExpressionStatement", + "src": "8383:70:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13620, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8463:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13622, + "indexExpression": { + "argumentTypes": null, + "id": 13621, + "name": "CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1486, + "src": "8475:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8463:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13623, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8524:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13625, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3338", + "id": 13624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8537:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_38_by_1", + "typeString": "int_const 38" + }, + "value": "38" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8524:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8463:77:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13627, + "nodeType": "ExpressionStatement", + "src": "8463:77:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13628, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8550:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13630, + "indexExpression": { + "argumentTypes": null, + "id": 13629, + "name": "CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1489, + "src": "8562:48:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8550:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13631, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8614:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13633, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3339", + "id": 13632, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8627:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_39_by_1", + "typeString": "int_const 39" + }, + "value": "39" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8614:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8550:80:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13635, + "nodeType": "ExpressionStatement", + "src": "8550:80:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13636, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8640:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13638, + "indexExpression": { + "argumentTypes": null, + "id": 13637, + "name": "CONFIG_PORTION_TO_MODERATORS_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1549, + "src": "8652:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8640:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13639, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8688:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13641, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3430", + "id": 13640, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8701:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_40_by_1", + "typeString": "int_const 40" + }, + "value": "40" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8688:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8640:64:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13643, + "nodeType": "ExpressionStatement", + "src": "8640:64:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13644, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8714:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13646, + "indexExpression": { + "argumentTypes": null, + "id": 13645, + "name": "CONFIG_PORTION_TO_MODERATORS_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1552, + "src": "8726:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8714:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13647, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8762:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13649, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3431", + "id": 13648, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8775:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_41_by_1", + "typeString": "int_const 41" + }, + "value": "41" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8762:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8714:64:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13651, + "nodeType": "ExpressionStatement", + "src": "8714:64:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13652, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8788:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13654, + "indexExpression": { + "argumentTypes": null, + "id": 13653, + "name": "CONFIG_DRAFT_VOTING_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1555, + "src": "8800:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8788:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13655, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8829:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13657, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3432", + "id": 13656, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8842:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_42_by_1", + "typeString": "int_const 42" + }, + "value": "42" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8829:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8788:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13659, + "nodeType": "ExpressionStatement", + "src": "8788:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13660, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8855:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13662, + "indexExpression": { + "argumentTypes": null, + "id": 13661, + "name": "CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1558, + "src": "8867:39:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8855:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13663, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8910:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13665, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3433", + "id": 13664, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8923:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_43_by_1", + "typeString": "int_const 43" + }, + "value": "43" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8910:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8855:71:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13667, + "nodeType": "ExpressionStatement", + "src": "8855:71:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13668, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8936:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13670, + "indexExpression": { + "argumentTypes": null, + "id": 13669, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1456, + "src": "8948:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8936:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13671, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8996:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13673, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3434", + "id": 13672, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9009:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_44_by_1", + "typeString": "int_const 44" + }, + "value": "44" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8996:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8936:76:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13675, + "nodeType": "ExpressionStatement", + "src": "8936:76:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13676, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9022:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13678, + "indexExpression": { + "argumentTypes": null, + "id": 13677, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1459, + "src": "9034:46:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9022:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13679, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9084:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13681, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3435", + "id": 13680, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9097:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_45_by_1", + "typeString": "int_const 45" + }, + "value": "45" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9084:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9022:78:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13683, + "nodeType": "ExpressionStatement", + "src": "9022:78:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13684, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9110:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13686, + "indexExpression": { + "argumentTypes": null, + "id": 13685, + "name": "CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1540, + "src": "9122:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9110:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13687, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9171:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13689, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3436", + "id": 13688, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9184:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_46_by_1", + "typeString": "int_const 46" + }, + "value": "46" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9171:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9110:77:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13691, + "nodeType": "ExpressionStatement", + "src": "9110:77:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13692, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9197:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13694, + "indexExpression": { + "argumentTypes": null, + "id": 13693, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1543, + "src": "9209:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9197:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13695, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9257:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13697, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3437", + "id": 13696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9270:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_47_by_1", + "typeString": "int_const 47" + }, + "value": "47" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9257:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9197:76:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13699, + "nodeType": "ExpressionStatement", + "src": "9197:76:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13700, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9283:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13702, + "indexExpression": { + "argumentTypes": null, + "id": 13701, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1546, + "src": "9295:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9283:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13703, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9343:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13705, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3438", + "id": 13704, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9356:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "48" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9343:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9283:76:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13707, + "nodeType": "ExpressionStatement", + "src": "9283:76:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13708, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9369:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13710, + "indexExpression": { + "argumentTypes": null, + "id": 13709, + "name": "CONFIG_VOTE_CLAIMING_DEADLINE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "9381:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9369:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13711, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9414:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13713, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3439", + "id": 13712, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9427:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_49_by_1", + "typeString": "int_const 49" + }, + "value": "49" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9414:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9369:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13715, + "nodeType": "ExpressionStatement", + "src": "9369:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13716, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9440:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13718, + "indexExpression": { + "argumentTypes": null, + "id": 13717, + "name": "CONFIG_MINIMUM_LOCKED_DGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "9452:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9440:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13719, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9481:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13721, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3530", + "id": 13720, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9494:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + "value": "50" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9481:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9440:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13723, + "nodeType": "ExpressionStatement", + "src": "9440:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13724, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9507:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13726, + "indexExpression": { + "argumentTypes": null, + "id": 13725, + "name": "CONFIG_MINIMUM_DGD_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1408, + "src": "9519:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9507:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13727, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9555:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13729, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3531", + "id": 13728, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9568:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_51_by_1", + "typeString": "int_const 51" + }, + "value": "51" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9555:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9507:64:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13731, + "nodeType": "ExpressionStatement", + "src": "9507:64:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13732, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9581:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13734, + "indexExpression": { + "argumentTypes": null, + "id": 13733, + "name": "CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1411, + "src": "9593:39:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9581:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13735, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9636:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13737, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3532", + "id": 13736, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9649:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_52_by_1", + "typeString": "int_const 52" + }, + "value": "52" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9636:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9581:71:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13739, + "nodeType": "ExpressionStatement", + "src": "9581:71:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13740, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9662:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13742, + "indexExpression": { + "argumentTypes": null, + "id": 13741, + "name": "CONFIG_PREPROPOSAL_COLLATERAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1564, + "src": "9674:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9662:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13743, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9707:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13745, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3533", + "id": 13744, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9720:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_53_by_1", + "typeString": "int_const 53" + }, + "value": "53" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9707:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9662:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13747, + "nodeType": "ExpressionStatement", + "src": "9662:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13748, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9733:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13750, + "indexExpression": { + "argumentTypes": null, + "id": 13749, + "name": "CONFIG_MAX_FUNDING_FOR_NON_DIGIX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1567, + "src": "9745:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9733:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13751, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9781:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13753, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3534", + "id": 13752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9794:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_54_by_1", + "typeString": "int_const 54" + }, + "value": "54" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9781:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9733:64:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13755, + "nodeType": "ExpressionStatement", + "src": "9733:64:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13756, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9807:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13758, + "indexExpression": { + "argumentTypes": null, + "id": 13757, + "name": "CONFIG_MAX_MILESTONES_FOR_NON_DIGIX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1570, + "src": "9819:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9807:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13759, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9858:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13761, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3535", + "id": 13760, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9871:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_55_by_1", + "typeString": "int_const 55" + }, + "value": "55" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9858:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9807:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13763, + "nodeType": "ExpressionStatement", + "src": "9807:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13764, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9884:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13766, + "indexExpression": { + "argumentTypes": null, + "id": 13765, + "name": "CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1573, + "src": "9896:41:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9884:54:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13767, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9941:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13769, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3536", + "id": 13768, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9954:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_56_by_1", + "typeString": "int_const 56" + }, + "value": "56" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9941:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9884:73:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13771, + "nodeType": "ExpressionStatement", + "src": "9884:73:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13772, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9967:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13774, + "indexExpression": { + "argumentTypes": null, + "id": 13773, + "name": "CONFIG_PROPOSAL_DEAD_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1576, + "src": "9979:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9967:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13775, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "10012:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13777, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3537", + "id": 13776, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10025:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_57_by_1", + "typeString": "int_const 57" + }, + "value": "57" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10012:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9967:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13779, + "nodeType": "ExpressionStatement", + "src": "9967:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13780, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "10038:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13782, + "indexExpression": { + "argumentTypes": null, + "id": 13781, + "name": "CONFIG_CARBON_VOTE_REPUTATION_BONUS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1579, + "src": "10050:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10038:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13783, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "10089:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13785, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3538", + "id": 13784, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10102:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_58_by_1", + "typeString": "int_const 58" + }, + "value": "58" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10089:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10038:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13787, + "nodeType": "ExpressionStatement", + "src": "10038:67:53" + } + ] + }, + "documentation": null, + "id": 13789, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateUintConfigs", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 13316, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13315, + "name": "_uintConfigs", + "nodeType": "VariableDeclaration", + "scope": 13789, + "src": "5279:22:53", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 13313, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5279:7:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13314, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5279:9:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5278:24:53" + }, + "payable": false, + "returnParameters": { + "id": 13317, + "nodeType": "ParameterList", + "parameters": [], + "src": "5324:0:53" + }, + "scope": 14281, + "src": "5252:4860:53", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 14279, + "nodeType": "Block", + "src": "10205:4668:53", + "statements": [ + { + "assignments": [ + 13798 + ], + "declarations": [ + { + "constant": false, + "id": 13798, + "name": "_uintConfigs", + "nodeType": "VariableDeclaration", + "scope": 14280, + "src": "10215:29:53", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 13796, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10215:7:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13797, + "length": null, + "nodeType": "ArrayTypeName", + "src": "10215:9:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 13804, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "3539", + "id": 13802, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10261:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_59_by_1", + "typeString": "int_const 59" + }, + "value": "59" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_59_by_1", + "typeString": "int_const 59" + } + ], + "id": 13801, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "10247:13:53", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 13799, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10251:7:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13800, + "length": null, + "nodeType": "ArrayTypeName", + "src": "10251:9:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 13803, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10247:17:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10215:49:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13805, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "10274:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13807, + "indexExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 13806, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10287:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10274:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13808, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "10292:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13810, + "indexExpression": { + "argumentTypes": null, + "id": 13809, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "10304:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10292:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10274:60:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13812, + "nodeType": "ExpressionStatement", + "src": "10274:60:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13813, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "10344:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13815, + "indexExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 13814, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10357:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10344:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13816, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "10362:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13818, + "indexExpression": { + "argumentTypes": null, + "id": 13817, + "name": "CONFIG_QUARTER_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1417, + "src": "10374:23:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10362:36:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10344:54:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13820, + "nodeType": "ExpressionStatement", + "src": "10344:54:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13821, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "10408:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13823, + "indexExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 13822, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10421:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10408:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13824, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "10426:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13826, + "indexExpression": { + "argumentTypes": null, + "id": 13825, + "name": "CONFIG_VOTING_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1420, + "src": "10438:26:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10426:39:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10408:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13828, + "nodeType": "ExpressionStatement", + "src": "10408:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13829, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "10475:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13831, + "indexExpression": { + "argumentTypes": null, + "hexValue": "33", + "id": 13830, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10488:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10475:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13832, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "10493:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13834, + "indexExpression": { + "argumentTypes": null, + "id": 13833, + "name": "CONFIG_VOTING_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "10505:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10493:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10475:56:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13836, + "nodeType": "ExpressionStatement", + "src": "10475:56:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13837, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "10541:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13839, + "indexExpression": { + "argumentTypes": null, + "hexValue": "34", + "id": 13838, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10554:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10541:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13840, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "10559:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13842, + "indexExpression": { + "argumentTypes": null, + "id": 13841, + "name": "CONFIG_INTERIM_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1426, + "src": "10571:27:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10559:40:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10541:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13844, + "nodeType": "ExpressionStatement", + "src": "10541:58:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13845, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "10609:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13847, + "indexExpression": { + "argumentTypes": null, + "hexValue": "35", + "id": 13846, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10622:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10609:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13848, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "10627:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13850, + "indexExpression": { + "argumentTypes": null, + "id": 13849, + "name": "CONFIG_INTERIM_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "10639:26:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10627:39:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10609:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13852, + "nodeType": "ExpressionStatement", + "src": "10609:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13853, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "10676:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13855, + "indexExpression": { + "argumentTypes": null, + "hexValue": "36", + "id": 13854, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10689:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_6_by_1", + "typeString": "int_const 6" + }, + "value": "6" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10676:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13856, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "10694:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13858, + "indexExpression": { + "argumentTypes": null, + "id": 13857, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1432, + "src": "10706:43:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10694:56:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10676:74:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13860, + "nodeType": "ExpressionStatement", + "src": "10676:74:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13861, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "10760:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13863, + "indexExpression": { + "argumentTypes": null, + "hexValue": "37", + "id": 13862, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10773:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10760:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13864, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "10778:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13866, + "indexExpression": { + "argumentTypes": null, + "id": 13865, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1435, + "src": "10790:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10778:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10760:76:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13868, + "nodeType": "ExpressionStatement", + "src": "10760:76:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13869, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "10846:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13871, + "indexExpression": { + "argumentTypes": null, + "hexValue": "38", + "id": 13870, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10859:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10846:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13872, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "10864:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13874, + "indexExpression": { + "argumentTypes": null, + "id": 13873, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1438, + "src": "10876:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10864:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10846:75:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13876, + "nodeType": "ExpressionStatement", + "src": "10846:75:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13877, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "10931:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13879, + "indexExpression": { + "argumentTypes": null, + "hexValue": "39", + "id": 13878, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10944:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "9" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10931:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13880, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "10949:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13882, + "indexExpression": { + "argumentTypes": null, + "id": 13881, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1441, + "src": "10961:46:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10949:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10931:77:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13884, + "nodeType": "ExpressionStatement", + "src": "10931:77:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13885, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11018:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13887, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 13886, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11031:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11018:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13888, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11037:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13890, + "indexExpression": { + "argumentTypes": null, + "id": 13889, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1444, + "src": "11049:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11037:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11018:76:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13892, + "nodeType": "ExpressionStatement", + "src": "11018:76:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13893, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11104:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13895, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3131", + "id": 13894, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11117:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_11_by_1", + "typeString": "int_const 11" + }, + "value": "11" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11104:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13896, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11123:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13898, + "indexExpression": { + "argumentTypes": null, + "id": 13897, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1447, + "src": "11135:46:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11123:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11104:78:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13900, + "nodeType": "ExpressionStatement", + "src": "11104:78:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13901, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11192:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13903, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3132", + "id": 13902, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11205:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_12_by_1", + "typeString": "int_const 12" + }, + "value": "12" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11192:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13904, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11211:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13906, + "indexExpression": { + "argumentTypes": null, + "id": 13905, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1450, + "src": "11223:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11211:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11192:77:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13908, + "nodeType": "ExpressionStatement", + "src": "11192:77:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13909, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11279:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13911, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3133", + "id": 13910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11292:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_13_by_1", + "typeString": "int_const 13" + }, + "value": "13" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11279:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13912, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11298:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13914, + "indexExpression": { + "argumentTypes": null, + "id": 13913, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1453, + "src": "11310:47:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11298:60:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11279:79:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13916, + "nodeType": "ExpressionStatement", + "src": "11279:79:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13917, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11368:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13919, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3134", + "id": 13918, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11381:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_14_by_1", + "typeString": "int_const 14" + }, + "value": "14" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11368:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13920, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11387:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13922, + "indexExpression": { + "argumentTypes": null, + "id": 13921, + "name": "CONFIG_DRAFT_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1462, + "src": "11399:28:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11387:41:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11368:60:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13924, + "nodeType": "ExpressionStatement", + "src": "11368:60:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13925, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11438:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13927, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3135", + "id": 13926, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11451:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + }, + "value": "15" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11438:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13928, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11457:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13930, + "indexExpression": { + "argumentTypes": null, + "id": 13929, + "name": "CONFIG_DRAFT_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1465, + "src": "11469:30:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11457:43:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11438:62:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13932, + "nodeType": "ExpressionStatement", + "src": "11438:62:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13933, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11510:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13935, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3136", + "id": 13934, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11523:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11510:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13936, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11529:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13938, + "indexExpression": { + "argumentTypes": null, + "id": 13937, + "name": "CONFIG_VOTING_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1468, + "src": "11541:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11529:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11510:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13940, + "nodeType": "ExpressionStatement", + "src": "11510:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13941, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11581:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13943, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3137", + "id": 13942, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11594:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_17_by_1", + "typeString": "int_const 17" + }, + "value": "17" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11581:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13944, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11600:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13946, + "indexExpression": { + "argumentTypes": null, + "id": 13945, + "name": "CONFIG_VOTING_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1471, + "src": "11612:31:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11600:44:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11581:63:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13948, + "nodeType": "ExpressionStatement", + "src": "11581:63:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13949, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11654:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13951, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3138", + "id": 13950, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11667:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11654:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13952, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11673:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13954, + "indexExpression": { + "argumentTypes": null, + "id": 13953, + "name": "CONFIG_QUARTER_POINT_DRAFT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "11685:31:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11673:44:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11654:63:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13956, + "nodeType": "ExpressionStatement", + "src": "11654:63:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13957, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11727:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13959, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3139", + "id": 13958, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11740:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_19_by_1", + "typeString": "int_const 19" + }, + "value": "19" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11727:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13960, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11746:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13962, + "indexExpression": { + "argumentTypes": null, + "id": 13961, + "name": "CONFIG_QUARTER_POINT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1495, + "src": "11758:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11746:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11727:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13964, + "nodeType": "ExpressionStatement", + "src": "11727:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13965, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11794:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13967, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3230", + "id": 13966, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11807:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11794:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13968, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11813:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13970, + "indexExpression": { + "argumentTypes": null, + "id": 13969, + "name": "CONFIG_QUARTER_POINT_INTERIM_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1498, + "src": "11825:33:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11813:46:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11794:65:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13972, + "nodeType": "ExpressionStatement", + "src": "11794:65:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13973, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11869:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13975, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3231", + "id": 13974, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11882:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_21_by_1", + "typeString": "int_const 21" + }, + "value": "21" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11869:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13976, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11888:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13978, + "indexExpression": { + "argumentTypes": null, + "id": 13977, + "name": "CONFIG_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1474, + "src": "11900:28:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11888:41:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11869:60:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13980, + "nodeType": "ExpressionStatement", + "src": "11869:60:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13981, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11939:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13983, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3232", + "id": 13982, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11952:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_22_by_1", + "typeString": "int_const 22" + }, + "value": "22" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11939:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13984, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11958:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13986, + "indexExpression": { + "argumentTypes": null, + "id": 13985, + "name": "CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1501, + "src": "11970:54:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11958:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11939:86:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13988, + "nodeType": "ExpressionStatement", + "src": "11939:86:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13989, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12035:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13991, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3233", + "id": 13990, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12048:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_23_by_1", + "typeString": "int_const 23" + }, + "value": "23" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12035:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13992, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12054:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13994, + "indexExpression": { + "argumentTypes": null, + "id": 13993, + "name": "CONFIG_BONUS_REPUTATION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1504, + "src": "12066:33:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12054:46:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12035:65:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13996, + "nodeType": "ExpressionStatement", + "src": "12035:65:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13997, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12110:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13999, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3234", + "id": 13998, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12123:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_24_by_1", + "typeString": "int_const 24" + }, + "value": "24" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12110:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14000, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12129:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14002, + "indexExpression": { + "argumentTypes": null, + "id": 14001, + "name": "CONFIG_BONUS_REPUTATION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1507, + "src": "12141:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12129:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12110:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14004, + "nodeType": "ExpressionStatement", + "src": "12110:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14005, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12187:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14007, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3235", + "id": 14006, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12200:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_25_by_1", + "typeString": "int_const 25" + }, + "value": "25" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12187:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14008, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12206:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14010, + "indexExpression": { + "argumentTypes": null, + "id": 14009, + "name": "CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1510, + "src": "12218:36:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12206:49:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12187:68:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14012, + "nodeType": "ExpressionStatement", + "src": "12187:68:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14013, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12265:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14015, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3236", + "id": 14014, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12278:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_26_by_1", + "typeString": "int_const 26" + }, + "value": "26" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12265:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14016, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12284:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14018, + "indexExpression": { + "argumentTypes": null, + "id": 14017, + "name": "CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "12296:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12284:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12265:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14020, + "nodeType": "ExpressionStatement", + "src": "12265:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14021, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12342:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14023, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3237", + "id": 14022, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12355:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_27_by_1", + "typeString": "int_const 27" + }, + "value": "27" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12342:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14024, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12361:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14026, + "indexExpression": { + "argumentTypes": null, + "id": 14025, + "name": "CONFIG_SPECIAL_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1516, + "src": "12373:30:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12361:43:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12342:62:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14028, + "nodeType": "ExpressionStatement", + "src": "12342:62:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14029, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12414:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14031, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3238", + "id": 14030, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12427:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_28_by_1", + "typeString": "int_const 28" + }, + "value": "28" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12414:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14032, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12433:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14034, + "indexExpression": { + "argumentTypes": null, + "id": 14033, + "name": "CONFIG_SPECIAL_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "12445:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12433:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12414:64:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14036, + "nodeType": "ExpressionStatement", + "src": "12414:64:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14037, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12488:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14039, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3239", + "id": 14038, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12501:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_29_by_1", + "typeString": "int_const 29" + }, + "value": "29" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12488:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14040, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12507:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14042, + "indexExpression": { + "argumentTypes": null, + "id": 14041, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1522, + "src": "12519:40:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12507:53:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12488:72:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14044, + "nodeType": "ExpressionStatement", + "src": "12488:72:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14045, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12570:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14047, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3330", + "id": 14046, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12583:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12570:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14048, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12589:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14050, + "indexExpression": { + "argumentTypes": null, + "id": 14049, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1525, + "src": "12601:42:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12589:55:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12570:74:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14052, + "nodeType": "ExpressionStatement", + "src": "12570:74:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14053, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12654:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14055, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3331", + "id": 14054, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12667:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_31_by_1", + "typeString": "int_const 31" + }, + "value": "31" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12654:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14056, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12673:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14058, + "indexExpression": { + "argumentTypes": null, + "id": 14057, + "name": "CONFIG_MAXIMUM_REPUTATION_DEDUCTION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1528, + "src": "12685:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12673:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12654:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14060, + "nodeType": "ExpressionStatement", + "src": "12654:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14061, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12731:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14063, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3332", + "id": 14062, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12744:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12731:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14064, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12750:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14066, + "indexExpression": { + "argumentTypes": null, + "id": 14065, + "name": "CONFIG_PUNISHMENT_FOR_NOT_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1531, + "src": "12762:33:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12750:46:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12731:65:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14068, + "nodeType": "ExpressionStatement", + "src": "12731:65:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14069, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12806:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14071, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3333", + "id": 14070, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12819:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_33_by_1", + "typeString": "int_const 33" + }, + "value": "33" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12806:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14072, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12825:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14074, + "indexExpression": { + "argumentTypes": null, + "id": 14073, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1534, + "src": "12837:34:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12825:47:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12806:66:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14076, + "nodeType": "ExpressionStatement", + "src": "12806:66:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14077, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12882:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14079, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3334", + "id": 14078, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12895:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_34_by_1", + "typeString": "int_const 34" + }, + "value": "34" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12882:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14080, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12901:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14082, + "indexExpression": { + "argumentTypes": null, + "id": 14081, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1537, + "src": "12913:34:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12901:47:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12882:66:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14084, + "nodeType": "ExpressionStatement", + "src": "12882:66:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14085, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12958:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14087, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3335", + "id": 14086, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12971:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_35_by_1", + "typeString": "int_const 35" + }, + "value": "35" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12958:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14088, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12977:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14090, + "indexExpression": { + "argumentTypes": null, + "id": 14089, + "name": "CONFIG_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1477, + "src": "12989:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12977:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12958:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14092, + "nodeType": "ExpressionStatement", + "src": "12958:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14093, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13035:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14095, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3336", + "id": 14094, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13048:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_36_by_1", + "typeString": "int_const 36" + }, + "value": "36" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13035:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14096, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13054:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14098, + "indexExpression": { + "argumentTypes": null, + "id": 14097, + "name": "CONFIG_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1480, + "src": "13066:38:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13054:51:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13035:70:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14100, + "nodeType": "ExpressionStatement", + "src": "13035:70:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14101, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13115:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14103, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3337", + "id": 14102, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13128:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_37_by_1", + "typeString": "int_const 37" + }, + "value": "37" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13115:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14104, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13134:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14106, + "indexExpression": { + "argumentTypes": null, + "id": 14105, + "name": "CONFIG_MODERATOR_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1483, + "src": "13146:38:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13134:51:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13115:70:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14108, + "nodeType": "ExpressionStatement", + "src": "13115:70:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14109, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13195:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14111, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3338", + "id": 14110, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13208:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_38_by_1", + "typeString": "int_const 38" + }, + "value": "38" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13195:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14112, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13214:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14114, + "indexExpression": { + "argumentTypes": null, + "id": 14113, + "name": "CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1486, + "src": "13226:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13214:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13195:77:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14116, + "nodeType": "ExpressionStatement", + "src": "13195:77:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14117, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13282:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14119, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3339", + "id": 14118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13295:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_39_by_1", + "typeString": "int_const 39" + }, + "value": "39" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13282:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14120, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13301:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14122, + "indexExpression": { + "argumentTypes": null, + "id": 14121, + "name": "CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1489, + "src": "13313:48:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13301:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13282:80:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14124, + "nodeType": "ExpressionStatement", + "src": "13282:80:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14125, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13372:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14127, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3430", + "id": 14126, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13385:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_40_by_1", + "typeString": "int_const 40" + }, + "value": "40" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13372:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14128, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13391:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14130, + "indexExpression": { + "argumentTypes": null, + "id": 14129, + "name": "CONFIG_PORTION_TO_MODERATORS_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1549, + "src": "13403:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13391:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13372:64:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14132, + "nodeType": "ExpressionStatement", + "src": "13372:64:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14133, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13446:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14135, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3431", + "id": 14134, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13459:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_41_by_1", + "typeString": "int_const 41" + }, + "value": "41" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13446:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14136, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13465:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14138, + "indexExpression": { + "argumentTypes": null, + "id": 14137, + "name": "CONFIG_PORTION_TO_MODERATORS_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1552, + "src": "13477:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13465:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13446:64:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14140, + "nodeType": "ExpressionStatement", + "src": "13446:64:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14141, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13520:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14143, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3432", + "id": 14142, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13533:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_42_by_1", + "typeString": "int_const 42" + }, + "value": "42" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13520:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14144, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13539:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14146, + "indexExpression": { + "argumentTypes": null, + "id": 14145, + "name": "CONFIG_DRAFT_VOTING_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1555, + "src": "13551:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13539:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13520:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14148, + "nodeType": "ExpressionStatement", + "src": "13520:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14149, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13587:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14151, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3433", + "id": 14150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13600:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_43_by_1", + "typeString": "int_const 43" + }, + "value": "43" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13587:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14152, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13606:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14154, + "indexExpression": { + "argumentTypes": null, + "id": 14153, + "name": "CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1558, + "src": "13618:39:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13606:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13587:71:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14156, + "nodeType": "ExpressionStatement", + "src": "13587:71:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14157, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13668:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14159, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3434", + "id": 14158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13681:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_44_by_1", + "typeString": "int_const 44" + }, + "value": "44" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13668:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14160, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13687:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14162, + "indexExpression": { + "argumentTypes": null, + "id": 14161, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1456, + "src": "13699:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13687:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13668:76:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14164, + "nodeType": "ExpressionStatement", + "src": "13668:76:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14165, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13754:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14167, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3435", + "id": 14166, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13767:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_45_by_1", + "typeString": "int_const 45" + }, + "value": "45" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13754:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14168, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13773:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14170, + "indexExpression": { + "argumentTypes": null, + "id": 14169, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1459, + "src": "13785:46:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13773:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13754:78:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14172, + "nodeType": "ExpressionStatement", + "src": "13754:78:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14173, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13842:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14175, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3436", + "id": 14174, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13855:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_46_by_1", + "typeString": "int_const 46" + }, + "value": "46" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13842:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14176, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13861:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14178, + "indexExpression": { + "argumentTypes": null, + "id": 14177, + "name": "CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1540, + "src": "13873:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13861:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13842:77:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14180, + "nodeType": "ExpressionStatement", + "src": "13842:77:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14181, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13929:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14183, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3437", + "id": 14182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13942:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_47_by_1", + "typeString": "int_const 47" + }, + "value": "47" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13929:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14184, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13948:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14186, + "indexExpression": { + "argumentTypes": null, + "id": 14185, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1543, + "src": "13960:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13948:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13929:76:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14188, + "nodeType": "ExpressionStatement", + "src": "13929:76:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14189, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14015:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14191, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3438", + "id": 14190, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14028:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "48" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14015:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14192, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "14034:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14194, + "indexExpression": { + "argumentTypes": null, + "id": 14193, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1546, + "src": "14046:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14034:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14015:76:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14196, + "nodeType": "ExpressionStatement", + "src": "14015:76:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14197, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14101:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14199, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3439", + "id": 14198, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14114:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_49_by_1", + "typeString": "int_const 49" + }, + "value": "49" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14101:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14200, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "14120:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14202, + "indexExpression": { + "argumentTypes": null, + "id": 14201, + "name": "CONFIG_VOTE_CLAIMING_DEADLINE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "14132:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14120:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14101:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14204, + "nodeType": "ExpressionStatement", + "src": "14101:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14205, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14172:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14207, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3530", + "id": 14206, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14185:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + "value": "50" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14172:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14208, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "14191:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14210, + "indexExpression": { + "argumentTypes": null, + "id": 14209, + "name": "CONFIG_MINIMUM_LOCKED_DGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "14203:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14191:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14172:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14212, + "nodeType": "ExpressionStatement", + "src": "14172:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14213, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14239:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14215, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3531", + "id": 14214, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14252:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_51_by_1", + "typeString": "int_const 51" + }, + "value": "51" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14239:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14216, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "14258:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14218, + "indexExpression": { + "argumentTypes": null, + "id": 14217, + "name": "CONFIG_MINIMUM_DGD_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1408, + "src": "14270:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14258:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14239:64:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14220, + "nodeType": "ExpressionStatement", + "src": "14239:64:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14221, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14313:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14223, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3532", + "id": 14222, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14326:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_52_by_1", + "typeString": "int_const 52" + }, + "value": "52" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14313:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14224, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "14332:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14226, + "indexExpression": { + "argumentTypes": null, + "id": 14225, + "name": "CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1411, + "src": "14344:39:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14332:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14313:71:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14228, + "nodeType": "ExpressionStatement", + "src": "14313:71:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14229, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14394:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14231, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3533", + "id": 14230, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14407:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_53_by_1", + "typeString": "int_const 53" + }, + "value": "53" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14394:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14232, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "14413:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14234, + "indexExpression": { + "argumentTypes": null, + "id": 14233, + "name": "CONFIG_PREPROPOSAL_COLLATERAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1564, + "src": "14425:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14413:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14394:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14236, + "nodeType": "ExpressionStatement", + "src": "14394:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14237, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14465:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14239, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3534", + "id": 14238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14478:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_54_by_1", + "typeString": "int_const 54" + }, + "value": "54" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14465:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14240, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "14484:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14242, + "indexExpression": { + "argumentTypes": null, + "id": 14241, + "name": "CONFIG_MAX_FUNDING_FOR_NON_DIGIX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1567, + "src": "14496:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14484:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14465:64:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14244, + "nodeType": "ExpressionStatement", + "src": "14465:64:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14245, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14539:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14247, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3535", + "id": 14246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14552:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_55_by_1", + "typeString": "int_const 55" + }, + "value": "55" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14539:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14248, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "14558:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14250, + "indexExpression": { + "argumentTypes": null, + "id": 14249, + "name": "CONFIG_MAX_MILESTONES_FOR_NON_DIGIX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1570, + "src": "14570:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14558:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14539:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14252, + "nodeType": "ExpressionStatement", + "src": "14539:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14253, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14616:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14255, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3536", + "id": 14254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14629:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_56_by_1", + "typeString": "int_const 56" + }, + "value": "56" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14616:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14256, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "14635:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14258, + "indexExpression": { + "argumentTypes": null, + "id": 14257, + "name": "CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1573, + "src": "14647:41:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14635:54:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14616:73:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14260, + "nodeType": "ExpressionStatement", + "src": "14616:73:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14261, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14699:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14263, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3537", + "id": 14262, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14712:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_57_by_1", + "typeString": "int_const 57" + }, + "value": "57" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14699:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14264, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "14718:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14266, + "indexExpression": { + "argumentTypes": null, + "id": 14265, + "name": "CONFIG_PROPOSAL_DEAD_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1576, + "src": "14730:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14718:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14699:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14268, + "nodeType": "ExpressionStatement", + "src": "14699:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14269, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14770:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14271, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3538", + "id": 14270, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14783:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_58_by_1", + "typeString": "int_const 58" + }, + "value": "58" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14770:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14272, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "14789:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14274, + "indexExpression": { + "argumentTypes": null, + "id": 14273, + "name": "CONFIG_CARBON_VOTE_REPUTATION_BONUS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1579, + "src": "14801:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14789:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14770:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14276, + "nodeType": "ExpressionStatement", + "src": "14770:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14277, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14854:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "functionReturnParameters": 13794, + "id": 14278, + "nodeType": "Return", + "src": "14847:19:53" + } + ] + }, + "documentation": null, + "id": 14280, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readUintConfigs", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 13790, + "nodeType": "ParameterList", + "parameters": [], + "src": "10142:2:53" + }, + "payable": false, + "returnParameters": { + "id": 13794, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13793, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 14280, + "src": "10190:9:53", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 13791, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10190:7:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13792, + "length": null, + "nodeType": "ArrayTypeName", + "src": "10190:9:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10189:11:53" + }, + "scope": 14281, + "src": "10118:4755:53", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 14282, + "src": "129:14746:53" + } + ], + "src": "0:14876:53" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoConfigsStorage.sol", + "exportedSymbols": { + "DaoConfigsStorage": [ + 14281 + ] + }, + "id": 14282, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 12891, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:53" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 12892, + "nodeType": "ImportDirective", + "scope": 14282, + "sourceUnit": 19059, + "src": "26:64:53", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "../common/DaoConstants.sol", + "id": 12893, + "nodeType": "ImportDirective", + "scope": 14282, + "sourceUnit": 1581, + "src": "91:36:53", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 12894, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "159:14:53", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 12895, + "nodeType": "InheritanceSpecifier", + "src": "159:14:53" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 12896, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "175:12:53", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 12897, + "nodeType": "InheritanceSpecifier", + "src": "175:12:53" + } + ], + "contractDependencies": [ + 1580, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 14281, + "linearizedBaseContracts": [ + 14281, + 1580, + 19058 + ], + "name": "DaoConfigsStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 12901, + "name": "uintConfigs", + "nodeType": "VariableDeclaration", + "scope": 14281, + "src": "299:47:53", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 12900, + "keyType": { + "id": 12898, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "308:7:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "299:28:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueType": { + "id": 12899, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "319:7:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 12905, + "name": "addressConfigs", + "nodeType": "VariableDeclaration", + "scope": 14281, + "src": "457:50:53", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "typeName": { + "id": 12904, + "keyType": { + "id": 12902, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "466:7:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "457:28:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + }, + "valueType": { + "id": 12903, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "477:7:53", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 12909, + "name": "bytesConfigs", + "nodeType": "VariableDeclaration", + "scope": 14281, + "src": "618:48:53", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes32_$", + "typeString": "mapping(bytes32 => bytes32)" + }, + "typeName": { + "id": 12908, + "keyType": { + "id": 12906, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "627:7:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "618:28:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes32_$", + "typeString": "mapping(bytes32 => bytes32)" + }, + "valueType": { + "id": 12907, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "638:7:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 12912, + "name": "ONE_BILLION", + "nodeType": "VariableDeclaration", + "scope": 14281, + "src": "673:32:53", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12910, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "673:7:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31303030303030303030", + "id": 12911, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "695:10:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000_by_1", + "typeString": "int_const 1000000000" + }, + "value": "1000000000" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 12915, + "name": "ONE_MILLION", + "nodeType": "VariableDeclaration", + "scope": 14281, + "src": "711:29:53", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12913, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "711:7:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31303030303030", + "id": 12914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "733:7:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000_by_1", + "typeString": "int_const 1000000" + }, + "value": "1000000" + }, + "visibility": "internal" + }, + { + "body": { + "id": 13311, + "nodeType": "Block", + "src": "797:4449:53", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12922, + "name": "CONTRACT_STORAGE_DAO_CONFIG", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1366, + "src": "820:27:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 12923, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12917, + "src": "849:9:53", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 12921, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "815:4:53", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 12924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "815:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12920, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "807:7:53", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 12925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "807:53:53", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12926, + "nodeType": "ExpressionStatement", + "src": "807:53:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12927, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "871:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12929, + "indexExpression": { + "argumentTypes": null, + "id": 12928, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "883:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "871:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130", + "id": 12930, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "916:7:53", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_864000_by_1", + "typeString": "int_const 864000" + }, + "value": "10" + }, + "src": "871:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12932, + "nodeType": "ExpressionStatement", + "src": "871:52:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12933, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "933:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12935, + "indexExpression": { + "argumentTypes": null, + "id": 12934, + "name": "CONFIG_QUARTER_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1417, + "src": "945:23:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "933:36:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 12936, + "name": "QUARTER_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1402, + "src": "972:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "933:55:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12938, + "nodeType": "ExpressionStatement", + "src": "933:55:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12939, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "998:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12941, + "indexExpression": { + "argumentTypes": null, + "id": 12940, + "name": "CONFIG_VOTING_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1420, + "src": "1010:26:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "998:39:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3134", + "id": 12942, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1040:7:53", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_1209600_by_1", + "typeString": "int_const 1209600" + }, + "value": "14" + }, + "src": "998:49:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12944, + "nodeType": "ExpressionStatement", + "src": "998:49:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12945, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1057:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12947, + "indexExpression": { + "argumentTypes": null, + "id": 12946, + "name": "CONFIG_VOTING_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "1069:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1057:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3231", + "id": 12948, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1098:7:53", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_1814400_by_1", + "typeString": "int_const 1814400" + }, + "value": "21" + }, + "src": "1057:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12950, + "nodeType": "ExpressionStatement", + "src": "1057:48:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12951, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1115:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12953, + "indexExpression": { + "argumentTypes": null, + "id": 12952, + "name": "CONFIG_INTERIM_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1426, + "src": "1127:27:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1115:40:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "37", + "id": 12954, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1158:6:53", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_604800_by_1", + "typeString": "int_const 604800" + }, + "value": "7" + }, + "src": "1115:49:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12956, + "nodeType": "ExpressionStatement", + "src": "1115:49:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12957, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1174:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12959, + "indexExpression": { + "argumentTypes": null, + "id": 12958, + "name": "CONFIG_INTERIM_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "1186:26:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1174:39:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3134", + "id": 12960, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1216:7:53", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_1209600_by_1", + "typeString": "int_const 1209600" + }, + "value": "14" + }, + "src": "1174:49:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12962, + "nodeType": "ExpressionStatement", + "src": "1174:49:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12963, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1236:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12965, + "indexExpression": { + "argumentTypes": null, + "id": 12964, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1432, + "src": "1248:43:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1236:56:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "35", + "id": 12966, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1295:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "src": "1236:60:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12968, + "nodeType": "ExpressionStatement", + "src": "1236:60:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12969, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1312:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12971, + "indexExpression": { + "argumentTypes": null, + "id": 12970, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1435, + "src": "1324:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1312:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 12972, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1373:3:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "1312:64:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12974, + "nodeType": "ExpressionStatement", + "src": "1312:64:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12975, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1392:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12977, + "indexExpression": { + "argumentTypes": null, + "id": 12976, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1438, + "src": "1404:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1392:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3335", + "id": 12978, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1452:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_35_by_1", + "typeString": "int_const 35" + }, + "value": "35" + }, + "src": "1392:62:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12980, + "nodeType": "ExpressionStatement", + "src": "1392:62:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12981, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1471:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12983, + "indexExpression": { + "argumentTypes": null, + "id": 12982, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1441, + "src": "1483:46:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1471:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 12984, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1533:3:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "1471:65:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12986, + "nodeType": "ExpressionStatement", + "src": "1471:65:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12987, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1555:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12989, + "indexExpression": { + "argumentTypes": null, + "id": 12988, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1444, + "src": "1567:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1555:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "35", + "id": 12990, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1615:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "src": "1555:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12992, + "nodeType": "ExpressionStatement", + "src": "1555:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 12997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12993, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1632:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 12995, + "indexExpression": { + "argumentTypes": null, + "id": 12994, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1447, + "src": "1644:46:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1632:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 12996, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1694:3:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "1632:65:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 12998, + "nodeType": "ExpressionStatement", + "src": "1632:65:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 12999, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1713:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13001, + "indexExpression": { + "argumentTypes": null, + "id": 13000, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1450, + "src": "1725:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1713:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3235", + "id": 13002, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1774:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_25_by_1", + "typeString": "int_const 25" + }, + "value": "25" + }, + "src": "1713:63:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13004, + "nodeType": "ExpressionStatement", + "src": "1713:63:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13005, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1793:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13007, + "indexExpression": { + "argumentTypes": null, + "id": 13006, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1453, + "src": "1805:47:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1793:60:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 13008, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1856:3:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "1793:66:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13010, + "nodeType": "ExpressionStatement", + "src": "1793:66:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13011, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1877:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13013, + "indexExpression": { + "argumentTypes": null, + "id": 13012, + "name": "CONFIG_DRAFT_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1462, + "src": "1889:28:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1877:41:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 13014, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1921:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1877:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13016, + "nodeType": "ExpressionStatement", + "src": "1877:45:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13017, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1940:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13019, + "indexExpression": { + "argumentTypes": null, + "id": 13018, + "name": "CONFIG_DRAFT_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1465, + "src": "1952:30:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1940:43:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "32", + "id": 13020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1986:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1940:47:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13022, + "nodeType": "ExpressionStatement", + "src": "1940:47:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13023, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2005:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13025, + "indexExpression": { + "argumentTypes": null, + "id": 13024, + "name": "CONFIG_VOTING_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1468, + "src": "2017:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2005:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 13026, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2050:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2005:46:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13028, + "nodeType": "ExpressionStatement", + "src": "2005:46:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13029, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2069:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13031, + "indexExpression": { + "argumentTypes": null, + "id": 13030, + "name": "CONFIG_VOTING_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1471, + "src": "2081:31:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2069:44:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "32", + "id": 13032, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2116:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "2069:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13034, + "nodeType": "ExpressionStatement", + "src": "2069:48:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13035, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2137:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13037, + "indexExpression": { + "argumentTypes": null, + "id": 13036, + "name": "CONFIG_QUARTER_POINT_DRAFT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "2149:31:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2137:44:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 13038, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "2184:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2137:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13040, + "nodeType": "ExpressionStatement", + "src": "2137:58:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13041, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2205:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13043, + "indexExpression": { + "argumentTypes": null, + "id": 13042, + "name": "CONFIG_QUARTER_POINT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1495, + "src": "2217:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2205:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 13044, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "2246:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2205:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13046, + "nodeType": "ExpressionStatement", + "src": "2205:52:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13047, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2267:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13049, + "indexExpression": { + "argumentTypes": null, + "id": 13048, + "name": "CONFIG_QUARTER_POINT_INTERIM_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1498, + "src": "2279:33:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2267:46:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 13050, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "2316:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2267:60:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13052, + "nodeType": "ExpressionStatement", + "src": "2267:60:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13053, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2338:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13055, + "indexExpression": { + "argumentTypes": null, + "id": 13054, + "name": "CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1501, + "src": "2350:54:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2338:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3230303030", + "id": 13056, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2408:5:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_20000_by_1", + "typeString": "int_const 20000" + }, + "value": "20000" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13057, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "2416:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2408:19:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2338:89:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13060, + "nodeType": "ExpressionStatement", + "src": "2338:89:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13061, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2438:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13063, + "indexExpression": { + "argumentTypes": null, + "id": 13062, + "name": "CONFIG_BONUS_REPUTATION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1504, + "src": "2450:33:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2438:46:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3135", + "id": 13064, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2487:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + }, + "value": "15" + }, + "src": "2438:51:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13066, + "nodeType": "ExpressionStatement", + "src": "2438:51:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13067, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2533:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13069, + "indexExpression": { + "argumentTypes": null, + "id": 13068, + "name": "CONFIG_BONUS_REPUTATION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1507, + "src": "2545:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2533:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 13070, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2584:3:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "2533:54:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13072, + "nodeType": "ExpressionStatement", + "src": "2533:54:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13073, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2632:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13075, + "indexExpression": { + "argumentTypes": null, + "id": 13074, + "name": "CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1510, + "src": "2644:36:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2632:49:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3238", + "id": 13076, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2684:7:53", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_2419200_by_1", + "typeString": "int_const 2419200" + }, + "value": "28" + }, + "src": "2632:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13078, + "nodeType": "ExpressionStatement", + "src": "2632:59:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13079, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2701:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13081, + "indexExpression": { + "argumentTypes": null, + "id": 13080, + "name": "CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "2713:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2701:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3335", + "id": 13082, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2752:7:53", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_3024000_by_1", + "typeString": "int_const 3024000" + }, + "value": "35" + }, + "src": "2701:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13084, + "nodeType": "ExpressionStatement", + "src": "2701:58:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13085, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2772:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13087, + "indexExpression": { + "argumentTypes": null, + "id": 13086, + "name": "CONFIG_SPECIAL_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1516, + "src": "2784:30:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2772:43:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 13088, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2818:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2772:47:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13090, + "nodeType": "ExpressionStatement", + "src": "2772:47:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13091, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2837:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13093, + "indexExpression": { + "argumentTypes": null, + "id": 13092, + "name": "CONFIG_SPECIAL_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "2849:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2837:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "32", + "id": 13094, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2885:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "2837:49:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13096, + "nodeType": "ExpressionStatement", + "src": "2837:49:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13097, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2905:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13099, + "indexExpression": { + "argumentTypes": null, + "id": 13098, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1522, + "src": "2917:40:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2905:53:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3430", + "id": 13100, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2961:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_40_by_1", + "typeString": "int_const 40" + }, + "value": "40" + }, + "src": "2905:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13102, + "nodeType": "ExpressionStatement", + "src": "2905:58:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13103, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2980:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13105, + "indexExpression": { + "argumentTypes": null, + "id": 13104, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1525, + "src": "2992:42:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2980:55:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 13106, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3038:3:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "2980:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13108, + "nodeType": "ExpressionStatement", + "src": "2980:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13109, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3059:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13111, + "indexExpression": { + "argumentTypes": null, + "id": 13110, + "name": "CONFIG_MAXIMUM_REPUTATION_DEDUCTION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1528, + "src": "3071:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3059:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "38333334", + "id": 13112, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3110:4:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_8334_by_1", + "typeString": "int_const 8334" + }, + "value": "8334" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13113, + "name": "ONE_MILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12915, + "src": "3117:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3110:18:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3059:69:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13116, + "nodeType": "ExpressionStatement", + "src": "3059:69:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13117, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3139:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13119, + "indexExpression": { + "argumentTypes": null, + "id": 13118, + "name": "CONFIG_PUNISHMENT_FOR_NOT_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1531, + "src": "3151:33:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3139:46:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "31363636", + "id": 13120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3188:4:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1666_by_1", + "typeString": "int_const 1666" + }, + "value": "1666" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13121, + "name": "ONE_MILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12915, + "src": "3195:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3188:18:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3139:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13124, + "nodeType": "ExpressionStatement", + "src": "3139:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13125, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3216:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13127, + "indexExpression": { + "argumentTypes": null, + "id": 13126, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1534, + "src": "3228:34:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3216:47:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 13128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3266:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3216:51:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13130, + "nodeType": "ExpressionStatement", + "src": "3216:51:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13131, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3304:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13133, + "indexExpression": { + "argumentTypes": null, + "id": 13132, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1537, + "src": "3316:34:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3304:47:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 13134, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3354:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3304:51:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13136, + "nodeType": "ExpressionStatement", + "src": "3304:51:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13137, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3367:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13139, + "indexExpression": { + "argumentTypes": null, + "id": 13138, + "name": "CONFIG_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1474, + "src": "3379:28:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3367:41:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 13140, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3411:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13141, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "3415:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3411:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3367:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13144, + "nodeType": "ExpressionStatement", + "src": "3367:59:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13145, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3436:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13147, + "indexExpression": { + "argumentTypes": null, + "id": 13146, + "name": "CONFIG_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1477, + "src": "3448:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3436:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "343030", + "id": 13148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3487:3:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_400_by_1", + "typeString": "int_const 400" + }, + "value": "400" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13149, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "3493:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3487:17:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3436:68:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13152, + "nodeType": "ExpressionStatement", + "src": "3436:68:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13153, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3514:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13155, + "indexExpression": { + "argumentTypes": null, + "id": 13154, + "name": "CONFIG_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1480, + "src": "3526:38:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3514:51:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32303030", + "id": 13156, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3568:4:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2000_by_1", + "typeString": "int_const 2000" + }, + "value": "2000" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13157, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "3575:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3568:18:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3514:72:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13160, + "nodeType": "ExpressionStatement", + "src": "3514:72:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13161, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3597:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13163, + "indexExpression": { + "argumentTypes": null, + "id": 13162, + "name": "CONFIG_MODERATOR_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1483, + "src": "3609:38:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3597:51:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "34", + "id": 13164, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3651:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13165, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "3655:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3651:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3597:69:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13168, + "nodeType": "ExpressionStatement", + "src": "3597:69:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13169, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3676:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13171, + "indexExpression": { + "argumentTypes": null, + "id": 13170, + "name": "CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1486, + "src": "3688:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3676:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "343030", + "id": 13172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3737:3:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_400_by_1", + "typeString": "int_const 400" + }, + "value": "400" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13173, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "3743:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3737:17:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3676:78:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13176, + "nodeType": "ExpressionStatement", + "src": "3676:78:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13177, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3764:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13179, + "indexExpression": { + "argumentTypes": null, + "id": 13178, + "name": "CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1489, + "src": "3776:48:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3764:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "32303030", + "id": 13180, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3828:4:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2000_by_1", + "typeString": "int_const 2000" + }, + "value": "2000" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13181, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "3835:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3828:18:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3764:82:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13184, + "nodeType": "ExpressionStatement", + "src": "3764:82:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13185, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3857:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13187, + "indexExpression": { + "argumentTypes": null, + "id": 13186, + "name": "CONFIG_PORTION_TO_MODERATORS_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1549, + "src": "3869:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3857:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3432", + "id": 13188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3905:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_42_by_1", + "typeString": "int_const 42" + }, + "value": "42" + }, + "src": "3857:50:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13190, + "nodeType": "ExpressionStatement", + "src": "3857:50:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13191, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3960:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13193, + "indexExpression": { + "argumentTypes": null, + "id": 13192, + "name": "CONFIG_PORTION_TO_MODERATORS_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1552, + "src": "3972:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3960:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31303030", + "id": 13194, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4008:4:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + }, + "src": "3960:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13196, + "nodeType": "ExpressionStatement", + "src": "3960:52:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13197, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4023:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13199, + "indexExpression": { + "argumentTypes": null, + "id": 13198, + "name": "CONFIG_DRAFT_VOTING_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1555, + "src": "4035:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4023:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130", + "id": 13200, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4064:7:53", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_864000_by_1", + "typeString": "int_const 864000" + }, + "value": "10" + }, + "src": "4023:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13202, + "nodeType": "ExpressionStatement", + "src": "4023:48:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13203, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4082:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13205, + "indexExpression": { + "argumentTypes": null, + "id": 13204, + "name": "CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1558, + "src": "4094:39:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4082:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "343132353030", + "id": 13206, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4137:6:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_412500_by_1", + "typeString": "int_const 412500" + }, + "value": "412500" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13207, + "name": "ONE_MILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12915, + "src": "4146:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4137:20:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4082:75:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13210, + "nodeType": "ExpressionStatement", + "src": "4082:75:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13211, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4168:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13213, + "indexExpression": { + "argumentTypes": null, + "id": 13212, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1456, + "src": "4180:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4168:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "37", + "id": 13214, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4228:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "src": "4168:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13216, + "nodeType": "ExpressionStatement", + "src": "4168:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13217, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4245:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13219, + "indexExpression": { + "argumentTypes": null, + "id": 13218, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1459, + "src": "4257:46:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4245:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 13220, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4307:3:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "4245:65:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13222, + "nodeType": "ExpressionStatement", + "src": "4245:65:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13223, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4327:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13225, + "indexExpression": { + "argumentTypes": null, + "id": 13224, + "name": "CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1540, + "src": "4339:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4327:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3132353030", + "id": 13226, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4388:5:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_12500_by_1", + "typeString": "int_const 12500" + }, + "value": "12500" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13227, + "name": "ONE_MILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12915, + "src": "4396:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4388:19:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4327:80:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13230, + "nodeType": "ExpressionStatement", + "src": "4327:80:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13231, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4417:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13233, + "indexExpression": { + "argumentTypes": null, + "id": 13232, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1543, + "src": "4429:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4417:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 13234, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4477:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4417:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13236, + "nodeType": "ExpressionStatement", + "src": "4417:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13237, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4488:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13239, + "indexExpression": { + "argumentTypes": null, + "id": 13238, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1546, + "src": "4500:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4488:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 13240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4548:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4488:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13242, + "nodeType": "ExpressionStatement", + "src": "4488:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13243, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4560:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13245, + "indexExpression": { + "argumentTypes": null, + "id": 13244, + "name": "CONFIG_VOTE_CLAIMING_DEADLINE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "4572:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4560:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130", + "id": 13246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4605:7:53", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_864000_by_1", + "typeString": "int_const 864000" + }, + "value": "10" + }, + "src": "4560:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13248, + "nodeType": "ExpressionStatement", + "src": "4560:52:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13249, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4623:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13251, + "indexExpression": { + "argumentTypes": null, + "id": 13250, + "name": "CONFIG_MINIMUM_LOCKED_DGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "4635:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4623:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 13252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4664:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13253, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "4669:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4664:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4623:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13256, + "nodeType": "ExpressionStatement", + "src": "4623:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13257, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4690:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13259, + "indexExpression": { + "argumentTypes": null, + "id": 13258, + "name": "CONFIG_MINIMUM_DGD_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1408, + "src": "4702:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4690:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "383432", + "id": 13260, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4738:3:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_842_by_1", + "typeString": "int_const 842" + }, + "value": "842" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13261, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "4744:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4738:17:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4690:65:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13264, + "nodeType": "ExpressionStatement", + "src": "4690:65:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13265, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4765:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13267, + "indexExpression": { + "argumentTypes": null, + "id": 13266, + "name": "CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1411, + "src": "4777:39:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4765:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "343030", + "id": 13268, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4820:3:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_400_by_1", + "typeString": "int_const 400" + }, + "value": "400" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13269, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "4826:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4820:17:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4765:72:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13272, + "nodeType": "ExpressionStatement", + "src": "4765:72:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13273, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4848:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13275, + "indexExpression": { + "argumentTypes": null, + "id": 13274, + "name": "CONFIG_PREPROPOSAL_COLLATERAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1564, + "src": "4860:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4848:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "32", + "id": 13276, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4893:7:53", + "subdenomination": "ether", + "typeDescriptions": { + "typeIdentifier": "t_rational_2000000000000000000_by_1", + "typeString": "int_const 2000000000000000000" + }, + "value": "2" + }, + "src": "4848:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13278, + "nodeType": "ExpressionStatement", + "src": "4848:52:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13279, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4911:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13281, + "indexExpression": { + "argumentTypes": null, + "id": 13280, + "name": "CONFIG_MAX_FUNDING_FOR_NON_DIGIX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1567, + "src": "4923:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4911:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 13282, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4959:9:53", + "subdenomination": "ether", + "typeDescriptions": { + "typeIdentifier": "t_rational_100000000000000000000_by_1", + "typeString": "int_const 100000000000000000000" + }, + "value": "100" + }, + "src": "4911:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13284, + "nodeType": "ExpressionStatement", + "src": "4911:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13285, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4978:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13287, + "indexExpression": { + "argumentTypes": null, + "id": 13286, + "name": "CONFIG_MAX_MILESTONES_FOR_NON_DIGIX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1570, + "src": "4990:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4978:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "35", + "id": 13288, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5029:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "src": "4978:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13290, + "nodeType": "ExpressionStatement", + "src": "4978:52:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13291, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "5040:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13293, + "indexExpression": { + "argumentTypes": null, + "id": 13292, + "name": "CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1573, + "src": "5052:41:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5040:54:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3830", + "id": 13294, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5097:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_80_by_1", + "typeString": "int_const 80" + }, + "value": "80" + }, + "src": "5040:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13296, + "nodeType": "ExpressionStatement", + "src": "5040:59:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13297, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "5110:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13299, + "indexExpression": { + "argumentTypes": null, + "id": 13298, + "name": "CONFIG_PROPOSAL_DEAD_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1576, + "src": "5122:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5110:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3930", + "id": 13300, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5155:7:53", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_7776000_by_1", + "typeString": "int_const 7776000" + }, + "value": "90" + }, + "src": "5110:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13302, + "nodeType": "ExpressionStatement", + "src": "5110:52:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13303, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "5172:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13305, + "indexExpression": { + "argumentTypes": null, + "id": 13304, + "name": "CONFIG_CARBON_VOTE_REPUTATION_BONUS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1579, + "src": "5184:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5172:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 13308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 13306, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5223:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 13307, + "name": "ONE_BILLION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12912, + "src": "5228:11:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5223:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5172:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13310, + "nodeType": "ExpressionStatement", + "src": "5172:67:53" + } + ] + }, + "documentation": null, + "id": 13312, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12918, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12917, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 13312, + "src": "759:17:53", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12916, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "759:7:53", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "758:19:53" + }, + "payable": false, + "returnParameters": { + "id": 12919, + "nodeType": "ParameterList", + "parameters": [], + "src": "797:0:53" + }, + "scope": 14281, + "src": "747:4499:53", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 13788, + "nodeType": "Block", + "src": "5324:4788:53", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 13320, + "name": "CONTRACT_DAO_SPECIAL_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1312, + "src": "5352:34:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 13319, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "5342:9:53", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 13321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5342:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 13318, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5334:7:53", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 13322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5334:54:53", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 13323, + "nodeType": "ExpressionStatement", + "src": "5334:54:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13324, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "5398:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13326, + "indexExpression": { + "argumentTypes": null, + "id": 13325, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "5410:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5398:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13327, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "5443:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13329, + "indexExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 13328, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5456:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5443:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5398:60:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13331, + "nodeType": "ExpressionStatement", + "src": "5398:60:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13332, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "5676:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13334, + "indexExpression": { + "argumentTypes": null, + "id": 13333, + "name": "CONFIG_VOTING_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1420, + "src": "5688:26:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5676:39:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13335, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "5718:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13337, + "indexExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 13336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5731:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5718:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5676:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13339, + "nodeType": "ExpressionStatement", + "src": "5676:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13340, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "5743:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13342, + "indexExpression": { + "argumentTypes": null, + "id": 13341, + "name": "CONFIG_VOTING_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "5755:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5743:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13343, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "5784:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13345, + "indexExpression": { + "argumentTypes": null, + "hexValue": "33", + "id": 13344, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5797:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5784:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5743:56:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13347, + "nodeType": "ExpressionStatement", + "src": "5743:56:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13348, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "5809:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13350, + "indexExpression": { + "argumentTypes": null, + "id": 13349, + "name": "CONFIG_INTERIM_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1426, + "src": "5821:27:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5809:40:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13351, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "5852:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13353, + "indexExpression": { + "argumentTypes": null, + "hexValue": "34", + "id": 13352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5865:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5852:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5809:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13355, + "nodeType": "ExpressionStatement", + "src": "5809:58:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13356, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "5877:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13358, + "indexExpression": { + "argumentTypes": null, + "id": 13357, + "name": "CONFIG_INTERIM_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "5889:26:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5877:39:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13359, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "5919:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13361, + "indexExpression": { + "argumentTypes": null, + "hexValue": "35", + "id": 13360, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5932:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5919:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5877:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13363, + "nodeType": "ExpressionStatement", + "src": "5877:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13364, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "5944:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13366, + "indexExpression": { + "argumentTypes": null, + "id": 13365, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1432, + "src": "5956:43:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5944:56:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13367, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6003:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13369, + "indexExpression": { + "argumentTypes": null, + "hexValue": "36", + "id": 13368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6016:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_6_by_1", + "typeString": "int_const 6" + }, + "value": "6" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6003:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5944:74:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13371, + "nodeType": "ExpressionStatement", + "src": "5944:74:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13372, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6028:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13374, + "indexExpression": { + "argumentTypes": null, + "id": 13373, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1435, + "src": "6040:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6028:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13375, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6089:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13377, + "indexExpression": { + "argumentTypes": null, + "hexValue": "37", + "id": 13376, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6102:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6089:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6028:76:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13379, + "nodeType": "ExpressionStatement", + "src": "6028:76:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13380, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6114:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13382, + "indexExpression": { + "argumentTypes": null, + "id": 13381, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1438, + "src": "6126:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6114:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13383, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6174:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13385, + "indexExpression": { + "argumentTypes": null, + "hexValue": "38", + "id": 13384, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6187:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6174:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6114:75:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13387, + "nodeType": "ExpressionStatement", + "src": "6114:75:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13388, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6199:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13390, + "indexExpression": { + "argumentTypes": null, + "id": 13389, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1441, + "src": "6211:46:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6199:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13391, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6261:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13393, + "indexExpression": { + "argumentTypes": null, + "hexValue": "39", + "id": 13392, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6274:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "9" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6261:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6199:77:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13395, + "nodeType": "ExpressionStatement", + "src": "6199:77:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13396, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6286:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13398, + "indexExpression": { + "argumentTypes": null, + "id": 13397, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1444, + "src": "6298:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6286:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13399, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6346:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13401, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 13400, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6359:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6346:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6286:76:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13403, + "nodeType": "ExpressionStatement", + "src": "6286:76:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13404, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6372:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13406, + "indexExpression": { + "argumentTypes": null, + "id": 13405, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1447, + "src": "6384:46:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6372:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13407, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6434:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13409, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3131", + "id": 13408, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6447:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_11_by_1", + "typeString": "int_const 11" + }, + "value": "11" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6434:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6372:78:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13411, + "nodeType": "ExpressionStatement", + "src": "6372:78:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13412, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6460:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13414, + "indexExpression": { + "argumentTypes": null, + "id": 13413, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1450, + "src": "6472:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6460:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13415, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6521:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13417, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3132", + "id": 13416, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6534:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_12_by_1", + "typeString": "int_const 12" + }, + "value": "12" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6521:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6460:77:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13419, + "nodeType": "ExpressionStatement", + "src": "6460:77:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13420, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6547:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13422, + "indexExpression": { + "argumentTypes": null, + "id": 13421, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1453, + "src": "6559:47:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6547:60:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13423, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6610:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13425, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3133", + "id": 13424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6623:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_13_by_1", + "typeString": "int_const 13" + }, + "value": "13" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6610:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6547:79:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13427, + "nodeType": "ExpressionStatement", + "src": "6547:79:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13428, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6636:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13430, + "indexExpression": { + "argumentTypes": null, + "id": 13429, + "name": "CONFIG_DRAFT_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1462, + "src": "6648:28:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6636:41:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13431, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6680:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13433, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3134", + "id": 13432, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6693:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_14_by_1", + "typeString": "int_const 14" + }, + "value": "14" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6680:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6636:60:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13435, + "nodeType": "ExpressionStatement", + "src": "6636:60:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13436, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6706:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13438, + "indexExpression": { + "argumentTypes": null, + "id": 13437, + "name": "CONFIG_DRAFT_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1465, + "src": "6718:30:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6706:43:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13439, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6752:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13441, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3135", + "id": 13440, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6765:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + }, + "value": "15" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6752:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6706:62:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13443, + "nodeType": "ExpressionStatement", + "src": "6706:62:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13444, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6778:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13446, + "indexExpression": { + "argumentTypes": null, + "id": 13445, + "name": "CONFIG_VOTING_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1468, + "src": "6790:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6778:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13447, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6823:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13449, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3136", + "id": 13448, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6836:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6823:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6778:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13451, + "nodeType": "ExpressionStatement", + "src": "6778:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13452, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6849:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13454, + "indexExpression": { + "argumentTypes": null, + "id": 13453, + "name": "CONFIG_VOTING_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1471, + "src": "6861:31:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6849:44:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13455, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6896:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13457, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3137", + "id": 13456, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6909:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_17_by_1", + "typeString": "int_const 17" + }, + "value": "17" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6896:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6849:63:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13459, + "nodeType": "ExpressionStatement", + "src": "6849:63:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13460, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6922:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13462, + "indexExpression": { + "argumentTypes": null, + "id": 13461, + "name": "CONFIG_QUARTER_POINT_DRAFT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "6934:31:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6922:44:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13463, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "6969:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13465, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3138", + "id": 13464, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6982:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6969:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6922:63:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13467, + "nodeType": "ExpressionStatement", + "src": "6922:63:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13468, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "6995:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13470, + "indexExpression": { + "argumentTypes": null, + "id": 13469, + "name": "CONFIG_QUARTER_POINT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1495, + "src": "7007:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6995:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13471, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7036:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13473, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3139", + "id": 13472, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7049:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_19_by_1", + "typeString": "int_const 19" + }, + "value": "19" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7036:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6995:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13475, + "nodeType": "ExpressionStatement", + "src": "6995:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13476, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7062:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13478, + "indexExpression": { + "argumentTypes": null, + "id": 13477, + "name": "CONFIG_QUARTER_POINT_INTERIM_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1498, + "src": "7074:33:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7062:46:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13479, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7111:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13481, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3230", + "id": 13480, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7124:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7111:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7062:65:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13483, + "nodeType": "ExpressionStatement", + "src": "7062:65:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13484, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7137:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13486, + "indexExpression": { + "argumentTypes": null, + "id": 13485, + "name": "CONFIG_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1474, + "src": "7149:28:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7137:41:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13487, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7181:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13489, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3231", + "id": 13488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7194:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_21_by_1", + "typeString": "int_const 21" + }, + "value": "21" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7181:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7137:60:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13491, + "nodeType": "ExpressionStatement", + "src": "7137:60:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13492, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7207:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13494, + "indexExpression": { + "argumentTypes": null, + "id": 13493, + "name": "CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1501, + "src": "7219:54:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7207:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13495, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7277:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13497, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3232", + "id": 13496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7290:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_22_by_1", + "typeString": "int_const 22" + }, + "value": "22" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7277:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7207:86:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13499, + "nodeType": "ExpressionStatement", + "src": "7207:86:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13500, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7303:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13502, + "indexExpression": { + "argumentTypes": null, + "id": 13501, + "name": "CONFIG_BONUS_REPUTATION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1504, + "src": "7315:33:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7303:46:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13503, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7352:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13505, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3233", + "id": 13504, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7365:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_23_by_1", + "typeString": "int_const 23" + }, + "value": "23" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7352:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7303:65:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13507, + "nodeType": "ExpressionStatement", + "src": "7303:65:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13508, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7378:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13510, + "indexExpression": { + "argumentTypes": null, + "id": 13509, + "name": "CONFIG_BONUS_REPUTATION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1507, + "src": "7390:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7378:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13511, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7429:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13513, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3234", + "id": 13512, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7442:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_24_by_1", + "typeString": "int_const 24" + }, + "value": "24" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7429:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7378:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13515, + "nodeType": "ExpressionStatement", + "src": "7378:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13516, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7455:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13518, + "indexExpression": { + "argumentTypes": null, + "id": 13517, + "name": "CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1510, + "src": "7467:36:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7455:49:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13519, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7507:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13521, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3235", + "id": 13520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7520:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_25_by_1", + "typeString": "int_const 25" + }, + "value": "25" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7507:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7455:68:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13523, + "nodeType": "ExpressionStatement", + "src": "7455:68:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13524, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7533:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13526, + "indexExpression": { + "argumentTypes": null, + "id": 13525, + "name": "CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "7545:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7533:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13527, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7584:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13529, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3236", + "id": 13528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7597:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_26_by_1", + "typeString": "int_const 26" + }, + "value": "26" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7584:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7533:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13531, + "nodeType": "ExpressionStatement", + "src": "7533:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13532, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7610:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13534, + "indexExpression": { + "argumentTypes": null, + "id": 13533, + "name": "CONFIG_SPECIAL_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1516, + "src": "7622:30:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7610:43:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13535, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7656:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13537, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3237", + "id": 13536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7669:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_27_by_1", + "typeString": "int_const 27" + }, + "value": "27" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7656:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7610:62:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13539, + "nodeType": "ExpressionStatement", + "src": "7610:62:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13540, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7682:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13542, + "indexExpression": { + "argumentTypes": null, + "id": 13541, + "name": "CONFIG_SPECIAL_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "7694:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7682:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13543, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7730:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13545, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3238", + "id": 13544, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7743:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_28_by_1", + "typeString": "int_const 28" + }, + "value": "28" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7730:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7682:64:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13547, + "nodeType": "ExpressionStatement", + "src": "7682:64:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13548, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7756:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13550, + "indexExpression": { + "argumentTypes": null, + "id": 13549, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1522, + "src": "7768:40:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7756:53:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13551, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7812:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13553, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3239", + "id": 13552, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7825:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_29_by_1", + "typeString": "int_const 29" + }, + "value": "29" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7812:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7756:72:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13555, + "nodeType": "ExpressionStatement", + "src": "7756:72:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13556, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7838:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13558, + "indexExpression": { + "argumentTypes": null, + "id": 13557, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1525, + "src": "7850:42:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7838:55:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13559, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7896:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13561, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3330", + "id": 13560, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7909:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7896:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7838:74:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13563, + "nodeType": "ExpressionStatement", + "src": "7838:74:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13564, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7922:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13566, + "indexExpression": { + "argumentTypes": null, + "id": 13565, + "name": "CONFIG_MAXIMUM_REPUTATION_DEDUCTION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1528, + "src": "7934:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7922:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13567, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "7973:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13569, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3331", + "id": 13568, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7986:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_31_by_1", + "typeString": "int_const 31" + }, + "value": "31" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7973:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7922:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13571, + "nodeType": "ExpressionStatement", + "src": "7922:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13572, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "7999:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13574, + "indexExpression": { + "argumentTypes": null, + "id": 13573, + "name": "CONFIG_PUNISHMENT_FOR_NOT_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1531, + "src": "8011:33:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7999:46:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13575, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8048:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13577, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3332", + "id": 13576, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8061:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8048:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7999:65:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13579, + "nodeType": "ExpressionStatement", + "src": "7999:65:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13580, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8074:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13582, + "indexExpression": { + "argumentTypes": null, + "id": 13581, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1534, + "src": "8086:34:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8074:47:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13583, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8124:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13585, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3333", + "id": 13584, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8137:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_33_by_1", + "typeString": "int_const 33" + }, + "value": "33" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8124:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8074:66:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13587, + "nodeType": "ExpressionStatement", + "src": "8074:66:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13588, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8150:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13590, + "indexExpression": { + "argumentTypes": null, + "id": 13589, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1537, + "src": "8162:34:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8150:47:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13591, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8200:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13593, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3334", + "id": 13592, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8213:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_34_by_1", + "typeString": "int_const 34" + }, + "value": "34" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8200:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8150:66:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13595, + "nodeType": "ExpressionStatement", + "src": "8150:66:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13596, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8226:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13598, + "indexExpression": { + "argumentTypes": null, + "id": 13597, + "name": "CONFIG_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1477, + "src": "8238:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8226:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13599, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8277:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13601, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3335", + "id": 13600, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8290:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_35_by_1", + "typeString": "int_const 35" + }, + "value": "35" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8277:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8226:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13603, + "nodeType": "ExpressionStatement", + "src": "8226:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13604, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8303:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13606, + "indexExpression": { + "argumentTypes": null, + "id": 13605, + "name": "CONFIG_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1480, + "src": "8315:38:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8303:51:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13607, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8357:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13609, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3336", + "id": 13608, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8370:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_36_by_1", + "typeString": "int_const 36" + }, + "value": "36" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8357:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8303:70:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13611, + "nodeType": "ExpressionStatement", + "src": "8303:70:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13612, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8383:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13614, + "indexExpression": { + "argumentTypes": null, + "id": 13613, + "name": "CONFIG_MODERATOR_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1483, + "src": "8395:38:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8383:51:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13615, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8437:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13617, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3337", + "id": 13616, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8450:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_37_by_1", + "typeString": "int_const 37" + }, + "value": "37" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8437:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8383:70:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13619, + "nodeType": "ExpressionStatement", + "src": "8383:70:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13620, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8463:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13622, + "indexExpression": { + "argumentTypes": null, + "id": 13621, + "name": "CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1486, + "src": "8475:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8463:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13623, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8524:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13625, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3338", + "id": 13624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8537:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_38_by_1", + "typeString": "int_const 38" + }, + "value": "38" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8524:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8463:77:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13627, + "nodeType": "ExpressionStatement", + "src": "8463:77:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13628, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8550:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13630, + "indexExpression": { + "argumentTypes": null, + "id": 13629, + "name": "CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1489, + "src": "8562:48:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8550:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13631, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8614:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13633, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3339", + "id": 13632, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8627:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_39_by_1", + "typeString": "int_const 39" + }, + "value": "39" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8614:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8550:80:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13635, + "nodeType": "ExpressionStatement", + "src": "8550:80:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13636, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8640:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13638, + "indexExpression": { + "argumentTypes": null, + "id": 13637, + "name": "CONFIG_PORTION_TO_MODERATORS_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1549, + "src": "8652:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8640:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13639, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8688:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13641, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3430", + "id": 13640, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8701:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_40_by_1", + "typeString": "int_const 40" + }, + "value": "40" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8688:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8640:64:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13643, + "nodeType": "ExpressionStatement", + "src": "8640:64:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13644, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8714:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13646, + "indexExpression": { + "argumentTypes": null, + "id": 13645, + "name": "CONFIG_PORTION_TO_MODERATORS_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1552, + "src": "8726:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8714:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13647, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8762:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13649, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3431", + "id": 13648, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8775:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_41_by_1", + "typeString": "int_const 41" + }, + "value": "41" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8762:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8714:64:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13651, + "nodeType": "ExpressionStatement", + "src": "8714:64:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13652, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8788:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13654, + "indexExpression": { + "argumentTypes": null, + "id": 13653, + "name": "CONFIG_DRAFT_VOTING_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1555, + "src": "8800:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8788:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13655, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8829:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13657, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3432", + "id": 13656, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8842:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_42_by_1", + "typeString": "int_const 42" + }, + "value": "42" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8829:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8788:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13659, + "nodeType": "ExpressionStatement", + "src": "8788:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13660, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8855:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13662, + "indexExpression": { + "argumentTypes": null, + "id": 13661, + "name": "CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1558, + "src": "8867:39:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8855:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13663, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8910:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13665, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3433", + "id": 13664, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8923:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_43_by_1", + "typeString": "int_const 43" + }, + "value": "43" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8910:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8855:71:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13667, + "nodeType": "ExpressionStatement", + "src": "8855:71:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13668, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "8936:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13670, + "indexExpression": { + "argumentTypes": null, + "id": 13669, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1456, + "src": "8948:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8936:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13671, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "8996:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13673, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3434", + "id": 13672, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9009:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_44_by_1", + "typeString": "int_const 44" + }, + "value": "44" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8996:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8936:76:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13675, + "nodeType": "ExpressionStatement", + "src": "8936:76:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13676, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9022:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13678, + "indexExpression": { + "argumentTypes": null, + "id": 13677, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1459, + "src": "9034:46:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9022:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13679, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9084:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13681, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3435", + "id": 13680, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9097:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_45_by_1", + "typeString": "int_const 45" + }, + "value": "45" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9084:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9022:78:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13683, + "nodeType": "ExpressionStatement", + "src": "9022:78:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13684, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9110:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13686, + "indexExpression": { + "argumentTypes": null, + "id": 13685, + "name": "CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1540, + "src": "9122:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9110:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13687, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9171:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13689, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3436", + "id": 13688, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9184:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_46_by_1", + "typeString": "int_const 46" + }, + "value": "46" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9171:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9110:77:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13691, + "nodeType": "ExpressionStatement", + "src": "9110:77:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13692, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9197:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13694, + "indexExpression": { + "argumentTypes": null, + "id": 13693, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1543, + "src": "9209:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9197:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13695, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9257:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13697, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3437", + "id": 13696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9270:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_47_by_1", + "typeString": "int_const 47" + }, + "value": "47" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9257:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9197:76:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13699, + "nodeType": "ExpressionStatement", + "src": "9197:76:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13700, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9283:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13702, + "indexExpression": { + "argumentTypes": null, + "id": 13701, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1546, + "src": "9295:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9283:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13703, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9343:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13705, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3438", + "id": 13704, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9356:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "48" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9343:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9283:76:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13707, + "nodeType": "ExpressionStatement", + "src": "9283:76:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13708, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9369:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13710, + "indexExpression": { + "argumentTypes": null, + "id": 13709, + "name": "CONFIG_VOTE_CLAIMING_DEADLINE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "9381:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9369:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13711, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9414:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13713, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3439", + "id": 13712, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9427:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_49_by_1", + "typeString": "int_const 49" + }, + "value": "49" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9414:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9369:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13715, + "nodeType": "ExpressionStatement", + "src": "9369:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13716, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9440:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13718, + "indexExpression": { + "argumentTypes": null, + "id": 13717, + "name": "CONFIG_MINIMUM_LOCKED_DGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "9452:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9440:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13719, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9481:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13721, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3530", + "id": 13720, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9494:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + "value": "50" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9481:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9440:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13723, + "nodeType": "ExpressionStatement", + "src": "9440:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13724, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9507:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13726, + "indexExpression": { + "argumentTypes": null, + "id": 13725, + "name": "CONFIG_MINIMUM_DGD_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1408, + "src": "9519:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9507:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13727, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9555:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13729, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3531", + "id": 13728, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9568:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_51_by_1", + "typeString": "int_const 51" + }, + "value": "51" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9555:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9507:64:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13731, + "nodeType": "ExpressionStatement", + "src": "9507:64:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13732, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9581:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13734, + "indexExpression": { + "argumentTypes": null, + "id": 13733, + "name": "CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1411, + "src": "9593:39:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9581:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13735, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9636:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13737, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3532", + "id": 13736, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9649:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_52_by_1", + "typeString": "int_const 52" + }, + "value": "52" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9636:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9581:71:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13739, + "nodeType": "ExpressionStatement", + "src": "9581:71:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13740, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9662:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13742, + "indexExpression": { + "argumentTypes": null, + "id": 13741, + "name": "CONFIG_PREPROPOSAL_COLLATERAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1564, + "src": "9674:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9662:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13743, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9707:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13745, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3533", + "id": 13744, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9720:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_53_by_1", + "typeString": "int_const 53" + }, + "value": "53" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9707:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9662:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13747, + "nodeType": "ExpressionStatement", + "src": "9662:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13748, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9733:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13750, + "indexExpression": { + "argumentTypes": null, + "id": 13749, + "name": "CONFIG_MAX_FUNDING_FOR_NON_DIGIX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1567, + "src": "9745:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9733:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13751, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9781:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13753, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3534", + "id": 13752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9794:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_54_by_1", + "typeString": "int_const 54" + }, + "value": "54" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9781:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9733:64:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13755, + "nodeType": "ExpressionStatement", + "src": "9733:64:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13756, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9807:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13758, + "indexExpression": { + "argumentTypes": null, + "id": 13757, + "name": "CONFIG_MAX_MILESTONES_FOR_NON_DIGIX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1570, + "src": "9819:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9807:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13759, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9858:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13761, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3535", + "id": 13760, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9871:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_55_by_1", + "typeString": "int_const 55" + }, + "value": "55" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9858:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9807:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13763, + "nodeType": "ExpressionStatement", + "src": "9807:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13764, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9884:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13766, + "indexExpression": { + "argumentTypes": null, + "id": 13765, + "name": "CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1573, + "src": "9896:41:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9884:54:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13767, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "9941:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13769, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3536", + "id": 13768, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9954:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_56_by_1", + "typeString": "int_const 56" + }, + "value": "56" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9941:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9884:73:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13771, + "nodeType": "ExpressionStatement", + "src": "9884:73:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13772, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "9967:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13774, + "indexExpression": { + "argumentTypes": null, + "id": 13773, + "name": "CONFIG_PROPOSAL_DEAD_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1576, + "src": "9979:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9967:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13775, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "10012:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13777, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3537", + "id": 13776, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10025:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_57_by_1", + "typeString": "int_const 57" + }, + "value": "57" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10012:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9967:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13779, + "nodeType": "ExpressionStatement", + "src": "9967:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13780, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "10038:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13782, + "indexExpression": { + "argumentTypes": null, + "id": 13781, + "name": "CONFIG_CARBON_VOTE_REPUTATION_BONUS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1579, + "src": "10050:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10038:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13783, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13315, + "src": "10089:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 13785, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3538", + "id": 13784, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10102:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_58_by_1", + "typeString": "int_const 58" + }, + "value": "58" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10089:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10038:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13787, + "nodeType": "ExpressionStatement", + "src": "10038:67:53" + } + ] + }, + "documentation": null, + "id": 13789, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateUintConfigs", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 13316, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13315, + "name": "_uintConfigs", + "nodeType": "VariableDeclaration", + "scope": 13789, + "src": "5279:22:53", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 13313, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5279:7:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13314, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5279:9:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5278:24:53" + }, + "payable": false, + "returnParameters": { + "id": 13317, + "nodeType": "ParameterList", + "parameters": [], + "src": "5324:0:53" + }, + "scope": 14281, + "src": "5252:4860:53", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 14279, + "nodeType": "Block", + "src": "10205:4668:53", + "statements": [ + { + "assignments": [ + 13798 + ], + "declarations": [ + { + "constant": false, + "id": 13798, + "name": "_uintConfigs", + "nodeType": "VariableDeclaration", + "scope": 14280, + "src": "10215:29:53", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 13796, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10215:7:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13797, + "length": null, + "nodeType": "ArrayTypeName", + "src": "10215:9:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 13804, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "3539", + "id": 13802, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10261:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_59_by_1", + "typeString": "int_const 59" + }, + "value": "59" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_59_by_1", + "typeString": "int_const 59" + } + ], + "id": 13801, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "10247:13:53", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 13799, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10251:7:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13800, + "length": null, + "nodeType": "ArrayTypeName", + "src": "10251:9:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 13803, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10247:17:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10215:49:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13805, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "10274:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13807, + "indexExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 13806, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10287:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10274:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13808, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "10292:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13810, + "indexExpression": { + "argumentTypes": null, + "id": 13809, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "10304:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10292:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10274:60:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13812, + "nodeType": "ExpressionStatement", + "src": "10274:60:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13813, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "10344:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13815, + "indexExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 13814, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10357:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10344:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13816, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "10362:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13818, + "indexExpression": { + "argumentTypes": null, + "id": 13817, + "name": "CONFIG_QUARTER_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1417, + "src": "10374:23:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10362:36:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10344:54:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13820, + "nodeType": "ExpressionStatement", + "src": "10344:54:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13821, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "10408:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13823, + "indexExpression": { + "argumentTypes": null, + "hexValue": "32", + "id": 13822, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10421:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10408:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13824, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "10426:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13826, + "indexExpression": { + "argumentTypes": null, + "id": 13825, + "name": "CONFIG_VOTING_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1420, + "src": "10438:26:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10426:39:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10408:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13828, + "nodeType": "ExpressionStatement", + "src": "10408:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13829, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "10475:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13831, + "indexExpression": { + "argumentTypes": null, + "hexValue": "33", + "id": 13830, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10488:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10475:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13832, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "10493:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13834, + "indexExpression": { + "argumentTypes": null, + "id": 13833, + "name": "CONFIG_VOTING_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "10505:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10493:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10475:56:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13836, + "nodeType": "ExpressionStatement", + "src": "10475:56:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13837, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "10541:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13839, + "indexExpression": { + "argumentTypes": null, + "hexValue": "34", + "id": 13838, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10554:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10541:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13840, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "10559:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13842, + "indexExpression": { + "argumentTypes": null, + "id": 13841, + "name": "CONFIG_INTERIM_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1426, + "src": "10571:27:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10559:40:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10541:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13844, + "nodeType": "ExpressionStatement", + "src": "10541:58:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13845, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "10609:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13847, + "indexExpression": { + "argumentTypes": null, + "hexValue": "35", + "id": 13846, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10622:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10609:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13848, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "10627:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13850, + "indexExpression": { + "argumentTypes": null, + "id": 13849, + "name": "CONFIG_INTERIM_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "10639:26:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10627:39:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10609:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13852, + "nodeType": "ExpressionStatement", + "src": "10609:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13853, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "10676:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13855, + "indexExpression": { + "argumentTypes": null, + "hexValue": "36", + "id": 13854, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10689:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_6_by_1", + "typeString": "int_const 6" + }, + "value": "6" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10676:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13856, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "10694:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13858, + "indexExpression": { + "argumentTypes": null, + "id": 13857, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1432, + "src": "10706:43:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10694:56:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10676:74:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13860, + "nodeType": "ExpressionStatement", + "src": "10676:74:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13861, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "10760:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13863, + "indexExpression": { + "argumentTypes": null, + "hexValue": "37", + "id": 13862, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10773:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_7_by_1", + "typeString": "int_const 7" + }, + "value": "7" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10760:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13864, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "10778:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13866, + "indexExpression": { + "argumentTypes": null, + "id": 13865, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1435, + "src": "10790:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10778:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10760:76:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13868, + "nodeType": "ExpressionStatement", + "src": "10760:76:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13869, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "10846:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13871, + "indexExpression": { + "argumentTypes": null, + "hexValue": "38", + "id": 13870, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10859:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10846:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13872, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "10864:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13874, + "indexExpression": { + "argumentTypes": null, + "id": 13873, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1438, + "src": "10876:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10864:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10846:75:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13876, + "nodeType": "ExpressionStatement", + "src": "10846:75:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13877, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "10931:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13879, + "indexExpression": { + "argumentTypes": null, + "hexValue": "39", + "id": 13878, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10944:1:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "9" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10931:15:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13880, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "10949:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13882, + "indexExpression": { + "argumentTypes": null, + "id": 13881, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1441, + "src": "10961:46:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10949:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10931:77:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13884, + "nodeType": "ExpressionStatement", + "src": "10931:77:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13885, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11018:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13887, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 13886, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11031:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11018:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13888, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11037:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13890, + "indexExpression": { + "argumentTypes": null, + "id": 13889, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1444, + "src": "11049:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11037:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11018:76:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13892, + "nodeType": "ExpressionStatement", + "src": "11018:76:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13893, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11104:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13895, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3131", + "id": 13894, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11117:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_11_by_1", + "typeString": "int_const 11" + }, + "value": "11" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11104:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13896, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11123:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13898, + "indexExpression": { + "argumentTypes": null, + "id": 13897, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1447, + "src": "11135:46:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11123:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11104:78:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13900, + "nodeType": "ExpressionStatement", + "src": "11104:78:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13901, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11192:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13903, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3132", + "id": 13902, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11205:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_12_by_1", + "typeString": "int_const 12" + }, + "value": "12" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11192:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13904, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11211:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13906, + "indexExpression": { + "argumentTypes": null, + "id": 13905, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1450, + "src": "11223:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11211:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11192:77:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13908, + "nodeType": "ExpressionStatement", + "src": "11192:77:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13909, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11279:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13911, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3133", + "id": 13910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11292:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_13_by_1", + "typeString": "int_const 13" + }, + "value": "13" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11279:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13912, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11298:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13914, + "indexExpression": { + "argumentTypes": null, + "id": 13913, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1453, + "src": "11310:47:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11298:60:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11279:79:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13916, + "nodeType": "ExpressionStatement", + "src": "11279:79:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13917, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11368:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13919, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3134", + "id": 13918, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11381:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_14_by_1", + "typeString": "int_const 14" + }, + "value": "14" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11368:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13920, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11387:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13922, + "indexExpression": { + "argumentTypes": null, + "id": 13921, + "name": "CONFIG_DRAFT_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1462, + "src": "11399:28:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11387:41:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11368:60:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13924, + "nodeType": "ExpressionStatement", + "src": "11368:60:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13925, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11438:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13927, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3135", + "id": 13926, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11451:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + }, + "value": "15" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11438:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13928, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11457:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13930, + "indexExpression": { + "argumentTypes": null, + "id": 13929, + "name": "CONFIG_DRAFT_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1465, + "src": "11469:30:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11457:43:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11438:62:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13932, + "nodeType": "ExpressionStatement", + "src": "11438:62:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13933, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11510:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13935, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3136", + "id": 13934, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11523:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_16_by_1", + "typeString": "int_const 16" + }, + "value": "16" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11510:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13936, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11529:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13938, + "indexExpression": { + "argumentTypes": null, + "id": 13937, + "name": "CONFIG_VOTING_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1468, + "src": "11541:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11529:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11510:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13940, + "nodeType": "ExpressionStatement", + "src": "11510:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13941, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11581:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13943, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3137", + "id": 13942, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11594:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_17_by_1", + "typeString": "int_const 17" + }, + "value": "17" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11581:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13944, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11600:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13946, + "indexExpression": { + "argumentTypes": null, + "id": 13945, + "name": "CONFIG_VOTING_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1471, + "src": "11612:31:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11600:44:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11581:63:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13948, + "nodeType": "ExpressionStatement", + "src": "11581:63:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13949, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11654:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13951, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3138", + "id": 13950, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11667:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11654:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13952, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11673:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13954, + "indexExpression": { + "argumentTypes": null, + "id": 13953, + "name": "CONFIG_QUARTER_POINT_DRAFT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "11685:31:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11673:44:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11654:63:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13956, + "nodeType": "ExpressionStatement", + "src": "11654:63:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13957, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11727:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13959, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3139", + "id": 13958, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11740:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_19_by_1", + "typeString": "int_const 19" + }, + "value": "19" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11727:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13960, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11746:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13962, + "indexExpression": { + "argumentTypes": null, + "id": 13961, + "name": "CONFIG_QUARTER_POINT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1495, + "src": "11758:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11746:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11727:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13964, + "nodeType": "ExpressionStatement", + "src": "11727:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13965, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11794:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13967, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3230", + "id": 13966, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11807:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11794:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13968, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11813:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13970, + "indexExpression": { + "argumentTypes": null, + "id": 13969, + "name": "CONFIG_QUARTER_POINT_INTERIM_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1498, + "src": "11825:33:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11813:46:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11794:65:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13972, + "nodeType": "ExpressionStatement", + "src": "11794:65:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13973, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11869:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13975, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3231", + "id": 13974, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11882:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_21_by_1", + "typeString": "int_const 21" + }, + "value": "21" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11869:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13976, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11888:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13978, + "indexExpression": { + "argumentTypes": null, + "id": 13977, + "name": "CONFIG_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1474, + "src": "11900:28:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11888:41:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11869:60:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13980, + "nodeType": "ExpressionStatement", + "src": "11869:60:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13981, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "11939:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13983, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3232", + "id": 13982, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11952:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_22_by_1", + "typeString": "int_const 22" + }, + "value": "22" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11939:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13984, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "11958:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13986, + "indexExpression": { + "argumentTypes": null, + "id": 13985, + "name": "CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1501, + "src": "11970:54:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11958:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11939:86:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13988, + "nodeType": "ExpressionStatement", + "src": "11939:86:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 13995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13989, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12035:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13991, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3233", + "id": 13990, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12048:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_23_by_1", + "typeString": "int_const 23" + }, + "value": "23" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12035:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13992, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12054:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 13994, + "indexExpression": { + "argumentTypes": null, + "id": 13993, + "name": "CONFIG_BONUS_REPUTATION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1504, + "src": "12066:33:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12054:46:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12035:65:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13996, + "nodeType": "ExpressionStatement", + "src": "12035:65:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 13997, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12110:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 13999, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3234", + "id": 13998, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12123:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_24_by_1", + "typeString": "int_const 24" + }, + "value": "24" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12110:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14000, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12129:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14002, + "indexExpression": { + "argumentTypes": null, + "id": 14001, + "name": "CONFIG_BONUS_REPUTATION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1507, + "src": "12141:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12129:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12110:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14004, + "nodeType": "ExpressionStatement", + "src": "12110:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14005, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12187:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14007, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3235", + "id": 14006, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12200:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_25_by_1", + "typeString": "int_const 25" + }, + "value": "25" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12187:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14008, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12206:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14010, + "indexExpression": { + "argumentTypes": null, + "id": 14009, + "name": "CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1510, + "src": "12218:36:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12206:49:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12187:68:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14012, + "nodeType": "ExpressionStatement", + "src": "12187:68:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14013, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12265:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14015, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3236", + "id": 14014, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12278:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_26_by_1", + "typeString": "int_const 26" + }, + "value": "26" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12265:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14016, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12284:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14018, + "indexExpression": { + "argumentTypes": null, + "id": 14017, + "name": "CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "12296:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12284:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12265:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14020, + "nodeType": "ExpressionStatement", + "src": "12265:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14021, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12342:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14023, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3237", + "id": 14022, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12355:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_27_by_1", + "typeString": "int_const 27" + }, + "value": "27" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12342:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14024, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12361:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14026, + "indexExpression": { + "argumentTypes": null, + "id": 14025, + "name": "CONFIG_SPECIAL_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1516, + "src": "12373:30:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12361:43:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12342:62:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14028, + "nodeType": "ExpressionStatement", + "src": "12342:62:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14029, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12414:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14031, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3238", + "id": 14030, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12427:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_28_by_1", + "typeString": "int_const 28" + }, + "value": "28" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12414:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14032, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12433:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14034, + "indexExpression": { + "argumentTypes": null, + "id": 14033, + "name": "CONFIG_SPECIAL_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "12445:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12433:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12414:64:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14036, + "nodeType": "ExpressionStatement", + "src": "12414:64:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14037, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12488:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14039, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3239", + "id": 14038, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12501:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_29_by_1", + "typeString": "int_const 29" + }, + "value": "29" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12488:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14040, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12507:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14042, + "indexExpression": { + "argumentTypes": null, + "id": 14041, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1522, + "src": "12519:40:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12507:53:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12488:72:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14044, + "nodeType": "ExpressionStatement", + "src": "12488:72:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14045, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12570:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14047, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3330", + "id": 14046, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12583:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12570:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14048, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12589:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14050, + "indexExpression": { + "argumentTypes": null, + "id": 14049, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1525, + "src": "12601:42:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12589:55:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12570:74:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14052, + "nodeType": "ExpressionStatement", + "src": "12570:74:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14053, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12654:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14055, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3331", + "id": 14054, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12667:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_31_by_1", + "typeString": "int_const 31" + }, + "value": "31" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12654:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14056, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12673:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14058, + "indexExpression": { + "argumentTypes": null, + "id": 14057, + "name": "CONFIG_MAXIMUM_REPUTATION_DEDUCTION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1528, + "src": "12685:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12673:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12654:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14060, + "nodeType": "ExpressionStatement", + "src": "12654:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14061, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12731:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14063, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3332", + "id": 14062, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12744:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12731:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14064, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12750:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14066, + "indexExpression": { + "argumentTypes": null, + "id": 14065, + "name": "CONFIG_PUNISHMENT_FOR_NOT_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1531, + "src": "12762:33:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12750:46:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12731:65:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14068, + "nodeType": "ExpressionStatement", + "src": "12731:65:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14069, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12806:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14071, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3333", + "id": 14070, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12819:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_33_by_1", + "typeString": "int_const 33" + }, + "value": "33" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12806:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14072, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12825:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14074, + "indexExpression": { + "argumentTypes": null, + "id": 14073, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1534, + "src": "12837:34:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12825:47:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12806:66:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14076, + "nodeType": "ExpressionStatement", + "src": "12806:66:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14077, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12882:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14079, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3334", + "id": 14078, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12895:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_34_by_1", + "typeString": "int_const 34" + }, + "value": "34" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12882:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14080, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12901:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14082, + "indexExpression": { + "argumentTypes": null, + "id": 14081, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1537, + "src": "12913:34:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12901:47:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12882:66:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14084, + "nodeType": "ExpressionStatement", + "src": "12882:66:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14085, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "12958:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14087, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3335", + "id": 14086, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12971:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_35_by_1", + "typeString": "int_const 35" + }, + "value": "35" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12958:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14088, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "12977:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14090, + "indexExpression": { + "argumentTypes": null, + "id": 14089, + "name": "CONFIG_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1477, + "src": "12989:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12977:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12958:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14092, + "nodeType": "ExpressionStatement", + "src": "12958:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14093, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13035:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14095, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3336", + "id": 14094, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13048:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_36_by_1", + "typeString": "int_const 36" + }, + "value": "36" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13035:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14096, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13054:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14098, + "indexExpression": { + "argumentTypes": null, + "id": 14097, + "name": "CONFIG_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1480, + "src": "13066:38:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13054:51:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13035:70:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14100, + "nodeType": "ExpressionStatement", + "src": "13035:70:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14101, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13115:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14103, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3337", + "id": 14102, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13128:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_37_by_1", + "typeString": "int_const 37" + }, + "value": "37" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13115:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14104, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13134:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14106, + "indexExpression": { + "argumentTypes": null, + "id": 14105, + "name": "CONFIG_MODERATOR_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1483, + "src": "13146:38:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13134:51:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13115:70:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14108, + "nodeType": "ExpressionStatement", + "src": "13115:70:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14109, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13195:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14111, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3338", + "id": 14110, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13208:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_38_by_1", + "typeString": "int_const 38" + }, + "value": "38" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13195:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14112, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13214:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14114, + "indexExpression": { + "argumentTypes": null, + "id": 14113, + "name": "CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1486, + "src": "13226:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13214:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13195:77:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14116, + "nodeType": "ExpressionStatement", + "src": "13195:77:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14117, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13282:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14119, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3339", + "id": 14118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13295:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_39_by_1", + "typeString": "int_const 39" + }, + "value": "39" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13282:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14120, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13301:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14122, + "indexExpression": { + "argumentTypes": null, + "id": 14121, + "name": "CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1489, + "src": "13313:48:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13301:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13282:80:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14124, + "nodeType": "ExpressionStatement", + "src": "13282:80:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14125, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13372:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14127, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3430", + "id": 14126, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13385:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_40_by_1", + "typeString": "int_const 40" + }, + "value": "40" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13372:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14128, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13391:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14130, + "indexExpression": { + "argumentTypes": null, + "id": 14129, + "name": "CONFIG_PORTION_TO_MODERATORS_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1549, + "src": "13403:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13391:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13372:64:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14132, + "nodeType": "ExpressionStatement", + "src": "13372:64:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14133, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13446:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14135, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3431", + "id": 14134, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13459:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_41_by_1", + "typeString": "int_const 41" + }, + "value": "41" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13446:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14136, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13465:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14138, + "indexExpression": { + "argumentTypes": null, + "id": 14137, + "name": "CONFIG_PORTION_TO_MODERATORS_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1552, + "src": "13477:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13465:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13446:64:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14140, + "nodeType": "ExpressionStatement", + "src": "13446:64:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14141, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13520:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14143, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3432", + "id": 14142, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13533:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_42_by_1", + "typeString": "int_const 42" + }, + "value": "42" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13520:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14144, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13539:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14146, + "indexExpression": { + "argumentTypes": null, + "id": 14145, + "name": "CONFIG_DRAFT_VOTING_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1555, + "src": "13551:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13539:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13520:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14148, + "nodeType": "ExpressionStatement", + "src": "13520:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14149, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13587:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14151, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3433", + "id": 14150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13600:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_43_by_1", + "typeString": "int_const 43" + }, + "value": "43" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13587:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14152, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13606:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14154, + "indexExpression": { + "argumentTypes": null, + "id": 14153, + "name": "CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1558, + "src": "13618:39:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13606:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13587:71:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14156, + "nodeType": "ExpressionStatement", + "src": "13587:71:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14157, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13668:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14159, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3434", + "id": 14158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13681:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_44_by_1", + "typeString": "int_const 44" + }, + "value": "44" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13668:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14160, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13687:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14162, + "indexExpression": { + "argumentTypes": null, + "id": 14161, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1456, + "src": "13699:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13687:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13668:76:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14164, + "nodeType": "ExpressionStatement", + "src": "13668:76:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14165, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13754:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14167, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3435", + "id": 14166, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13767:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_45_by_1", + "typeString": "int_const 45" + }, + "value": "45" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13754:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14168, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13773:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14170, + "indexExpression": { + "argumentTypes": null, + "id": 14169, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1459, + "src": "13785:46:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13773:59:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13754:78:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14172, + "nodeType": "ExpressionStatement", + "src": "13754:78:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14173, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13842:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14175, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3436", + "id": 14174, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13855:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_46_by_1", + "typeString": "int_const 46" + }, + "value": "46" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13842:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14176, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13861:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14178, + "indexExpression": { + "argumentTypes": null, + "id": 14177, + "name": "CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1540, + "src": "13873:45:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13861:58:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13842:77:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14180, + "nodeType": "ExpressionStatement", + "src": "13842:77:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14181, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "13929:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14183, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3437", + "id": 14182, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13942:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_47_by_1", + "typeString": "int_const 47" + }, + "value": "47" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13929:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14184, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "13948:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14186, + "indexExpression": { + "argumentTypes": null, + "id": 14185, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1543, + "src": "13960:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13948:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13929:76:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14188, + "nodeType": "ExpressionStatement", + "src": "13929:76:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14189, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14015:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14191, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3438", + "id": 14190, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14028:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "48" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14015:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14192, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "14034:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14194, + "indexExpression": { + "argumentTypes": null, + "id": 14193, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1546, + "src": "14046:44:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14034:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14015:76:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14196, + "nodeType": "ExpressionStatement", + "src": "14015:76:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14197, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14101:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14199, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3439", + "id": 14198, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14114:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_49_by_1", + "typeString": "int_const 49" + }, + "value": "49" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14101:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14200, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "14120:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14202, + "indexExpression": { + "argumentTypes": null, + "id": 14201, + "name": "CONFIG_VOTE_CLAIMING_DEADLINE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "14132:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14120:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14101:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14204, + "nodeType": "ExpressionStatement", + "src": "14101:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14205, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14172:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14207, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3530", + "id": 14206, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14185:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + "value": "50" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14172:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14208, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "14191:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14210, + "indexExpression": { + "argumentTypes": null, + "id": 14209, + "name": "CONFIG_MINIMUM_LOCKED_DGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "14203:25:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14191:38:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14172:57:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14212, + "nodeType": "ExpressionStatement", + "src": "14172:57:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14213, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14239:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14215, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3531", + "id": 14214, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14252:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_51_by_1", + "typeString": "int_const 51" + }, + "value": "51" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14239:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14216, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "14258:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14218, + "indexExpression": { + "argumentTypes": null, + "id": 14217, + "name": "CONFIG_MINIMUM_DGD_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1408, + "src": "14270:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14258:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14239:64:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14220, + "nodeType": "ExpressionStatement", + "src": "14239:64:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14221, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14313:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14223, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3532", + "id": 14222, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14326:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_52_by_1", + "typeString": "int_const 52" + }, + "value": "52" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14313:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14224, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "14332:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14226, + "indexExpression": { + "argumentTypes": null, + "id": 14225, + "name": "CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1411, + "src": "14344:39:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14332:52:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14313:71:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14228, + "nodeType": "ExpressionStatement", + "src": "14313:71:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14229, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14394:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14231, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3533", + "id": 14230, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14407:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_53_by_1", + "typeString": "int_const 53" + }, + "value": "53" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14394:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14232, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "14413:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14234, + "indexExpression": { + "argumentTypes": null, + "id": 14233, + "name": "CONFIG_PREPROPOSAL_COLLATERAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1564, + "src": "14425:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14413:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14394:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14236, + "nodeType": "ExpressionStatement", + "src": "14394:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14237, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14465:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14239, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3534", + "id": 14238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14478:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_54_by_1", + "typeString": "int_const 54" + }, + "value": "54" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14465:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14240, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "14484:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14242, + "indexExpression": { + "argumentTypes": null, + "id": 14241, + "name": "CONFIG_MAX_FUNDING_FOR_NON_DIGIX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1567, + "src": "14496:32:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14484:45:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14465:64:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14244, + "nodeType": "ExpressionStatement", + "src": "14465:64:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14245, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14539:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14247, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3535", + "id": 14246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14552:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_55_by_1", + "typeString": "int_const 55" + }, + "value": "55" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14539:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14248, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "14558:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14250, + "indexExpression": { + "argumentTypes": null, + "id": 14249, + "name": "CONFIG_MAX_MILESTONES_FOR_NON_DIGIX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1570, + "src": "14570:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14558:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14539:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14252, + "nodeType": "ExpressionStatement", + "src": "14539:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14253, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14616:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14255, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3536", + "id": 14254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14629:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_56_by_1", + "typeString": "int_const 56" + }, + "value": "56" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14616:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14256, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "14635:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14258, + "indexExpression": { + "argumentTypes": null, + "id": 14257, + "name": "CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1573, + "src": "14647:41:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14635:54:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14616:73:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14260, + "nodeType": "ExpressionStatement", + "src": "14616:73:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14261, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14699:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14263, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3537", + "id": 14262, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14712:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_57_by_1", + "typeString": "int_const 57" + }, + "value": "57" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14699:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14264, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "14718:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14266, + "indexExpression": { + "argumentTypes": null, + "id": 14265, + "name": "CONFIG_PROPOSAL_DEAD_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1576, + "src": "14730:29:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14718:42:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14699:61:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14268, + "nodeType": "ExpressionStatement", + "src": "14699:61:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14269, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14770:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 14271, + "indexExpression": { + "argumentTypes": null, + "hexValue": "3538", + "id": 14270, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14783:2:53", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_58_by_1", + "typeString": "int_const 58" + }, + "value": "58" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14770:16:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14272, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "14789:11:53", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 14274, + "indexExpression": { + "argumentTypes": null, + "id": 14273, + "name": "CONFIG_CARBON_VOTE_REPUTATION_BONUS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1579, + "src": "14801:35:53", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14789:48:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14770:67:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14276, + "nodeType": "ExpressionStatement", + "src": "14770:67:53" + }, + { + "expression": { + "argumentTypes": null, + "id": 14277, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13798, + "src": "14854:12:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "functionReturnParameters": 13794, + "id": 14278, + "nodeType": "Return", + "src": "14847:19:53" + } + ] + }, + "documentation": null, + "id": 14280, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readUintConfigs", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 13790, + "nodeType": "ParameterList", + "parameters": [], + "src": "10142:2:53" + }, + "payable": false, + "returnParameters": { + "id": 13794, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 13793, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 14280, + "src": "10190:9:53", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 13791, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10190:7:53", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 13792, + "length": null, + "nodeType": "ArrayTypeName", + "src": "10190:9:53", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10189:11:53" + }, + "scope": 14281, + "src": "10118:4755:53", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 14282, + "src": "129:14746:53" + } + ], + "src": "0:14876:53" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0x061500780201d90c6bd814ccf01bf89613c61781", + "transactionHash": "0xe437c9f3cfbe4588e54721a5b2a30906a0793c6584378a2c7b3c4011a90257e3" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T09:09:53.902Z" +} \ No newline at end of file diff --git a/build/contracts/DaoConstants.json b/build/contracts/DaoConstants.json new file mode 100644 index 0000000..c26bad8 --- /dev/null +++ b/build/contracts/DaoConstants.json @@ -0,0 +1,9959 @@ +{ + "contractName": "DaoConstants", + "abi": [], + "bytecode": "0x608060405260006001026000906000191690556000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006002906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006003906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006004906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006005906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600790600019169055600160085560026009556003600a556001600b556002600c556003600d557f696e7465725f6467645f69640000000000000000000000000000000000000000600e906000191690557f696e7465725f6d6f645f6467645f696400000000000000000000000000000000600f906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006010906000191690557f64616f00000000000000000000000000000000000000000000000000000000006011906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006012906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006013906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006014906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006015906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006016906000191690557f64616f3a6964656e7469747900000000000000000000000000000000000000006017906000191690557f64616f3a726577617264732d6d616e61676572000000000000000000000000006018906000191690557f64616f3a726577617264732d65787472617300000000000000000000000000006019906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601a906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601c906000191690557f64616f3a696e666f726d6174696f6e0000000000000000000000000000000000601d906000191690557f736572766963653a726f6c650000000000000000000000000000000000000000601e906000191690557f736572766963653a64616f3a696e666f00000000000000000000000000000000601f906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006020906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006021906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006022906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006023906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006024906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006025906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006026906000191690557f73746f726167653a64616f3a7370656369616c000000000000000000000000006027906000191690557f73746f726167653a64616f3a636f6e66696700000000000000000000000000006028906000191690557f73746f726167653a64616f3a7374616b650000000000000000000000000000006029906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602a906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602b906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602c906000191690557f743a646764000000000000000000000000000000000000000000000000000000602d906000191690557f743a646778000000000000000000000000000000000000000000000000000000602e906000191690557f743a626164676500000000000000000000000000000000000000000000000000602f906000191690556001603060006101000a81548160ff021916908360ff1602179055506002603060016101000a81548160ff021916908360ff1602179055506003603060026101000a81548160ff021916908360ff1602179055506004603060036101000a81548160ff021916908360ff1602179055506276a7006031557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006032906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006033906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006034906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006035906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006036906000191690557f766f74696e675f636f6d6d69745f7068617365000000000000000000000000006037906000191690557f766f74696e675f70686173655f746f74616c00000000000000000000000000006038906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f706861736500000000006039906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603a906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603b906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603c906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f720000603d906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f72603e906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f720000000000603f906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006040906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006041906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006042906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006043906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726044906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006045906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006046906000191690557f766f74696e675f71756f74615f6e756d657261746f72000000000000000000006047906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f7200000000000000006048906000191690557f6d696e696d616c5f7170000000000000000000000000000000000000000000006049906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604a906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604b906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604c906000191690557f6d6f645f71705f7363616c696e675f666163746f720000000000000000000000604d906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f7200000000604e906000191690557f717561727465725f706f696e745f64726166745f766f74650000000000000000604f906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006050906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006051906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006052906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006053906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006054906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006055906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006056906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f7200006057906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f726058906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f7200000000000000006059906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605a906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605b906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605c906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d0000000000605d906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e0000000000605e906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e00000000000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006061906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006062906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006063906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006064906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006065906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006066906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c0000006067906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e446967697800000000006068906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e446967697800006069906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606a906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606b906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606c9060001916905534801561113357600080fd5b506035806111426000396000f3006080604052600080fd00a165627a7a72305820fc34bd37c15a2176756946cf5ac1a53e86694f697ac167307c0cde98686b0f010029", + "deployedBytecode": "0x6080604052600080fd00a165627a7a72305820fc34bd37c15a2176756946cf5ac1a53e86694f697ac167307c0cde98686b0f010029", + "sourceMap": "87:7858:3:-;;;177:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;87:7858;8:9:-1;5:2;;;30:1;27;20:12;5:2;87:7858:3;;;;;;;", + "deployedSourceMap": "87:7858:3:-;;;;;", + "source": "pragma solidity ^0.4.25;\n\nimport 'openzeppelin-solidity/contracts/math/SafeMath.sol';\n\ncontract DaoConstants {\n using SafeMath for uint256;\n bytes32 EMPTY_BYTES = bytes32(0x0);\n address EMPTY_ADDRESS = address(0x0);\n\n\n bytes32 PROPOSAL_STATE_PREPROPOSAL = \"proposal_state_preproposal\";\n bytes32 PROPOSAL_STATE_DRAFT = \"proposal_state_draft\";\n bytes32 PROPOSAL_STATE_MODERATED = \"proposal_state_moderated\";\n bytes32 PROPOSAL_STATE_ONGOING = \"proposal_state_ongoing\";\n bytes32 PROPOSAL_STATE_CLOSED = \"proposal_state_closed\";\n bytes32 PROPOSAL_STATE_ARCHIVED = \"proposal_state_archived\";\n\n uint256 PRL_ACTION_STOP = 1;\n uint256 PRL_ACTION_PAUSE = 2;\n uint256 PRL_ACTION_UNPAUSE = 3;\n\n uint256 COLLATERAL_STATUS_UNLOCKED = 1;\n uint256 COLLATERAL_STATUS_LOCKED = 2;\n uint256 COLLATERAL_STATUS_CLAIMED = 3;\n\n bytes32 INTERMEDIATE_DGD_IDENTIFIER = \"inter_dgd_id\";\n bytes32 INTERMEDIATE_MODERATOR_DGD_IDENTIFIER = \"inter_mod_dgd_id\";\n bytes32 INTERMEDIATE_BONUS_CALCULATION_IDENTIFIER = \"inter_bonus_calculation_id\";\n\n // interactive contracts\n bytes32 CONTRACT_DAO = \"dao\";\n bytes32 CONTRACT_DAO_SPECIAL_PROPOSAL = \"dao:special:proposal\";\n bytes32 CONTRACT_DAO_STAKE_LOCKING = \"dao:stake-locking\";\n bytes32 CONTRACT_DAO_VOTING = \"dao:voting\";\n bytes32 CONTRACT_DAO_VOTING_CLAIMS = \"dao:voting:claims\";\n bytes32 CONTRACT_DAO_SPECIAL_VOTING_CLAIMS = \"dao:svoting:claims\";\n bytes32 CONTRACT_DAO_IDENTITY = \"dao:identity\";\n bytes32 CONTRACT_DAO_REWARDS_MANAGER = \"dao:rewards-manager\";\n bytes32 CONTRACT_DAO_REWARDS_MANAGER_EXTRAS = \"dao:rewards-extras\";\n bytes32 CONTRACT_DAO_ROLES = \"dao:roles\";\n bytes32 CONTRACT_DAO_FUNDING_MANAGER = \"dao:funding-manager\";\n bytes32 CONTRACT_DAO_WHITELISTING = \"dao:whitelisting\";\n bytes32 CONTRACT_DAO_INFORMATION = \"dao:information\";\n\n // service contracts\n bytes32 CONTRACT_SERVICE_ROLE = \"service:role\";\n bytes32 CONTRACT_SERVICE_DAO_INFO = \"service:dao:info\";\n bytes32 CONTRACT_SERVICE_DAO_LISTING = \"service:dao:listing\";\n bytes32 CONTRACT_SERVICE_DAO_CALCULATOR = \"service:dao:calculator\";\n\n // storage contracts\n bytes32 CONTRACT_STORAGE_DAO = \"storage:dao\";\n bytes32 CONTRACT_STORAGE_DAO_COUNTER = \"storage:dao:counter\";\n bytes32 CONTRACT_STORAGE_DAO_UPGRADE = \"storage:dao:upgrade\";\n bytes32 CONTRACT_STORAGE_DAO_IDENTITY = \"storage:dao:identity\";\n bytes32 CONTRACT_STORAGE_DAO_POINTS = \"storage:dao:points\";\n bytes32 CONTRACT_STORAGE_DAO_SPECIAL = \"storage:dao:special\";\n bytes32 CONTRACT_STORAGE_DAO_CONFIG = \"storage:dao:config\";\n bytes32 CONTRACT_STORAGE_DAO_STAKE = \"storage:dao:stake\";\n bytes32 CONTRACT_STORAGE_DAO_REWARDS = \"storage:dao:rewards\";\n bytes32 CONTRACT_STORAGE_DAO_WHITELISTING = \"storage:dao:whitelisting\";\n bytes32 CONTRACT_STORAGE_INTERMEDIATE_RESULTS = \"storage:intermediate:results\";\n\n bytes32 CONTRACT_DGD_TOKEN = \"t:dgd\";\n bytes32 CONTRACT_DGX_TOKEN = \"t:dgx\";\n bytes32 CONTRACT_BADGE_TOKEN = \"t:badge\";\n\n uint8 ROLES_ROOT = 1;\n uint8 ROLES_FOUNDERS = 2;\n uint8 ROLES_PRLS = 3;\n uint8 ROLES_KYC_ADMINS = 4;\n\n uint256 QUARTER_DURATION = 90 days;\n\n bytes32 CONFIG_MINIMUM_LOCKED_DGD = \"min_dgd_participant\";\n bytes32 CONFIG_MINIMUM_DGD_FOR_MODERATOR = \"min_dgd_moderator\";\n bytes32 CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR = \"min_reputation_moderator\";\n\n bytes32 CONFIG_LOCKING_PHASE_DURATION = \"locking_phase_duration\";\n bytes32 CONFIG_QUARTER_DURATION = \"quarter_duration\";\n bytes32 CONFIG_VOTING_COMMIT_PHASE = \"voting_commit_phase\";\n bytes32 CONFIG_VOTING_PHASE_TOTAL = \"voting_phase_total\";\n bytes32 CONFIG_INTERIM_COMMIT_PHASE = \"interim_voting_commit_phase\";\n bytes32 CONFIG_INTERIM_PHASE_TOTAL = \"interim_voting_phase_total\";\n\n bytes32 CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR = \"draft_quorum_fixed_numerator\";\n bytes32 CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR = \"draft_quorum_fixed_denominator\";\n bytes32 CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR = \"draft_quorum_sfactor_numerator\";\n bytes32 CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR = \"draft_quorum_sfactor_denominator\";\n bytes32 CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR = \"vote_quorum_fixed_numerator\";\n bytes32 CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR = \"vote_quorum_fixed_denominator\";\n bytes32 CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR = \"vote_quorum_sfactor_numerator\";\n bytes32 CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR = \"vote_quorum_sfactor_denominator\";\n bytes32 CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR = \"final_reward_sfactor_numerator\";\n bytes32 CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR = \"final_reward_sfactor_denominator\";\n\n bytes32 CONFIG_DRAFT_QUOTA_NUMERATOR = \"draft_quota_numerator\";\n bytes32 CONFIG_DRAFT_QUOTA_DENOMINATOR = \"draft_quota_denominator\";\n bytes32 CONFIG_VOTING_QUOTA_NUMERATOR = \"voting_quota_numerator\";\n bytes32 CONFIG_VOTING_QUOTA_DENOMINATOR = \"voting_quota_denominator\";\n\n bytes32 CONFIG_MINIMAL_QUARTER_POINT = \"minimal_qp\";\n bytes32 CONFIG_QUARTER_POINT_SCALING_FACTOR = \"quarter_point_scaling_factor\";\n bytes32 CONFIG_REPUTATION_POINT_SCALING_FACTOR = \"rep_point_scaling_factor\";\n\n bytes32 CONFIG_MODERATOR_MINIMAL_QUARTER_POINT = \"minimal_mod_qp\";\n bytes32 CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR = \"mod_qp_scaling_factor\";\n bytes32 CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR = \"mod_rep_point_scaling_factor\";\n\n bytes32 CONFIG_QUARTER_POINT_DRAFT_VOTE = \"quarter_point_draft_vote\";\n bytes32 CONFIG_QUARTER_POINT_VOTE = \"quarter_point_vote\";\n bytes32 CONFIG_QUARTER_POINT_INTERIM_VOTE = \"quarter_point_interim_vote\";\n\n /// this is per 10000 ETHs\n bytes32 CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH = \"q_p_milestone_completion\";\n\n bytes32 CONFIG_BONUS_REPUTATION_NUMERATOR = \"bonus_reputation_numerator\";\n bytes32 CONFIG_BONUS_REPUTATION_DENOMINATOR = \"bonus_reputation_denominator\";\n\n bytes32 CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE = \"special_proposal_commit_phase\";\n bytes32 CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL = \"special_proposal_phase_total\";\n\n bytes32 CONFIG_SPECIAL_QUOTA_NUMERATOR = \"config_special_quota_numerator\";\n bytes32 CONFIG_SPECIAL_QUOTA_DENOMINATOR = \"config_special_quota_denominator\";\n\n bytes32 CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR = \"special_quorum_numerator\";\n bytes32 CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR = \"special_quorum_denominator\";\n\n bytes32 CONFIG_MAXIMUM_REPUTATION_DEDUCTION = \"config_max_reputation_deduction\";\n bytes32 CONFIG_PUNISHMENT_FOR_NOT_LOCKING = \"config_punishment_not_locking\";\n\n bytes32 CONFIG_REPUTATION_PER_EXTRA_QP_NUM = \"config_rep_per_extra_qp_num\";\n bytes32 CONFIG_REPUTATION_PER_EXTRA_QP_DEN = \"config_rep_per_extra_qp_den\";\n\n bytes32 CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION = \"config_max_m_rp_deduction\";\n bytes32 CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM = \"config_rep_per_extra_m_qp_num\";\n bytes32 CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN = \"config_rep_per_extra_m_qp_den\";\n\n bytes32 CONFIG_PORTION_TO_MODERATORS_NUM = \"config_mod_portion_num\";\n bytes32 CONFIG_PORTION_TO_MODERATORS_DEN = \"config_mod_portion_den\";\n\n bytes32 CONFIG_DRAFT_VOTING_PHASE = \"config_draft_voting_phase\";\n\n bytes32 CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE = \"config_rp_boost_per_badge\";\n\n bytes32 CONFIG_VOTE_CLAIMING_DEADLINE = \"config_claiming_deadline\";\n\n bytes32 CONFIG_PREPROPOSAL_COLLATERAL = \"config_preproposal_collateral\";\n\n bytes32 CONFIG_MAX_FUNDING_FOR_NON_DIGIX = \"config_max_funding_nonDigix\";\n bytes32 CONFIG_MAX_MILESTONES_FOR_NON_DIGIX = \"config_max_milestones_nonDigix\";\n bytes32 CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER = \"config_nonDigix_proposal_cap\";\n\n bytes32 CONFIG_PROPOSAL_DEAD_DURATION = \"config_dead_duration\";\n bytes32 CONFIG_CARBON_VOTE_REPUTATION_BONUS = \"config_cv_reputation\";\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "exportedSymbols": { + "DaoConstants": [ + 1580 + ] + }, + "id": 1581, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1235, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:3" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", + "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", + "id": 1236, + "nodeType": "ImportDirective", + "scope": 1581, + "sourceUnit": 26042, + "src": "26:59:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1580, + "linearizedBaseContracts": [ + 1580 + ], + "name": "DaoConstants", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 1239, + "libraryName": { + "contractScope": null, + "id": 1237, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 26041, + "src": "121:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$26041", + "typeString": "library SafeMath" + } + }, + "nodeType": "UsingForDirective", + "src": "115:27:3", + "typeName": { + "id": 1238, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "134:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 1244, + "name": "EMPTY_BYTES", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "147:34:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1240, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "147:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1242, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "177:3:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1241, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "169:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 1243, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "169:12:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1249, + "name": "EMPTY_ADDRESS", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "187:36:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1245, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "187:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "219:3:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "211:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1248, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "211:12:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1252, + "name": "PROPOSAL_STATE_PREPROPOSAL", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "231:65:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1250, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "231:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "70726f706f73616c5f73746174655f70726570726f706f73616c", + "id": 1251, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "268:28:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_afe08d8aefb48d1fb716691a4f77c21b7df717e9895b6697514e8478ca3615bc", + "typeString": "literal_string \"proposal_state_preproposal\"" + }, + "value": "proposal_state_preproposal" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1255, + "name": "PROPOSAL_STATE_DRAFT", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "302:53:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1253, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "302:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "70726f706f73616c5f73746174655f6472616674", + "id": 1254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "333:22:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2130260ba40985c25474e88ca8fe5baeaf3053fc75635466b650b9da3caccf85", + "typeString": "literal_string \"proposal_state_draft\"" + }, + "value": "proposal_state_draft" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1258, + "name": "PROPOSAL_STATE_MODERATED", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "361:61:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1256, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "361:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "70726f706f73616c5f73746174655f6d6f64657261746564", + "id": 1257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "396:26:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0fcdafeb83996400813cd745d9c590050c6d306c1842d2f3cf4c151446555424", + "typeString": "literal_string \"proposal_state_moderated\"" + }, + "value": "proposal_state_moderated" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1261, + "name": "PROPOSAL_STATE_ONGOING", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "428:57:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1259, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "428:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "70726f706f73616c5f73746174655f6f6e676f696e67", + "id": 1260, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "461:24:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6d93e209bad01aa9192717f06271df33a8c8c65d832937b513abca93c993e692", + "typeString": "literal_string \"proposal_state_ongoing\"" + }, + "value": "proposal_state_ongoing" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1264, + "name": "PROPOSAL_STATE_CLOSED", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "491:55:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1262, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "491:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "70726f706f73616c5f73746174655f636c6f736564", + "id": 1263, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "523:23:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_79584081fd6cba6c38af3bcc866017fc59e667a62fa86354a6cb731098f72ec5", + "typeString": "literal_string \"proposal_state_closed\"" + }, + "value": "proposal_state_closed" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1267, + "name": "PROPOSAL_STATE_ARCHIVED", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "552:59:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1265, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "552:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "70726f706f73616c5f73746174655f6172636869766564", + "id": 1266, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "586:25:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9b9a29fa401e7daaa508138398d12fb0219b17c4c014f3ee71d9fdd45be4d79b", + "typeString": "literal_string \"proposal_state_archived\"" + }, + "value": "proposal_state_archived" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1270, + "name": "PRL_ACTION_STOP", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "618:27:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "618:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31", + "id": 1269, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "644:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1273, + "name": "PRL_ACTION_PAUSE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "651:28:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1271, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "651:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "32", + "id": 1272, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "678:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1276, + "name": "PRL_ACTION_UNPAUSE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "685:30:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1274, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "685:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "33", + "id": 1275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "714:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1279, + "name": "COLLATERAL_STATUS_UNLOCKED", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "722:38:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1277, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "722:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31", + "id": 1278, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "759:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1282, + "name": "COLLATERAL_STATUS_LOCKED", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "766:36:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1280, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "766:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "32", + "id": 1281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "801:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1285, + "name": "COLLATERAL_STATUS_CLAIMED", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "808:37:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1283, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "808:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "33", + "id": 1284, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "844:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1288, + "name": "INTERMEDIATE_DGD_IDENTIFIER", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "852:52:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1286, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "852:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "696e7465725f6467645f6964", + "id": 1287, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "890:14:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fc532bff4fe73a0f6fe5fbda66a9b8f944d5899317686aaa90f4e647b89b708a", + "typeString": "literal_string \"inter_dgd_id\"" + }, + "value": "inter_dgd_id" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1291, + "name": "INTERMEDIATE_MODERATOR_DGD_IDENTIFIER", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "910:66:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1289, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "910:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "696e7465725f6d6f645f6467645f6964", + "id": 1290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "958:18:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_af86ae1fccd3c238cadd723bd15e2e5eb40afcabb7257792d6d277acdf97961e", + "typeString": "literal_string \"inter_mod_dgd_id\"" + }, + "value": "inter_mod_dgd_id" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1294, + "name": "INTERMEDIATE_BONUS_CALCULATION_IDENTIFIER", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "982:80:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1292, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "982:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "696e7465725f626f6e75735f63616c63756c6174696f6e5f6964", + "id": 1293, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1034:28:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_300b4efce4aa9c40789a31c8c0de84eb48e930f4a1b3fec4f9f159400317d632", + "typeString": "literal_string \"inter_bonus_calculation_id\"" + }, + "value": "inter_bonus_calculation_id" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1297, + "name": "CONTRACT_DAO", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1098:28:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1295, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1098:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f", + "id": 1296, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1121:5:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8510acf858a6208b10ca6a42b601609d333cd69cb8f62bc06998b9ca193225be", + "typeString": "literal_string \"dao\"" + }, + "value": "dao" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1300, + "name": "CONTRACT_DAO_SPECIAL_PROPOSAL", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1132:62:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1298, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1132:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a7370656369616c3a70726f706f73616c", + "id": 1299, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1172:22:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1ea821ffc3fc36d010ad070f7217063f3a6c69ce72e56c12c306f56af6c5d0b5", + "typeString": "literal_string \"dao:special:proposal\"" + }, + "value": "dao:special:proposal" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1303, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1200:56:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1301, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1200:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a7374616b652d6c6f636b696e67", + "id": 1302, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1237:19:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_eb3872418daecb5f328b35b2b8c51f7f62aaa67729ca13175ba054930cc0fb57", + "typeString": "literal_string \"dao:stake-locking\"" + }, + "value": "dao:stake-locking" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1306, + "name": "CONTRACT_DAO_VOTING", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1262:42:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1304, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1262:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a766f74696e67", + "id": 1305, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1292:12:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_32dc68bd015481633bcdfd0785cca1cfac2f2bdb95bae491f137e1ab8757d18f", + "typeString": "literal_string \"dao:voting\"" + }, + "value": "dao:voting" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1309, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1310:56:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1307, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1310:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a766f74696e673a636c61696d73", + "id": 1308, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1347:19:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a12050918452aeed27e06d1c3e19f05d8c7965beafc660e3f22fb3c9722ed26b", + "typeString": "literal_string \"dao:voting:claims\"" + }, + "value": "dao:voting:claims" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1312, + "name": "CONTRACT_DAO_SPECIAL_VOTING_CLAIMS", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1372:65:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1310, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1372:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a73766f74696e673a636c61696d73", + "id": 1311, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1417:20:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_818d2b120253ab3e1546bd5da5c13dd4b027201da64406cb85bbe378e166a345", + "typeString": "literal_string \"dao:svoting:claims\"" + }, + "value": "dao:svoting:claims" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1315, + "name": "CONTRACT_DAO_IDENTITY", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1443:46:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1313, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1443:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a6964656e74697479", + "id": 1314, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1475:14:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c378f46a26961b67fc250f26b816afaad55655d7f2455a62c986992f2dd11e77", + "typeString": "literal_string \"dao:identity\"" + }, + "value": "dao:identity" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1318, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1495:60:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1316, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1495:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a726577617264732d6d616e61676572", + "id": 1317, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1534:21:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_726f603d3d993bef32544b5f0735ffdf25d79534601199d6721f21b65f3e4179", + "typeString": "literal_string \"dao:rewards-manager\"" + }, + "value": "dao:rewards-manager" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1321, + "name": "CONTRACT_DAO_REWARDS_MANAGER_EXTRAS", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1561:66:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1319, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1561:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a726577617264732d657874726173", + "id": 1320, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1607:20:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4b2a649f23ccf7cf1dc18a436403cbcb7c05f47a1ee456624255365d8b009ce9", + "typeString": "literal_string \"dao:rewards-extras\"" + }, + "value": "dao:rewards-extras" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1324, + "name": "CONTRACT_DAO_ROLES", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1633:40:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1322, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1633:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a726f6c6573", + "id": 1323, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1662:11:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_88d02d46019137ff84dc5d3a6d52fb63aae39549ac2900b8db155e58d6c42150", + "typeString": "literal_string \"dao:roles\"" + }, + "value": "dao:roles" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1327, + "name": "CONTRACT_DAO_FUNDING_MANAGER", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1679:60:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1325, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1679:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a66756e64696e672d6d616e61676572", + "id": 1326, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1718:21:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2a1e14c2e401435c96ff45ed5eb4ddda787e7c447d4e1a35ac3fb6af10a52ba2", + "typeString": "literal_string \"dao:funding-manager\"" + }, + "value": "dao:funding-manager" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1330, + "name": "CONTRACT_DAO_WHITELISTING", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1745:54:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1328, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1745:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a77686974656c697374696e67", + "id": 1329, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1781:18:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4a4e5fb27076f094cd156bacb612d2f2584dd8bcd018cd6c3d951de1da94f90f", + "typeString": "literal_string \"dao:whitelisting\"" + }, + "value": "dao:whitelisting" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1333, + "name": "CONTRACT_DAO_INFORMATION", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1805:52:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1331, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1805:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a696e666f726d6174696f6e", + "id": 1332, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1840:17:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9df3283915ab0e4066f88f4752d7a563bd273262253a25d2f7da67d71c27afd8", + "typeString": "literal_string \"dao:information\"" + }, + "value": "dao:information" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1336, + "name": "CONTRACT_SERVICE_ROLE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1889:46:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1334, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1889:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "736572766963653a726f6c65", + "id": 1335, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1921:14:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cd862a502aaf3826a29967a9b950b8c0e0beb048905313255accdf43756913d1", + "typeString": "literal_string \"service:role\"" + }, + "value": "service:role" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1339, + "name": "CONTRACT_SERVICE_DAO_INFO", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1941:54:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1337, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1941:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "736572766963653a64616f3a696e666f", + "id": 1338, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1977:18:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d4c9c03f4c2efdc6d710de922d2cec0711e8040a304e817fde53ac5833848c04", + "typeString": "literal_string \"service:dao:info\"" + }, + "value": "service:dao:info" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1342, + "name": "CONTRACT_SERVICE_DAO_LISTING", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2001:60:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1340, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2001:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "736572766963653a64616f3a6c697374696e67", + "id": 1341, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2040:21:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_486236d3bbb77d0f952cb58be6dc21d77310aed2dcfc6bcd60ba3dc4c089ee40", + "typeString": "literal_string \"service:dao:listing\"" + }, + "value": "service:dao:listing" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1345, + "name": "CONTRACT_SERVICE_DAO_CALCULATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2067:66:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1343, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2067:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "736572766963653a64616f3a63616c63756c61746f72", + "id": 1344, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2109:24:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_83af8e86a4d8156a839adcf3c05534d5ca72b55397d4e0b3df449f35b21f4544", + "typeString": "literal_string \"service:dao:calculator\"" + }, + "value": "service:dao:calculator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1348, + "name": "CONTRACT_STORAGE_DAO", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2165:44:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1346, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2165:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "73746f726167653a64616f", + "id": 1347, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2196:13:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7b207f52cb249cfdcc7a05b1c7ed3142387d1ccb70da1a1779cefad7679798db", + "typeString": "literal_string \"storage:dao\"" + }, + "value": "storage:dao" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1351, + "name": "CONTRACT_STORAGE_DAO_COUNTER", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2215:60:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1349, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2215:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "73746f726167653a64616f3a636f756e746572", + "id": 1350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2254:21:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_63314eb50421247def5edc46127ebd30400831e35ca9767202fe8ce8adcc0ab4", + "typeString": "literal_string \"storage:dao:counter\"" + }, + "value": "storage:dao:counter" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1354, + "name": "CONTRACT_STORAGE_DAO_UPGRADE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2281:60:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1352, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2281:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "73746f726167653a64616f3a75706772616465", + "id": 1353, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2320:21:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_24fe1cc45a166f1ea2f99e525f74a62af1dae7dbad0e6184f27f5bc891dbeb1a", + "typeString": "literal_string \"storage:dao:upgrade\"" + }, + "value": "storage:dao:upgrade" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1357, + "name": "CONTRACT_STORAGE_DAO_IDENTITY", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2347:62:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1355, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2347:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "73746f726167653a64616f3a6964656e74697479", + "id": 1356, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2387:22:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_aed8f02f1e62dedcd8d28e09ea76f9573c3596b4150336df3bc0190b9570140a", + "typeString": "literal_string \"storage:dao:identity\"" + }, + "value": "storage:dao:identity" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1360, + "name": "CONTRACT_STORAGE_DAO_POINTS", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2415:58:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1358, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2415:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "73746f726167653a64616f3a706f696e7473", + "id": 1359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2453:20:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fda0253d5986ff1868e5cf1e85bd866d259f9d258a0d822273bbf17bf030325a", + "typeString": "literal_string \"storage:dao:points\"" + }, + "value": "storage:dao:points" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1363, + "name": "CONTRACT_STORAGE_DAO_SPECIAL", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2479:60:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1361, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2479:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "73746f726167653a64616f3a7370656369616c", + "id": 1362, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2518:21:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a196032587278ef1706cfdb60da65982f5c48092c5ab36a16fa58d0d9284343d", + "typeString": "literal_string \"storage:dao:special\"" + }, + "value": "storage:dao:special" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1366, + "name": "CONTRACT_STORAGE_DAO_CONFIG", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2545:58:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1364, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2545:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "73746f726167653a64616f3a636f6e666967", + "id": 1365, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2583:20:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d1f40d0ec90238602b055d154b1a680f70ae25a50c8dbb65c2593827df61d08c", + "typeString": "literal_string \"storage:dao:config\"" + }, + "value": "storage:dao:config" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1369, + "name": "CONTRACT_STORAGE_DAO_STAKE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2609:56:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1367, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2609:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "73746f726167653a64616f3a7374616b65", + "id": 1368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2646:19:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a4f58c208b9749c04b66f203ca7c6e7836a89d2d45cad7c89858861a432bdb28", + "typeString": "literal_string \"storage:dao:stake\"" + }, + "value": "storage:dao:stake" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1372, + "name": "CONTRACT_STORAGE_DAO_REWARDS", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2671:60:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1370, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2671:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "73746f726167653a64616f3a72657761726473", + "id": 1371, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2710:21:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e86646e1973153e931e0bfccf15f078f0ca32fe18f7b3eb42de9fbecaba603f1", + "typeString": "literal_string \"storage:dao:rewards\"" + }, + "value": "storage:dao:rewards" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1375, + "name": "CONTRACT_STORAGE_DAO_WHITELISTING", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2737:70:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1373, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2737:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "73746f726167653a64616f3a77686974656c697374696e67", + "id": 1374, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2781:26:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f93335071e8e61277cecdb0e41edbcd1bd072f1862c250e0a85c053e50d76103", + "typeString": "literal_string \"storage:dao:whitelisting\"" + }, + "value": "storage:dao:whitelisting" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1378, + "name": "CONTRACT_STORAGE_INTERMEDIATE_RESULTS", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2813:78:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1376, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2813:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "73746f726167653a696e7465726d6564696174653a726573756c7473", + "id": 1377, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2861:30:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1d8dcce5a60af9c6a2cfc7bed25a957ccb0671af0762f78e56febf7430872f4d", + "typeString": "literal_string \"storage:intermediate:results\"" + }, + "value": "storage:intermediate:results" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1381, + "name": "CONTRACT_DGD_TOKEN", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2898:36:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1379, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2898:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "743a646764", + "id": 1380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2927:7:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b935e82286cc5f7f7fa009e29178e03e99b15dcf76722e0585a78e4df1d76eb2", + "typeString": "literal_string \"t:dgd\"" + }, + "value": "t:dgd" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1384, + "name": "CONTRACT_DGX_TOKEN", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2940:36:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1382, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2940:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "743a646778", + "id": 1383, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2969:7:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_de6face1416edc720d041772efad22f95e683d883c60c888c76061d001824b29", + "typeString": "literal_string \"t:dgx\"" + }, + "value": "t:dgx" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1387, + "name": "CONTRACT_BADGE_TOKEN", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2982:40:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1385, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2982:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "743a6261646765", + "id": 1386, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3013:9:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7bd839d04205cedad377007849fafc124d6b7505c90612046050596b8880ec3f", + "typeString": "literal_string \"t:badge\"" + }, + "value": "t:badge" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1390, + "name": "ROLES_ROOT", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3029:20:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1388, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3029:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31", + "id": 1389, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3048:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1393, + "name": "ROLES_FOUNDERS", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3055:24:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1391, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3055:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "32", + "id": 1392, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3078:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1396, + "name": "ROLES_PRLS", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3085:20:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1394, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3085:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "33", + "id": 1395, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3104:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1399, + "name": "ROLES_KYC_ADMINS", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3111:26:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1397, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3111:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "34", + "id": 1398, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3136:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1402, + "name": "QUARTER_DURATION", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3144:34:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1400, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3144:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3930", + "id": 1401, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3171:7:3", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_7776000_by_1", + "typeString": "int_const 7776000" + }, + "value": "90" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1405, + "name": "CONFIG_MINIMUM_LOCKED_DGD", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3185:57:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1403, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3185:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "6d696e5f6467645f7061727469636970616e74", + "id": 1404, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3221:21:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b033756e753babf2fb6e16eadfebe06518fc9817301f804c6c6a0bc3a3a0e57f", + "typeString": "literal_string \"min_dgd_participant\"" + }, + "value": "min_dgd_participant" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1408, + "name": "CONFIG_MINIMUM_DGD_FOR_MODERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3248:62:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1406, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3248:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "6d696e5f6467645f6d6f64657261746f72", + "id": 1407, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3291:19:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e99191f9ca1c26dfdd0a75929715550523f45c67ccb0566857c5ae916a22eda2", + "typeString": "literal_string \"min_dgd_moderator\"" + }, + "value": "min_dgd_moderator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1411, + "name": "CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3316:76:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1409, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3316:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "6d696e5f72657075746174696f6e5f6d6f64657261746f72", + "id": 1410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3366:26:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7beffb3f7212f9bd4428bb572d9502b1fd5881583f787963561fd75f264550ad", + "typeString": "literal_string \"min_reputation_moderator\"" + }, + "value": "min_reputation_moderator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1414, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3399:64:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1412, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3399:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "6c6f636b696e675f70686173655f6475726174696f6e", + "id": 1413, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3439:24:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2721ea9f67dd4d3389e658bb830753076cd7846e35f0d9a85f01c4023579da42", + "typeString": "literal_string \"locking_phase_duration\"" + }, + "value": "locking_phase_duration" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1417, + "name": "CONFIG_QUARTER_DURATION", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3469:52:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1415, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3469:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "717561727465725f6475726174696f6e", + "id": 1416, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3503:18:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e065820c6a16e24386065ebd37bb4b62bbb0999df2e6d545f2b6736425f77ed2", + "typeString": "literal_string \"quarter_duration\"" + }, + "value": "quarter_duration" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1420, + "name": "CONFIG_VOTING_COMMIT_PHASE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3527:58:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1418, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3527:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "766f74696e675f636f6d6d69745f7068617365", + "id": 1419, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3564:21:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_33b9d14d20c0f3b0c063113f39f1ed8aac139ab42054065af3d62843f7b0cfdf", + "typeString": "literal_string \"voting_commit_phase\"" + }, + "value": "voting_commit_phase" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1423, + "name": "CONFIG_VOTING_PHASE_TOTAL", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3591:56:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1421, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3591:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "766f74696e675f70686173655f746f74616c", + "id": 1422, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3627:20:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b9acbac10440188c06761406134a034506e542aa15c3e829e13d941609516751", + "typeString": "literal_string \"voting_phase_total\"" + }, + "value": "voting_phase_total" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1426, + "name": "CONFIG_INTERIM_COMMIT_PHASE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3653:67:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1424, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3653:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "696e746572696d5f766f74696e675f636f6d6d69745f7068617365", + "id": 1425, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3691:29:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5091be1a3543763a7b61fca12f9f906301fff16df89ab2a894c990a095710cd7", + "typeString": "literal_string \"interim_voting_commit_phase\"" + }, + "value": "interim_voting_commit_phase" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1429, + "name": "CONFIG_INTERIM_PHASE_TOTAL", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3726:65:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1427, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3726:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "696e746572696d5f766f74696e675f70686173655f746f74616c", + "id": 1428, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3763:28:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5ffab8cad106e4740ca800c904a4c68c63ad44f240c55a34e6208543d928ce47", + "typeString": "literal_string \"interim_voting_phase_total\"" + }, + "value": "interim_voting_phase_total" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1432, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3798:84:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1430, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3798:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64726166745f71756f72756d5f66697865645f6e756d657261746f72", + "id": 1431, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3852:30:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_abe731913fe2cb4f8a50211d0b06cfa93a9e66e44c617730282c24c15303edcc", + "typeString": "literal_string \"draft_quorum_fixed_numerator\"" + }, + "value": "draft_quorum_fixed_numerator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1435, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3888:88:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1433, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3888:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f72", + "id": 1434, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3944:32:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ee8c4b19d008608f6cb97960b3d8f93ef7214dd51192bb2eed7feb5d4dac39f5", + "typeString": "literal_string \"draft_quorum_fixed_denominator\"" + }, + "value": "draft_quorum_fixed_denominator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1438, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3982:87:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1436, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3982:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64726166745f71756f72756d5f73666163746f725f6e756d657261746f72", + "id": 1437, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4037:32:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5190fbbd6ea3f780cbc7f77dac52dcf2f50de5f57b648e1198e4934f8d65a1f8", + "typeString": "literal_string \"draft_quorum_sfactor_numerator\"" + }, + "value": "draft_quorum_sfactor_numerator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1441, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "4075:91:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1439, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4075:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f72", + "id": 1440, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4132:34:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_35e386ff1099a2131651ea5f22994bfafb894a3dacf6304113f20cb9ebee0218", + "typeString": "literal_string \"draft_quorum_sfactor_denominator\"" + }, + "value": "draft_quorum_sfactor_denominator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1444, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "4172:84:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1442, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4172:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "766f74655f71756f72756d5f66697865645f6e756d657261746f72", + "id": 1443, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4227:29:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_785b3a6d4bfdabe8bdf930e6961fc10cc50c5f49e963a11e668425ca19fdb1ff", + "typeString": "literal_string \"vote_quorum_fixed_numerator\"" + }, + "value": "vote_quorum_fixed_numerator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1447, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "4262:88:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1445, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4262:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f72", + "id": 1446, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4319:31:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a4a712b819d5d1a85a45cd7dd09b8b7b420d9fab23da528f46f9329dfc273702", + "typeString": "literal_string \"vote_quorum_fixed_denominator\"" + }, + "value": "vote_quorum_fixed_denominator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1450, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "4356:87:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1448, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4356:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "766f74655f71756f72756d5f73666163746f725f6e756d657261746f72", + "id": 1449, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4412:31:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f1e66a27115958930b42c7d5a51ad6f6305826e8f66531e8484ecd4d48a7489d", + "typeString": "literal_string \"vote_quorum_sfactor_numerator\"" + }, + "value": "vote_quorum_sfactor_numerator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1453, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "4449:91:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1451, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4449:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72", + "id": 1452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4507:33:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ea2c2a1c1348877e14c21ae1daaafe35f3c24783fab481a9bf429022b8869af5", + "typeString": "literal_string \"vote_quorum_sfactor_denominator\"" + }, + "value": "vote_quorum_sfactor_denominator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1456, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "4546:87:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1454, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4546:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "66696e616c5f7265776172645f73666163746f725f6e756d657261746f72", + "id": 1455, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4601:32:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_216a833986824f27ae1e304207c0d034f384c7b30bb57aea5eacd158b203d4a9", + "typeString": "literal_string \"final_reward_sfactor_numerator\"" + }, + "value": "final_reward_sfactor_numerator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1459, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "4639:91:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1457, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4639:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f72", + "id": 1458, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4696:34:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ed4c5ed0e92021cb15fc0573a5d2bfee3b0fbafdba10ceb45f71a93c0ad2a105", + "typeString": "literal_string \"final_reward_sfactor_denominator\"" + }, + "value": "final_reward_sfactor_denominator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1462, + "name": "CONFIG_DRAFT_QUOTA_NUMERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "4737:62:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1460, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4737:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64726166745f71756f74615f6e756d657261746f72", + "id": 1461, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4776:23:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9a7523a271dba47cf6e4e7b0c4b183e0a59a223f4187ba008f3ac722d0c1ecc1", + "typeString": "literal_string \"draft_quota_numerator\"" + }, + "value": "draft_quota_numerator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1465, + "name": "CONFIG_DRAFT_QUOTA_DENOMINATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "4805:66:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1463, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4805:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64726166745f71756f74615f64656e6f6d696e61746f72", + "id": 1464, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4846:25:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7dc1a176a8d391781a4a3f5783bd795ab21da82629b79d581caf42c2a4327ebf", + "typeString": "literal_string \"draft_quota_denominator\"" + }, + "value": "draft_quota_denominator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1468, + "name": "CONFIG_VOTING_QUOTA_NUMERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "4877:64:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1466, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4877:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "766f74696e675f71756f74615f6e756d657261746f72", + "id": 1467, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4917:24:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_33154e12c1390c6c2e9e8af1c8cdb4d00944e078165d9c0a00eb588629c5d2a0", + "typeString": "literal_string \"voting_quota_numerator\"" + }, + "value": "voting_quota_numerator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1471, + "name": "CONFIG_VOTING_QUOTA_DENOMINATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "4947:68:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1469, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4947:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "766f74696e675f71756f74615f64656e6f6d696e61746f72", + "id": 1470, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4989:26:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_17c234294e32c8769aa1c7772243881c1e97be8a2e9faa3154cf962c3382e155", + "typeString": "literal_string \"voting_quota_denominator\"" + }, + "value": "voting_quota_denominator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1474, + "name": "CONFIG_MINIMAL_QUARTER_POINT", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5022:51:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1472, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5022:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "6d696e696d616c5f7170", + "id": 1473, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5061:12:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_40a89a260bbc08878069e31489cce61c704209edeb737dda4f6bff538eb2349d", + "typeString": "literal_string \"minimal_qp\"" + }, + "value": "minimal_qp" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1477, + "name": "CONFIG_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5079:76:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1475, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5079:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "717561727465725f706f696e745f7363616c696e675f666163746f72", + "id": 1476, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5125:30:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_95fb1bfb81221ef74ab1ffc6741205e8e4e72dca7cee706bf853ff7babe392ce", + "typeString": "literal_string \"quarter_point_scaling_factor\"" + }, + "value": "quarter_point_scaling_factor" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1480, + "name": "CONFIG_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5161:75:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1478, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5161:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "7265705f706f696e745f7363616c696e675f666163746f72", + "id": 1479, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5210:26:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_009bc4cbd84e53e7f36be5d8d66786cacc8c01fe48e5c52b7181c92bc8238da4", + "typeString": "literal_string \"rep_point_scaling_factor\"" + }, + "value": "rep_point_scaling_factor" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1483, + "name": "CONFIG_MODERATOR_MINIMAL_QUARTER_POINT", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5243:65:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1481, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5243:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "6d696e696d616c5f6d6f645f7170", + "id": 1482, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5292:16:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6324ed2697a2e2c730fd0cf482ec71c92cadc0bb507a1441fc07c5c3d1abd7a7", + "typeString": "literal_string \"minimal_mod_qp\"" + }, + "value": "minimal_mod_qp" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1486, + "name": "CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5314:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1484, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5314:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "6d6f645f71705f7363616c696e675f666163746f72", + "id": 1485, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5370:23:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_609c7098b51a4ebe3ee8f3e272250470a7bde481d07c1b82ea1eb3ac91b5ac35", + "typeString": "literal_string \"mod_qp_scaling_factor\"" + }, + "value": "mod_qp_scaling_factor" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1489, + "name": "CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5399:89:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1487, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5399:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "6d6f645f7265705f706f696e745f7363616c696e675f666163746f72", + "id": 1488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5458:30:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c46c769025f6a01253d0d6dbadb04cd014cde5cdedb9fa8eecf925fcbf02be8e", + "typeString": "literal_string \"mod_rep_point_scaling_factor\"" + }, + "value": "mod_rep_point_scaling_factor" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1492, + "name": "CONFIG_QUARTER_POINT_DRAFT_VOTE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5495:68:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1490, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5495:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "717561727465725f706f696e745f64726166745f766f7465", + "id": 1491, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5537:26:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_96d3c409bb83d52a9ba4fc077d418da3aed7a4099c252c9b22a0e403d36dbd4d", + "typeString": "literal_string \"quarter_point_draft_vote\"" + }, + "value": "quarter_point_draft_vote" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1495, + "name": "CONFIG_QUARTER_POINT_VOTE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5569:56:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1493, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5569:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "717561727465725f706f696e745f766f7465", + "id": 1494, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5605:20:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_01a12734fc0ea04be878b4792b839b52105e422baef9e556d68228bbd3461028", + "typeString": "literal_string \"quarter_point_vote\"" + }, + "value": "quarter_point_vote" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1498, + "name": "CONFIG_QUARTER_POINT_INTERIM_VOTE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5631:72:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1496, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5631:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "717561727465725f706f696e745f696e746572696d5f766f7465", + "id": 1497, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5675:28:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6fea5cb5b2dbe2689c105915e4fb80f337e207578fdc859393145ef68a2b5218", + "typeString": "literal_string \"quarter_point_interim_vote\"" + }, + "value": "quarter_point_interim_vote" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1501, + "name": "CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5741:91:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1499, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5741:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "715f705f6d696c6573746f6e655f636f6d706c6574696f6e", + "id": 1500, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5806:26:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_70000de881b47c2747d25933f184443e9e8f62bd5f6594f3b08616454abca229", + "typeString": "literal_string \"q_p_milestone_completion\"" + }, + "value": "q_p_milestone_completion" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1504, + "name": "CONFIG_BONUS_REPUTATION_NUMERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5839:72:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1502, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5839:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "626f6e75735f72657075746174696f6e5f6e756d657261746f72", + "id": 1503, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5883:28:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4dd8c13da4d20cb196827ca2687de45a678cc6b29e0a598386b715ccdf65bad1", + "typeString": "literal_string \"bonus_reputation_numerator\"" + }, + "value": "bonus_reputation_numerator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1507, + "name": "CONFIG_BONUS_REPUTATION_DENOMINATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5917:76:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1505, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5917:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72", + "id": 1506, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5963:30:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dfb03f9071ab2bcccc47b4f47d69651e2eb22803946978684bbf773be88173f6", + "typeString": "literal_string \"bonus_reputation_denominator\"" + }, + "value": "bonus_reputation_denominator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1510, + "name": "CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6000:78:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1508, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6000:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "7370656369616c5f70726f706f73616c5f636f6d6d69745f7068617365", + "id": 1509, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6047:31:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cbfbbce1a216b12c27ce288822d44c42fc4d03ae214f8d6b98f34321004c191f", + "typeString": "literal_string \"special_proposal_commit_phase\"" + }, + "value": "special_proposal_commit_phase" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1513, + "name": "CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6084:76:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1511, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6084:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "7370656369616c5f70726f706f73616c5f70686173655f746f74616c", + "id": 1512, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6130:30:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_64cfc6cb20362dea96bf8511fe1e6b35aaee68af3161ce51ab81ffe8eca43b28", + "typeString": "literal_string \"special_proposal_phase_total\"" + }, + "value": "special_proposal_phase_total" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1516, + "name": "CONFIG_SPECIAL_QUOTA_NUMERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6167:73:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1514, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6167:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f72", + "id": 1515, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6208:32:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cc8450bb465704d2f0e06bec40d8f631e09939cdf856ebce83cf268903867e4e", + "typeString": "literal_string \"config_special_quota_numerator\"" + }, + "value": "config_special_quota_numerator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1519, + "name": "CONFIG_SPECIAL_QUOTA_DENOMINATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6246:77:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1517, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6246:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72", + "id": 1518, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6289:34:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8fa8965aa754e400cc5dc744f1d3c2792f553d55251e321e953037e1f52a453c", + "typeString": "literal_string \"config_special_quota_denominator\"" + }, + "value": "config_special_quota_denominator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1522, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6330:77:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1520, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6330:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "7370656369616c5f71756f72756d5f6e756d657261746f72", + "id": 1521, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6381:26:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_618620a2b872cdc7453afec7d1d902573d2d72ab2f874bd97b4d2a2da9528323", + "typeString": "literal_string \"special_quorum_numerator\"" + }, + "value": "special_quorum_numerator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1525, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6413:81:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1523, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6413:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "7370656369616c5f71756f72756d5f64656e6f6d696e61746f72", + "id": 1524, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6466:28:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fde64aeeaf0f06163132e7d1a8920d4b1752d7a0d5ff9d0d4593efb8893ad485", + "typeString": "literal_string \"special_quorum_denominator\"" + }, + "value": "special_quorum_denominator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1528, + "name": "CONFIG_MAXIMUM_REPUTATION_DEDUCTION", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6501:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1526, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6501:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e", + "id": 1527, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6547:33:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fdaad04e4e296f9194c314633422f09e7c6c8348aa410ce8a7dd8ab3ea40a5a8", + "typeString": "literal_string \"config_max_reputation_deduction\"" + }, + "value": "config_max_reputation_deduction" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1531, + "name": "CONFIG_PUNISHMENT_FOR_NOT_LOCKING", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6586:75:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1529, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6586:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67", + "id": 1530, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6630:31:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_325205f810ec71efa9c404007fb23b87280a40465ab71be02c5a842a46985218", + "typeString": "literal_string \"config_punishment_not_locking\"" + }, + "value": "config_punishment_not_locking" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1534, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_NUM", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6668:74:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1532, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6668:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f7265705f7065725f65787472615f71705f6e756d", + "id": 1533, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6713:29:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5372050b2935752cbc172f5c0708b3c7a9ec0ab6c1b719729e4dd836e6081773", + "typeString": "literal_string \"config_rep_per_extra_qp_num\"" + }, + "value": "config_rep_per_extra_qp_num" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1537, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_DEN", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6748:74:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1535, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6748:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f7265705f7065725f65787472615f71705f64656e", + "id": 1536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6793:29:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7c1741eb2c51a219f59a79fa595cf8f095804811044a720988c65ddf8295022a", + "typeString": "literal_string \"config_rep_per_extra_qp_den\"" + }, + "value": "config_rep_per_extra_qp_den" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1540, + "name": "CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6829:83:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1538, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6829:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f6d61785f6d5f72705f646564756374696f6e", + "id": 1539, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6885:27:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fbb93c7608de8d26c9475534fa2806d57752b01643d077e0307e9121027298d8", + "typeString": "literal_string \"config_max_m_rp_deduction\"" + }, + "value": "config_max_m_rp_deduction" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1543, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6918:86:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1541, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6918:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d", + "id": 1542, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6973:31:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5b0fd8835665f5f7a6942951d577f6a79f8725e1ffd56a215a647c482bed9fde", + "typeString": "literal_string \"config_rep_per_extra_m_qp_num\"" + }, + "value": "config_rep_per_extra_m_qp_num" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1546, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7010:86:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1544, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7010:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e", + "id": 1545, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7065:31:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bcbb19983d3d3189e0583ad8596b8c28d846075ce267839459f4d4d193f1346c", + "typeString": "literal_string \"config_rep_per_extra_m_qp_den\"" + }, + "value": "config_rep_per_extra_m_qp_den" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1549, + "name": "CONFIG_PORTION_TO_MODERATORS_NUM", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7103:67:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1547, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7103:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f6d6f645f706f7274696f6e5f6e756d", + "id": 1548, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7146:24:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1b9abcf687e90918af16d3b1500c661d060aa0de2ccf2e386f753a246638c1b7", + "typeString": "literal_string \"config_mod_portion_num\"" + }, + "value": "config_mod_portion_num" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1552, + "name": "CONFIG_PORTION_TO_MODERATORS_DEN", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7176:67:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1550, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7176:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f6d6f645f706f7274696f6e5f64656e", + "id": 1551, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7219:24:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_de76bfee601db599e073e119943cb97eea1276fb751963897a57f44007d8acda", + "typeString": "literal_string \"config_mod_portion_den\"" + }, + "value": "config_mod_portion_den" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1555, + "name": "CONFIG_DRAFT_VOTING_PHASE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7250:63:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1553, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7250:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f64726166745f766f74696e675f7068617365", + "id": 1554, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7286:27:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ad00ea238694a117f7b0e38b5ce718eb5c40cc5432215e0c5915b9d9e3e19eae", + "typeString": "literal_string \"config_draft_voting_phase\"" + }, + "value": "config_draft_voting_phase" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1558, + "name": "CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7320:77:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1556, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7320:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f72705f626f6f73745f7065725f6261646765", + "id": 1557, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7370:27:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d2f55f9653b0e6f5ada5877eca5a78671f538dcdff64d42744bf4a8c0389f8c9", + "typeString": "literal_string \"config_rp_boost_per_badge\"" + }, + "value": "config_rp_boost_per_badge" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1561, + "name": "CONFIG_VOTE_CLAIMING_DEADLINE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7404:66:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1559, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7404:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f636c61696d696e675f646561646c696e65", + "id": 1560, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7444:26:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6df453268c018e9031b88ec41c56218bd3176c35c6668b0d08232d628d0dba6f", + "typeString": "literal_string \"config_claiming_deadline\"" + }, + "value": "config_claiming_deadline" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1564, + "name": "CONFIG_PREPROPOSAL_COLLATERAL", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7477:71:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1562, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7477:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c", + "id": 1563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7517:31:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6f8ccbaba3db7bc55af8a3e7599eb6539e119b131ff96c348fcc4732ee8251f9", + "typeString": "literal_string \"config_preproposal_collateral\"" + }, + "value": "config_preproposal_collateral" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1567, + "name": "CONFIG_MAX_FUNDING_FOR_NON_DIGIX", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7555:72:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1565, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7555:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f6d61785f66756e64696e675f6e6f6e4469676978", + "id": 1566, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7598:29:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3a7b92a13d31e83d79e362124ae32cd6dca71710bc3b825ceb5cba14def01fee", + "typeString": "literal_string \"config_max_funding_nonDigix\"" + }, + "value": "config_max_funding_nonDigix" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1570, + "name": "CONFIG_MAX_MILESTONES_FOR_NON_DIGIX", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7633:78:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1568, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7633:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e4469676978", + "id": 1569, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7679:32:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7c8fd11045890c2270de45a70f9579eecf63a3cddc656ae2fbfe46c0545099f1", + "typeString": "literal_string \"config_max_milestones_nonDigix\"" + }, + "value": "config_max_milestones_nonDigix" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1573, + "name": "CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7717:82:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1571, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7717:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f6e6f6e44696769785f70726f706f73616c5f636170", + "id": 1572, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7769:30:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_793e7210fc9fa489b73ae7e277f55935b7bdc5132cf55453ebd99e0f5b4e5d4d", + "typeString": "literal_string \"config_nonDigix_proposal_cap\"" + }, + "value": "config_nonDigix_proposal_cap" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1576, + "name": "CONFIG_PROPOSAL_DEAD_DURATION", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7806:62:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1574, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7806:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f646561645f6475726174696f6e", + "id": 1575, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7846:22:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_53e6117c6da168bce5af9b0d5af7f75b961778f9ef76c804fc3c0c6a4946b1e9", + "typeString": "literal_string \"config_dead_duration\"" + }, + "value": "config_dead_duration" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1579, + "name": "CONFIG_CARBON_VOTE_REPUTATION_BONUS", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7874:68:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1577, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7874:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f63765f72657075746174696f6e", + "id": 1578, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7920:22:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_26343d3b4575b527437cf2bf22602ee69c5412e7e60f980c835870dd1de960e3", + "typeString": "literal_string \"config_cv_reputation\"" + }, + "value": "config_cv_reputation" + }, + "visibility": "internal" + } + ], + "scope": 1581, + "src": "87:7858:3" + } + ], + "src": "0:7946:3" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "exportedSymbols": { + "DaoConstants": [ + 1580 + ] + }, + "id": 1581, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1235, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:3" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", + "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", + "id": 1236, + "nodeType": "ImportDirective", + "scope": 1581, + "sourceUnit": 26042, + "src": "26:59:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1580, + "linearizedBaseContracts": [ + 1580 + ], + "name": "DaoConstants", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 1239, + "libraryName": { + "contractScope": null, + "id": 1237, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 26041, + "src": "121:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$26041", + "typeString": "library SafeMath" + } + }, + "nodeType": "UsingForDirective", + "src": "115:27:3", + "typeName": { + "id": 1238, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "134:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 1244, + "name": "EMPTY_BYTES", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "147:34:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1240, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "147:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1242, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "177:3:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1241, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "169:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 1243, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "169:12:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1249, + "name": "EMPTY_ADDRESS", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "187:36:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1245, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "187:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 1247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "219:3:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "211:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 1248, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "211:12:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1252, + "name": "PROPOSAL_STATE_PREPROPOSAL", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "231:65:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1250, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "231:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "70726f706f73616c5f73746174655f70726570726f706f73616c", + "id": 1251, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "268:28:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_afe08d8aefb48d1fb716691a4f77c21b7df717e9895b6697514e8478ca3615bc", + "typeString": "literal_string \"proposal_state_preproposal\"" + }, + "value": "proposal_state_preproposal" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1255, + "name": "PROPOSAL_STATE_DRAFT", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "302:53:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1253, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "302:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "70726f706f73616c5f73746174655f6472616674", + "id": 1254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "333:22:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2130260ba40985c25474e88ca8fe5baeaf3053fc75635466b650b9da3caccf85", + "typeString": "literal_string \"proposal_state_draft\"" + }, + "value": "proposal_state_draft" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1258, + "name": "PROPOSAL_STATE_MODERATED", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "361:61:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1256, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "361:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "70726f706f73616c5f73746174655f6d6f64657261746564", + "id": 1257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "396:26:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0fcdafeb83996400813cd745d9c590050c6d306c1842d2f3cf4c151446555424", + "typeString": "literal_string \"proposal_state_moderated\"" + }, + "value": "proposal_state_moderated" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1261, + "name": "PROPOSAL_STATE_ONGOING", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "428:57:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1259, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "428:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "70726f706f73616c5f73746174655f6f6e676f696e67", + "id": 1260, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "461:24:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6d93e209bad01aa9192717f06271df33a8c8c65d832937b513abca93c993e692", + "typeString": "literal_string \"proposal_state_ongoing\"" + }, + "value": "proposal_state_ongoing" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1264, + "name": "PROPOSAL_STATE_CLOSED", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "491:55:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1262, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "491:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "70726f706f73616c5f73746174655f636c6f736564", + "id": 1263, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "523:23:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_79584081fd6cba6c38af3bcc866017fc59e667a62fa86354a6cb731098f72ec5", + "typeString": "literal_string \"proposal_state_closed\"" + }, + "value": "proposal_state_closed" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1267, + "name": "PROPOSAL_STATE_ARCHIVED", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "552:59:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1265, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "552:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "70726f706f73616c5f73746174655f6172636869766564", + "id": 1266, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "586:25:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9b9a29fa401e7daaa508138398d12fb0219b17c4c014f3ee71d9fdd45be4d79b", + "typeString": "literal_string \"proposal_state_archived\"" + }, + "value": "proposal_state_archived" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1270, + "name": "PRL_ACTION_STOP", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "618:27:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "618:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31", + "id": 1269, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "644:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1273, + "name": "PRL_ACTION_PAUSE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "651:28:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1271, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "651:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "32", + "id": 1272, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "678:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1276, + "name": "PRL_ACTION_UNPAUSE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "685:30:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1274, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "685:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "33", + "id": 1275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "714:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1279, + "name": "COLLATERAL_STATUS_UNLOCKED", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "722:38:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1277, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "722:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31", + "id": 1278, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "759:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1282, + "name": "COLLATERAL_STATUS_LOCKED", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "766:36:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1280, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "766:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "32", + "id": 1281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "801:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1285, + "name": "COLLATERAL_STATUS_CLAIMED", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "808:37:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1283, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "808:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "33", + "id": 1284, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "844:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1288, + "name": "INTERMEDIATE_DGD_IDENTIFIER", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "852:52:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1286, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "852:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "696e7465725f6467645f6964", + "id": 1287, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "890:14:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fc532bff4fe73a0f6fe5fbda66a9b8f944d5899317686aaa90f4e647b89b708a", + "typeString": "literal_string \"inter_dgd_id\"" + }, + "value": "inter_dgd_id" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1291, + "name": "INTERMEDIATE_MODERATOR_DGD_IDENTIFIER", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "910:66:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1289, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "910:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "696e7465725f6d6f645f6467645f6964", + "id": 1290, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "958:18:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_af86ae1fccd3c238cadd723bd15e2e5eb40afcabb7257792d6d277acdf97961e", + "typeString": "literal_string \"inter_mod_dgd_id\"" + }, + "value": "inter_mod_dgd_id" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1294, + "name": "INTERMEDIATE_BONUS_CALCULATION_IDENTIFIER", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "982:80:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1292, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "982:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "696e7465725f626f6e75735f63616c63756c6174696f6e5f6964", + "id": 1293, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1034:28:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_300b4efce4aa9c40789a31c8c0de84eb48e930f4a1b3fec4f9f159400317d632", + "typeString": "literal_string \"inter_bonus_calculation_id\"" + }, + "value": "inter_bonus_calculation_id" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1297, + "name": "CONTRACT_DAO", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1098:28:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1295, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1098:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f", + "id": 1296, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1121:5:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8510acf858a6208b10ca6a42b601609d333cd69cb8f62bc06998b9ca193225be", + "typeString": "literal_string \"dao\"" + }, + "value": "dao" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1300, + "name": "CONTRACT_DAO_SPECIAL_PROPOSAL", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1132:62:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1298, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1132:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a7370656369616c3a70726f706f73616c", + "id": 1299, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1172:22:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1ea821ffc3fc36d010ad070f7217063f3a6c69ce72e56c12c306f56af6c5d0b5", + "typeString": "literal_string \"dao:special:proposal\"" + }, + "value": "dao:special:proposal" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1303, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1200:56:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1301, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1200:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a7374616b652d6c6f636b696e67", + "id": 1302, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1237:19:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_eb3872418daecb5f328b35b2b8c51f7f62aaa67729ca13175ba054930cc0fb57", + "typeString": "literal_string \"dao:stake-locking\"" + }, + "value": "dao:stake-locking" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1306, + "name": "CONTRACT_DAO_VOTING", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1262:42:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1304, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1262:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a766f74696e67", + "id": 1305, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1292:12:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_32dc68bd015481633bcdfd0785cca1cfac2f2bdb95bae491f137e1ab8757d18f", + "typeString": "literal_string \"dao:voting\"" + }, + "value": "dao:voting" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1309, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1310:56:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1307, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1310:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a766f74696e673a636c61696d73", + "id": 1308, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1347:19:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a12050918452aeed27e06d1c3e19f05d8c7965beafc660e3f22fb3c9722ed26b", + "typeString": "literal_string \"dao:voting:claims\"" + }, + "value": "dao:voting:claims" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1312, + "name": "CONTRACT_DAO_SPECIAL_VOTING_CLAIMS", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1372:65:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1310, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1372:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a73766f74696e673a636c61696d73", + "id": 1311, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1417:20:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_818d2b120253ab3e1546bd5da5c13dd4b027201da64406cb85bbe378e166a345", + "typeString": "literal_string \"dao:svoting:claims\"" + }, + "value": "dao:svoting:claims" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1315, + "name": "CONTRACT_DAO_IDENTITY", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1443:46:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1313, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1443:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a6964656e74697479", + "id": 1314, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1475:14:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c378f46a26961b67fc250f26b816afaad55655d7f2455a62c986992f2dd11e77", + "typeString": "literal_string \"dao:identity\"" + }, + "value": "dao:identity" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1318, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1495:60:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1316, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1495:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a726577617264732d6d616e61676572", + "id": 1317, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1534:21:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_726f603d3d993bef32544b5f0735ffdf25d79534601199d6721f21b65f3e4179", + "typeString": "literal_string \"dao:rewards-manager\"" + }, + "value": "dao:rewards-manager" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1321, + "name": "CONTRACT_DAO_REWARDS_MANAGER_EXTRAS", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1561:66:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1319, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1561:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a726577617264732d657874726173", + "id": 1320, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1607:20:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4b2a649f23ccf7cf1dc18a436403cbcb7c05f47a1ee456624255365d8b009ce9", + "typeString": "literal_string \"dao:rewards-extras\"" + }, + "value": "dao:rewards-extras" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1324, + "name": "CONTRACT_DAO_ROLES", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1633:40:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1322, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1633:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a726f6c6573", + "id": 1323, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1662:11:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_88d02d46019137ff84dc5d3a6d52fb63aae39549ac2900b8db155e58d6c42150", + "typeString": "literal_string \"dao:roles\"" + }, + "value": "dao:roles" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1327, + "name": "CONTRACT_DAO_FUNDING_MANAGER", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1679:60:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1325, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1679:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a66756e64696e672d6d616e61676572", + "id": 1326, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1718:21:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2a1e14c2e401435c96ff45ed5eb4ddda787e7c447d4e1a35ac3fb6af10a52ba2", + "typeString": "literal_string \"dao:funding-manager\"" + }, + "value": "dao:funding-manager" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1330, + "name": "CONTRACT_DAO_WHITELISTING", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1745:54:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1328, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1745:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a77686974656c697374696e67", + "id": 1329, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1781:18:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4a4e5fb27076f094cd156bacb612d2f2584dd8bcd018cd6c3d951de1da94f90f", + "typeString": "literal_string \"dao:whitelisting\"" + }, + "value": "dao:whitelisting" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1333, + "name": "CONTRACT_DAO_INFORMATION", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1805:52:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1331, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1805:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64616f3a696e666f726d6174696f6e", + "id": 1332, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1840:17:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9df3283915ab0e4066f88f4752d7a563bd273262253a25d2f7da67d71c27afd8", + "typeString": "literal_string \"dao:information\"" + }, + "value": "dao:information" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1336, + "name": "CONTRACT_SERVICE_ROLE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1889:46:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1334, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1889:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "736572766963653a726f6c65", + "id": 1335, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1921:14:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cd862a502aaf3826a29967a9b950b8c0e0beb048905313255accdf43756913d1", + "typeString": "literal_string \"service:role\"" + }, + "value": "service:role" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1339, + "name": "CONTRACT_SERVICE_DAO_INFO", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "1941:54:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1337, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1941:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "736572766963653a64616f3a696e666f", + "id": 1338, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1977:18:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d4c9c03f4c2efdc6d710de922d2cec0711e8040a304e817fde53ac5833848c04", + "typeString": "literal_string \"service:dao:info\"" + }, + "value": "service:dao:info" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1342, + "name": "CONTRACT_SERVICE_DAO_LISTING", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2001:60:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1340, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2001:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "736572766963653a64616f3a6c697374696e67", + "id": 1341, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2040:21:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_486236d3bbb77d0f952cb58be6dc21d77310aed2dcfc6bcd60ba3dc4c089ee40", + "typeString": "literal_string \"service:dao:listing\"" + }, + "value": "service:dao:listing" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1345, + "name": "CONTRACT_SERVICE_DAO_CALCULATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2067:66:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1343, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2067:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "736572766963653a64616f3a63616c63756c61746f72", + "id": 1344, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2109:24:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_83af8e86a4d8156a839adcf3c05534d5ca72b55397d4e0b3df449f35b21f4544", + "typeString": "literal_string \"service:dao:calculator\"" + }, + "value": "service:dao:calculator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1348, + "name": "CONTRACT_STORAGE_DAO", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2165:44:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1346, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2165:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "73746f726167653a64616f", + "id": 1347, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2196:13:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7b207f52cb249cfdcc7a05b1c7ed3142387d1ccb70da1a1779cefad7679798db", + "typeString": "literal_string \"storage:dao\"" + }, + "value": "storage:dao" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1351, + "name": "CONTRACT_STORAGE_DAO_COUNTER", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2215:60:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1349, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2215:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "73746f726167653a64616f3a636f756e746572", + "id": 1350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2254:21:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_63314eb50421247def5edc46127ebd30400831e35ca9767202fe8ce8adcc0ab4", + "typeString": "literal_string \"storage:dao:counter\"" + }, + "value": "storage:dao:counter" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1354, + "name": "CONTRACT_STORAGE_DAO_UPGRADE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2281:60:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1352, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2281:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "73746f726167653a64616f3a75706772616465", + "id": 1353, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2320:21:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_24fe1cc45a166f1ea2f99e525f74a62af1dae7dbad0e6184f27f5bc891dbeb1a", + "typeString": "literal_string \"storage:dao:upgrade\"" + }, + "value": "storage:dao:upgrade" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1357, + "name": "CONTRACT_STORAGE_DAO_IDENTITY", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2347:62:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1355, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2347:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "73746f726167653a64616f3a6964656e74697479", + "id": 1356, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2387:22:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_aed8f02f1e62dedcd8d28e09ea76f9573c3596b4150336df3bc0190b9570140a", + "typeString": "literal_string \"storage:dao:identity\"" + }, + "value": "storage:dao:identity" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1360, + "name": "CONTRACT_STORAGE_DAO_POINTS", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2415:58:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1358, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2415:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "73746f726167653a64616f3a706f696e7473", + "id": 1359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2453:20:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fda0253d5986ff1868e5cf1e85bd866d259f9d258a0d822273bbf17bf030325a", + "typeString": "literal_string \"storage:dao:points\"" + }, + "value": "storage:dao:points" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1363, + "name": "CONTRACT_STORAGE_DAO_SPECIAL", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2479:60:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1361, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2479:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "73746f726167653a64616f3a7370656369616c", + "id": 1362, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2518:21:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a196032587278ef1706cfdb60da65982f5c48092c5ab36a16fa58d0d9284343d", + "typeString": "literal_string \"storage:dao:special\"" + }, + "value": "storage:dao:special" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1366, + "name": "CONTRACT_STORAGE_DAO_CONFIG", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2545:58:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1364, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2545:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "73746f726167653a64616f3a636f6e666967", + "id": 1365, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2583:20:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d1f40d0ec90238602b055d154b1a680f70ae25a50c8dbb65c2593827df61d08c", + "typeString": "literal_string \"storage:dao:config\"" + }, + "value": "storage:dao:config" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1369, + "name": "CONTRACT_STORAGE_DAO_STAKE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2609:56:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1367, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2609:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "73746f726167653a64616f3a7374616b65", + "id": 1368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2646:19:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a4f58c208b9749c04b66f203ca7c6e7836a89d2d45cad7c89858861a432bdb28", + "typeString": "literal_string \"storage:dao:stake\"" + }, + "value": "storage:dao:stake" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1372, + "name": "CONTRACT_STORAGE_DAO_REWARDS", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2671:60:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1370, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2671:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "73746f726167653a64616f3a72657761726473", + "id": 1371, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2710:21:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e86646e1973153e931e0bfccf15f078f0ca32fe18f7b3eb42de9fbecaba603f1", + "typeString": "literal_string \"storage:dao:rewards\"" + }, + "value": "storage:dao:rewards" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1375, + "name": "CONTRACT_STORAGE_DAO_WHITELISTING", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2737:70:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1373, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2737:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "73746f726167653a64616f3a77686974656c697374696e67", + "id": 1374, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2781:26:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f93335071e8e61277cecdb0e41edbcd1bd072f1862c250e0a85c053e50d76103", + "typeString": "literal_string \"storage:dao:whitelisting\"" + }, + "value": "storage:dao:whitelisting" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1378, + "name": "CONTRACT_STORAGE_INTERMEDIATE_RESULTS", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2813:78:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1376, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2813:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "73746f726167653a696e7465726d6564696174653a726573756c7473", + "id": 1377, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2861:30:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1d8dcce5a60af9c6a2cfc7bed25a957ccb0671af0762f78e56febf7430872f4d", + "typeString": "literal_string \"storage:intermediate:results\"" + }, + "value": "storage:intermediate:results" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1381, + "name": "CONTRACT_DGD_TOKEN", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2898:36:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1379, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2898:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "743a646764", + "id": 1380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2927:7:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b935e82286cc5f7f7fa009e29178e03e99b15dcf76722e0585a78e4df1d76eb2", + "typeString": "literal_string \"t:dgd\"" + }, + "value": "t:dgd" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1384, + "name": "CONTRACT_DGX_TOKEN", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2940:36:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1382, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2940:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "743a646778", + "id": 1383, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2969:7:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_de6face1416edc720d041772efad22f95e683d883c60c888c76061d001824b29", + "typeString": "literal_string \"t:dgx\"" + }, + "value": "t:dgx" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1387, + "name": "CONTRACT_BADGE_TOKEN", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "2982:40:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1385, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2982:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "743a6261646765", + "id": 1386, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3013:9:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7bd839d04205cedad377007849fafc124d6b7505c90612046050596b8880ec3f", + "typeString": "literal_string \"t:badge\"" + }, + "value": "t:badge" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1390, + "name": "ROLES_ROOT", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3029:20:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1388, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3029:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "31", + "id": 1389, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3048:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1393, + "name": "ROLES_FOUNDERS", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3055:24:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1391, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3055:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "32", + "id": 1392, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3078:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1396, + "name": "ROLES_PRLS", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3085:20:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1394, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3085:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "33", + "id": 1395, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3104:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1399, + "name": "ROLES_KYC_ADMINS", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3111:26:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1397, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3111:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "34", + "id": 1398, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3136:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1402, + "name": "QUARTER_DURATION", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3144:34:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1400, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3144:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3930", + "id": 1401, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3171:7:3", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_7776000_by_1", + "typeString": "int_const 7776000" + }, + "value": "90" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1405, + "name": "CONFIG_MINIMUM_LOCKED_DGD", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3185:57:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1403, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3185:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "6d696e5f6467645f7061727469636970616e74", + "id": 1404, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3221:21:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b033756e753babf2fb6e16eadfebe06518fc9817301f804c6c6a0bc3a3a0e57f", + "typeString": "literal_string \"min_dgd_participant\"" + }, + "value": "min_dgd_participant" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1408, + "name": "CONFIG_MINIMUM_DGD_FOR_MODERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3248:62:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1406, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3248:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "6d696e5f6467645f6d6f64657261746f72", + "id": 1407, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3291:19:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e99191f9ca1c26dfdd0a75929715550523f45c67ccb0566857c5ae916a22eda2", + "typeString": "literal_string \"min_dgd_moderator\"" + }, + "value": "min_dgd_moderator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1411, + "name": "CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3316:76:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1409, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3316:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "6d696e5f72657075746174696f6e5f6d6f64657261746f72", + "id": 1410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3366:26:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7beffb3f7212f9bd4428bb572d9502b1fd5881583f787963561fd75f264550ad", + "typeString": "literal_string \"min_reputation_moderator\"" + }, + "value": "min_reputation_moderator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1414, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3399:64:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1412, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3399:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "6c6f636b696e675f70686173655f6475726174696f6e", + "id": 1413, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3439:24:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2721ea9f67dd4d3389e658bb830753076cd7846e35f0d9a85f01c4023579da42", + "typeString": "literal_string \"locking_phase_duration\"" + }, + "value": "locking_phase_duration" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1417, + "name": "CONFIG_QUARTER_DURATION", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3469:52:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1415, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3469:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "717561727465725f6475726174696f6e", + "id": 1416, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3503:18:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e065820c6a16e24386065ebd37bb4b62bbb0999df2e6d545f2b6736425f77ed2", + "typeString": "literal_string \"quarter_duration\"" + }, + "value": "quarter_duration" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1420, + "name": "CONFIG_VOTING_COMMIT_PHASE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3527:58:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1418, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3527:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "766f74696e675f636f6d6d69745f7068617365", + "id": 1419, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3564:21:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_33b9d14d20c0f3b0c063113f39f1ed8aac139ab42054065af3d62843f7b0cfdf", + "typeString": "literal_string \"voting_commit_phase\"" + }, + "value": "voting_commit_phase" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1423, + "name": "CONFIG_VOTING_PHASE_TOTAL", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3591:56:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1421, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3591:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "766f74696e675f70686173655f746f74616c", + "id": 1422, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3627:20:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b9acbac10440188c06761406134a034506e542aa15c3e829e13d941609516751", + "typeString": "literal_string \"voting_phase_total\"" + }, + "value": "voting_phase_total" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1426, + "name": "CONFIG_INTERIM_COMMIT_PHASE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3653:67:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1424, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3653:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "696e746572696d5f766f74696e675f636f6d6d69745f7068617365", + "id": 1425, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3691:29:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5091be1a3543763a7b61fca12f9f906301fff16df89ab2a894c990a095710cd7", + "typeString": "literal_string \"interim_voting_commit_phase\"" + }, + "value": "interim_voting_commit_phase" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1429, + "name": "CONFIG_INTERIM_PHASE_TOTAL", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3726:65:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1427, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3726:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "696e746572696d5f766f74696e675f70686173655f746f74616c", + "id": 1428, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3763:28:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5ffab8cad106e4740ca800c904a4c68c63ad44f240c55a34e6208543d928ce47", + "typeString": "literal_string \"interim_voting_phase_total\"" + }, + "value": "interim_voting_phase_total" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1432, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3798:84:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1430, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3798:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64726166745f71756f72756d5f66697865645f6e756d657261746f72", + "id": 1431, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3852:30:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_abe731913fe2cb4f8a50211d0b06cfa93a9e66e44c617730282c24c15303edcc", + "typeString": "literal_string \"draft_quorum_fixed_numerator\"" + }, + "value": "draft_quorum_fixed_numerator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1435, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3888:88:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1433, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3888:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f72", + "id": 1434, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3944:32:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ee8c4b19d008608f6cb97960b3d8f93ef7214dd51192bb2eed7feb5d4dac39f5", + "typeString": "literal_string \"draft_quorum_fixed_denominator\"" + }, + "value": "draft_quorum_fixed_denominator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1438, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "3982:87:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1436, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3982:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64726166745f71756f72756d5f73666163746f725f6e756d657261746f72", + "id": 1437, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4037:32:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5190fbbd6ea3f780cbc7f77dac52dcf2f50de5f57b648e1198e4934f8d65a1f8", + "typeString": "literal_string \"draft_quorum_sfactor_numerator\"" + }, + "value": "draft_quorum_sfactor_numerator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1441, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "4075:91:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1439, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4075:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f72", + "id": 1440, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4132:34:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_35e386ff1099a2131651ea5f22994bfafb894a3dacf6304113f20cb9ebee0218", + "typeString": "literal_string \"draft_quorum_sfactor_denominator\"" + }, + "value": "draft_quorum_sfactor_denominator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1444, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "4172:84:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1442, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4172:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "766f74655f71756f72756d5f66697865645f6e756d657261746f72", + "id": 1443, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4227:29:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_785b3a6d4bfdabe8bdf930e6961fc10cc50c5f49e963a11e668425ca19fdb1ff", + "typeString": "literal_string \"vote_quorum_fixed_numerator\"" + }, + "value": "vote_quorum_fixed_numerator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1447, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "4262:88:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1445, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4262:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f72", + "id": 1446, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4319:31:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a4a712b819d5d1a85a45cd7dd09b8b7b420d9fab23da528f46f9329dfc273702", + "typeString": "literal_string \"vote_quorum_fixed_denominator\"" + }, + "value": "vote_quorum_fixed_denominator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1450, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "4356:87:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1448, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4356:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "766f74655f71756f72756d5f73666163746f725f6e756d657261746f72", + "id": 1449, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4412:31:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f1e66a27115958930b42c7d5a51ad6f6305826e8f66531e8484ecd4d48a7489d", + "typeString": "literal_string \"vote_quorum_sfactor_numerator\"" + }, + "value": "vote_quorum_sfactor_numerator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1453, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "4449:91:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1451, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4449:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72", + "id": 1452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4507:33:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ea2c2a1c1348877e14c21ae1daaafe35f3c24783fab481a9bf429022b8869af5", + "typeString": "literal_string \"vote_quorum_sfactor_denominator\"" + }, + "value": "vote_quorum_sfactor_denominator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1456, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "4546:87:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1454, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4546:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "66696e616c5f7265776172645f73666163746f725f6e756d657261746f72", + "id": 1455, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4601:32:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_216a833986824f27ae1e304207c0d034f384c7b30bb57aea5eacd158b203d4a9", + "typeString": "literal_string \"final_reward_sfactor_numerator\"" + }, + "value": "final_reward_sfactor_numerator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1459, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "4639:91:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1457, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4639:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f72", + "id": 1458, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4696:34:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ed4c5ed0e92021cb15fc0573a5d2bfee3b0fbafdba10ceb45f71a93c0ad2a105", + "typeString": "literal_string \"final_reward_sfactor_denominator\"" + }, + "value": "final_reward_sfactor_denominator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1462, + "name": "CONFIG_DRAFT_QUOTA_NUMERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "4737:62:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1460, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4737:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64726166745f71756f74615f6e756d657261746f72", + "id": 1461, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4776:23:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9a7523a271dba47cf6e4e7b0c4b183e0a59a223f4187ba008f3ac722d0c1ecc1", + "typeString": "literal_string \"draft_quota_numerator\"" + }, + "value": "draft_quota_numerator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1465, + "name": "CONFIG_DRAFT_QUOTA_DENOMINATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "4805:66:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1463, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4805:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "64726166745f71756f74615f64656e6f6d696e61746f72", + "id": 1464, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4846:25:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7dc1a176a8d391781a4a3f5783bd795ab21da82629b79d581caf42c2a4327ebf", + "typeString": "literal_string \"draft_quota_denominator\"" + }, + "value": "draft_quota_denominator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1468, + "name": "CONFIG_VOTING_QUOTA_NUMERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "4877:64:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1466, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4877:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "766f74696e675f71756f74615f6e756d657261746f72", + "id": 1467, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4917:24:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_33154e12c1390c6c2e9e8af1c8cdb4d00944e078165d9c0a00eb588629c5d2a0", + "typeString": "literal_string \"voting_quota_numerator\"" + }, + "value": "voting_quota_numerator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1471, + "name": "CONFIG_VOTING_QUOTA_DENOMINATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "4947:68:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1469, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4947:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "766f74696e675f71756f74615f64656e6f6d696e61746f72", + "id": 1470, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4989:26:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_17c234294e32c8769aa1c7772243881c1e97be8a2e9faa3154cf962c3382e155", + "typeString": "literal_string \"voting_quota_denominator\"" + }, + "value": "voting_quota_denominator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1474, + "name": "CONFIG_MINIMAL_QUARTER_POINT", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5022:51:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1472, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5022:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "6d696e696d616c5f7170", + "id": 1473, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5061:12:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_40a89a260bbc08878069e31489cce61c704209edeb737dda4f6bff538eb2349d", + "typeString": "literal_string \"minimal_qp\"" + }, + "value": "minimal_qp" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1477, + "name": "CONFIG_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5079:76:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1475, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5079:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "717561727465725f706f696e745f7363616c696e675f666163746f72", + "id": 1476, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5125:30:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_95fb1bfb81221ef74ab1ffc6741205e8e4e72dca7cee706bf853ff7babe392ce", + "typeString": "literal_string \"quarter_point_scaling_factor\"" + }, + "value": "quarter_point_scaling_factor" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1480, + "name": "CONFIG_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5161:75:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1478, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5161:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "7265705f706f696e745f7363616c696e675f666163746f72", + "id": 1479, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5210:26:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_009bc4cbd84e53e7f36be5d8d66786cacc8c01fe48e5c52b7181c92bc8238da4", + "typeString": "literal_string \"rep_point_scaling_factor\"" + }, + "value": "rep_point_scaling_factor" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1483, + "name": "CONFIG_MODERATOR_MINIMAL_QUARTER_POINT", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5243:65:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1481, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5243:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "6d696e696d616c5f6d6f645f7170", + "id": 1482, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5292:16:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6324ed2697a2e2c730fd0cf482ec71c92cadc0bb507a1441fc07c5c3d1abd7a7", + "typeString": "literal_string \"minimal_mod_qp\"" + }, + "value": "minimal_mod_qp" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1486, + "name": "CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5314:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1484, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5314:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "6d6f645f71705f7363616c696e675f666163746f72", + "id": 1485, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5370:23:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_609c7098b51a4ebe3ee8f3e272250470a7bde481d07c1b82ea1eb3ac91b5ac35", + "typeString": "literal_string \"mod_qp_scaling_factor\"" + }, + "value": "mod_qp_scaling_factor" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1489, + "name": "CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5399:89:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1487, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5399:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "6d6f645f7265705f706f696e745f7363616c696e675f666163746f72", + "id": 1488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5458:30:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c46c769025f6a01253d0d6dbadb04cd014cde5cdedb9fa8eecf925fcbf02be8e", + "typeString": "literal_string \"mod_rep_point_scaling_factor\"" + }, + "value": "mod_rep_point_scaling_factor" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1492, + "name": "CONFIG_QUARTER_POINT_DRAFT_VOTE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5495:68:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1490, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5495:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "717561727465725f706f696e745f64726166745f766f7465", + "id": 1491, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5537:26:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_96d3c409bb83d52a9ba4fc077d418da3aed7a4099c252c9b22a0e403d36dbd4d", + "typeString": "literal_string \"quarter_point_draft_vote\"" + }, + "value": "quarter_point_draft_vote" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1495, + "name": "CONFIG_QUARTER_POINT_VOTE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5569:56:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1493, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5569:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "717561727465725f706f696e745f766f7465", + "id": 1494, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5605:20:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_01a12734fc0ea04be878b4792b839b52105e422baef9e556d68228bbd3461028", + "typeString": "literal_string \"quarter_point_vote\"" + }, + "value": "quarter_point_vote" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1498, + "name": "CONFIG_QUARTER_POINT_INTERIM_VOTE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5631:72:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1496, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5631:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "717561727465725f706f696e745f696e746572696d5f766f7465", + "id": 1497, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5675:28:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6fea5cb5b2dbe2689c105915e4fb80f337e207578fdc859393145ef68a2b5218", + "typeString": "literal_string \"quarter_point_interim_vote\"" + }, + "value": "quarter_point_interim_vote" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1501, + "name": "CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5741:91:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1499, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5741:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "715f705f6d696c6573746f6e655f636f6d706c6574696f6e", + "id": 1500, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5806:26:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_70000de881b47c2747d25933f184443e9e8f62bd5f6594f3b08616454abca229", + "typeString": "literal_string \"q_p_milestone_completion\"" + }, + "value": "q_p_milestone_completion" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1504, + "name": "CONFIG_BONUS_REPUTATION_NUMERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5839:72:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1502, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5839:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "626f6e75735f72657075746174696f6e5f6e756d657261746f72", + "id": 1503, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5883:28:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4dd8c13da4d20cb196827ca2687de45a678cc6b29e0a598386b715ccdf65bad1", + "typeString": "literal_string \"bonus_reputation_numerator\"" + }, + "value": "bonus_reputation_numerator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1507, + "name": "CONFIG_BONUS_REPUTATION_DENOMINATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "5917:76:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1505, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5917:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72", + "id": 1506, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5963:30:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dfb03f9071ab2bcccc47b4f47d69651e2eb22803946978684bbf773be88173f6", + "typeString": "literal_string \"bonus_reputation_denominator\"" + }, + "value": "bonus_reputation_denominator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1510, + "name": "CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6000:78:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1508, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6000:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "7370656369616c5f70726f706f73616c5f636f6d6d69745f7068617365", + "id": 1509, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6047:31:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cbfbbce1a216b12c27ce288822d44c42fc4d03ae214f8d6b98f34321004c191f", + "typeString": "literal_string \"special_proposal_commit_phase\"" + }, + "value": "special_proposal_commit_phase" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1513, + "name": "CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6084:76:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1511, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6084:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "7370656369616c5f70726f706f73616c5f70686173655f746f74616c", + "id": 1512, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6130:30:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_64cfc6cb20362dea96bf8511fe1e6b35aaee68af3161ce51ab81ffe8eca43b28", + "typeString": "literal_string \"special_proposal_phase_total\"" + }, + "value": "special_proposal_phase_total" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1516, + "name": "CONFIG_SPECIAL_QUOTA_NUMERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6167:73:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1514, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6167:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f72", + "id": 1515, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6208:32:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cc8450bb465704d2f0e06bec40d8f631e09939cdf856ebce83cf268903867e4e", + "typeString": "literal_string \"config_special_quota_numerator\"" + }, + "value": "config_special_quota_numerator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1519, + "name": "CONFIG_SPECIAL_QUOTA_DENOMINATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6246:77:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1517, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6246:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72", + "id": 1518, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6289:34:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8fa8965aa754e400cc5dc744f1d3c2792f553d55251e321e953037e1f52a453c", + "typeString": "literal_string \"config_special_quota_denominator\"" + }, + "value": "config_special_quota_denominator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1522, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6330:77:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1520, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6330:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "7370656369616c5f71756f72756d5f6e756d657261746f72", + "id": 1521, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6381:26:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_618620a2b872cdc7453afec7d1d902573d2d72ab2f874bd97b4d2a2da9528323", + "typeString": "literal_string \"special_quorum_numerator\"" + }, + "value": "special_quorum_numerator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1525, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6413:81:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1523, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6413:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "7370656369616c5f71756f72756d5f64656e6f6d696e61746f72", + "id": 1524, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6466:28:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fde64aeeaf0f06163132e7d1a8920d4b1752d7a0d5ff9d0d4593efb8893ad485", + "typeString": "literal_string \"special_quorum_denominator\"" + }, + "value": "special_quorum_denominator" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1528, + "name": "CONFIG_MAXIMUM_REPUTATION_DEDUCTION", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6501:79:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1526, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6501:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e", + "id": 1527, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6547:33:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fdaad04e4e296f9194c314633422f09e7c6c8348aa410ce8a7dd8ab3ea40a5a8", + "typeString": "literal_string \"config_max_reputation_deduction\"" + }, + "value": "config_max_reputation_deduction" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1531, + "name": "CONFIG_PUNISHMENT_FOR_NOT_LOCKING", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6586:75:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1529, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6586:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67", + "id": 1530, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6630:31:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_325205f810ec71efa9c404007fb23b87280a40465ab71be02c5a842a46985218", + "typeString": "literal_string \"config_punishment_not_locking\"" + }, + "value": "config_punishment_not_locking" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1534, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_NUM", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6668:74:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1532, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6668:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f7265705f7065725f65787472615f71705f6e756d", + "id": 1533, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6713:29:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5372050b2935752cbc172f5c0708b3c7a9ec0ab6c1b719729e4dd836e6081773", + "typeString": "literal_string \"config_rep_per_extra_qp_num\"" + }, + "value": "config_rep_per_extra_qp_num" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1537, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_DEN", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6748:74:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1535, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6748:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f7265705f7065725f65787472615f71705f64656e", + "id": 1536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6793:29:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7c1741eb2c51a219f59a79fa595cf8f095804811044a720988c65ddf8295022a", + "typeString": "literal_string \"config_rep_per_extra_qp_den\"" + }, + "value": "config_rep_per_extra_qp_den" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1540, + "name": "CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6829:83:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1538, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6829:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f6d61785f6d5f72705f646564756374696f6e", + "id": 1539, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6885:27:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fbb93c7608de8d26c9475534fa2806d57752b01643d077e0307e9121027298d8", + "typeString": "literal_string \"config_max_m_rp_deduction\"" + }, + "value": "config_max_m_rp_deduction" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1543, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "6918:86:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1541, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6918:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d", + "id": 1542, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6973:31:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5b0fd8835665f5f7a6942951d577f6a79f8725e1ffd56a215a647c482bed9fde", + "typeString": "literal_string \"config_rep_per_extra_m_qp_num\"" + }, + "value": "config_rep_per_extra_m_qp_num" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1546, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7010:86:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1544, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7010:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e", + "id": 1545, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7065:31:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bcbb19983d3d3189e0583ad8596b8c28d846075ce267839459f4d4d193f1346c", + "typeString": "literal_string \"config_rep_per_extra_m_qp_den\"" + }, + "value": "config_rep_per_extra_m_qp_den" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1549, + "name": "CONFIG_PORTION_TO_MODERATORS_NUM", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7103:67:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1547, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7103:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f6d6f645f706f7274696f6e5f6e756d", + "id": 1548, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7146:24:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1b9abcf687e90918af16d3b1500c661d060aa0de2ccf2e386f753a246638c1b7", + "typeString": "literal_string \"config_mod_portion_num\"" + }, + "value": "config_mod_portion_num" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1552, + "name": "CONFIG_PORTION_TO_MODERATORS_DEN", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7176:67:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1550, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7176:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f6d6f645f706f7274696f6e5f64656e", + "id": 1551, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7219:24:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_de76bfee601db599e073e119943cb97eea1276fb751963897a57f44007d8acda", + "typeString": "literal_string \"config_mod_portion_den\"" + }, + "value": "config_mod_portion_den" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1555, + "name": "CONFIG_DRAFT_VOTING_PHASE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7250:63:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1553, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7250:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f64726166745f766f74696e675f7068617365", + "id": 1554, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7286:27:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ad00ea238694a117f7b0e38b5ce718eb5c40cc5432215e0c5915b9d9e3e19eae", + "typeString": "literal_string \"config_draft_voting_phase\"" + }, + "value": "config_draft_voting_phase" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1558, + "name": "CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7320:77:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1556, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7320:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f72705f626f6f73745f7065725f6261646765", + "id": 1557, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7370:27:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d2f55f9653b0e6f5ada5877eca5a78671f538dcdff64d42744bf4a8c0389f8c9", + "typeString": "literal_string \"config_rp_boost_per_badge\"" + }, + "value": "config_rp_boost_per_badge" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1561, + "name": "CONFIG_VOTE_CLAIMING_DEADLINE", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7404:66:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1559, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7404:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f636c61696d696e675f646561646c696e65", + "id": 1560, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7444:26:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6df453268c018e9031b88ec41c56218bd3176c35c6668b0d08232d628d0dba6f", + "typeString": "literal_string \"config_claiming_deadline\"" + }, + "value": "config_claiming_deadline" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1564, + "name": "CONFIG_PREPROPOSAL_COLLATERAL", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7477:71:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1562, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7477:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c", + "id": 1563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7517:31:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6f8ccbaba3db7bc55af8a3e7599eb6539e119b131ff96c348fcc4732ee8251f9", + "typeString": "literal_string \"config_preproposal_collateral\"" + }, + "value": "config_preproposal_collateral" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1567, + "name": "CONFIG_MAX_FUNDING_FOR_NON_DIGIX", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7555:72:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1565, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7555:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f6d61785f66756e64696e675f6e6f6e4469676978", + "id": 1566, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7598:29:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3a7b92a13d31e83d79e362124ae32cd6dca71710bc3b825ceb5cba14def01fee", + "typeString": "literal_string \"config_max_funding_nonDigix\"" + }, + "value": "config_max_funding_nonDigix" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1570, + "name": "CONFIG_MAX_MILESTONES_FOR_NON_DIGIX", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7633:78:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1568, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7633:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e4469676978", + "id": 1569, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7679:32:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7c8fd11045890c2270de45a70f9579eecf63a3cddc656ae2fbfe46c0545099f1", + "typeString": "literal_string \"config_max_milestones_nonDigix\"" + }, + "value": "config_max_milestones_nonDigix" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1573, + "name": "CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7717:82:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1571, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7717:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f6e6f6e44696769785f70726f706f73616c5f636170", + "id": 1572, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7769:30:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_793e7210fc9fa489b73ae7e277f55935b7bdc5132cf55453ebd99e0f5b4e5d4d", + "typeString": "literal_string \"config_nonDigix_proposal_cap\"" + }, + "value": "config_nonDigix_proposal_cap" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1576, + "name": "CONFIG_PROPOSAL_DEAD_DURATION", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7806:62:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1574, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7806:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f646561645f6475726174696f6e", + "id": 1575, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7846:22:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_53e6117c6da168bce5af9b0d5af7f75b961778f9ef76c804fc3c0c6a4946b1e9", + "typeString": "literal_string \"config_dead_duration\"" + }, + "value": "config_dead_duration" + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1579, + "name": "CONFIG_CARBON_VOTE_REPUTATION_BONUS", + "nodeType": "VariableDeclaration", + "scope": 1580, + "src": "7874:68:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1577, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7874:7:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "636f6e6669675f63765f72657075746174696f6e", + "id": 1578, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7920:22:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_26343d3b4575b527437cf2bf22602ee69c5412e7e60f980c835870dd1de960e3", + "typeString": "literal_string \"config_cv_reputation\"" + }, + "value": "config_cv_reputation" + }, + "visibility": "internal" + } + ], + "scope": 1581, + "src": "87:7858:3" + } + ], + "src": "0:7946:3" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.820Z" +} \ No newline at end of file diff --git a/build/contracts/DaoFundingManager.json b/build/contracts/DaoFundingManager.json new file mode 100644 index 0000000..cd9209c --- /dev/null +++ b/build/contracts/DaoFundingManager.json @@ -0,0 +1,7511 @@ +{ + "contractName": "DaoFundingManager", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getAddressConfig", + "outputs": [ + { + "name": "_configValue", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentTimeInQuarter", + "outputs": [ + { + "name": "_currentT", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isMainPhase", + "outputs": [ + { + "name": "_isMainPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isLockingPhase", + "outputs": [ + { + "name": "_isLockingPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentQuarterNumber", + "outputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "FUNDING_SOURCE", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isParticipant", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getBytesConfig", + "outputs": [ + { + "name": "_configValue", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getUintConfig", + "outputs": [ + { + "name": "_configValue", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isDaoNotReplaced", + "outputs": [ + { + "name": "_isNotReplaced", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isModerator", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + }, + { + "name": "_fundingSource", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_votingRound", + "type": "uint256" + }, + { + "indexed": false, + "name": "_funding", + "type": "uint256" + } + ], + "name": "ClaimFunding", + "type": "event" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "isProposalPaused", + "outputs": [ + { + "name": "_isPausedOrStopped", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_fundingSource", + "type": "address" + } + ], + "name": "setFundingSource", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + } + ], + "name": "claimFunding", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_receiver", + "type": "address" + }, + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "refundCollateral", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_destinationForDaoFunds", + "type": "address" + } + ], + "name": "moveFundsToNewDao", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b506040516040806200362183398101806040528101908080519060200190929190805190602001909291905050506200117f601e5483620011d4640100000000026401000000009004565b15156200118b57600080fd5b80607060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505062001465565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156200123c57600080fd5b505af115801562001251573d6000803e3d6000fd5b505050506040513d60208110156200126857600080fd5b81019080805190602001909291905050509050600015158115151415620014595730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156200140657600080fd5b505af11580156200141b573d6000803e3d6000fd5b505050506040513d60208110156200143257600080fd5b810190808051906020019092919050505015156200144f57600080fd5b600191506200145e565b600091505b5092915050565b6121ac80620014756000396000f300608060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146101b05780631d8ccd04146102075780633943380c146102785780633f83acff146102ab578063560a25ea1461031c57806368533060146103475780637bf6b37e146103765780637d6fed80146103b15780637e71332b146103e05780637f6a26b6146104495780638b43ba9314610474578063929066f5146104cb57806393ddad08146105265780639f5c069514610573578063b1e2b9dd146105b6578063c72deb9a146105fb578063d70d93581461063e578063db4ecbc11461066d578063f94f0f33146106c4578063fa6f39361461070d575b607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806101a35750610174601454610768565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156101ae57600080fd5b005b3480156101bc57600080fd5b506101c5610844565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561021357600080fd5b506102366004803603810190808035600019169060200190929190505050610869565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561028457600080fd5b5061028d61092b565b60405180826000191660001916815260200191505060405180910390f35b3480156102b757600080fd5b506102da6004803603810190808035600019169060200190929190505050610768565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032857600080fd5b50610331610931565b6040518082815260200191505060405180910390f35b34801561035357600080fd5b5061035c610941565b604051808215151515815260200191505060405180910390f35b34801561038257600080fd5b506103af60048036038101908080356000191690602001909291908035906020019092919050505061096d565b005b3480156103bd57600080fd5b506103c6610ecf565b604051808215151515815260200191505060405180910390f35b3480156103ec57600080fd5b5061042f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190505050610eea565b604051808215151515815260200191505060405180910390f35b34801561045557600080fd5b5061045e610f4d565b6040518082815260200191505060405180910390f35b34801561048057600080fd5b50610489610f5d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104d757600080fd5b5061050c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f83565b604051808215151515815260200191505060405180910390f35b34801561053257600080fd5b506105556004803603810190808035600019169060200190929190505050611164565b60405180826000191660001916815260200191505060405180910390f35b34801561057f57600080fd5b506105b4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611226565b005b3480156105c257600080fd5b506105e56004803603810190808035600019169060200190929190505050611366565b6040518082815260200191505060405180910390f35b34801561060757600080fd5b5061063c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611428565b005b34801561064a57600080fd5b506106536114a5565b604051808215151515815260200191505060405180910390f35b34801561067957600080fd5b50610682611553565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106d057600080fd5b506106f36004803603810190808035600019169060200190929190505050611579565b604051808215151515815260200191505060405180910390f35b34801561071957600080fd5b5061074e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116ce565b604051808215151515815260200191505060405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561080257600080fd5b505af1158015610816573d6000803e3d6000fd5b505050506040513d602081101561082c57600080fd5b81019080805190602001909291905050509050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006108736119a1565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156108e957600080fd5b505af11580156108fd573d6000803e3d6000fd5b505050506040513d602081101561091357600080fd5b81019080805190602001909291905050509050919050565b60015481565b600061093c426119b3565b905090565b600061094b6114a5565b8015610968575061095d603854611366565b610965610931565b10155b905090565b6000610977611a9c565b73ffffffffffffffffffffffffffffffffffffffff16634a9aedc4336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610a1157600080fd5b505af1158015610a25573d6000803e3d6000fd5b505050506040513d6020811015610a3b57600080fd5b81019080805190602001909291905050501515610a5757600080fd5b610a6083611aae565b1515610a6b57600080fd5b610a7483611579565b151515610a8057600080fd5b610a88611b9e565b73ffffffffffffffffffffffffffffffffffffffff166341a7158984846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b158015610b0657600080fd5b505af1158015610b1a573d6000803e3d6000fd5b505050506040513d6020811015610b3057600080fd5b8101908080519060200190929190505050151515610b4d57600080fd5b610b55611b9e565b73ffffffffffffffffffffffffffffffffffffffff16630bcaa45184846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b158015610bd357600080fd5b505af1158015610be7573d6000803e3d6000fd5b505050506040513d6020811015610bfd57600080fd5b81019080805190602001909291905050501515610c1957600080fd5b610c21611b9e565b73ffffffffffffffffffffffffffffffffffffffff166385f5276f84846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b158015610c9f57600080fd5b505af1158015610cb3573d6000803e3d6000fd5b505050506040513d6020811015610cc957600080fd5b81019080805190602001909291905050501515610ce557600080fd5b610ced611b9e565b73ffffffffffffffffffffffffffffffffffffffff16633a85b82284846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b158015610d6b57600080fd5b505af1158015610d7f573d6000803e3d6000fd5b505050506040513d6020811015610d9557600080fd5b81019080805190602001909291905050509050610db0611b9e565b73ffffffffffffffffffffffffffffffffffffffff166327a9bb0e84846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015610e2e57600080fd5b505af1158015610e42573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610e8c573d6000803e3d6000fd5b508183600019167f8d1b0df4570782153fa0f8007e693260546917a0bf0f213cd60711d69d7377f5836040518082815260200191505060405180910390a3505050565b6000610edc603854611366565b610ee4610931565b10905090565b6000610f2e60606040519081016040528060145460001916600019168152602001601854600019166000191681526020016003546000191660001916815250611bb0565b1515610f3957600080fd5b610f438383611d27565b6001905092915050565b6000610f5842611e30565b905090565b607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610f8d610f4d565b610f95611f33565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561102f57600080fd5b505af1158015611043573d6000803e3d6000fd5b505050506040513d602081101561105957600080fd5b810190808051906020019092919050505014801561115d575061107d603554611366565b611085611f45565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561111f57600080fd5b505af1158015611133573d6000803e3d6000fd5b505050506040513d602081101561114957600080fd5b810190808051906020019092919050505010155b9050919050565b600061116e6119a1565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156111e457600080fd5b505af11580156111f8573d6000803e3d6000fd5b505050506040513d602081101561120e57600080fd5b81019080805190602001909291905050509050919050565b603360009054906101000a900460ff1660ff16611241611a9c565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156112db57600080fd5b505af11580156112ef573d6000803e3d6000fd5b505050506040513d602081101561130557600080fd5b810190808051906020019092919050505014151561132257600080fd5b80607060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006113706119a1565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156113e657600080fd5b505af11580156113fa573d6000803e3d6000fd5b505050506040513d602081101561141057600080fd5b81019080805190602001909291905050509050919050565b6000611435601454611f57565b151561144057600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163190508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156114a0573d6000803e3d6000fd5b505050565b60006114af612061565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561151257600080fd5b505af1158015611526573d6000803e3d6000fd5b505050506040513d602081101561153c57600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611583611b9e565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b1580156115fa57600080fd5b505af115801561160e573d6000803e3d6000fd5b505050506040513d61014081101561162557600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050909192939495969798509091929394959697509091929394959650909192939495509091929394509091929350909192509091505080915050919050565b60006116d8610f4d565b6116e0611f33565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561177a57600080fd5b505af115801561178e573d6000803e3d6000fd5b505050506040513d60208110156117a457600080fd5b81019080805190602001909291905050501480156118a857506117c8603654611366565b6117d0611f45565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561186a57600080fd5b505af115801561187e573d6000803e3d6000fd5b505050506040513d602081101561189457600080fd5b810190808051906020019092919050505010155b801561199a57506118ba603754611366565b6118c2612073565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561195c57600080fd5b505af1158015611970573d6000803e3d6000fd5b505050506040513d602081101561198657600080fd5b810190808051906020019092919050505010155b9050919050565b60006119ae602b54610768565b905090565b60006119bd612085565b15156119c857600080fd5b6119d3603954611366565b611a8b6119de612061565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611a4157600080fd5b505af1158015611a55573d6000803e3d6000fd5b505050506040513d6020811015611a6b57600080fd5b81019080805190602001909291905050508461213590919063ffffffff16565b811515611a9457fe5b069050919050565b6000611aa9602854610768565b905090565b6000611ab8611b9e565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611b2e57600080fd5b505af1158015611b42573d6000803e3d6000fd5b505050506040513d6020811015611b5857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b6000611bab602554610768565b905090565b600080600060039150600090505b81811015611d20576000600102600019168482600381101515611bdd57fe5b6020020151600019161415611bf157611d13565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff8583600381101515611c3c57fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611c9b57600080fd5b505af1158015611caf573d6000803e3d6000fd5b505050506040513d6020811015611cc557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611d125760019250611d20565b5b8080600101915050611bbe565b5050919050565b6000611d31611b9e565b73ffffffffffffffffffffffffffffffffffffffff1663eb82718a836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611da757600080fd5b505af1158015611dbb573d6000803e3d6000fd5b505050506040513d6020811015611dd157600080fd5b810190808051906020019092919050505090508273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611e2a573d6000803e3d6000fd5b50505050565b6000611e3a612085565b1515611e4557600080fd5b611f2c6001611f1e611e58603954611366565b611f10611e63612061565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050508761213590919063ffffffff16565b61214e90919063ffffffff16565b61216490919063ffffffff16565b9050919050565b6000611f40602d54610768565b905090565b6000611f52602c54610768565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611ff157600080fd5b505af1158015612005573d6000803e3d6000fd5b505050506040513d602081101561201b57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b600061206e602754610768565b905090565b6000612080602954610768565b905090565b600080612090612061565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156120f357600080fd5b505af1158015612107573d6000803e3d6000fd5b505050506040513d602081101561211d57600080fd5b81019080805190602001909291905050501415905090565b600082821115151561214357fe5b818303905092915050565b6000818381151561215b57fe5b04905092915050565b6000818301905082811015151561217757fe5b809050929150505600a165627a7a72305820bac37e9c4f397fdbc4f92a2e44043d68f5d346c8efa7414626078aa2e45d59920029", + "deployedBytecode": "0x608060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146101b05780631d8ccd04146102075780633943380c146102785780633f83acff146102ab578063560a25ea1461031c57806368533060146103475780637bf6b37e146103765780637d6fed80146103b15780637e71332b146103e05780637f6a26b6146104495780638b43ba9314610474578063929066f5146104cb57806393ddad08146105265780639f5c069514610573578063b1e2b9dd146105b6578063c72deb9a146105fb578063d70d93581461063e578063db4ecbc11461066d578063f94f0f33146106c4578063fa6f39361461070d575b607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806101a35750610174601454610768565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156101ae57600080fd5b005b3480156101bc57600080fd5b506101c5610844565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561021357600080fd5b506102366004803603810190808035600019169060200190929190505050610869565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561028457600080fd5b5061028d61092b565b60405180826000191660001916815260200191505060405180910390f35b3480156102b757600080fd5b506102da6004803603810190808035600019169060200190929190505050610768565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032857600080fd5b50610331610931565b6040518082815260200191505060405180910390f35b34801561035357600080fd5b5061035c610941565b604051808215151515815260200191505060405180910390f35b34801561038257600080fd5b506103af60048036038101908080356000191690602001909291908035906020019092919050505061096d565b005b3480156103bd57600080fd5b506103c6610ecf565b604051808215151515815260200191505060405180910390f35b3480156103ec57600080fd5b5061042f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190505050610eea565b604051808215151515815260200191505060405180910390f35b34801561045557600080fd5b5061045e610f4d565b6040518082815260200191505060405180910390f35b34801561048057600080fd5b50610489610f5d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104d757600080fd5b5061050c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f83565b604051808215151515815260200191505060405180910390f35b34801561053257600080fd5b506105556004803603810190808035600019169060200190929190505050611164565b60405180826000191660001916815260200191505060405180910390f35b34801561057f57600080fd5b506105b4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611226565b005b3480156105c257600080fd5b506105e56004803603810190808035600019169060200190929190505050611366565b6040518082815260200191505060405180910390f35b34801561060757600080fd5b5061063c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611428565b005b34801561064a57600080fd5b506106536114a5565b604051808215151515815260200191505060405180910390f35b34801561067957600080fd5b50610682611553565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106d057600080fd5b506106f36004803603810190808035600019169060200190929190505050611579565b604051808215151515815260200191505060405180910390f35b34801561071957600080fd5b5061074e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116ce565b604051808215151515815260200191505060405180910390f35b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561080257600080fd5b505af1158015610816573d6000803e3d6000fd5b505050506040513d602081101561082c57600080fd5b81019080805190602001909291905050509050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006108736119a1565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156108e957600080fd5b505af11580156108fd573d6000803e3d6000fd5b505050506040513d602081101561091357600080fd5b81019080805190602001909291905050509050919050565b60015481565b600061093c426119b3565b905090565b600061094b6114a5565b8015610968575061095d603854611366565b610965610931565b10155b905090565b6000610977611a9c565b73ffffffffffffffffffffffffffffffffffffffff16634a9aedc4336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610a1157600080fd5b505af1158015610a25573d6000803e3d6000fd5b505050506040513d6020811015610a3b57600080fd5b81019080805190602001909291905050501515610a5757600080fd5b610a6083611aae565b1515610a6b57600080fd5b610a7483611579565b151515610a8057600080fd5b610a88611b9e565b73ffffffffffffffffffffffffffffffffffffffff166341a7158984846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b158015610b0657600080fd5b505af1158015610b1a573d6000803e3d6000fd5b505050506040513d6020811015610b3057600080fd5b8101908080519060200190929190505050151515610b4d57600080fd5b610b55611b9e565b73ffffffffffffffffffffffffffffffffffffffff16630bcaa45184846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b158015610bd357600080fd5b505af1158015610be7573d6000803e3d6000fd5b505050506040513d6020811015610bfd57600080fd5b81019080805190602001909291905050501515610c1957600080fd5b610c21611b9e565b73ffffffffffffffffffffffffffffffffffffffff166385f5276f84846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b158015610c9f57600080fd5b505af1158015610cb3573d6000803e3d6000fd5b505050506040513d6020811015610cc957600080fd5b81019080805190602001909291905050501515610ce557600080fd5b610ced611b9e565b73ffffffffffffffffffffffffffffffffffffffff16633a85b82284846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b158015610d6b57600080fd5b505af1158015610d7f573d6000803e3d6000fd5b505050506040513d6020811015610d9557600080fd5b81019080805190602001909291905050509050610db0611b9e565b73ffffffffffffffffffffffffffffffffffffffff166327a9bb0e84846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015610e2e57600080fd5b505af1158015610e42573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610e8c573d6000803e3d6000fd5b508183600019167f8d1b0df4570782153fa0f8007e693260546917a0bf0f213cd60711d69d7377f5836040518082815260200191505060405180910390a3505050565b6000610edc603854611366565b610ee4610931565b10905090565b6000610f2e60606040519081016040528060145460001916600019168152602001601854600019166000191681526020016003546000191660001916815250611bb0565b1515610f3957600080fd5b610f438383611d27565b6001905092915050565b6000610f5842611e30565b905090565b607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610f8d610f4d565b610f95611f33565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561102f57600080fd5b505af1158015611043573d6000803e3d6000fd5b505050506040513d602081101561105957600080fd5b810190808051906020019092919050505014801561115d575061107d603554611366565b611085611f45565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561111f57600080fd5b505af1158015611133573d6000803e3d6000fd5b505050506040513d602081101561114957600080fd5b810190808051906020019092919050505010155b9050919050565b600061116e6119a1565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156111e457600080fd5b505af11580156111f8573d6000803e3d6000fd5b505050506040513d602081101561120e57600080fd5b81019080805190602001909291905050509050919050565b603360009054906101000a900460ff1660ff16611241611a9c565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156112db57600080fd5b505af11580156112ef573d6000803e3d6000fd5b505050506040513d602081101561130557600080fd5b810190808051906020019092919050505014151561132257600080fd5b80607060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006113706119a1565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156113e657600080fd5b505af11580156113fa573d6000803e3d6000fd5b505050506040513d602081101561141057600080fd5b81019080805190602001909291905050509050919050565b6000611435601454611f57565b151561144057600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163190508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156114a0573d6000803e3d6000fd5b505050565b60006114af612061565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561151257600080fd5b505af1158015611526573d6000803e3d6000fd5b505050506040513d602081101561153c57600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611583611b9e565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b1580156115fa57600080fd5b505af115801561160e573d6000803e3d6000fd5b505050506040513d61014081101561162557600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050909192939495969798509091929394959697509091929394959650909192939495509091929394509091929350909192509091505080915050919050565b60006116d8610f4d565b6116e0611f33565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561177a57600080fd5b505af115801561178e573d6000803e3d6000fd5b505050506040513d60208110156117a457600080fd5b81019080805190602001909291905050501480156118a857506117c8603654611366565b6117d0611f45565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561186a57600080fd5b505af115801561187e573d6000803e3d6000fd5b505050506040513d602081101561189457600080fd5b810190808051906020019092919050505010155b801561199a57506118ba603754611366565b6118c2612073565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561195c57600080fd5b505af1158015611970573d6000803e3d6000fd5b505050506040513d602081101561198657600080fd5b810190808051906020019092919050505010155b9050919050565b60006119ae602b54610768565b905090565b60006119bd612085565b15156119c857600080fd5b6119d3603954611366565b611a8b6119de612061565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611a4157600080fd5b505af1158015611a55573d6000803e3d6000fd5b505050506040513d6020811015611a6b57600080fd5b81019080805190602001909291905050508461213590919063ffffffff16565b811515611a9457fe5b069050919050565b6000611aa9602854610768565b905090565b6000611ab8611b9e565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611b2e57600080fd5b505af1158015611b42573d6000803e3d6000fd5b505050506040513d6020811015611b5857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b6000611bab602554610768565b905090565b600080600060039150600090505b81811015611d20576000600102600019168482600381101515611bdd57fe5b6020020151600019161415611bf157611d13565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff8583600381101515611c3c57fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611c9b57600080fd5b505af1158015611caf573d6000803e3d6000fd5b505050506040513d6020811015611cc557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611d125760019250611d20565b5b8080600101915050611bbe565b5050919050565b6000611d31611b9e565b73ffffffffffffffffffffffffffffffffffffffff1663eb82718a836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611da757600080fd5b505af1158015611dbb573d6000803e3d6000fd5b505050506040513d6020811015611dd157600080fd5b810190808051906020019092919050505090508273ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611e2a573d6000803e3d6000fd5b50505050565b6000611e3a612085565b1515611e4557600080fd5b611f2c6001611f1e611e58603954611366565b611f10611e63612061565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611ec657600080fd5b505af1158015611eda573d6000803e3d6000fd5b505050506040513d6020811015611ef057600080fd5b81019080805190602001909291905050508761213590919063ffffffff16565b61214e90919063ffffffff16565b61216490919063ffffffff16565b9050919050565b6000611f40602d54610768565b905090565b6000611f52602c54610768565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611ff157600080fd5b505af1158015612005573d6000803e3d6000fd5b505050506040513d602081101561201b57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b600061206e602754610768565b905090565b6000612080602954610768565b905090565b600080612090612061565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156120f357600080fd5b505af1158015612107573d6000803e3d6000fd5b505050506040513d602081101561211d57600080fd5b81019080805190602001909291905050501415905090565b600082821115151561214357fe5b818303905092915050565b6000818381151561215b57fe5b04905092915050565b6000818301905082811015151561217757fe5b809050929150505600a165627a7a72305820bac37e9c4f397fdbc4f92a2e44043d68f5d346c8efa7414626078aa2e45d59920029", + "sourceMap": "148:4237:9:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;333:174:9;8:9:-1;5:2;;;30:1;27;20:12;5:2;333:174:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;413:45;418:28;;448:9;413:4;;;:45;;;:::i;:::-;405:54;;;;;;;;486:14;469;;:31;;;;;;;;;;;;;;;;;;333:174;;148:4237;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;148:4237:9:-;;;;;;;", + "deployedSourceMap": "148:4237:9:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4293:14;;;;;;;;;;;4279:28;;:10;:28;;;4278:88;;;;4339:26;4352:12;;4339;:26::i;:::-;4325:40;;:10;:40;;;4278:88;4257:119;;;;;;;;148:4237;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;5244:195:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5244:195:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4743:147:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4743:147:2;;;;;;;;;;;;;;;;;;;;;;;1759:239;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1759:239:2;;;;;;;;;;;;;;;;;;;;;;;;;;;2023:758:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2023:758:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1283:201:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1283:201:2;;;;;;;;;;;;;;;;;;;;;;;;;;;3037:297:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3037:297:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3064:159:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3064:159:2;;;;;;;;;;;;;;;;;;;;;;;195:29:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;195:29:9;;;;;;;;;;;;;;;;;;;;;;;;;;;5725:311:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5725:311:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5445:191:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1550:135:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1550:135:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;7261:189:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7261:189:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3740:248:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3740:248:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:173:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;834:173:2;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;1095:208:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1095:208:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6123:431:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6123:431:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179:67;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;237:23::-;;;;;;;;;;;;;:::o;5244:195:1:-;5335:20;5386:19;:17;:19::i;:::-;:34;;;5421:10;5386:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5386:46:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5386:46:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5386:46:1;;;;;;;;;;;;;;;;5371:61;;5244:195;;;:::o;264:18:67:-;;;;:::o;4743:147:2:-;4820:17;4865:18;4879:3;4865:13;:18::i;:::-;4853:30;;4743:147;:::o;1759:239::-;1827:17;1887:18;:16;:18::i;:::-;:104;;;;;1947:44;1961:29;;1947:13;:44::i;:::-;1921:22;:20;:22::i;:::-;:70;;1887:104;1860:131;;1759:239;:::o;2023:758:9:-;2538:16;2119:18;:16;:18::i;:::-;:34;;;2154:10;2119:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2119:46:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2119:46:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2119:46:9;;;;;;;;;;;;;;;;2111:55;;;;;;;;2184:27;2199:11;2184:14;:27::i;:::-;2176:36;;;;;;;;2281:29;2298:11;2281:16;:29::i;:::-;2280:30;2272:39;;;;;;;;2331:12;:10;:12::i;:::-;:34;;;2366:11;2379:6;2331:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2331:55:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2331:55:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2331:55:9;;;;;;;;;;;;;;;;2330:56;2322:65;;;;;;;;2406:12;:10;:12::i;:::-;:37;;;2444:11;2457:6;2406:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2406:58:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2406:58:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2406:58:9;;;;;;;;;;;;;;;;2398:67;;;;;;;;2483:12;:10;:12::i;:::-;:22;;;2506:11;2519:6;2483:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2483:43:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2483:43:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2483:43:9;;;;;;;;;;;;;;;;2475:52;;;;;;;;2557:12;:10;:12::i;:::-;:34;;;2592:11;2605:6;2557:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2557:55:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2557:55:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2557:55:9;;;;;;;;;;;;;;;;2538:74;;2623:12;:10;:12::i;:::-;:31;;;2655:11;2668:6;2623:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2623:52:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2623:52:9;;;;2686:10;:19;;:29;2706:8;2686:29;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2686:29:9;2757:6;2744:11;2731:43;;;;2765:8;2731:43;;;;;;;;;;;;;;;;;;2023:758;;;:::o;1283:201:2:-;1354:20;1433:44;1447:29;;1433:13;:44::i;:::-;1408:22;:20;:22::i;:::-;:69;1390:87;;1283:201;:::o;3037:297:9:-;3135:13;3172:71;;;;;;;;;;3188:12;;3172:71;;;;;;;;;;3202:26;;3172:71;;;;;;;;;;3230:11;;3172:71;;;;;;;;;:14;:71::i;:::-;3164:80;;;;;;;;3254:48;3279:9;3290:11;3254:24;:48::i;:::-;3323:4;3312:15;;3037:297;;;;:::o;3064:159:2:-;3140:22;3195:21;3212:3;3195:16;:21::i;:::-;3178:38;;3064:159;:::o;195:29:9:-;;;;;;;;;;;;;:::o;5725:311:1:-;5808:8;5905:22;:20;:22::i;:::-;5851:19;:17;:19::i;:::-;:43;;;5895:5;5851:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5851:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5851:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5851:50:1;;;;;;;;;;;;;;;;:76;5850:179;;;;;5988:40;6002:25;;5988:13;:40::i;:::-;5945:17;:15;:17::i;:::-;:32;;;5978:5;5945:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5945:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5945:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5945:39:1;;;;;;;;;;;;;;;;:83;;5850:179;5832:197;;5725:311;;;:::o;5445:191::-;5534:20;5585:19;:17;:19::i;:::-;:32;;;5618:10;5585:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5585:44:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5585:44:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5585:44:1;;;;;;;;;;;;;;;;5570:59;;5445:191;;;:::o;1550:135:9:-;337:10:7;;;;;;;;;;;285:62;;:18;:16;:18::i;:::-;:36;;;322:10;285:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;285:48:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;285:48:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;285:48:7;;;;;;;;;;;;;;;;:62;277:71;;;;;;;;1664:14:9;1647;;:31;;;;;;;;;;;;;;;;;;1550:135;:::o;7261:189:2:-;7349:20;7400:19;:17;:19::i;:::-;:31;;;7432:10;7400:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7400:43:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7400:43:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7400:43:2;;;;;;;;;;;;;;;;7385:58;;7261:189;;;:::o;3740:248:9:-;3871:25;3837:23;3847:12;;3837:9;:23::i;:::-;3829:32;;;;;;;;3907:4;3899:21;;;3871:49;;3930:23;:32;;:51;3963:17;3930:51;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3930:51:9;3740:248;;:::o;834:173:2:-;907:19;960;:17;:19::i;:::-;:38;;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;960:40:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;960:40:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;960:40:2;;;;;;;;;;;;;;;;959:41;942:58;;834:173;:::o;344:31:67:-;;;;;;;;;;;;;:::o;1095:208:9:-;1187:23;1258:12;:10;:12::i;:::-;:25;;;1284:11;1258:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1258:38:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1258:38:9;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1258:38:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1226:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1095:208;;;:::o;6123:431:1:-;6204:8;6301:22;:20;:22::i;:::-;6247:19;:17;:19::i;:::-;:43;;;6291:5;6247:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6247:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6247:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6247:50:1;;;;;;;;;;;;;;;;:76;6246:186;;;;;6384:47;6398:32;;6384:13;:47::i;:::-;6341:17;:15;:17::i;:::-;:32;;;6374:5;6341:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6341:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6341:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6341:39:1;;;;;;;;;;;;;;;;:90;;6246:186;:301;;;;;6492:54;6506:39;;6492:13;:54::i;:::-;6449:18;:16;:18::i;:::-;:32;;;6482:5;6449:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6449:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6449:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6449:39:1;;;;;;;;;;;;;;;;:97;;6246:301;6228:319;;6123:431;;;:::o;5398:198:2:-;5474:27;5547:41;5560:27;;5547:12;:41::i;:::-;5517:72;;5398:198;:::o;3862:332::-;3947:22;3993:26;:24;:26::i;:::-;3985:35;;;;;;;;4149:38;4163:23;;4149:13;:38::i;:::-;4082:52;4092:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4092:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4092:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4092:41:2;;;;;;;;;;;;;;;;4082:5;:9;;:52;;;;:::i;:::-;:105;;;;;;;;4053:134;;3862:332;;;:::o;899:201:7:-;974:28;1049:43;1062:29;;1049:12;:43::i;:::-;1018:75;;899:201;:::o;325:213:1:-;417:20;485:12;:10;:12::i;:::-;:33;;;519:11;485:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;485:46:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;485:46:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;485:46:1;;;;;;;;;;;;;;;;471:60;;:10;:60;;;453:78;;325:213;;;:::o;5799:170:2:-;5868:20;5927:34;5940:20;;5927:12;:34::i;:::-;5904:58;;5799:170;:::o;881:350:67:-;951:12;971:10;1012:9;984:17;971:30;;1024:1;1012:13;;1007:220;1031:2;1027:1;:6;1007:220;;;1077:3;1069:12;;1052:29;;;:10;1063:1;1052:13;;;;;;;;;;;;;:29;;;;1048:43;;;1083:8;;1048:43;1134:8;;;;;;;;;;;1117:39;;;1157:10;1168:1;1157:13;;;;;;;;;;;;;1117:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1117:54:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1117:54:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1117:54:67;;;;;;;;;;;;;;;;1103:68;;:10;:68;;;1099:122;;;1193:4;1183:14;;1207:5;;1099:122;1007:220;1035:3;;;;;;;1007:220;;;881:350;;;;;:::o;3340:241:9:-;3445:25;3473:12;:10;:12::i;:::-;:41;;;3515:11;3473:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3473:54:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3473:54:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3473:54:9;;;;;;;;;;;;;;;;3445:82;;3537:9;:18;;:37;3556:17;3537:37;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3537:37:9;3340:241;;;:::o;3369:320:2:-;3457:14;3495:26;:24;:26::i;:::-;3487:35;;;;;;;;3553:129;3680:1;3553:109;3623:38;3637:23;;3623:13;:38::i;:::-;3553:52;3563:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3563:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3563:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3563:41:2;;;;;;;;;;;;;;;;3553:5;:9;;:52;;;;:::i;:::-;:69;;:109;;;;:::i;:::-;:126;;:129;;;;:::i;:::-;3532:150;;3369:320;;;:::o;6815:199::-;6891:27;6964:42;6977:28;;6964:12;:42::i;:::-;6934:73;;6815:199;:::o;5602:191::-;5676:25;5745:40;5758:26;;5745:12;:40::i;:::-;5717:69;;5602:191;:::o;610:160:67:-;671:12;732:8;;;;;;;;;;;715:39;;;755:9;715:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;715:50:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;715:50:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;715:50:67;;;;;;;;;;;;;;;;701:64;;:10;:64;;;691:74;;610:160;;;:::o;6204:199:2:-;6280:27;6353:42;6366:28;;6353:12;:42::i;:::-;6323:73;;6204:199;:::o;6614:195::-;6689:26;6760:41;6773:27;;6760:12;:41::i;:::-;6731:71;;6614:195;:::o;4343:172::-;4426:11;4507:1;4462:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4462:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4462:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4462:41:2;;;;;;;;;;;;;;;;:46;;4453:55;;4343:172;:::o;1060:116:84:-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;665:283::-;725:7;941:2;936;:7;;;;;;;;929:14;;665:283;;;;:::o;1238:128::-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"../common/DaoCommon.sol\";\nimport \"./Dao.sol\";\n\n\n/**\n@title Contract to manage DAO funds\n@author Digix Holdings\n*/\ncontract DaoFundingManager is DaoCommon {\n\n address public FUNDING_SOURCE;\n\n event ClaimFunding(bytes32 indexed _proposalId, uint256 indexed _votingRound, uint256 _funding);\n\n constructor(address _resolver, address _fundingSource) public {\n require(init(CONTRACT_DAO_FUNDING_MANAGER, _resolver));\n FUNDING_SOURCE = _fundingSource;\n }\n\n function dao()\n internal\n view\n returns (Dao _contract)\n {\n _contract = Dao(get_contract(CONTRACT_DAO));\n }\n\n /**\n @notice Check if a proposal is currently paused/stopped\n @dev If a proposal is paused/stopped (by the PRLs): proposer cannot call for voting, a current on-going voting round can still pass, but no funding can be withdrawn.\n @dev A paused proposal can still be unpaused\n @dev If a proposal is stopped, this function also returns true\n @return _isPausedOrStopped true if the proposal is paused(or stopped)\n */\n function isProposalPaused(bytes32 _proposalId)\n public\n view\n returns (bool _isPausedOrStopped)\n {\n (,,,,,,,,_isPausedOrStopped,) = daoStorage().readProposal(_proposalId);\n }\n\n /**\n @notice Function to set the source of DigixDAO funding\n @dev only this source address will be able to fund the DaoFundingManager contract, along with CONTRACT_DAO\n @param _fundingSource address of the funding source\n */\n function setFundingSource(address _fundingSource)\n public\n if_root()\n {\n FUNDING_SOURCE = _fundingSource;\n }\n\n /**\n @notice Call function to claim the ETH funding for a certain milestone\n @dev Note that the proposer can do this anytime, even in the locking phase\n @param _proposalId ID of the proposal\n @param _index Index of the proposal voting round that they got passed, which is also the same as the milestone index\n */\n function claimFunding(bytes32 _proposalId, uint256 _index)\n public\n {\n require(identity_storage().is_kyc_approved(msg.sender));\n require(isFromProposer(_proposalId));\n\n // proposal should not be paused/stopped\n require(!isProposalPaused(_proposalId));\n\n require(!daoStorage().readIfMilestoneFunded(_proposalId, _index));\n\n require(daoStorage().readProposalVotingResult(_proposalId, _index));\n require(daoStorage().isClaimed(_proposalId, _index));\n\n uint256 _funding = daoStorage().readProposalMilestone(_proposalId, _index);\n\n daoStorage().setMilestoneFunded(_proposalId, _index);\n\n msg.sender.transfer(_funding);\n\n emit ClaimFunding(_proposalId, _index, _funding);\n }\n\n /**\n @notice Function to refund the collateral to _receiver\n @dev Can only be called from the Dao contract\n @param _receiver The receiver of the funds\n @return {\n \"_success\": \"Boolean, true if refund was successful\"\n }\n */\n function refundCollateral(address _receiver, bytes32 _proposalId)\n public\n returns (bool _success)\n {\n require(sender_is_from([CONTRACT_DAO, CONTRACT_DAO_VOTING_CLAIMS, EMPTY_BYTES]));\n refundCollateralInternal(_receiver, _proposalId);\n _success = true;\n }\n\n function refundCollateralInternal(address _receiver, bytes32 _proposalId)\n internal\n {\n uint256 _collateralAmount = daoStorage().readProposalCollateralAmount(_proposalId);\n _receiver.transfer(_collateralAmount);\n }\n\n /**\n @notice Function to move funds to a new DAO\n @param _destinationForDaoFunds Ethereum contract address of the new DaoFundingManager\n */\n function moveFundsToNewDao(address _destinationForDaoFunds)\n public\n {\n require(sender_is(CONTRACT_DAO));\n uint256 _remainingBalance = address(this).balance;\n _destinationForDaoFunds.transfer(_remainingBalance);\n }\n\n /**\n @notice Payable fallback function to receive ETH funds from DigixDAO crowdsale contract\n @dev this contract can only receive funds from FUNDING_SOURCE address or CONTRACT_DAO (when proposal is created)\n */\n function () external payable {\n require(\n (msg.sender == FUNDING_SOURCE) ||\n (msg.sender == get_contract(CONTRACT_DAO))\n );\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoFundingManager.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoFundingManager.sol", + "exportedSymbols": { + "DaoFundingManager": [ + 3149 + ] + }, + "id": 3150, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2889, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:9" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommon.sol", + "file": "../common/DaoCommon.sol", + "id": 2890, + "nodeType": "ImportDirective", + "scope": 3150, + "sourceUnit": 839, + "src": "26:33:9", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/Dao.sol", + "file": "./Dao.sol", + "id": 2891, + "nodeType": "ImportDirective", + "scope": 3150, + "sourceUnit": 2888, + "src": "60:19:9", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 2892, + "name": "DaoCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 838, + "src": "178:9:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommon_$838", + "typeString": "contract DaoCommon" + } + }, + "id": 2893, + "nodeType": "InheritanceSpecifier", + "src": "178:9:9" + } + ], + "contractDependencies": [ + 838, + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": "@title Contract to manage DAO funds\n@author Digix Holdings", + "fullyImplemented": true, + "id": 3149, + "linearizedBaseContracts": [ + 3149, + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoFundingManager", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 2895, + "name": "FUNDING_SOURCE", + "nodeType": "VariableDeclaration", + "scope": 3149, + "src": "195:29:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2894, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "195:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 2903, + "name": "ClaimFunding", + "nodeType": "EventDefinition", + "parameters": { + "id": 2902, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2897, + "indexed": true, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 2903, + "src": "250:27:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2896, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "250:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2899, + "indexed": true, + "name": "_votingRound", + "nodeType": "VariableDeclaration", + "scope": 2903, + "src": "279:28:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2898, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "279:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2901, + "indexed": false, + "name": "_funding", + "nodeType": "VariableDeclaration", + "scope": 2903, + "src": "309:16:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2900, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "309:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "249:77:9" + }, + "src": "231:96:9" + }, + { + "body": { + "id": 2921, + "nodeType": "Block", + "src": "395:112:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2912, + "name": "CONTRACT_DAO_FUNDING_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1327, + "src": "418:28:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2913, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2905, + "src": "448:9:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2911, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "413:4:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 2914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "413:45:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2910, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "405:7:9", + "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": "405:54:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2916, + "nodeType": "ExpressionStatement", + "src": "405:54:9" + }, + { + "expression": { + "argumentTypes": null, + "id": 2919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2917, + "name": "FUNDING_SOURCE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2895, + "src": "469:14:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2918, + "name": "_fundingSource", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2907, + "src": "486:14:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "469:31:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2920, + "nodeType": "ExpressionStatement", + "src": "469:31:9" + } + ] + }, + "documentation": null, + "id": 2922, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2908, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2905, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 2922, + "src": "345:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2904, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "345:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2907, + "name": "_fundingSource", + "nodeType": "VariableDeclaration", + "scope": 2922, + "src": "364:22:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2906, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "364:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "344:43:9" + }, + "payable": false, + "returnParameters": { + "id": 2909, + "nodeType": "ParameterList", + "parameters": [], + "src": "395:0:9" + }, + "scope": 3149, + "src": "333:174:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2935, + "nodeType": "Block", + "src": "594:60:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2927, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2925, + "src": "604:9:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dao_$2887", + "typeString": "contract Dao" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2930, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "633:12:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2929, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "620:12:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 2931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "620:26:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2928, + "name": "Dao", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2887, + "src": "616:3:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Dao_$2887_$", + "typeString": "type(contract Dao)" + } + }, + "id": 2932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "616:31:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dao_$2887", + "typeString": "contract Dao" + } + }, + "src": "604:43:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dao_$2887", + "typeString": "contract Dao" + } + }, + "id": 2934, + "nodeType": "ExpressionStatement", + "src": "604:43:9" + } + ] + }, + "documentation": null, + "id": 2936, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "dao", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2923, + "nodeType": "ParameterList", + "parameters": [], + "src": "525:2:9" + }, + "payable": false, + "returnParameters": { + "id": 2926, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2925, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 2936, + "src": "575:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dao_$2887", + "typeString": "contract Dao" + }, + "typeName": { + "contractScope": null, + "id": 2924, + "name": "Dao", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2887, + "src": "575:3:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dao_$2887", + "typeString": "contract Dao" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "574:15:9" + }, + "scope": 3149, + "src": "513:141:9", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 2952, + "nodeType": "Block", + "src": "1216:87:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + null, + null, + null, + null, + null, + null, + { + "argumentTypes": null, + "id": 2943, + "name": "_isPausedOrStopped", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2941, + "src": "1235:18:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + null + ], + "id": 2944, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "1226:29:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$__$__$__$__$__$__$_t_bool_$__$", + "typeString": "tuple(,,,,,,,,bool,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2948, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2938, + "src": "1284:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2945, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "1258:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1258:12:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16595, + "src": "1258:25:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "function (bytes32) view external returns (bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "id": 2949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1258:38:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "tuple(bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "src": "1226:70:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2951, + "nodeType": "ExpressionStatement", + "src": "1226:70:9" + } + ] + }, + "documentation": "@notice Check if a proposal is currently paused/stopped\n@dev If a proposal is paused/stopped (by the PRLs): proposer cannot call for voting, a current on-going voting round can still pass, but no funding can be withdrawn.\n@dev A paused proposal can still be unpaused\n@dev If a proposal is stopped, this function also returns true\n@return _isPausedOrStopped true if the proposal is paused(or stopped)", + "id": 2953, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isProposalPaused", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2939, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2938, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 2953, + "src": "1121:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2937, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1121:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1120:21:9" + }, + "payable": false, + "returnParameters": { + "id": 2942, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2941, + "name": "_isPausedOrStopped", + "nodeType": "VariableDeclaration", + "scope": 2953, + "src": "1187:23:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2940, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1187:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1186:25:9" + }, + "scope": 3149, + "src": "1095:208:9", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2964, + "nodeType": "Block", + "src": "1637:48:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2960, + "name": "FUNDING_SOURCE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2895, + "src": "1647:14:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2961, + "name": "_fundingSource", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2955, + "src": "1664:14:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1647:31:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2963, + "nodeType": "ExpressionStatement", + "src": "1647:31:9" + } + ] + }, + "documentation": "@notice Function to set the source of DigixDAO funding\n@dev only this source address will be able to fund the DaoFundingManager contract, along with CONTRACT_DAO\n@param _fundingSource address of the funding source", + "id": 2965, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 2958, + "modifierName": { + "argumentTypes": null, + "id": 2957, + "name": "if_root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1840, + "src": "1623:7:9", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1623:9:9" + } + ], + "name": "setFundingSource", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2956, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2955, + "name": "_fundingSource", + "nodeType": "VariableDeclaration", + "scope": 2965, + "src": "1576:22:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2954, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1576:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1575:24:9" + }, + "payable": false, + "returnParameters": { + "id": 2959, + "nodeType": "ParameterList", + "parameters": [], + "src": "1637:0:9" + }, + "scope": 3149, + "src": "1550:135:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3052, + "nodeType": "Block", + "src": "2101:680:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2976, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2154:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2154:10:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2973, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "2119:16:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 2974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2119:18:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 2975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "is_kyc_approved", + "nodeType": "MemberAccess", + "referencedDeclaration": 14512, + "src": "2119:34:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 2978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2119:46:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2972, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2111:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2111:55:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2980, + "nodeType": "ExpressionStatement", + "src": "2111:55:9" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2983, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2967, + "src": "2199:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2982, + "name": "isFromProposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "2184:14:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2184:27:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2981, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2176:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2176:36:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2986, + "nodeType": "ExpressionStatement", + "src": "2176:36:9" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "2280:30:9", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2989, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2967, + "src": "2298:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2988, + "name": "isProposalPaused", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2953, + "src": "2281:16:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2281:29:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2987, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2272:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2272:39:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2993, + "nodeType": "ExpressionStatement", + "src": "2272:39:9" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "2330:56:9", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2998, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2967, + "src": "2366:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2999, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2969, + "src": "2379:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2995, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2331:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2331:12:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readIfMilestoneFunded", + "nodeType": "MemberAccess", + "referencedDeclaration": 17412, + "src": "2331:34:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (bytes32,uint256) view external returns (bool)" + } + }, + "id": 3000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2331:55:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2994, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2322:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2322:65:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3003, + "nodeType": "ExpressionStatement", + "src": "2322:65:9" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3008, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2967, + "src": "2444:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3009, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2969, + "src": "2457:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3005, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2406:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 3006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2406:12:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 3007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalVotingResult", + "nodeType": "MemberAccess", + "referencedDeclaration": 16724, + "src": "2406:37:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (bytes32,uint256) view external returns (bool)" + } + }, + "id": 3010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2406:58:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3004, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2398:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2398:67:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3012, + "nodeType": "ExpressionStatement", + "src": "2398:67:9" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3017, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2967, + "src": "2506:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3018, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2969, + "src": "2519:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3014, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2483:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 3015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2483:12:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 3016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isClaimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 17320, + "src": "2483:22:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (bytes32,uint256) view external returns (bool)" + } + }, + "id": 3019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2483:43:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3013, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2475:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2475:52:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3021, + "nodeType": "ExpressionStatement", + "src": "2475:52:9" + }, + { + "assignments": [ + 3023 + ], + "declarations": [ + { + "constant": false, + "id": 3023, + "name": "_funding", + "nodeType": "VariableDeclaration", + "scope": 3053, + "src": "2538:16:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3022, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2538:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3030, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3027, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2967, + "src": "2592:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3028, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2969, + "src": "2605:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3024, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2557:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 3025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2557:12:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 3026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalMilestone", + "nodeType": "MemberAccess", + "referencedDeclaration": 17186, + "src": "2557:34:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view external returns (uint256)" + } + }, + "id": 3029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2557:55:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2538:74:9" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3034, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2967, + "src": "2655:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3035, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2969, + "src": "2668:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3031, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2623:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 3032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2623:12:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 3033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setMilestoneFunded", + "nodeType": "MemberAccess", + "referencedDeclaration": 18303, + "src": "2623:31:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256) external" + } + }, + "id": 3036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2623:52:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3037, + "nodeType": "ExpressionStatement", + "src": "2623:52:9" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3043, + "name": "_funding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3023, + "src": "2706:8:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3038, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2686:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2686:10:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2686:19:9", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 3044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2686:29:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3045, + "nodeType": "ExpressionStatement", + "src": "2686:29:9" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3047, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2967, + "src": "2744:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3048, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2969, + "src": "2757:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3049, + "name": "_funding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3023, + "src": "2765:8:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3046, + "name": "ClaimFunding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2903, + "src": "2731:12:9", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,uint256)" + } + }, + "id": 3050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2731:43:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3051, + "nodeType": "EmitStatement", + "src": "2726:48:9" + } + ] + }, + "documentation": "@notice Call function to claim the ETH funding for a certain milestone\n@dev Note that the proposer can do this anytime, even in the locking phase\n@param _proposalId ID of the proposal\n@param _index Index of the proposal voting round that they got passed, which is also the same as the milestone index", + "id": 3053, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "claimFunding", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2970, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2967, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 3053, + "src": "2045:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2966, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2045:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2969, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 3053, + "src": "2066:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2968, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2066:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2044:37:9" + }, + "payable": false, + "returnParameters": { + "id": 2971, + "nodeType": "ParameterList", + "parameters": [], + "src": "2101:0:9" + }, + "scope": 3149, + "src": "2023:758:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3080, + "nodeType": "Block", + "src": "3154:180:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 3064, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "3188:12:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3065, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "3202:26:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3066, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "3230:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 3067, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3187:55:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 3063, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "3172:14:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 3068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3172:71:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3062, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3164:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3164:80:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3070, + "nodeType": "ExpressionStatement", + "src": "3164:80:9" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3072, + "name": "_receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3055, + "src": "3279:9:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3073, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3057, + "src": "3290:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3071, + "name": "refundCollateralInternal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3103, + "src": "3254:24:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,bytes32)" + } + }, + "id": 3074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3254:48:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3075, + "nodeType": "ExpressionStatement", + "src": "3254:48:9" + }, + { + "expression": { + "argumentTypes": null, + "id": 3078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3076, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3060, + "src": "3312:8:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3077, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3323:4:9", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "3312:15:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3079, + "nodeType": "ExpressionStatement", + "src": "3312:15:9" + } + ] + }, + "documentation": "@notice Function to refund the collateral to _receiver\n@dev Can only be called from the Dao contract\n@param _receiver The receiver of the funds\n@return {\n\"_success\": \"Boolean, true if refund was successful\"\n}", + "id": 3081, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "refundCollateral", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3058, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3055, + "name": "_receiver", + "nodeType": "VariableDeclaration", + "scope": 3081, + "src": "3063:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3054, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3063:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3057, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 3081, + "src": "3082:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3056, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3082:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3062:40:9" + }, + "payable": false, + "returnParameters": { + "id": 3061, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3060, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 3081, + "src": "3135:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3059, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3135:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3134:15:9" + }, + "scope": 3149, + "src": "3037:297:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3102, + "nodeType": "Block", + "src": "3435:146:9", + "statements": [ + { + "assignments": [ + 3089 + ], + "declarations": [ + { + "constant": false, + "id": 3089, + "name": "_collateralAmount", + "nodeType": "VariableDeclaration", + "scope": 3103, + "src": "3445:25:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3088, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3445:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3095, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3093, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3085, + "src": "3515:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3090, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "3473:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 3091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3473:12:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 3092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalCollateralAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 17355, + "src": "3473:41:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 3094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3473:54:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3445:82:9" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3099, + "name": "_collateralAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3089, + "src": "3556:17:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3096, + "name": "_receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3083, + "src": "3537:9:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3537:18:9", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 3100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3537:37:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3101, + "nodeType": "ExpressionStatement", + "src": "3537:37:9" + } + ] + }, + "documentation": null, + "id": 3103, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "refundCollateralInternal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3086, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3083, + "name": "_receiver", + "nodeType": "VariableDeclaration", + "scope": 3103, + "src": "3374:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3082, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3374:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3085, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 3103, + "src": "3393:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3084, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3393:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3373:40:9" + }, + "payable": false, + "returnParameters": { + "id": 3087, + "nodeType": "ParameterList", + "parameters": [], + "src": "3435:0:9" + }, + "scope": 3149, + "src": "3340:241:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3127, + "nodeType": "Block", + "src": "3819:169:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3110, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "3847:12:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3109, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "3837:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3837:23:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3108, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3829:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3829:32:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3113, + "nodeType": "ExpressionStatement", + "src": "3829:32:9" + }, + { + "assignments": [ + 3115 + ], + "declarations": [ + { + "constant": false, + "id": 3115, + "name": "_remainingBalance", + "nodeType": "VariableDeclaration", + "scope": 3128, + "src": "3871:25:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3114, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3871:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3120, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3117, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26697, + "src": "3907:4:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + ], + "id": 3116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3899:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3899:13:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3899:21:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3871:49:9" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3124, + "name": "_remainingBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3115, + "src": "3963:17:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3121, + "name": "_destinationForDaoFunds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3105, + "src": "3930:23:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3930:32:9", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 3125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3930:51:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3126, + "nodeType": "ExpressionStatement", + "src": "3930:51:9" + } + ] + }, + "documentation": "@notice Function to move funds to a new DAO\n@param _destinationForDaoFunds Ethereum contract address of the new DaoFundingManager", + "id": 3128, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "moveFundsToNewDao", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3106, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3105, + "name": "_destinationForDaoFunds", + "nodeType": "VariableDeclaration", + "scope": 3128, + "src": "3767:31:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3104, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3767:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3766:33:9" + }, + "payable": false, + "returnParameters": { + "id": 3107, + "nodeType": "ParameterList", + "parameters": [], + "src": "3819:0:9" + }, + "scope": 3149, + "src": "3740:248:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3147, + "nodeType": "Block", + "src": "4247:136:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3132, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4279:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4279:10:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3134, + "name": "FUNDING_SOURCE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2895, + "src": "4293:14:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4279:28:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 3136, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4278:30:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3137, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4325:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4325:10:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3140, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "4352:12:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3139, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "4339:12:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 3141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4339:26:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4325:40:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 3143, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4324:42:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4278:88:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3131, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4257:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4257:119:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3146, + "nodeType": "ExpressionStatement", + "src": "4257:119:9" + } + ] + }, + "documentation": "@notice Payable fallback function to receive ETH funds from DigixDAO crowdsale contract\n@dev this contract can only receive funds from FUNDING_SOURCE address or CONTRACT_DAO (when proposal is created)", + "id": 3148, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3129, + "nodeType": "ParameterList", + "parameters": [], + "src": "4227:2:9" + }, + "payable": true, + "returnParameters": { + "id": 3130, + "nodeType": "ParameterList", + "parameters": [], + "src": "4247:0:9" + }, + "scope": 3149, + "src": "4218:165:9", + "stateMutability": "payable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 3150, + "src": "148:4237:9" + } + ], + "src": "0:4386:9" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoFundingManager.sol", + "exportedSymbols": { + "DaoFundingManager": [ + 3149 + ] + }, + "id": 3150, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2889, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:9" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommon.sol", + "file": "../common/DaoCommon.sol", + "id": 2890, + "nodeType": "ImportDirective", + "scope": 3150, + "sourceUnit": 839, + "src": "26:33:9", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/Dao.sol", + "file": "./Dao.sol", + "id": 2891, + "nodeType": "ImportDirective", + "scope": 3150, + "sourceUnit": 2888, + "src": "60:19:9", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 2892, + "name": "DaoCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 838, + "src": "178:9:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommon_$838", + "typeString": "contract DaoCommon" + } + }, + "id": 2893, + "nodeType": "InheritanceSpecifier", + "src": "178:9:9" + } + ], + "contractDependencies": [ + 838, + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": "@title Contract to manage DAO funds\n@author Digix Holdings", + "fullyImplemented": true, + "id": 3149, + "linearizedBaseContracts": [ + 3149, + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoFundingManager", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 2895, + "name": "FUNDING_SOURCE", + "nodeType": "VariableDeclaration", + "scope": 3149, + "src": "195:29:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2894, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "195:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 2903, + "name": "ClaimFunding", + "nodeType": "EventDefinition", + "parameters": { + "id": 2902, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2897, + "indexed": true, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 2903, + "src": "250:27:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2896, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "250:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2899, + "indexed": true, + "name": "_votingRound", + "nodeType": "VariableDeclaration", + "scope": 2903, + "src": "279:28:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2898, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "279:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2901, + "indexed": false, + "name": "_funding", + "nodeType": "VariableDeclaration", + "scope": 2903, + "src": "309:16:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2900, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "309:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "249:77:9" + }, + "src": "231:96:9" + }, + { + "body": { + "id": 2921, + "nodeType": "Block", + "src": "395:112:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2912, + "name": "CONTRACT_DAO_FUNDING_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1327, + "src": "418:28:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2913, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2905, + "src": "448:9:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2911, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "413:4:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 2914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "413:45:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2910, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "405:7:9", + "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": "405:54:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2916, + "nodeType": "ExpressionStatement", + "src": "405:54:9" + }, + { + "expression": { + "argumentTypes": null, + "id": 2919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2917, + "name": "FUNDING_SOURCE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2895, + "src": "469:14:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2918, + "name": "_fundingSource", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2907, + "src": "486:14:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "469:31:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2920, + "nodeType": "ExpressionStatement", + "src": "469:31:9" + } + ] + }, + "documentation": null, + "id": 2922, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2908, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2905, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 2922, + "src": "345:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2904, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "345:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2907, + "name": "_fundingSource", + "nodeType": "VariableDeclaration", + "scope": 2922, + "src": "364:22:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2906, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "364:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "344:43:9" + }, + "payable": false, + "returnParameters": { + "id": 2909, + "nodeType": "ParameterList", + "parameters": [], + "src": "395:0:9" + }, + "scope": 3149, + "src": "333:174:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2935, + "nodeType": "Block", + "src": "594:60:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2927, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2925, + "src": "604:9:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dao_$2887", + "typeString": "contract Dao" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2930, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "633:12:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2929, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "620:12:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 2931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "620:26:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2928, + "name": "Dao", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2887, + "src": "616:3:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Dao_$2887_$", + "typeString": "type(contract Dao)" + } + }, + "id": 2932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "616:31:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dao_$2887", + "typeString": "contract Dao" + } + }, + "src": "604:43:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dao_$2887", + "typeString": "contract Dao" + } + }, + "id": 2934, + "nodeType": "ExpressionStatement", + "src": "604:43:9" + } + ] + }, + "documentation": null, + "id": 2936, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "dao", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2923, + "nodeType": "ParameterList", + "parameters": [], + "src": "525:2:9" + }, + "payable": false, + "returnParameters": { + "id": 2926, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2925, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 2936, + "src": "575:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dao_$2887", + "typeString": "contract Dao" + }, + "typeName": { + "contractScope": null, + "id": 2924, + "name": "Dao", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2887, + "src": "575:3:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Dao_$2887", + "typeString": "contract Dao" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "574:15:9" + }, + "scope": 3149, + "src": "513:141:9", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 2952, + "nodeType": "Block", + "src": "1216:87:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + null, + null, + null, + null, + null, + null, + { + "argumentTypes": null, + "id": 2943, + "name": "_isPausedOrStopped", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2941, + "src": "1235:18:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + null + ], + "id": 2944, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "1226:29:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$__$__$__$__$__$__$_t_bool_$__$", + "typeString": "tuple(,,,,,,,,bool,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2948, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2938, + "src": "1284:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2945, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "1258:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1258:12:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16595, + "src": "1258:25:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "function (bytes32) view external returns (bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "id": 2949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1258:38:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "tuple(bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "src": "1226:70:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2951, + "nodeType": "ExpressionStatement", + "src": "1226:70:9" + } + ] + }, + "documentation": "@notice Check if a proposal is currently paused/stopped\n@dev If a proposal is paused/stopped (by the PRLs): proposer cannot call for voting, a current on-going voting round can still pass, but no funding can be withdrawn.\n@dev A paused proposal can still be unpaused\n@dev If a proposal is stopped, this function also returns true\n@return _isPausedOrStopped true if the proposal is paused(or stopped)", + "id": 2953, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isProposalPaused", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2939, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2938, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 2953, + "src": "1121:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2937, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1121:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1120:21:9" + }, + "payable": false, + "returnParameters": { + "id": 2942, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2941, + "name": "_isPausedOrStopped", + "nodeType": "VariableDeclaration", + "scope": 2953, + "src": "1187:23:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2940, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1187:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1186:25:9" + }, + "scope": 3149, + "src": "1095:208:9", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 2964, + "nodeType": "Block", + "src": "1637:48:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 2962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 2960, + "name": "FUNDING_SOURCE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2895, + "src": "1647:14:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2961, + "name": "_fundingSource", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2955, + "src": "1664:14:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1647:31:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2963, + "nodeType": "ExpressionStatement", + "src": "1647:31:9" + } + ] + }, + "documentation": "@notice Function to set the source of DigixDAO funding\n@dev only this source address will be able to fund the DaoFundingManager contract, along with CONTRACT_DAO\n@param _fundingSource address of the funding source", + "id": 2965, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 2958, + "modifierName": { + "argumentTypes": null, + "id": 2957, + "name": "if_root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1840, + "src": "1623:7:9", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1623:9:9" + } + ], + "name": "setFundingSource", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2956, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2955, + "name": "_fundingSource", + "nodeType": "VariableDeclaration", + "scope": 2965, + "src": "1576:22:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2954, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1576:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1575:24:9" + }, + "payable": false, + "returnParameters": { + "id": 2959, + "nodeType": "ParameterList", + "parameters": [], + "src": "1637:0:9" + }, + "scope": 3149, + "src": "1550:135:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3052, + "nodeType": "Block", + "src": "2101:680:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2976, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2154:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2154:10:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2973, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "2119:16:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 2974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2119:18:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 2975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "is_kyc_approved", + "nodeType": "MemberAccess", + "referencedDeclaration": 14512, + "src": "2119:34:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 2978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2119:46:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2972, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2111:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2111:55:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2980, + "nodeType": "ExpressionStatement", + "src": "2111:55:9" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2983, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2967, + "src": "2199:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2982, + "name": "isFromProposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "2184:14:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2184:27:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2981, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2176:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2176:36:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2986, + "nodeType": "ExpressionStatement", + "src": "2176:36:9" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "2280:30:9", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2989, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2967, + "src": "2298:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2988, + "name": "isProposalPaused", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2953, + "src": "2281:16:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 2990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2281:29:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2987, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2272:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 2992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2272:39:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2993, + "nodeType": "ExpressionStatement", + "src": "2272:39:9" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "2330:56:9", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2998, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2967, + "src": "2366:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2999, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2969, + "src": "2379:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2995, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2331:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 2996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2331:12:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 2997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readIfMilestoneFunded", + "nodeType": "MemberAccess", + "referencedDeclaration": 17412, + "src": "2331:34:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (bytes32,uint256) view external returns (bool)" + } + }, + "id": 3000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2331:55:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2994, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2322:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2322:65:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3003, + "nodeType": "ExpressionStatement", + "src": "2322:65:9" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3008, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2967, + "src": "2444:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3009, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2969, + "src": "2457:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3005, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2406:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 3006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2406:12:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 3007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalVotingResult", + "nodeType": "MemberAccess", + "referencedDeclaration": 16724, + "src": "2406:37:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (bytes32,uint256) view external returns (bool)" + } + }, + "id": 3010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2406:58:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3004, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2398:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2398:67:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3012, + "nodeType": "ExpressionStatement", + "src": "2398:67:9" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3017, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2967, + "src": "2506:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3018, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2969, + "src": "2519:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3014, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2483:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 3015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2483:12:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 3016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isClaimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 17320, + "src": "2483:22:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (bytes32,uint256) view external returns (bool)" + } + }, + "id": 3019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2483:43:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3013, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2475:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2475:52:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3021, + "nodeType": "ExpressionStatement", + "src": "2475:52:9" + }, + { + "assignments": [ + 3023 + ], + "declarations": [ + { + "constant": false, + "id": 3023, + "name": "_funding", + "nodeType": "VariableDeclaration", + "scope": 3053, + "src": "2538:16:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3022, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2538:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3030, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3027, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2967, + "src": "2592:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3028, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2969, + "src": "2605:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3024, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2557:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 3025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2557:12:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 3026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalMilestone", + "nodeType": "MemberAccess", + "referencedDeclaration": 17186, + "src": "2557:34:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view external returns (uint256)" + } + }, + "id": 3029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2557:55:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2538:74:9" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3034, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2967, + "src": "2655:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3035, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2969, + "src": "2668:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3031, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2623:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 3032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2623:12:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 3033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setMilestoneFunded", + "nodeType": "MemberAccess", + "referencedDeclaration": 18303, + "src": "2623:31:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256) external" + } + }, + "id": 3036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2623:52:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3037, + "nodeType": "ExpressionStatement", + "src": "2623:52:9" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3043, + "name": "_funding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3023, + "src": "2706:8:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3038, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2686:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2686:10:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2686:19:9", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 3044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2686:29:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3045, + "nodeType": "ExpressionStatement", + "src": "2686:29:9" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3047, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2967, + "src": "2744:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3048, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2969, + "src": "2757:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3049, + "name": "_funding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3023, + "src": "2765:8:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3046, + "name": "ClaimFunding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2903, + "src": "2731:12:9", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,uint256)" + } + }, + "id": 3050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2731:43:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3051, + "nodeType": "EmitStatement", + "src": "2726:48:9" + } + ] + }, + "documentation": "@notice Call function to claim the ETH funding for a certain milestone\n@dev Note that the proposer can do this anytime, even in the locking phase\n@param _proposalId ID of the proposal\n@param _index Index of the proposal voting round that they got passed, which is also the same as the milestone index", + "id": 3053, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "claimFunding", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2970, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2967, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 3053, + "src": "2045:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2966, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2045:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2969, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 3053, + "src": "2066:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2968, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2066:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2044:37:9" + }, + "payable": false, + "returnParameters": { + "id": 2971, + "nodeType": "ParameterList", + "parameters": [], + "src": "2101:0:9" + }, + "scope": 3149, + "src": "2023:758:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3080, + "nodeType": "Block", + "src": "3154:180:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 3064, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "3188:12:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3065, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "3202:26:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3066, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "3230:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 3067, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3187:55:9", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 3063, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "3172:14:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 3068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3172:71:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3062, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3164:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3164:80:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3070, + "nodeType": "ExpressionStatement", + "src": "3164:80:9" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3072, + "name": "_receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3055, + "src": "3279:9:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3073, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3057, + "src": "3290:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3071, + "name": "refundCollateralInternal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3103, + "src": "3254:24:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes32_$returns$__$", + "typeString": "function (address,bytes32)" + } + }, + "id": 3074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3254:48:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3075, + "nodeType": "ExpressionStatement", + "src": "3254:48:9" + }, + { + "expression": { + "argumentTypes": null, + "id": 3078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3076, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3060, + "src": "3312:8:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3077, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3323:4:9", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "3312:15:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3079, + "nodeType": "ExpressionStatement", + "src": "3312:15:9" + } + ] + }, + "documentation": "@notice Function to refund the collateral to _receiver\n@dev Can only be called from the Dao contract\n@param _receiver The receiver of the funds\n@return {\n\"_success\": \"Boolean, true if refund was successful\"\n}", + "id": 3081, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "refundCollateral", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3058, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3055, + "name": "_receiver", + "nodeType": "VariableDeclaration", + "scope": 3081, + "src": "3063:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3054, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3063:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3057, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 3081, + "src": "3082:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3056, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3082:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3062:40:9" + }, + "payable": false, + "returnParameters": { + "id": 3061, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3060, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 3081, + "src": "3135:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3059, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3135:4:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3134:15:9" + }, + "scope": 3149, + "src": "3037:297:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3102, + "nodeType": "Block", + "src": "3435:146:9", + "statements": [ + { + "assignments": [ + 3089 + ], + "declarations": [ + { + "constant": false, + "id": 3089, + "name": "_collateralAmount", + "nodeType": "VariableDeclaration", + "scope": 3103, + "src": "3445:25:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3088, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3445:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3095, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3093, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3085, + "src": "3515:11:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3090, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "3473:10:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 3091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3473:12:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 3092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalCollateralAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 17355, + "src": "3473:41:9", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 3094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3473:54:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3445:82:9" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3099, + "name": "_collateralAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3089, + "src": "3556:17:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3096, + "name": "_receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3083, + "src": "3537:9:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3537:18:9", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 3100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3537:37:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3101, + "nodeType": "ExpressionStatement", + "src": "3537:37:9" + } + ] + }, + "documentation": null, + "id": 3103, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "refundCollateralInternal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3086, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3083, + "name": "_receiver", + "nodeType": "VariableDeclaration", + "scope": 3103, + "src": "3374:17:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3082, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3374:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3085, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 3103, + "src": "3393:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3084, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3393:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3373:40:9" + }, + "payable": false, + "returnParameters": { + "id": 3087, + "nodeType": "ParameterList", + "parameters": [], + "src": "3435:0:9" + }, + "scope": 3149, + "src": "3340:241:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3127, + "nodeType": "Block", + "src": "3819:169:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3110, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "3847:12:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3109, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "3837:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3837:23:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3108, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3829:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3829:32:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3113, + "nodeType": "ExpressionStatement", + "src": "3829:32:9" + }, + { + "assignments": [ + 3115 + ], + "declarations": [ + { + "constant": false, + "id": 3115, + "name": "_remainingBalance", + "nodeType": "VariableDeclaration", + "scope": 3128, + "src": "3871:25:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3114, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3871:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3120, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3117, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26697, + "src": "3907:4:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + ], + "id": 3116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3899:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3899:13:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3899:21:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3871:49:9" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3124, + "name": "_remainingBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3115, + "src": "3963:17:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3121, + "name": "_destinationForDaoFunds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3105, + "src": "3930:23:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3930:32:9", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 3125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3930:51:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3126, + "nodeType": "ExpressionStatement", + "src": "3930:51:9" + } + ] + }, + "documentation": "@notice Function to move funds to a new DAO\n@param _destinationForDaoFunds Ethereum contract address of the new DaoFundingManager", + "id": 3128, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "moveFundsToNewDao", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3106, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3105, + "name": "_destinationForDaoFunds", + "nodeType": "VariableDeclaration", + "scope": 3128, + "src": "3767:31:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3104, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3767:7:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3766:33:9" + }, + "payable": false, + "returnParameters": { + "id": 3107, + "nodeType": "ParameterList", + "parameters": [], + "src": "3819:0:9" + }, + "scope": 3149, + "src": "3740:248:9", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3147, + "nodeType": "Block", + "src": "4247:136:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3132, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4279:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4279:10:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3134, + "name": "FUNDING_SOURCE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2895, + "src": "4293:14:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4279:28:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 3136, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4278:30:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3137, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4325:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4325:10:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3140, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "4352:12:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3139, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "4339:12:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 3141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4339:26:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4325:40:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 3143, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4324:42:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4278:88:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3131, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4257:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4257:119:9", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3146, + "nodeType": "ExpressionStatement", + "src": "4257:119:9" + } + ] + }, + "documentation": "@notice Payable fallback function to receive ETH funds from DigixDAO crowdsale contract\n@dev this contract can only receive funds from FUNDING_SOURCE address or CONTRACT_DAO (when proposal is created)", + "id": 3148, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3129, + "nodeType": "ParameterList", + "parameters": [], + "src": "4227:2:9" + }, + "payable": true, + "returnParameters": { + "id": 3130, + "nodeType": "ParameterList", + "parameters": [], + "src": "4247:0:9" + }, + "scope": 3149, + "src": "4218:165:9", + "stateMutability": "payable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 3150, + "src": "148:4237:9" + } + ], + "src": "0:4386:9" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0xaa505b58312b332fe8c089f19d25d6de354201d7", + "transactionHash": "0xb0e2e602fcf3cec7ce36dff63a5b1b1a4255c89fea5c43037e69fa960a4e86b2" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T10:37:27.480Z" +} \ No newline at end of file diff --git a/build/contracts/DaoIdentity.json b/build/contracts/DaoIdentity.json new file mode 100644 index 0000000..484e10b --- /dev/null +++ b/build/contracts/DaoIdentity.json @@ -0,0 +1,4991 @@ +{ + "contractName": "DaoIdentity", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_group_id", + "type": "uint256" + }, + { + "name": "_user", + "type": "address" + }, + { + "name": "_doc", + "type": "bytes32" + } + ], + "name": "addGroupUser", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "removeGroupUser", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_doc", + "type": "bytes32" + }, + { + "name": "_id_expiration", + "type": "uint256" + } + ], + "name": "updateKyc", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_users", + "type": "address[]" + }, + { + "name": "_docs", + "type": "bytes32[]" + }, + { + "name": "_id_expirations", + "type": "uint256[]" + } + ], + "name": "bulkUpdateKyc", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b50604051602080620027478339810180604052810190808051906020019092919050505062001175601a5482620017af640100000000026401000000009004565b15156200118157600080fd5b6200119a62001a40640100000000026401000000009004565b73ffffffffffffffffffffffffffffffffffffffff166327d00559603360019054906101000a900460ff166040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260ff168152602001807f666f756e64657273000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156200124357600080fd5b505af115801562001258573d6000803e3d6000fd5b505050506040513d60208110156200126f57600080fd5b8101908080519060200190929190505050506200129a62001a40640100000000026401000000009004565b73ffffffffffffffffffffffffffffffffffffffff166327d00559603360029054906101000a900460ff166040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260ff168152602001807f70726c7300000000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156200134357600080fd5b505af115801562001358573d6000803e3d6000fd5b505050506040513d60208110156200136f57600080fd5b8101908080519060200190929190505050506200139a62001a40640100000000026401000000009004565b73ffffffffffffffffffffffffffffffffffffffff166327d00559603360039054906101000a900460ff166040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260ff168152602001807f6b796361646d696e730000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1580156200144357600080fd5b505af115801562001458573d6000803e3d6000fd5b505050506040513d60208110156200146f57600080fd5b8101908080519060200190929190505050506200149a62001a40640100000000026401000000009004565b73ffffffffffffffffffffffffffffffffffffffff16635dcea2cf603360019054906101000a900460ff166040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260ff168152602001807f666f756e646572735f67726f75700000000000000000000000000000000000008152506020016020019150506040805180830381600087803b1580156200154557600080fd5b505af11580156200155a573d6000803e3d6000fd5b505050506040513d60408110156200157157600080fd5b8101908080519060200190929190805190602001909291905050505050620015a762001a40640100000000026401000000009004565b73ffffffffffffffffffffffffffffffffffffffff16635dcea2cf603360029054906101000a900460ff166040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260ff168152602001807f70726c735f67726f7570000000000000000000000000000000000000000000008152506020016020019150506040805180830381600087803b1580156200165257600080fd5b505af115801562001667573d6000803e3d6000fd5b505050506040513d60408110156200167e57600080fd5b8101908080519060200190929190805190602001909291905050505050620016b462001a40640100000000026401000000009004565b73ffffffffffffffffffffffffffffffffffffffff16635dcea2cf603360039054906101000a900460ff166040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260ff168152602001807f6b796361646d696e735f67726f757000000000000000000000000000000000008152506020016020019150506040805180830381600087803b1580156200175f57600080fd5b505af115801562001774573d6000803e3d6000fd5b505050506040513d60408110156200178b57600080fd5b81019080805190602001909291908051906020019092919050505050505062001b42565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156200181757600080fd5b505af11580156200182c573d6000803e3d6000fd5b505050506040513d60208110156200184357600080fd5b8101908080519060200190929190505050905060001515811515141562001a345730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620019e157600080fd5b505af1158015620019f6573d6000803e3d6000fd5b505050506040513d602081101562001a0d57600080fd5b8101908080519060200190929190505050151562001a2a57600080fd5b6001915062001a39565b600091505b5092915050565b600062001a5e60285462001a63640100000000026401000000009004565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801562001afe57600080fd5b505af115801562001b13573d6000803e3d6000fd5b505050506040513d602081101562001b2a57600080fd5b81019080805190602001909291905050509050919050565b610bf58062001b526000396000f30060806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100935780633943380c146100ea5780633f83acff1461011d578063737988e31461018e578063944ae971146101e9578063c86ee92514610244578063cb73835314610287578063db4ecbc1146102f2575b600080fd5b34801561009f57600080fd5b506100a8610349565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100f657600080fd5b506100ff61036e565b60405180826000191660001916815260200191505060405180910390f35b34801561012957600080fd5b5061014c6004803603810190808035600019169060200190929190505050610374565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561019a57600080fd5b506101e760048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190505050610450565b005b3480156101f557600080fd5b50610242600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560001916906020019092919080359060200190929190505050610647565b005b34801561025057600080fd5b50610285600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610753565b005b34801561029357600080fd5b506102f0600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050610930565b005b3480156102fe57600080fd5b50610307610aba565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561040e57600080fd5b505af1158015610422573d6000803e3d6000fd5b505050506040513d602081101561043857600080fd5b81019080805190602001909291905050509050919050565b603360009054906101000a900460ff1660ff1661046b610ae0565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561050557600080fd5b505af1158015610519573d6000803e3d6000fd5b505050506040513d602081101561052f57600080fd5b810190808051906020019092919050505014151561054c57600080fd5b610554610ae0565b73ffffffffffffffffffffffffffffffffffffffff1663a04e0dce8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050602060405180830381600087803b15801561060657600080fd5b505af115801561061a573d6000803e3d6000fd5b505050506040513d602081101561063057600080fd5b810190808051906020019092919050505050505050565b603360039054906101000a900460ff1660ff16610662610ae0565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156106fc57600080fd5b505af1158015610710573d6000803e3d6000fd5b505050506040513d602081101561072657600080fd5b810190808051906020019092919050505014151561074357600080fd5b61074e838383610af2565b505050565b603360009054906101000a900460ff1660ff1661076e610ae0565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561080857600080fd5b505af115801561081c573d6000803e3d6000fd5b505050506040513d602081101561083257600080fd5b810190808051906020019092919050505014151561084f57600080fd5b610857610ae0565b73ffffffffffffffffffffffffffffffffffffffff16638a05cbe6826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156108f157600080fd5b505af1158015610905573d6000803e3d6000fd5b505050506040513d602081101561091b57600080fd5b81019080805190602001909291905050505050565b600080603360039054906101000a900460ff1660ff1661094e610ae0565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156109e857600080fd5b505af11580156109fc573d6000803e3d6000fd5b505050506040513d6020811015610a1257600080fd5b8101908080519060200190929190505050141515610a2f57600080fd5b878790509150600090505b81811015610ab057610aa38888838181101515610a5357fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168787848181101515610a7e57fe5b90506020020135600019168686858181101515610a9757fe5b90506020020135610af2565b8080600101915050610a3a565b5050505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610aed602854610374565b905090565b610afa610ae0565b73ffffffffffffffffffffffffffffffffffffffff166307ded7c08484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018281526020019350505050600060405180830381600087803b158015610bac57600080fd5b505af1158015610bc0573d6000803e3d6000fd5b505050505050505600a165627a7a723058205bae4282b9febe91ba8658c98de1a5642cfb8f1f0dc19ca32175addf8b3655e00029", + "deployedBytecode": "0x60806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100935780633943380c146100ea5780633f83acff1461011d578063737988e31461018e578063944ae971146101e9578063c86ee92514610244578063cb73835314610287578063db4ecbc1146102f2575b600080fd5b34801561009f57600080fd5b506100a8610349565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100f657600080fd5b506100ff61036e565b60405180826000191660001916815260200191505060405180910390f35b34801561012957600080fd5b5061014c6004803603810190808035600019169060200190929190505050610374565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561019a57600080fd5b506101e760048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190505050610450565b005b3480156101f557600080fd5b50610242600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560001916906020019092919080359060200190929190505050610647565b005b34801561025057600080fd5b50610285600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610753565b005b34801561029357600080fd5b506102f0600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050610930565b005b3480156102fe57600080fd5b50610307610aba565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561040e57600080fd5b505af1158015610422573d6000803e3d6000fd5b505050506040513d602081101561043857600080fd5b81019080805190602001909291905050509050919050565b603360009054906101000a900460ff1660ff1661046b610ae0565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561050557600080fd5b505af1158015610519573d6000803e3d6000fd5b505050506040513d602081101561052f57600080fd5b810190808051906020019092919050505014151561054c57600080fd5b610554610ae0565b73ffffffffffffffffffffffffffffffffffffffff1663a04e0dce8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050602060405180830381600087803b15801561060657600080fd5b505af115801561061a573d6000803e3d6000fd5b505050506040513d602081101561063057600080fd5b810190808051906020019092919050505050505050565b603360039054906101000a900460ff1660ff16610662610ae0565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156106fc57600080fd5b505af1158015610710573d6000803e3d6000fd5b505050506040513d602081101561072657600080fd5b810190808051906020019092919050505014151561074357600080fd5b61074e838383610af2565b505050565b603360009054906101000a900460ff1660ff1661076e610ae0565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561080857600080fd5b505af115801561081c573d6000803e3d6000fd5b505050506040513d602081101561083257600080fd5b810190808051906020019092919050505014151561084f57600080fd5b610857610ae0565b73ffffffffffffffffffffffffffffffffffffffff16638a05cbe6826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156108f157600080fd5b505af1158015610905573d6000803e3d6000fd5b505050506040513d602081101561091b57600080fd5b81019080805190602001909291905050505050565b600080603360039054906101000a900460ff1660ff1661094e610ae0565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156109e857600080fd5b505af11580156109fc573d6000803e3d6000fd5b505050506040513d6020811015610a1257600080fd5b8101908080519060200190929190505050141515610a2f57600080fd5b878790509150600090505b81811015610ab057610aa38888838181101515610a5357fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168787848181101515610a7e57fe5b90506020020135600019168686858181101515610a9757fe5b90506020020135610af2565b8080600101915050610a3a565b5050505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610aed602854610374565b905090565b610afa610ae0565b73ffffffffffffffffffffffffffffffffffffffff166307ded7c08484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018281526020019350505050600060405180830381600087803b158015610bac57600080fd5b505af1158015610bc0573d6000803e3d6000fd5b505050505050505600a165627a7a723058205bae4282b9febe91ba8658c98de1a5642cfb8f1f0dc19ca32175addf8b3655e00029", + "sourceMap": "219:3328:10:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;385:1046:10;8:9:-1;5:2;;;30:1;27;20:12;5:2;385:1046:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;453:38;458:21;;481:9;453:4;;;:38;;;:::i;:::-;445:47;;;;;;;;955:18;:16;;;:18;;;:::i;:::-;:30;;;986:14;;;;;;;;;;;955:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;955:58:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;955:58:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;955:58:10;;;;;;;;;;;;;;;;;1023:18;:16;;;:18;;;:::i;:::-;:30;;;1054:10;;;;;;;;;;;1023:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1023:50:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1023:50:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1023:50:10;;;;;;;;;;;;;;;;;1083:18;:16;;;:18;;;:::i;:::-;:30;;;1114:16;;;;;;;;;;;1083:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1083:61:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1083:61:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1083:61:10;;;;;;;;;;;;;;;;;1154:18;:16;;;:18;;;:::i;:::-;:31;;;1186:14;;;;;;;;;;;1154:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1154:69:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1154:69:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1154:69:10;;;;;;;;;;;;;;;;;;;;;;;;;;;1249:18;:16;;;:18;;;:::i;:::-;:31;;;1281:10;;;;;;;;;;;1249:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1249:61:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1249:61:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1249:61:10;;;;;;;;;;;;;;;;;;;;;;;;;;;1336:18;:16;;;:18;;;:::i;:::-;:31;;;1368:16;;;;;;;;;;;1336:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1336:72:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1336:72:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1336:72:10;;;;;;;;;;;;;;;;;;;;;;;;;;;385:1046;219:3328;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;899:201:7:-;974:28;1049:43;1062:29;;1049:12;;;:43;;;:::i;:::-;1018:75;;899:201;:::o;2380:179:67:-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;219:3328:10:-;;;;;;;", + "deployedSourceMap": "219:3328:10:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1700:191:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1700:191:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2526:176;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2526:176:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2064:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2064:144:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;3063:302;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3063:302:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23;;;;;;;;;;;;;:::o;264:18::-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;1700:191:10:-;337:10:7;;;;;;;;;;;285:62;;:18;:16;:18::i;:::-;:36;;;322:10;285:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;285:48:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;285:48:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;285:48:7;;;;;;;;;;;;;;;;:62;277:71;;;;;;;;1817:18:10;:16;:18::i;:::-;:43;;;1861:9;1872:5;1879:4;1817:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1817:67:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1817:67:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1817:67:10;;;;;;;;;;;;;;;;;1700:191;;;:::o;2526:176::-;858:16:7;;;;;;;;;;;806:68;;:18;:16;:18::i;:::-;:36;;;843:10;806:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;806:48:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;806:48:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;806:48:7;;;;;;;;;;;;;;;;:68;798:77;;;;;;;;2650:45:10;2667:5;2674:4;2680:14;2650:16;:45::i;:::-;2526:176;;;:::o;2064:144::-;337:10:7;;;;;;;;;;;285:62;;:18;:16;:18::i;:::-;:36;;;322:10;285:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;285:48:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;285:48:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;285:48:7;;;;;;;;;;;;;;;;:62;277:71;;;;;;;;2151:18:10;:16;:18::i;:::-;:43;;;2195:5;2151:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2151:50:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2151:50:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2151:50:10;;;;;;;;;;;;;;;;;2064:144;:::o;3063:302::-;3202:10;3243;858:16:7;;;;;;;;;;;806:68;;:18;:16;:18::i;:::-;:36;;;843:10;806:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;806:48:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;806:48:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;806:48:7;;;;;;;;;;;;;;;;:68;798:77;;;;;;;;3215:6:10;;:13;;3202:26;;3256:1;3243:14;;3238:121;3264:2;3259;:7;3238:121;;;3288:60;3305:6;;3312:2;3305:10;;;;;;;;;;;;;;;;;3317:5;;3323:2;3317:9;;;;;;;;;;;;;;;;;;3328:15;;3344:2;3328:19;;;;;;;;;;;;;;;3288:16;:60::i;:::-;3268:4;;;;;;;3238:121;;;3063:302;;;;;;;;:::o;344:31:67:-;;;;;;;;;;;;;:::o;899:201:7:-;974:28;1049:43;1062:29;;1049:12;:43::i;:::-;1018:75;;899:201;:::o;3371:174:10:-;3480:18;:16;:18::i;:::-;:29;;;3510:5;3517:4;3523:14;3480:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3480:58:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3480:58:10;;;;3371:174;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"../storage/DaoIdentityStorage.sol\";\nimport \"../common/IdentityCommon.sol\";\n\n\n/**\n@title Contract to manage the admin roles in DAO (founders, prls, kyc admins)\n@author Digix Holdings\n*/\ncontract DaoIdentity is IdentityCommon {\n\n /**\n @notice Constructor (create initial roles, groups)\n @param _resolver Address of Contract Resolver\n */\n constructor(address _resolver)\n public\n {\n require(init(CONTRACT_DAO_IDENTITY, _resolver));\n // create the three roles and the three corresponding groups\n // the root role, and root group are already created, with only the contract deployer in it\n // After deployment, the contract deployer will call addGroupUser to add a multi-sig to be another root\n // The multi-sig will then call removeGroupUser to remove the contract deployer from root role\n // From then on, the multi-sig will be the only root account\n identity_storage().create_role(ROLES_FOUNDERS, \"founders\");\n identity_storage().create_role(ROLES_PRLS, \"prls\");\n identity_storage().create_role(ROLES_KYC_ADMINS, \"kycadmins\");\n identity_storage().create_group(ROLES_FOUNDERS, \"founders_group\", \"\"); // group_id = 2\n identity_storage().create_group(ROLES_PRLS, \"prls_group\", \"\"); // group_id = 3\n identity_storage().create_group(ROLES_KYC_ADMINS, \"kycadmins_group\", \"\"); // group_id = 4\n }\n\n /**\n @notice Function to add an address to a group (only root can call this function)\n @param _group_id ID of the group to be added in\n @param _user Ethereum address of the user\n @param _doc hash of IPFS doc containing details of this user\n */\n function addGroupUser(uint256 _group_id, address _user, bytes32 _doc)\n public\n if_root()\n {\n identity_storage().update_add_user_to_group(_group_id, _user, _doc);\n }\n\n /**\n @notice Function to remove a user from group (only root can call this)\n @param _user Ethereum address of the user to be removed from their group\n */\n function removeGroupUser(address _user)\n public\n if_root()\n {\n identity_storage().update_remove_group_user(_user);\n }\n\n /**\n @notice Function to update the KYC data of user (expiry data of valid KYC) (can only be called by the KYC ADMIN role)\n @param _user Ethereum address of the user\n @param _doc hash of the IPFS doc containing kyc information about this user\n @param _id_expiration expiry date of the KYC\n */\n function updateKyc(address _user, bytes32 _doc, uint256 _id_expiration)\n public\n if_kyc_admin()\n {\n privateUpdateKyc(_user, _doc, _id_expiration);\n }\n\n /**\n @notice Function to update the KYC data of multiple users (expiry data of valid KYC) (can only be called by the KYC ADMIN role)\n @param _users Ethereum addresses of the users\n @param _docs hashes of the IPFS docs containing kyc information about these users\n @param _id_expirations expiry dates of the KYC docs for these users\n */\n function bulkUpdateKyc(address[] _users, bytes32[] _docs, uint256[] _id_expirations)\n external\n if_kyc_admin()\n {\n uint256 _n = _users.length;\n for (uint256 _i = 0; _i < _n; _i++) {\n privateUpdateKyc(_users[_i], _docs[_i], _id_expirations[_i]);\n }\n }\n\n function privateUpdateKyc(address _user, bytes32 _doc, uint256 _id_expiration)\n private\n {\n identity_storage().update_kyc(_user, _doc, _id_expiration);\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoIdentity.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoIdentity.sol", + "exportedSymbols": { + "DaoIdentity": [ + 3328 + ] + }, + "id": 3329, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3151, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:10" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoIdentityStorage.sol", + "file": "../storage/DaoIdentityStorage.sol", + "id": 3152, + "nodeType": "ImportDirective", + "scope": 3329, + "sourceUnit": 14514, + "src": "26:43:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/IdentityCommon.sol", + "file": "../common/IdentityCommon.sol", + "id": 3153, + "nodeType": "ImportDirective", + "scope": 3329, + "sourceUnit": 1912, + "src": "70:38:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 3154, + "name": "IdentityCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1911, + "src": "243:14:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IdentityCommon_$1911", + "typeString": "contract IdentityCommon" + } + }, + "id": 3155, + "nodeType": "InheritanceSpecifier", + "src": "243:14:10" + } + ], + "contractDependencies": [ + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": "@title Contract to manage the admin roles in DAO (founders, prls, kyc admins)\n@author Digix Holdings", + "fullyImplemented": true, + "id": 3328, + "linearizedBaseContracts": [ + 3328, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoIdentity", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 3212, + "nodeType": "Block", + "src": "435:996:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3162, + "name": "CONTRACT_DAO_IDENTITY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1315, + "src": "458:21:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3163, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3157, + "src": "481:9:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3161, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "453:4:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 3164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "453:38:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3160, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "445:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "445:47:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3166, + "nodeType": "ExpressionStatement", + "src": "445:47:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3170, + "name": "ROLES_FOUNDERS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1393, + "src": "986:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "hexValue": "666f756e64657273", + "id": 3171, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1002:10:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6bf477f07566f2ef1d2b482dc8e61b592d5ab4af89d7a659adbabf5e9ced29ec", + "typeString": "literal_string \"founders\"" + }, + "value": "founders" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_stringliteral_6bf477f07566f2ef1d2b482dc8e61b592d5ab4af89d7a659adbabf5e9ced29ec", + "typeString": "literal_string \"founders\"" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3167, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "955:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 3168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "955:18:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 3169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "create_role", + "nodeType": "MemberAccess", + "referencedDeclaration": 14380, + "src": "955:30:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (uint256,bytes32) external returns (bool)" + } + }, + "id": 3172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "955:58:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3173, + "nodeType": "ExpressionStatement", + "src": "955:58:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3177, + "name": "ROLES_PRLS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1396, + "src": "1054:10:10", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "hexValue": "70726c73", + "id": 3178, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1066:6:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c74655e71a988f9ac055b89b40a1936c7a91c2e30c1acb10db41f6aa3da3f040", + "typeString": "literal_string \"prls\"" + }, + "value": "prls" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_stringliteral_c74655e71a988f9ac055b89b40a1936c7a91c2e30c1acb10db41f6aa3da3f040", + "typeString": "literal_string \"prls\"" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3174, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "1023:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 3175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1023:18:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 3176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "create_role", + "nodeType": "MemberAccess", + "referencedDeclaration": 14380, + "src": "1023:30:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (uint256,bytes32) external returns (bool)" + } + }, + "id": 3179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1023:50:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3180, + "nodeType": "ExpressionStatement", + "src": "1023:50:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3184, + "name": "ROLES_KYC_ADMINS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1399, + "src": "1114:16:10", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "hexValue": "6b796361646d696e73", + "id": 3185, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1132:11:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_690b7a708e61c9da06056ebafe9cfb66a5cc4f1700ab321738e361b1a8d4fd9c", + "typeString": "literal_string \"kycadmins\"" + }, + "value": "kycadmins" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_stringliteral_690b7a708e61c9da06056ebafe9cfb66a5cc4f1700ab321738e361b1a8d4fd9c", + "typeString": "literal_string \"kycadmins\"" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3181, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "1083:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 3182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1083:18:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 3183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "create_role", + "nodeType": "MemberAccess", + "referencedDeclaration": 14380, + "src": "1083:30:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (uint256,bytes32) external returns (bool)" + } + }, + "id": 3186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1083:61:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3187, + "nodeType": "ExpressionStatement", + "src": "1083:61:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3191, + "name": "ROLES_FOUNDERS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1393, + "src": "1186:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "hexValue": "666f756e646572735f67726f7570", + "id": 3192, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1202:16:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d48abbb7f4e720a8178fa337edb5d65f850fca2e4101e282eddcdb4eb2b4dccb", + "typeString": "literal_string \"founders_group\"" + }, + "value": "founders_group" + }, + { + "argumentTypes": null, + "hexValue": "", + "id": 3193, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1220:2:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_stringliteral_d48abbb7f4e720a8178fa337edb5d65f850fca2e4101e282eddcdb4eb2b4dccb", + "typeString": "literal_string \"founders_group\"" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3188, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "1154:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 3189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1154:18:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 3190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "create_group", + "nodeType": "MemberAccess", + "referencedDeclaration": 14353, + "src": "1154:31:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (uint256,bytes32,bytes32) external returns (bool,uint256)" + } + }, + "id": 3194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1154:69:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "id": 3195, + "nodeType": "ExpressionStatement", + "src": "1154:69:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3199, + "name": "ROLES_PRLS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1396, + "src": "1281:10:10", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "hexValue": "70726c735f67726f7570", + "id": 3200, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1293:12:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_860478588436fbb3222ec58f54f7c49e03f116ed9d4e3a29d025a55794d22da9", + "typeString": "literal_string \"prls_group\"" + }, + "value": "prls_group" + }, + { + "argumentTypes": null, + "hexValue": "", + "id": 3201, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1307:2:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_stringliteral_860478588436fbb3222ec58f54f7c49e03f116ed9d4e3a29d025a55794d22da9", + "typeString": "literal_string \"prls_group\"" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3196, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "1249:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 3197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1249:18:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 3198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "create_group", + "nodeType": "MemberAccess", + "referencedDeclaration": 14353, + "src": "1249:31:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (uint256,bytes32,bytes32) external returns (bool,uint256)" + } + }, + "id": 3202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1249:61:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "id": 3203, + "nodeType": "ExpressionStatement", + "src": "1249:61:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3207, + "name": "ROLES_KYC_ADMINS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1399, + "src": "1368:16:10", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "hexValue": "6b796361646d696e735f67726f7570", + "id": 3208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1386:17:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dad3c872afc291d02bd7da571de02bcd822ef45ac74d25b66e4da83ab5138273", + "typeString": "literal_string \"kycadmins_group\"" + }, + "value": "kycadmins_group" + }, + { + "argumentTypes": null, + "hexValue": "", + "id": 3209, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1405:2:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_stringliteral_dad3c872afc291d02bd7da571de02bcd822ef45ac74d25b66e4da83ab5138273", + "typeString": "literal_string \"kycadmins_group\"" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3204, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "1336:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 3205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1336:18:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 3206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "create_group", + "nodeType": "MemberAccess", + "referencedDeclaration": 14353, + "src": "1336:31:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (uint256,bytes32,bytes32) external returns (bool,uint256)" + } + }, + "id": 3210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1336:72:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "id": 3211, + "nodeType": "ExpressionStatement", + "src": "1336:72:10" + } + ] + }, + "documentation": "@notice Constructor (create initial roles, groups)\n@param _resolver Address of Contract Resolver", + "id": 3213, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3158, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3157, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 3213, + "src": "397:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3156, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "397:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "396:19:10" + }, + "payable": false, + "returnParameters": { + "id": 3159, + "nodeType": "ParameterList", + "parameters": [], + "src": "435:0:10" + }, + "scope": 3328, + "src": "385:1046:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3232, + "nodeType": "Block", + "src": "1807:84:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3227, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3215, + "src": "1861:9:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3228, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3217, + "src": "1872:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3229, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3219, + "src": "1879:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3224, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "1817:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 3225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1817:18:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 3226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "update_add_user_to_group", + "nodeType": "MemberAccess", + "referencedDeclaration": 14410, + "src": "1817:43:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (uint256,address,bytes32) external returns (bool)" + } + }, + "id": 3230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1817:67:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3231, + "nodeType": "ExpressionStatement", + "src": "1817:67:10" + } + ] + }, + "documentation": "@notice Function to add an address to a group (only root can call this function)\n@param _group_id ID of the group to be added in\n@param _user Ethereum address of the user\n@param _doc hash of IPFS doc containing details of this user", + "id": 3233, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3222, + "modifierName": { + "argumentTypes": null, + "id": 3221, + "name": "if_root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1840, + "src": "1793:7:10", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1793:9:10" + } + ], + "name": "addGroupUser", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3220, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3215, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "1722:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3214, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1722:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3217, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "1741:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3216, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1741:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3219, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "1756:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3218, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1756:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1721:48:10" + }, + "payable": false, + "returnParameters": { + "id": 3223, + "nodeType": "ParameterList", + "parameters": [], + "src": "1807:0:10" + }, + "scope": 3328, + "src": "1700:191:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3246, + "nodeType": "Block", + "src": "2141:67:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3243, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3235, + "src": "2195:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3240, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "2151:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 3241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2151:18:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 3242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "update_remove_group_user", + "nodeType": "MemberAccess", + "referencedDeclaration": 14434, + "src": "2151:43:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 3244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2151:50:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3245, + "nodeType": "ExpressionStatement", + "src": "2151:50:10" + } + ] + }, + "documentation": "@notice Function to remove a user from group (only root can call this)\n@param _user Ethereum address of the user to be removed from their group", + "id": 3247, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3238, + "modifierName": { + "argumentTypes": null, + "id": 3237, + "name": "if_root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1840, + "src": "2127:7:10", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2127:9:10" + } + ], + "name": "removeGroupUser", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3236, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3235, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 3247, + "src": "2089:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3234, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2089:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2088:15:10" + }, + "payable": false, + "returnParameters": { + "id": 3239, + "nodeType": "ParameterList", + "parameters": [], + "src": "2141:0:10" + }, + "scope": 3328, + "src": "2064:144:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3264, + "nodeType": "Block", + "src": "2640:62:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3259, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3249, + "src": "2667:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3260, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3251, + "src": "2674:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3261, + "name": "_id_expiration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3253, + "src": "2680:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3258, + "name": "privateUpdateKyc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3327, + "src": "2650:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (address,bytes32,uint256)" + } + }, + "id": 3262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2650:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3263, + "nodeType": "ExpressionStatement", + "src": "2650:45:10" + } + ] + }, + "documentation": "@notice Function to update the KYC data of user (expiry data of valid KYC) (can only be called by the KYC ADMIN role)\n@param _user Ethereum address of the user\n@param _doc hash of the IPFS doc containing kyc information about this user\n@param _id_expiration expiry date of the KYC", + "id": 3265, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3256, + "modifierName": { + "argumentTypes": null, + "id": 3255, + "name": "if_kyc_admin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1896, + "src": "2621:12:10", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2621:14:10" + } + ], + "name": "updateKyc", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3254, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3249, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 3265, + "src": "2545:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3248, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2545:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3251, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 3265, + "src": "2560:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3250, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2560:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3253, + "name": "_id_expiration", + "nodeType": "VariableDeclaration", + "scope": 3265, + "src": "2574:22:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3252, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2574:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2544:53:10" + }, + "payable": false, + "returnParameters": { + "id": 3257, + "nodeType": "ParameterList", + "parameters": [], + "src": "2640:0:10" + }, + "scope": 3328, + "src": "2526:176:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3308, + "nodeType": "Block", + "src": "3192:173:10", + "statements": [ + { + "assignments": [ + 3280 + ], + "declarations": [ + { + "constant": false, + "id": 3280, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 3309, + "src": "3202:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3279, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3202:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3283, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3281, + "name": "_users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3268, + "src": "3215:6:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 3282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3215:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3202:26:10" + }, + { + "body": { + "id": 3306, + "nodeType": "Block", + "src": "3274:85:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3295, + "name": "_users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3268, + "src": "3305:6:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 3297, + "indexExpression": { + "argumentTypes": null, + "id": 3296, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3285, + "src": "3312:2:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3305:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3298, + "name": "_docs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3271, + "src": "3317:5:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 3300, + "indexExpression": { + "argumentTypes": null, + "id": 3299, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3285, + "src": "3323:2:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3317:9:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3301, + "name": "_id_expirations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3274, + "src": "3328:15:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 3303, + "indexExpression": { + "argumentTypes": null, + "id": 3302, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3285, + "src": "3344:2:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3328:19:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3294, + "name": "privateUpdateKyc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3327, + "src": "3288:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (address,bytes32,uint256)" + } + }, + "id": 3304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3288:60:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3305, + "nodeType": "ExpressionStatement", + "src": "3288:60:10" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3288, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3285, + "src": "3259:2:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 3289, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3280, + "src": "3264:2:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3259:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3307, + "initializationExpression": { + "assignments": [ + 3285 + ], + "declarations": [ + { + "constant": false, + "id": 3285, + "name": "_i", + "nodeType": "VariableDeclaration", + "scope": 3309, + "src": "3243:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3284, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3243:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3287, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 3286, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3256:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3243:14:10" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 3292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3268:4:10", + "subExpression": { + "argumentTypes": null, + "id": 3291, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3285, + "src": "3268:2:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3293, + "nodeType": "ExpressionStatement", + "src": "3268:4:10" + }, + "nodeType": "ForStatement", + "src": "3238:121:10" + } + ] + }, + "documentation": "@notice Function to update the KYC data of multiple users (expiry data of valid KYC) (can only be called by the KYC ADMIN role)\n@param _users Ethereum addresses of the users\n@param _docs hashes of the IPFS docs containing kyc information about these users\n@param _id_expirations expiry dates of the KYC docs for these users", + "id": 3309, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3277, + "modifierName": { + "argumentTypes": null, + "id": 3276, + "name": "if_kyc_admin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1896, + "src": "3173:12:10", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3173:14:10" + } + ], + "name": "bulkUpdateKyc", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3275, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3268, + "name": "_users", + "nodeType": "VariableDeclaration", + "scope": 3309, + "src": "3086:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 3266, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3086:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3267, + "length": null, + "nodeType": "ArrayTypeName", + "src": "3086:9:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3271, + "name": "_docs", + "nodeType": "VariableDeclaration", + "scope": 3309, + "src": "3104:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 3269, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3104:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3270, + "length": null, + "nodeType": "ArrayTypeName", + "src": "3104:9:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3274, + "name": "_id_expirations", + "nodeType": "VariableDeclaration", + "scope": 3309, + "src": "3121:25:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 3272, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3121:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3273, + "length": null, + "nodeType": "ArrayTypeName", + "src": "3121:9:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3085:62:10" + }, + "payable": false, + "returnParameters": { + "id": 3278, + "nodeType": "ParameterList", + "parameters": [], + "src": "3192:0:10" + }, + "scope": 3328, + "src": "3063:302:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 3326, + "nodeType": "Block", + "src": "3470:75:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3321, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3311, + "src": "3510:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3322, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3313, + "src": "3517:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3323, + "name": "_id_expiration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3315, + "src": "3523:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3318, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "3480:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 3319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3480:18:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 3320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "update_kyc", + "nodeType": "MemberAccess", + "referencedDeclaration": 14464, + "src": "3480:29:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (address,bytes32,uint256) external" + } + }, + "id": 3324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3480:58:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3325, + "nodeType": "ExpressionStatement", + "src": "3480:58:10" + } + ] + }, + "documentation": null, + "id": 3327, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "privateUpdateKyc", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3316, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3311, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 3327, + "src": "3397:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3310, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3397:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3313, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 3327, + "src": "3412:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3312, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3412:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3315, + "name": "_id_expiration", + "nodeType": "VariableDeclaration", + "scope": 3327, + "src": "3426:22:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3314, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3426:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3396:53:10" + }, + "payable": false, + "returnParameters": { + "id": 3317, + "nodeType": "ParameterList", + "parameters": [], + "src": "3470:0:10" + }, + "scope": 3328, + "src": "3371:174:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 3329, + "src": "219:3328:10" + } + ], + "src": "0:3548:10" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoIdentity.sol", + "exportedSymbols": { + "DaoIdentity": [ + 3328 + ] + }, + "id": 3329, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3151, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:10" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoIdentityStorage.sol", + "file": "../storage/DaoIdentityStorage.sol", + "id": 3152, + "nodeType": "ImportDirective", + "scope": 3329, + "sourceUnit": 14514, + "src": "26:43:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/IdentityCommon.sol", + "file": "../common/IdentityCommon.sol", + "id": 3153, + "nodeType": "ImportDirective", + "scope": 3329, + "sourceUnit": 1912, + "src": "70:38:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 3154, + "name": "IdentityCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1911, + "src": "243:14:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IdentityCommon_$1911", + "typeString": "contract IdentityCommon" + } + }, + "id": 3155, + "nodeType": "InheritanceSpecifier", + "src": "243:14:10" + } + ], + "contractDependencies": [ + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": "@title Contract to manage the admin roles in DAO (founders, prls, kyc admins)\n@author Digix Holdings", + "fullyImplemented": true, + "id": 3328, + "linearizedBaseContracts": [ + 3328, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoIdentity", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 3212, + "nodeType": "Block", + "src": "435:996:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3162, + "name": "CONTRACT_DAO_IDENTITY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1315, + "src": "458:21:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3163, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3157, + "src": "481:9:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3161, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "453:4:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 3164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "453:38:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3160, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "445:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "445:47:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3166, + "nodeType": "ExpressionStatement", + "src": "445:47:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3170, + "name": "ROLES_FOUNDERS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1393, + "src": "986:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "hexValue": "666f756e64657273", + "id": 3171, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1002:10:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6bf477f07566f2ef1d2b482dc8e61b592d5ab4af89d7a659adbabf5e9ced29ec", + "typeString": "literal_string \"founders\"" + }, + "value": "founders" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_stringliteral_6bf477f07566f2ef1d2b482dc8e61b592d5ab4af89d7a659adbabf5e9ced29ec", + "typeString": "literal_string \"founders\"" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3167, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "955:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 3168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "955:18:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 3169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "create_role", + "nodeType": "MemberAccess", + "referencedDeclaration": 14380, + "src": "955:30:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (uint256,bytes32) external returns (bool)" + } + }, + "id": 3172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "955:58:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3173, + "nodeType": "ExpressionStatement", + "src": "955:58:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3177, + "name": "ROLES_PRLS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1396, + "src": "1054:10:10", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "hexValue": "70726c73", + "id": 3178, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1066:6:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c74655e71a988f9ac055b89b40a1936c7a91c2e30c1acb10db41f6aa3da3f040", + "typeString": "literal_string \"prls\"" + }, + "value": "prls" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_stringliteral_c74655e71a988f9ac055b89b40a1936c7a91c2e30c1acb10db41f6aa3da3f040", + "typeString": "literal_string \"prls\"" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3174, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "1023:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 3175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1023:18:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 3176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "create_role", + "nodeType": "MemberAccess", + "referencedDeclaration": 14380, + "src": "1023:30:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (uint256,bytes32) external returns (bool)" + } + }, + "id": 3179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1023:50:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3180, + "nodeType": "ExpressionStatement", + "src": "1023:50:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3184, + "name": "ROLES_KYC_ADMINS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1399, + "src": "1114:16:10", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "hexValue": "6b796361646d696e73", + "id": 3185, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1132:11:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_690b7a708e61c9da06056ebafe9cfb66a5cc4f1700ab321738e361b1a8d4fd9c", + "typeString": "literal_string \"kycadmins\"" + }, + "value": "kycadmins" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_stringliteral_690b7a708e61c9da06056ebafe9cfb66a5cc4f1700ab321738e361b1a8d4fd9c", + "typeString": "literal_string \"kycadmins\"" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3181, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "1083:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 3182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1083:18:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 3183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "create_role", + "nodeType": "MemberAccess", + "referencedDeclaration": 14380, + "src": "1083:30:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (uint256,bytes32) external returns (bool)" + } + }, + "id": 3186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1083:61:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3187, + "nodeType": "ExpressionStatement", + "src": "1083:61:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3191, + "name": "ROLES_FOUNDERS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1393, + "src": "1186:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "hexValue": "666f756e646572735f67726f7570", + "id": 3192, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1202:16:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d48abbb7f4e720a8178fa337edb5d65f850fca2e4101e282eddcdb4eb2b4dccb", + "typeString": "literal_string \"founders_group\"" + }, + "value": "founders_group" + }, + { + "argumentTypes": null, + "hexValue": "", + "id": 3193, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1220:2:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_stringliteral_d48abbb7f4e720a8178fa337edb5d65f850fca2e4101e282eddcdb4eb2b4dccb", + "typeString": "literal_string \"founders_group\"" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3188, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "1154:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 3189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1154:18:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 3190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "create_group", + "nodeType": "MemberAccess", + "referencedDeclaration": 14353, + "src": "1154:31:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (uint256,bytes32,bytes32) external returns (bool,uint256)" + } + }, + "id": 3194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1154:69:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "id": 3195, + "nodeType": "ExpressionStatement", + "src": "1154:69:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3199, + "name": "ROLES_PRLS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1396, + "src": "1281:10:10", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "hexValue": "70726c735f67726f7570", + "id": 3200, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1293:12:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_860478588436fbb3222ec58f54f7c49e03f116ed9d4e3a29d025a55794d22da9", + "typeString": "literal_string \"prls_group\"" + }, + "value": "prls_group" + }, + { + "argumentTypes": null, + "hexValue": "", + "id": 3201, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1307:2:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_stringliteral_860478588436fbb3222ec58f54f7c49e03f116ed9d4e3a29d025a55794d22da9", + "typeString": "literal_string \"prls_group\"" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3196, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "1249:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 3197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1249:18:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 3198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "create_group", + "nodeType": "MemberAccess", + "referencedDeclaration": 14353, + "src": "1249:31:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (uint256,bytes32,bytes32) external returns (bool,uint256)" + } + }, + "id": 3202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1249:61:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "id": 3203, + "nodeType": "ExpressionStatement", + "src": "1249:61:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3207, + "name": "ROLES_KYC_ADMINS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1399, + "src": "1368:16:10", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "hexValue": "6b796361646d696e735f67726f7570", + "id": 3208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1386:17:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dad3c872afc291d02bd7da571de02bcd822ef45ac74d25b66e4da83ab5138273", + "typeString": "literal_string \"kycadmins_group\"" + }, + "value": "kycadmins_group" + }, + { + "argumentTypes": null, + "hexValue": "", + "id": 3209, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1405:2:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_stringliteral_dad3c872afc291d02bd7da571de02bcd822ef45ac74d25b66e4da83ab5138273", + "typeString": "literal_string \"kycadmins_group\"" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3204, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "1336:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 3205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1336:18:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 3206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "create_group", + "nodeType": "MemberAccess", + "referencedDeclaration": 14353, + "src": "1336:31:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (uint256,bytes32,bytes32) external returns (bool,uint256)" + } + }, + "id": 3210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1336:72:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "id": 3211, + "nodeType": "ExpressionStatement", + "src": "1336:72:10" + } + ] + }, + "documentation": "@notice Constructor (create initial roles, groups)\n@param _resolver Address of Contract Resolver", + "id": 3213, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3158, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3157, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 3213, + "src": "397:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3156, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "397:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "396:19:10" + }, + "payable": false, + "returnParameters": { + "id": 3159, + "nodeType": "ParameterList", + "parameters": [], + "src": "435:0:10" + }, + "scope": 3328, + "src": "385:1046:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3232, + "nodeType": "Block", + "src": "1807:84:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3227, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3215, + "src": "1861:9:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3228, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3217, + "src": "1872:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3229, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3219, + "src": "1879:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3224, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "1817:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 3225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1817:18:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 3226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "update_add_user_to_group", + "nodeType": "MemberAccess", + "referencedDeclaration": 14410, + "src": "1817:43:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (uint256,address,bytes32) external returns (bool)" + } + }, + "id": 3230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1817:67:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3231, + "nodeType": "ExpressionStatement", + "src": "1817:67:10" + } + ] + }, + "documentation": "@notice Function to add an address to a group (only root can call this function)\n@param _group_id ID of the group to be added in\n@param _user Ethereum address of the user\n@param _doc hash of IPFS doc containing details of this user", + "id": 3233, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3222, + "modifierName": { + "argumentTypes": null, + "id": 3221, + "name": "if_root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1840, + "src": "1793:7:10", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1793:9:10" + } + ], + "name": "addGroupUser", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3220, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3215, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "1722:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3214, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1722:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3217, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "1741:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3216, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1741:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3219, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "1756:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3218, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1756:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1721:48:10" + }, + "payable": false, + "returnParameters": { + "id": 3223, + "nodeType": "ParameterList", + "parameters": [], + "src": "1807:0:10" + }, + "scope": 3328, + "src": "1700:191:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3246, + "nodeType": "Block", + "src": "2141:67:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3243, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3235, + "src": "2195:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3240, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "2151:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 3241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2151:18:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 3242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "update_remove_group_user", + "nodeType": "MemberAccess", + "referencedDeclaration": 14434, + "src": "2151:43:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 3244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2151:50:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3245, + "nodeType": "ExpressionStatement", + "src": "2151:50:10" + } + ] + }, + "documentation": "@notice Function to remove a user from group (only root can call this)\n@param _user Ethereum address of the user to be removed from their group", + "id": 3247, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3238, + "modifierName": { + "argumentTypes": null, + "id": 3237, + "name": "if_root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1840, + "src": "2127:7:10", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2127:9:10" + } + ], + "name": "removeGroupUser", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3236, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3235, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 3247, + "src": "2089:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3234, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2089:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2088:15:10" + }, + "payable": false, + "returnParameters": { + "id": 3239, + "nodeType": "ParameterList", + "parameters": [], + "src": "2141:0:10" + }, + "scope": 3328, + "src": "2064:144:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3264, + "nodeType": "Block", + "src": "2640:62:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3259, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3249, + "src": "2667:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3260, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3251, + "src": "2674:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3261, + "name": "_id_expiration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3253, + "src": "2680:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3258, + "name": "privateUpdateKyc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3327, + "src": "2650:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (address,bytes32,uint256)" + } + }, + "id": 3262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2650:45:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3263, + "nodeType": "ExpressionStatement", + "src": "2650:45:10" + } + ] + }, + "documentation": "@notice Function to update the KYC data of user (expiry data of valid KYC) (can only be called by the KYC ADMIN role)\n@param _user Ethereum address of the user\n@param _doc hash of the IPFS doc containing kyc information about this user\n@param _id_expiration expiry date of the KYC", + "id": 3265, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3256, + "modifierName": { + "argumentTypes": null, + "id": 3255, + "name": "if_kyc_admin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1896, + "src": "2621:12:10", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2621:14:10" + } + ], + "name": "updateKyc", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3254, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3249, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 3265, + "src": "2545:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3248, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2545:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3251, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 3265, + "src": "2560:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3250, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2560:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3253, + "name": "_id_expiration", + "nodeType": "VariableDeclaration", + "scope": 3265, + "src": "2574:22:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3252, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2574:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2544:53:10" + }, + "payable": false, + "returnParameters": { + "id": 3257, + "nodeType": "ParameterList", + "parameters": [], + "src": "2640:0:10" + }, + "scope": 3328, + "src": "2526:176:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3308, + "nodeType": "Block", + "src": "3192:173:10", + "statements": [ + { + "assignments": [ + 3280 + ], + "declarations": [ + { + "constant": false, + "id": 3280, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 3309, + "src": "3202:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3279, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3202:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3283, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3281, + "name": "_users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3268, + "src": "3215:6:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 3282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3215:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3202:26:10" + }, + { + "body": { + "id": 3306, + "nodeType": "Block", + "src": "3274:85:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3295, + "name": "_users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3268, + "src": "3305:6:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 3297, + "indexExpression": { + "argumentTypes": null, + "id": 3296, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3285, + "src": "3312:2:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3305:10:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3298, + "name": "_docs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3271, + "src": "3317:5:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + }, + "id": 3300, + "indexExpression": { + "argumentTypes": null, + "id": 3299, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3285, + "src": "3323:2:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3317:9:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3301, + "name": "_id_expirations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3274, + "src": "3328:15:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 3303, + "indexExpression": { + "argumentTypes": null, + "id": 3302, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3285, + "src": "3344:2:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3328:19:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3294, + "name": "privateUpdateKyc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3327, + "src": "3288:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (address,bytes32,uint256)" + } + }, + "id": 3304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3288:60:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3305, + "nodeType": "ExpressionStatement", + "src": "3288:60:10" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3288, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3285, + "src": "3259:2:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 3289, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3280, + "src": "3264:2:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3259:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3307, + "initializationExpression": { + "assignments": [ + 3285 + ], + "declarations": [ + { + "constant": false, + "id": 3285, + "name": "_i", + "nodeType": "VariableDeclaration", + "scope": 3309, + "src": "3243:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3284, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3243:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3287, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 3286, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3256:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3243:14:10" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 3292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3268:4:10", + "subExpression": { + "argumentTypes": null, + "id": 3291, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3285, + "src": "3268:2:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3293, + "nodeType": "ExpressionStatement", + "src": "3268:4:10" + }, + "nodeType": "ForStatement", + "src": "3238:121:10" + } + ] + }, + "documentation": "@notice Function to update the KYC data of multiple users (expiry data of valid KYC) (can only be called by the KYC ADMIN role)\n@param _users Ethereum addresses of the users\n@param _docs hashes of the IPFS docs containing kyc information about these users\n@param _id_expirations expiry dates of the KYC docs for these users", + "id": 3309, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 3277, + "modifierName": { + "argumentTypes": null, + "id": 3276, + "name": "if_kyc_admin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1896, + "src": "3173:12:10", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3173:14:10" + } + ], + "name": "bulkUpdateKyc", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3275, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3268, + "name": "_users", + "nodeType": "VariableDeclaration", + "scope": 3309, + "src": "3086:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 3266, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3086:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3267, + "length": null, + "nodeType": "ArrayTypeName", + "src": "3086:9:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3271, + "name": "_docs", + "nodeType": "VariableDeclaration", + "scope": 3309, + "src": "3104:15:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 3269, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3104:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3270, + "length": null, + "nodeType": "ArrayTypeName", + "src": "3104:9:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3274, + "name": "_id_expirations", + "nodeType": "VariableDeclaration", + "scope": 3309, + "src": "3121:25:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 3272, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3121:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3273, + "length": null, + "nodeType": "ArrayTypeName", + "src": "3121:9:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3085:62:10" + }, + "payable": false, + "returnParameters": { + "id": 3278, + "nodeType": "ParameterList", + "parameters": [], + "src": "3192:0:10" + }, + "scope": 3328, + "src": "3063:302:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 3326, + "nodeType": "Block", + "src": "3470:75:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3321, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3311, + "src": "3510:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3322, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3313, + "src": "3517:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3323, + "name": "_id_expiration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3315, + "src": "3523:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3318, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "3480:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 3319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3480:18:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 3320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "update_kyc", + "nodeType": "MemberAccess", + "referencedDeclaration": 14464, + "src": "3480:29:10", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (address,bytes32,uint256) external" + } + }, + "id": 3324, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3480:58:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3325, + "nodeType": "ExpressionStatement", + "src": "3480:58:10" + } + ] + }, + "documentation": null, + "id": 3327, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "privateUpdateKyc", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3316, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3311, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 3327, + "src": "3397:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3310, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3397:7:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3313, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 3327, + "src": "3412:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3312, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3412:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3315, + "name": "_id_expiration", + "nodeType": "VariableDeclaration", + "scope": 3327, + "src": "3426:22:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3314, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3426:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3396:53:10" + }, + "payable": false, + "returnParameters": { + "id": 3317, + "nodeType": "ParameterList", + "parameters": [], + "src": "3470:0:10" + }, + "scope": 3328, + "src": "3371:174:10", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 3329, + "src": "219:3328:10" + } + ], + "src": "0:3548:10" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0x53200d00ed47c6d177fd8b3d5e5a05b1ea4f615b", + "transactionHash": "0x6c24eaf8f0e45819593105a349a7718036848aad71e68b788e03a9714a64d771" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T10:37:27.532Z" +} \ No newline at end of file diff --git a/build/contracts/DaoIdentityStorage.json b/build/contracts/DaoIdentityStorage.json new file mode 100644 index 0000000..92227fe --- /dev/null +++ b/build/contracts/DaoIdentityStorage.json @@ -0,0 +1,6604 @@ +{ + "contractName": "DaoIdentityStorage", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "read_first_group", + "outputs": [ + { + "name": "_group_id", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "read_total_groups", + "outputs": [ + { + "name": "_total_groups", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_role_id", + "type": "uint256" + } + ], + "name": "read_role", + "outputs": [ + { + "name": "_name", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_group_id", + "type": "bytes32" + } + ], + "name": "read_first_user_in_group", + "outputs": [ + { + "name": "_user", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "read_user", + "outputs": [ + { + "name": "_group_id", + "type": "uint256" + }, + { + "name": "_role_id", + "type": "uint256" + }, + { + "name": "_document", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_group_id", + "type": "bytes32" + } + ], + "name": "read_last_user_in_group", + "outputs": [ + { + "name": "_user", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_group_id", + "type": "uint256" + } + ], + "name": "read_group", + "outputs": [ + { + "name": "_role_id", + "type": "uint256" + }, + { + "name": "_name", + "type": "bytes32" + }, + { + "name": "_document", + "type": "bytes32" + }, + { + "name": "_members_count", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "read_last_group", + "outputs": [ + { + "name": "_group_id", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "read_user_role_id", + "outputs": [ + { + "name": "_role_id", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_group_id", + "type": "bytes32" + }, + { + "name": "_current_user", + "type": "address" + } + ], + "name": "read_previous_user_in_group", + "outputs": [ + { + "name": "_user", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_group_id", + "type": "bytes32" + } + ], + "name": "read_total_users_in_group", + "outputs": [ + { + "name": "_total_users", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_current_group_id", + "type": "uint256" + } + ], + "name": "read_previous_group_from_group", + "outputs": [ + { + "name": "_group_id", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_group_id", + "type": "bytes32" + }, + { + "name": "_current_user", + "type": "address" + } + ], + "name": "read_next_user_in_group", + "outputs": [ + { + "name": "_user", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_current_group_id", + "type": "uint256" + } + ], + "name": "read_next_group_from_group", + "outputs": [ + { + "name": "_group_id", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_role_id", + "type": "uint256" + }, + { + "name": "_name", + "type": "bytes32" + }, + { + "name": "_document", + "type": "bytes32" + } + ], + "name": "create_group", + "outputs": [ + { + "name": "_success", + "type": "bool" + }, + { + "name": "_group_id", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_role_id", + "type": "uint256" + }, + { + "name": "_name", + "type": "bytes32" + } + ], + "name": "create_role", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_group_id", + "type": "uint256" + }, + { + "name": "_user", + "type": "address" + }, + { + "name": "_document", + "type": "bytes32" + } + ], + "name": "update_add_user_to_group", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "update_remove_group_user", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_doc", + "type": "bytes32" + }, + { + "name": "_id_expiration", + "type": "uint256" + } + ], + "name": "update_kyc", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "read_kyc_info", + "outputs": [ + { + "name": "_doc", + "type": "bytes32" + }, + { + "name": "_id_expiration", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "is_kyc_approved", + "outputs": [ + { + "name": "_approved", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b5060405160208062003c5a833981018060405281019080805190602001909291905050506200117560285482620011ad640100000000026401000000009004565b15156200118157600080fd5b6200119a6200143e640100000000026401000000009004565b1515620011a657600080fd5b5062001a39565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156200121557600080fd5b505af11580156200122a573d6000803e3d6000fd5b505050506040513d60208110156200124157600080fd5b81019080805190602001909291905050509050600015158115151415620014325730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013df57600080fd5b505af1158015620013f4573d6000803e3d6000fd5b505050506040513d60208110156200140b57600080fd5b810190808051906020019092919050505015156200142857600080fd5b6001915062001437565b600091505b5092915050565b60008015156070600a0160009054906101000a900460ff1615151415156200146557600080fd5b60006070600b018190555060016070600a0160006101000a81548160ff021916908315150217905550620014ca60017f726f6f74000000000000000000000000000000000000000000000000000000006200152e640100000000026401000000009004565b506200150960017f726f6f7400000000000000000000000000000000000000000000000000000000600062001584640100000000026401000000009004565b505062001529600132600062001706640100000000026401000000009004565b905090565b600080831115156200153f57600080fd5b6000600102600019168260001916141515156200155b57600080fd5b816070600901600085815260200190815260200160002081600019169055506001905092915050565b6000806000851115156200159757600080fd5b600060010260001916620015ba8662001a19640100000000026401000000009004565b6000191614151515620015cc57600080fd5b6070600b01600081546001019190508190559050607060000173__DoublyLinkedList______________________63d372d5f69091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1580156200165a57600080fd5b505af41580156200166f573d6000803e3d6000fd5b505050506040513d60208110156200168657600080fd5b810190808051906020019092919050505050846070600701600083815260200190815260200160002060020181905550836070600701600083815260200190815260200160002060000181600019169055508260706007016000838152602001908152602001600020600101816000191690555060019150935093915050565b60008015156070600701600086815260200190815260200160002060030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff161515148015620017c457506000607060080160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b8015620017eb57506000607060070160008681526020019081526020016000206002015414155b1562001a0d5760016070600701600086815260200190815260200160002060030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548160ff02191690831515021790555083607060080160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550607060060173__DoublyLinkedList______________________639682eb12909186600102866040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060206040518083038186803b1580156200196357600080fd5b505af415801562001978573d6000803e3d6000fd5b505050506040513d60208110156200198f57600080fd5b810190808051906020019092919050505050816070600701600086815260200190815260200160002060030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181600019169055506001905062001a12565b600090505b9392505050565b600060706009016000838152602001908152602001600020549050919050565b6122118062001a496000396000f300608060405260043610610149576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec1461014e57806307ded7c0146101a55780631d8b86b41461020057806320a4c22d1461022b57806327d0055914610256578063339f38b6146102a957806338eeb187146102f25780633943380c1461036357806339d20a5f146103965780633f83acff146104035780634a9aedc41461047457806350c7e73b146104cf5780635dcea2cf14610540578063657dcf0b146105a85780638a05cbe61461060e578063a04e0dce14610669578063ba16cfc7146106dc578063c31d02b214610707578063c32bebb51461075e578063c97f5104146107c4578063db4ecbc114610855578063dbee9e5b146108ac578063e17078c3146108f1578063eae2083f14610932578063ee9589aa146109c3575b600080fd5b34801561015a57600080fd5b50610163610a04565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101b157600080fd5b506101fe600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560001916906020019092919080359060200190929190505050610a29565b005b34801561020c57600080fd5b50610215610ad6565b6040518082815260200191505060405180910390f35b34801561023757600080fd5b50610240610aea565b6040518082815260200191505060405180910390f35b34801561026257600080fd5b5061028f600480360381019080803590602001909291908035600019169060200190929190505050610afe565b604051808215151515815260200191505060405180910390f35b3480156102b557600080fd5b506102d460048036038101908080359060200190929190505050610b34565b60405180826000191660001916815260200191505060405180910390f35b3480156102fe57600080fd5b506103216004803603810190808035600019169060200190929190505050610b54565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561036f57600080fd5b50610378610b6b565b60405180826000191660001916815260200191505060405180910390f35b3480156103a257600080fd5b506103d7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b71565b604051808481526020018381526020018260001916600019168152602001935050505060405180910390f35b34801561040f57600080fd5b506104326004803603810190808035600019169060200190929190505050610c3a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561048057600080fd5b506104b5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d16565b604051808215151515815260200191505060405180910390f35b3480156104db57600080fd5b506104fe6004803603810190808035600019169060200190929190505050610d33565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561054c57600080fd5b506105876004803603810190808035906020019092919080356000191690602001909291908035600019169060200190929190505050610d4a565b60405180831515151581526020018281526020019250505060405180910390f35b3480156105b457600080fd5b506105d360048036038101908080359060200190929190505050610d8a565b604051808581526020018460001916600019168152602001836000191660001916815260200182815260200194505050505060405180910390f35b34801561061a57600080fd5b5061064f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eec565b604051808215151515815260200191505060405180910390f35b34801561067557600080fd5b506106c260048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190505050610f20565b604051808215151515815260200191505060405180910390f35b3480156106e857600080fd5b506106f1610f58565b6040518082815260200191505060405180910390f35b34801561071357600080fd5b50610748600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f6c565b6040518082815260200191505060405180910390f35b34801561076a57600080fd5b5061079f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fd6565b6040518083600019166000191681526020018281526020019250505060405180910390f35b3480156107d057600080fd5b506108136004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611068565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561086157600080fd5b5061086a611081565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108b857600080fd5b506108db60048036038101908080356000191690602001909291905050506110a7565b6040518082815260200191505060405180910390f35b3480156108fd57600080fd5b5061091c600480360381019080803590602001909291905050506110be565b6040518082815260200191505060405180910390f35b34801561093e57600080fd5b506109816004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110d5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109cf57600080fd5b506109ee600480360381019080803590602001909291905050506110ee565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610a34601a54611105565b1515610a3f57600080fd5b81607c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001816000191690555080607c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550505050565b6000610ae5607060000161120f565b905090565b6000610af960706000016112c0565b905090565b6000610b0b601a54611105565b1515610b1657600080fd5b610b208383611371565b9050801515610b2e57600080fd5b92915050565b600060706009016000838152602001908152602001600020549050919050565b6000610b646070600601836113c5565b9050919050565b60015481565b6000806000607060080160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549250607060070160008481526020019081526020016000206002015491506070600701600084815260200190815260200160002060030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015490509193909250565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610cd457600080fd5b505af1158015610ce8573d6000803e3d6000fd5b505050506040513d6020811015610cfe57600080fd5b81019080805190602001909291905050509050919050565b600080610d2283610fd6565b905080915050428111915050919050565b6000610d43607060060183611487565b9050919050565b600080610d58601a54611105565b1515610d6357600080fd5b610d6e858585611549565b8092508193505050811515610d8257600080fd5b935093915050565b600080600080607060000173__DoublyLinkedList______________________639500c08e9091876040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015610e0957600080fd5b505af4158015610e1d573d6000803e3d6000fd5b505050506040513d6020811015610e3357600080fd5b810190808051906020019092919050505015610eb557607060070160008681526020019081526020016000206002015493506070600701600086815260200190815260200160002060000154925060706007016000868152602001908152602001600020600101549150610eae6070600601866001026116b5565b9050610ee5565b600093507f696e76616c696400000000000000000000000000000000000000000000000000925060009150600090505b9193509193565b6000610ef9601a54611105565b1515610f0457600080fd5b610f0d82611777565b9050801515610f1b57600080fd5b919050565b6000610f2d601a54611105565b1515610f3857600080fd5b610f43848484611ac6565b9050801515610f5157600080fd5b9392505050565b6000610f676070600001611dd2565b905090565b600080607060080160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506070600701600082815260200190815260200160002060020154915050919050565b600080607c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549150607c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050915091565b600061107960706006018484611e83565b905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006110b76070600601836116b5565b9050919050565b60006110ce607060000183611f7a565b9050919050565b60006110e660706006018484612034565b905092915050565b60006110fe60706000018361212b565b9050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561119f57600080fd5b505af11580156111b3573d6000803e3d6000fd5b505050506040513d60208110156111c957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b60008173__DoublyLinkedList______________________631240ff5a90916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b15801561127e57600080fd5b505af4158015611292573d6000803e3d6000fd5b505050506040513d60208110156112a857600080fd5b81019080805190602001909291905050509050919050565b60008173__DoublyLinkedList______________________633ae6974290916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b15801561132f57600080fd5b505af4158015611343573d6000803e3d6000fd5b505050506040513d602081101561135957600080fd5b81019080805190602001909291905050509050919050565b6000808311151561138157600080fd5b60006001026000191682600019161415151561139c57600080fd5b816070600901600085815260200190815260200160002081600019169055506001905092915050565b60008273__DoublyLinkedList______________________63b0c29efb9091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561144457600080fd5b505af4158015611458573d6000803e3d6000fd5b505050506040513d602081101561146e57600080fd5b8101908080519060200190929190505050905092915050565b60008273__DoublyLinkedList______________________63c501bf569091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561150657600080fd5b505af415801561151a573d6000803e3d6000fd5b505050506040513d602081101561153057600080fd5b8101908080519060200190929190505050905092915050565b60008060008511151561155b57600080fd5b60006001026000191661156d86610b34565b600019161415151561157e57600080fd5b6070600b01600081546001019190508190559050607060000173__DoublyLinkedList______________________63d372d5f69091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561160b57600080fd5b505af415801561161f573d6000803e3d6000fd5b505050506040513d602081101561163557600080fd5b810190808051906020019092919050505050846070600701600083815260200190815260200160002060020181905550836070600701600083815260200190815260200160002060000181600019169055508260706007016000838152602001908152602001600020600101816000191690555060019150935093915050565b60008273__DoublyLinkedList______________________6355a0a1bf9091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561173457600080fd5b505af4158015611748573d6000803e3d6000fd5b505050506040513d602081101561175e57600080fd5b8101908080519060200190929190505050905092915050565b600080607060080160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060018114801561188d57506001607060060173__DoublyLinkedList______________________6355a0a1bf9091846001026040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561185057600080fd5b505af4158015611864573d6000803e3d6000fd5b505050506040513d602081101561187a57600080fd5b8101908080519060200190929190505050145b1561189b5760009150611ac0565b60006070600701600083815260200190815260200160002060030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548160ff0219169083151502179055506000607060080160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506070600701600082815260200190815260200160002060030160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690555050607060060173__DoublyLinkedList______________________63b598c31a909183600102866040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060206040518083038186803b158015611a8257600080fd5b505af4158015611a96573d6000803e3d6000fd5b505050506040513d6020811015611aac57600080fd5b810190808051906020019092919050505091505b50919050565b60008015156070600701600086815260200190815260200160002060030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff161515148015611b8357506000607060080160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b8015611ba957506000607060070160008681526020019081526020016000206002015414155b15611dc65760016070600701600086815260200190815260200160002060030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548160ff02191690831515021790555083607060080160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550607060060173__DoublyLinkedList______________________639682eb12909186600102866040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060206040518083038186803b158015611d1f57600080fd5b505af4158015611d33573d6000803e3d6000fd5b505050506040513d6020811015611d4957600080fd5b810190808051906020019092919050505050816070600701600086815260200190815260200160002060030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001816000191690555060019050611dcb565b600090505b9392505050565b60008173__DoublyLinkedList______________________635e0d4aa990916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b158015611e4157600080fd5b505af4158015611e55573d6000803e3d6000fd5b505050506040513d6020811015611e6b57600080fd5b81019080805190602001909291905050509050919050565b60008373__DoublyLinkedList______________________6320482030909185856040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060206040518083038186803b158015611f3657600080fd5b505af4158015611f4a573d6000803e3d6000fd5b505050506040513d6020811015611f6057600080fd5b810190808051906020019092919050505090509392505050565b60008273__DoublyLinkedList______________________6340c6bb189091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015611ff157600080fd5b505af4158015612005573d6000803e3d6000fd5b505050506040513d602081101561201b57600080fd5b8101908080519060200190929190505050905092915050565b60008373__DoublyLinkedList______________________63675a4ef0909185856040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060206040518083038186803b1580156120e757600080fd5b505af41580156120fb573d6000803e3d6000fd5b505050506040513d602081101561211157600080fd5b810190808051906020019092919050505090509392505050565b60008273__DoublyLinkedList______________________63ec40b8979091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1580156121a257600080fd5b505af41580156121b6573d6000803e3d6000fd5b505050506040513d60208110156121cc57600080fd5b81019080805190602001909291905050509050929150505600a165627a7a72305820008537bb3bf054e9c90b7e32321aa3c5c2e1119b559b679961672d1e2786d07f0029", + "deployedBytecode": "0x608060405260043610610149576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec1461014e57806307ded7c0146101a55780631d8b86b41461020057806320a4c22d1461022b57806327d0055914610256578063339f38b6146102a957806338eeb187146102f25780633943380c1461036357806339d20a5f146103965780633f83acff146104035780634a9aedc41461047457806350c7e73b146104cf5780635dcea2cf14610540578063657dcf0b146105a85780638a05cbe61461060e578063a04e0dce14610669578063ba16cfc7146106dc578063c31d02b214610707578063c32bebb51461075e578063c97f5104146107c4578063db4ecbc114610855578063dbee9e5b146108ac578063e17078c3146108f1578063eae2083f14610932578063ee9589aa146109c3575b600080fd5b34801561015a57600080fd5b50610163610a04565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101b157600080fd5b506101fe600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560001916906020019092919080359060200190929190505050610a29565b005b34801561020c57600080fd5b50610215610ad6565b6040518082815260200191505060405180910390f35b34801561023757600080fd5b50610240610aea565b6040518082815260200191505060405180910390f35b34801561026257600080fd5b5061028f600480360381019080803590602001909291908035600019169060200190929190505050610afe565b604051808215151515815260200191505060405180910390f35b3480156102b557600080fd5b506102d460048036038101908080359060200190929190505050610b34565b60405180826000191660001916815260200191505060405180910390f35b3480156102fe57600080fd5b506103216004803603810190808035600019169060200190929190505050610b54565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561036f57600080fd5b50610378610b6b565b60405180826000191660001916815260200191505060405180910390f35b3480156103a257600080fd5b506103d7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b71565b604051808481526020018381526020018260001916600019168152602001935050505060405180910390f35b34801561040f57600080fd5b506104326004803603810190808035600019169060200190929190505050610c3a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561048057600080fd5b506104b5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d16565b604051808215151515815260200191505060405180910390f35b3480156104db57600080fd5b506104fe6004803603810190808035600019169060200190929190505050610d33565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561054c57600080fd5b506105876004803603810190808035906020019092919080356000191690602001909291908035600019169060200190929190505050610d4a565b60405180831515151581526020018281526020019250505060405180910390f35b3480156105b457600080fd5b506105d360048036038101908080359060200190929190505050610d8a565b604051808581526020018460001916600019168152602001836000191660001916815260200182815260200194505050505060405180910390f35b34801561061a57600080fd5b5061064f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610eec565b604051808215151515815260200191505060405180910390f35b34801561067557600080fd5b506106c260048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190505050610f20565b604051808215151515815260200191505060405180910390f35b3480156106e857600080fd5b506106f1610f58565b6040518082815260200191505060405180910390f35b34801561071357600080fd5b50610748600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f6c565b6040518082815260200191505060405180910390f35b34801561076a57600080fd5b5061079f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fd6565b6040518083600019166000191681526020018281526020019250505060405180910390f35b3480156107d057600080fd5b506108136004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611068565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561086157600080fd5b5061086a611081565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108b857600080fd5b506108db60048036038101908080356000191690602001909291905050506110a7565b6040518082815260200191505060405180910390f35b3480156108fd57600080fd5b5061091c600480360381019080803590602001909291905050506110be565b6040518082815260200191505060405180910390f35b34801561093e57600080fd5b506109816004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110d5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109cf57600080fd5b506109ee600480360381019080803590602001909291905050506110ee565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610a34601a54611105565b1515610a3f57600080fd5b81607c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001816000191690555080607c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010181905550505050565b6000610ae5607060000161120f565b905090565b6000610af960706000016112c0565b905090565b6000610b0b601a54611105565b1515610b1657600080fd5b610b208383611371565b9050801515610b2e57600080fd5b92915050565b600060706009016000838152602001908152602001600020549050919050565b6000610b646070600601836113c5565b9050919050565b60015481565b6000806000607060080160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549250607060070160008481526020019081526020016000206002015491506070600701600084815260200190815260200160002060030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015490509193909250565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610cd457600080fd5b505af1158015610ce8573d6000803e3d6000fd5b505050506040513d6020811015610cfe57600080fd5b81019080805190602001909291905050509050919050565b600080610d2283610fd6565b905080915050428111915050919050565b6000610d43607060060183611487565b9050919050565b600080610d58601a54611105565b1515610d6357600080fd5b610d6e858585611549565b8092508193505050811515610d8257600080fd5b935093915050565b600080600080607060000173__DoublyLinkedList______________________639500c08e9091876040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015610e0957600080fd5b505af4158015610e1d573d6000803e3d6000fd5b505050506040513d6020811015610e3357600080fd5b810190808051906020019092919050505015610eb557607060070160008681526020019081526020016000206002015493506070600701600086815260200190815260200160002060000154925060706007016000868152602001908152602001600020600101549150610eae6070600601866001026116b5565b9050610ee5565b600093507f696e76616c696400000000000000000000000000000000000000000000000000925060009150600090505b9193509193565b6000610ef9601a54611105565b1515610f0457600080fd5b610f0d82611777565b9050801515610f1b57600080fd5b919050565b6000610f2d601a54611105565b1515610f3857600080fd5b610f43848484611ac6565b9050801515610f5157600080fd5b9392505050565b6000610f676070600001611dd2565b905090565b600080607060080160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506070600701600082815260200190815260200160002060020154915050919050565b600080607c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549150607c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050915091565b600061107960706006018484611e83565b905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006110b76070600601836116b5565b9050919050565b60006110ce607060000183611f7a565b9050919050565b60006110e660706006018484612034565b905092915050565b60006110fe60706000018361212b565b9050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561119f57600080fd5b505af11580156111b3573d6000803e3d6000fd5b505050506040513d60208110156111c957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b60008173__DoublyLinkedList______________________631240ff5a90916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b15801561127e57600080fd5b505af4158015611292573d6000803e3d6000fd5b505050506040513d60208110156112a857600080fd5b81019080805190602001909291905050509050919050565b60008173__DoublyLinkedList______________________633ae6974290916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b15801561132f57600080fd5b505af4158015611343573d6000803e3d6000fd5b505050506040513d602081101561135957600080fd5b81019080805190602001909291905050509050919050565b6000808311151561138157600080fd5b60006001026000191682600019161415151561139c57600080fd5b816070600901600085815260200190815260200160002081600019169055506001905092915050565b60008273__DoublyLinkedList______________________63b0c29efb9091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561144457600080fd5b505af4158015611458573d6000803e3d6000fd5b505050506040513d602081101561146e57600080fd5b8101908080519060200190929190505050905092915050565b60008273__DoublyLinkedList______________________63c501bf569091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561150657600080fd5b505af415801561151a573d6000803e3d6000fd5b505050506040513d602081101561153057600080fd5b8101908080519060200190929190505050905092915050565b60008060008511151561155b57600080fd5b60006001026000191661156d86610b34565b600019161415151561157e57600080fd5b6070600b01600081546001019190508190559050607060000173__DoublyLinkedList______________________63d372d5f69091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561160b57600080fd5b505af415801561161f573d6000803e3d6000fd5b505050506040513d602081101561163557600080fd5b810190808051906020019092919050505050846070600701600083815260200190815260200160002060020181905550836070600701600083815260200190815260200160002060000181600019169055508260706007016000838152602001908152602001600020600101816000191690555060019150935093915050565b60008273__DoublyLinkedList______________________6355a0a1bf9091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561173457600080fd5b505af4158015611748573d6000803e3d6000fd5b505050506040513d602081101561175e57600080fd5b8101908080519060200190929190505050905092915050565b600080607060080160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060018114801561188d57506001607060060173__DoublyLinkedList______________________6355a0a1bf9091846001026040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561185057600080fd5b505af4158015611864573d6000803e3d6000fd5b505050506040513d602081101561187a57600080fd5b8101908080519060200190929190505050145b1561189b5760009150611ac0565b60006070600701600083815260200190815260200160002060030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548160ff0219169083151502179055506000607060080160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506070600701600082815260200190815260200160002060030160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690555050607060060173__DoublyLinkedList______________________63b598c31a909183600102866040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060206040518083038186803b158015611a8257600080fd5b505af4158015611a96573d6000803e3d6000fd5b505050506040513d6020811015611aac57600080fd5b810190808051906020019092919050505091505b50919050565b60008015156070600701600086815260200190815260200160002060030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff161515148015611b8357506000607060080160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b8015611ba957506000607060070160008681526020019081526020016000206002015414155b15611dc65760016070600701600086815260200190815260200160002060030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548160ff02191690831515021790555083607060080160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550607060060173__DoublyLinkedList______________________639682eb12909186600102866040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060206040518083038186803b158015611d1f57600080fd5b505af4158015611d33573d6000803e3d6000fd5b505050506040513d6020811015611d4957600080fd5b810190808051906020019092919050505050816070600701600086815260200190815260200160002060030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001816000191690555060019050611dcb565b600090505b9392505050565b60008173__DoublyLinkedList______________________635e0d4aa990916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b158015611e4157600080fd5b505af4158015611e55573d6000803e3d6000fd5b505050506040513d6020811015611e6b57600080fd5b81019080805190602001909291905050509050919050565b60008373__DoublyLinkedList______________________6320482030909185856040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060206040518083038186803b158015611f3657600080fd5b505af4158015611f4a573d6000803e3d6000fd5b505050506040513d6020811015611f6057600080fd5b810190808051906020019092919050505090509392505050565b60008273__DoublyLinkedList______________________6340c6bb189091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015611ff157600080fd5b505af4158015612005573d6000803e3d6000fd5b505050506040513d602081101561201b57600080fd5b8101908080519060200190929190505050905092915050565b60008373__DoublyLinkedList______________________63675a4ef0909185856040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060206040518083038186803b1580156120e757600080fd5b505af41580156120fb573d6000803e3d6000fd5b505050506040513d602081101561211157600080fd5b810190808051906020019092919050505090509392505050565b60008273__DoublyLinkedList______________________63ec40b8979091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1580156121a257600080fd5b505af41580156121b6573d6000803e3d6000fd5b505050506040513d60208110156121cc57600080fd5b81019080805190602001909291905050509050929150505600a165627a7a72305820008537bb3bf054e9c90b7e32321aa3c5c2e1119b559b679961672d1e2786d07f0029", + "sourceMap": "190:2592:54:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;771:163:54;8:9:-1;5:2;;;30:1;27;20:12;5:2;771:163:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;839:46;844:29;;875:9;839:4;;;:46;;;:::i;:::-;831:55;;;;;;;;904:22;:20;;;:22;;;:::i;:::-;896:31;;;;;;;;771:163;190:2592;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;1116:343:68:-;1188:13;1241:5;1219:27;;:6;:18;;;;;;;;;;;;:27;;;1211:36;;;;;;;;1275:1;1253:6;:19;;:23;;;;1303:4;1282:6;:18;;;:25;;;;;;;;;;;;;;;;;;1313:31;1334:1;1313:31;:20;;;:31;;;:::i;:::-;;1350:36;1372:1;1350:36;;:21;;;:36;;;:::i;:::-;;;1403:51;1437:1;1440:9;1403:51;:33;;;:51;;;:::i;:::-;1392:62;;1116:343;:::o;1667:251::-;1770:13;1812:1;1801:8;:12;1793:21;;;;;;;;1845:3;1837:12;;1828:21;;;:5;:21;;;;;1820:30;;;;;;;;1887:5;1856:6;:18;;:28;1875:8;1856:28;;;;;;;;;;;:36;;;;;;;1909:4;1898:15;;1667:251;;;;:::o;2525:499::-;2648:13;2663:17;2709:1;2698:8;:12;2690:21;;;;;;;;2756:3;2748:12;;2725:35;;;:19;2735:8;2725:9;;;:19;;;:::i;:::-;:35;;;;;2717:44;;;;;;;;2781:6;:19;;;2779:21;;;;;;;;;;2767:33;;2806:6;:13;;:20;;;;2827:9;2806:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2806:31:68;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2806:31:68;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2806:31:68;;;;;;;;;;;;;;;;;2884:8;2843:6;:19;;:30;2863:9;2843:30;;;;;;;;;;;:38;;:49;;;;2936:5;2898:6;:19;;:30;2918:9;2898:30;;;;;;;;;;;:35;;:43;;;;;;;2989:9;2947:6;:19;;:30;2967:9;2947:30;;;;;;;;;;;:39;;:51;;;;;;;3015:4;3004:15;;2525:499;;;;;;:::o;4118:682::-;4254:13;4348:5;4281:72;;:6;:19;;:30;4301:9;4281:30;;;;;;;;;;;:49;;:56;4331:5;4281:56;;;;;;;;;;;;;;;:63;;;;;;;;;;;;:72;;;:115;;;;;4395:1;4357:6;:27;;:34;4385:5;4357:34;;;;;;;;;;;;;;;;:39;4281:115;:162;;;;;4442:1;4400:6;:19;;:30;4420:9;4400:30;;;;;;;;;;;:38;;;:43;;4281:162;4277:519;;;4520:4;4454:6;:19;;:30;4474:9;4454:30;;;;;;;;;;;:49;;:56;4504:5;4454:56;;;;;;;;;;;;;;;:63;;;:70;;;;;;;;;;;;;;;;;;4569:9;4532:6;:27;;:34;4560:5;4532:34;;;;;;;;;;;;;;;:46;;;;4586:6;:24;;:31;;;;4626:9;4618:18;;4638:5;4586:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4586:58:68;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4586:58:68;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4586:58:68;;;;;;;;;;;;;;;;;4720:9;4652:6;:19;;:30;4672:9;4652:30;;;;;;;;;;;:49;;:56;4702:5;4652:56;;;;;;;;;;;;;;;:65;;:77;;;;;;;4748:4;4737:15;;4277:519;;;4784:5;4773:16;;4277:519;4118:682;;;;;:::o;2053:159::-;2148:13;2179:6;:18;;:28;2198:8;2179:28;;;;;;;;;;;;2171:36;;2053:159;;;:::o;190:2592:54:-;;;;;;;", + "deployedSourceMap": "190:2592:54:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;2070:240:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2070:240:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6589:164:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6589:164:68;;;;;;;;;;;;;;;;;;;;;;;7973:168;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7973:168:68;;;;;;;;;;;;;;;;;;;;;;;1258:248:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1258:248:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2053:159:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2053:159:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8278:224;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8278:224:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6136:345:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6136:345:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2544:236:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2544:236:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8638:222:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8638:222:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;940:312:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;940:312:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3245:605:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3245:605:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1824:240:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1824:240:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1512:306;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1512:306:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6859:162:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6859:162:68;;;;;;;;;;;;;;;;;;;;;;;5666:240;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5666:240:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2316:222:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2316:222:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9580:268:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9580:268:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;10005:234:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10005:234:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:225;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7223:225:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9088:260;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9088:260:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7642:217;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7642:217:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;2070:240:54:-;2180:32;2190:21;;2180:9;:32::i;:::-;2172:41;;;;;;;;2244:4;2223:7;:14;2231:5;2223:14;;;;;;;;;;;;;;;:18;;:25;;;;;;;2289:14;2258:7;:14;2266:5;2258:14;;;;;;;;;;;;;;;:28;;:45;;;;2070:240;;;:::o;6589:164:68:-;6673:17;6712:36;6734:6;:13;;6712:21;:36::i;:::-;6700:48;;6589:164;:::o;7973:168::-;8058:21;8105:31;8122:6;:13;;8105:16;:31::i;:::-;8089:47;;7973:168;:::o;1258:248:54:-;1344:13;1381:32;1391:21;;1381:9;:32::i;:::-;1373:41;;;;;;;;1435:37;1456:8;1466:5;1435:20;:37::i;:::-;1424:48;;1490:8;1482:17;;;;;;;;1258:248;;;;:::o;2053:159:68:-;2148:13;2179:6;:18;;:28;2198:8;2179:28;;;;;;;;;;;;2171:36;;2053:159;;;:::o;8278:224::-;8387:13;8418:79;8452:6;:24;;8486:9;8418:33;:79::i;:::-;8410:87;;8278:224;;;:::o;264:18:67:-;;;;:::o;6136:345:68:-;6228:17;6247:16;6265:17;6304:6;:27;;:34;6332:5;6304:34;;;;;;;;;;;;;;;;6292:46;;6355:6;:19;;:30;6375:9;6355:30;;;;;;;;;;;:38;;;6344:49;;6411:6;:19;;:30;6431:9;6411:30;;;;;;;;;;;:49;;:56;6461:5;6411:56;;;;;;;;;;;;;;;:65;;;6399:77;;6136:345;;;;;:::o;2380:179:67:-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;2544:236:54:-;2629:14;2659:22;2711:20;2725:5;2711:13;:20::i;:::-;2691:40;;;;;;2770:3;2753:14;:20;2741:32;;2544:236;;;;:::o;8638:222:68:-;8746:13;8777:78;8810:6;:24;;8844:9;8777:32;:78::i;:::-;8769:86;;8638:222;;;:::o;940:312:54:-;1046:13;1061:17;1102:32;1112:21;;1102:9;:32::i;:::-;1094:41;;;;;;;;1169:49;1191:8;1201:5;1208:9;1169:21;:49::i;:::-;1145:73;;;;;;;;1236:8;1228:17;;;;;;;;940:312;;;;;;:::o;3245:605:68:-;3342:16;3360:13;3375:17;3394:22;3430:6;:13;;:24;;;;3455:9;3430:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3430:35:68;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3430:35:68;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3430:35:68;;;;;;;;;;;;;;;;3426:420;;;3486:6;:19;;:30;3506:9;3486:30;;;;;;;;;;;:38;;;3475:49;;3540:6;:19;;:30;3560:9;3540:30;;;;;;;;;;;:35;;;3532:43;;3595:6;:19;;:30;3615:9;3595:30;;;;;;;;;;;:39;;;3583:51;;3659:74;3688:6;:24;;3722:9;3714:18;;3659:28;:74::i;:::-;3642:91;;3426:420;;;3765:1;3754:12;;3774:17;;;3799:14;;;3838:1;3821:18;;3426:420;3245:605;;;;;:::o;1824:240:54:-;1905:13;1942:32;1952:21;;1942:9;:32::i;:::-;1934:41;;;;;;;;1996:34;2024:5;1996:27;:34::i;:::-;1985:45;;2048:8;2040:17;;;;;;;;1824:240;;;:::o;1512:306::-;1631:13;1668:32;1678:21;;1668:9;:32::i;:::-;1660:41;;;;;;;;1722:62;1756:9;1767:5;1774:9;1722:33;:62::i;:::-;1711:73;;1802:8;1794:17;;;;;;;;1512:306;;;;;:::o;6859:162:68:-;6942:17;6981:35;7002:6;:13;;6981:20;:35::i;:::-;6969:47;;6859:162;:::o;5666:240::-;5766:16;5792:17;5812:6;:27;;:34;5840:5;5812:34;;;;;;;;;;;;;;;;5792:54;;5863:6;:19;;:30;5883:9;5863:30;;;;;;;;;;;:38;;;5852:49;;5666:240;;;;:::o;2316:222:54:-;2399:12;2413:22;2458:7;:14;2466:5;2458:14;;;;;;;;;;;;;;;:18;;;2451:25;;2503:7;:14;2511:5;2503:14;;;;;;;;;;;;;;;:28;;;2486:45;;2316:222;;;:::o;9580:268:68:-;9715:13;9746:97;9783:6;:24;;9817:9;9829:13;9746:36;:97::i;:::-;9738:105;;9580:268;;;;:::o;344:31:67:-;;;;;;;;;;;;;:::o;10005:234:68:-;10115:20;10160:74;10189:6;:24;;10223:9;10160:28;:74::i;:::-;10145:89;;10005:234;;;:::o;7223:225::-;7346:17;7385:58;7410:6;:13;;7425:17;7385:24;:58::i;:::-;7373:70;;7223:225;;;:::o;9088:260::-;9219:13;9250:93;9283:6;:24;;9317:9;9329:13;9250:32;:93::i;:::-;9242:101;;9088:260;;;;:::o;7642:217::-;7761:17;7800:54;7821:6;:13;;7836:17;7800:20;:54::i;:::-;7788:66;;7642:217;;;:::o;610:160:67:-;671:12;732:8;;;;;;;;;;;715:39;;;755:9;715:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;715:50:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;715:50:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;715:50:67;;;;;;;;;;;;;;;;701:64;;:10;:64;;;691:74;;610:160;;;:::o;390:182:80:-;518:13;549:5;:16;;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;549:18:80;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;549:18:80;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;549:18:80;;;;;;;;;;;;;;;;541:26;;390:182;;;:::o;2071:174::-;2194:14;2227:5;:11;;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2227:13:80;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2227:13:80;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2227:13:80;;;;;;;;;;;;;;;;2218:22;;2071:174;;;:::o;1667:251:68:-;1770:13;1812:1;1801:8;:12;1793:21;;;;;;;;1845:3;1837:12;;1828:21;;;:5;:21;;;;;1820:30;;;;;;;;1887:5;1856:6;:18;;:28;1875:8;1856:28;;;;;;;;;;;:36;;;;;;;1909:4;1898:15;;1667:251;;;;:::o;557:248:78:-;734:13;765:5;:16;;;;782:17;765:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;765:35:78;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;765:35:78;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;765:35:78;;;;;;;;;;;;;;;;757:43;;557:248;;;;:::o;1042:245::-;1218:13;1249:5;:14;;;;1264:17;1249:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1249:33:78;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1249:33:78;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1249:33:78;;;;;;;;;;;;;;;;1241:41;;1042:245;;;;:::o;2525:499:68:-;2648:13;2663:17;2709:1;2698:8;:12;2690:21;;;;;;;;2756:3;2748:12;;2725:35;;;:19;2735:8;2725:9;:19::i;:::-;:35;;;;;2717:44;;;;;;;;2781:6;:19;;;2779:21;;;;;;;;;;2767:33;;2806:6;:13;;:20;;;;2827:9;2806:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2806:31:68;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2806:31:68;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2806:31:68;;;;;;;;;;;;;;;;;2884:8;2843:6;:19;;:30;2863:9;2843:30;;;;;;;;;;;:38;;:49;;;;2936:5;2898:6;:19;;:30;2918:9;2898:30;;;;;;;;;;;:35;;:43;;;;;;;2989:9;2947:6;:19;;:30;2967:9;2947:30;;;;;;;;;;;:39;;:51;;;;;;;3015:4;3004:15;;2525:499;;;;;;:::o;2809:240:78:-;2981:14;3014:5;:11;;;;3026:17;3014:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3014:30:78;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3014:30:78;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3014:30:78;;;;;;;;;;;;;;;;3005:39;;2809:240;;;;:::o;4948:584:68:-;5040:13;5063:17;5083:6;:27;;:34;5111:5;5083:34;;;;;;;;;;;;;;;;5063:54;;5141:1;5128:9;:14;5127:77;;;;;5202:1;5148:6;:24;;:30;;;;5187:9;5179:18;;5148:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5148:50:68;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5148:50:68;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5148:50:68;;;;;;;;;;;;;;;;:55;5127:77;5123:405;;;5225:5;5214:16;;5123:405;;;5317:5;5251:6;:19;;:30;5271:9;5251:30;;;;;;;;;;;:49;;:56;5301:5;5251:56;;;;;;;;;;;;;;;:63;;;:71;;;;;;;;;;;;;;;;;;5367:1;5330:6;:27;;:34;5358:5;5330:34;;;;;;;;;;;;;;;:38;;;;5383:6;:19;;:30;5403:9;5383:30;;;;;;;;;;;:49;;:56;5433:5;5383:56;;;;;;;;;;;;;;;;5376:63;;;;;;;;;;;;;;;;;;;;;;;5458:6;:24;;:36;;;;5503:9;5495:18;;5515:5;5458:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5458:63:68;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5458:63:68;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5458:63:68;;;;;;;;;;;;;;;;5447:74;;5123:405;4948:584;;;;:::o;4118:682::-;4254:13;4348:5;4281:72;;:6;:19;;:30;4301:9;4281:30;;;;;;;;;;;:49;;:56;4331:5;4281:56;;;;;;;;;;;;;;;:63;;;;;;;;;;;;:72;;;:115;;;;;4395:1;4357:6;:27;;:34;4385:5;4357:34;;;;;;;;;;;;;;;;:39;4281:115;:162;;;;;4442:1;4400:6;:19;;:30;4420:9;4400:30;;;;;;;;;;;:38;;;:43;;4281:162;4277:519;;;4520:4;4454:6;:19;;:30;4474:9;4454:30;;;;;;;;;;;:49;;:56;4504:5;4454:56;;;;;;;;;;;;;;;:63;;;:70;;;;;;;;;;;;;;;;;;4569:9;4532:6;:27;;:34;4560:5;4532:34;;;;;;;;;;;;;;;:46;;;;4586:6;:24;;:31;;;;4626:9;4618:18;;4638:5;4586:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4586:58:68;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4586:58:68;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4586:58:68;;;;;;;;;;;;;;;;;4720:9;4652:6;:19;;:30;4672:9;4652:30;;;;;;;;;;;:49;;:56;4702:5;4652:56;;;;;;;;;;;;;;;:65;;:77;;;;;;;4748:4;4737:15;;4277:519;;;4784:5;4773:16;;4277:519;4118:682;;;;;:::o;744:179:80:-;871:13;902:5;:14;;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;902:16:80;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;902:16:80;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;902:16:80;;;;;;;;;;;;;;;;894:24;;744:179;;;:::o;2258:292:78:-;2461:13;2492:5;:19;;;;2512:17;2531:13;2492:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2492:53:78;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2492:53:78;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2492:53:78;;;;;;;;;;;;;;;;2484:61;;2258:292;;;;;:::o;1653:224:80:-;1807:13;1838:5;:19;;;;1858:13;1838:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1838:34:80;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1838:34:80;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1838:34:80;;;;;;;;;;;;;;;;1830:42;;1653:224;;;;:::o;1627:284:78:-;1826:13;1857:5;:15;;;;1873:17;1892:13;1857:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1857:49:78;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1857:49:78;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1857:49:78;;;;;;;;;;;;;;;;1849:57;;1627:284;;;;;:::o;1176:216:80:-;1326:13;1357:5;:15;;;;1373:13;1357:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1357:30:80;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1357:30:80;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1357:30:80;;;;;;;;;;;;;;;;1349:38;;1176:216;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"@digix/cacp-contracts-dao/contracts/ResolverClient.sol\";\nimport \"@digix/cdap/contracts/storage/DirectoryStorage.sol\";\nimport \"../common/DaoConstants.sol\";\n\ncontract DaoIdentityStorage is ResolverClient, DaoConstants, DirectoryStorage {\n\n // struct for KYC details\n // doc is the IPFS doc hash for any information regarding this KYC\n // id_expiration is the UTC timestamp at which this KYC will expire\n // at any time after this, the user's KYC is invalid, and that user\n // MUST re-KYC before doing any proposer related operation in DigixDAO\n struct KycDetails {\n bytes32 doc;\n uint256 id_expiration;\n }\n\n // a mapping of address to the KYC details\n mapping (address => KycDetails) kycInfo;\n\n constructor(address _resolver)\n public\n {\n require(init(CONTRACT_STORAGE_DAO_IDENTITY, _resolver));\n require(initialize_directory());\n }\n\n function create_group(uint256 _role_id, bytes32 _name, bytes32 _document)\n public\n returns (bool _success, uint256 _group_id)\n {\n require(sender_is(CONTRACT_DAO_IDENTITY));\n (_success, _group_id) = internal_create_group(_role_id, _name, _document);\n require(_success);\n }\n\n function create_role(uint256 _role_id, bytes32 _name)\n public\n returns (bool _success)\n {\n require(sender_is(CONTRACT_DAO_IDENTITY));\n _success = internal_create_role(_role_id, _name);\n require(_success);\n }\n\n function update_add_user_to_group(uint256 _group_id, address _user, bytes32 _document)\n public\n returns (bool _success)\n {\n require(sender_is(CONTRACT_DAO_IDENTITY));\n _success = internal_update_add_user_to_group(_group_id, _user, _document);\n require(_success);\n }\n\n function update_remove_group_user(address _user)\n public\n returns (bool _success)\n {\n require(sender_is(CONTRACT_DAO_IDENTITY));\n _success = internal_destroy_group_user(_user);\n require(_success);\n }\n\n function update_kyc(address _user, bytes32 _doc, uint256 _id_expiration)\n public\n {\n require(sender_is(CONTRACT_DAO_IDENTITY));\n kycInfo[_user].doc = _doc;\n kycInfo[_user].id_expiration = _id_expiration;\n }\n\n function read_kyc_info(address _user)\n public\n view\n returns (bytes32 _doc, uint256 _id_expiration)\n {\n _doc = kycInfo[_user].doc;\n _id_expiration = kycInfo[_user].id_expiration;\n }\n\n function is_kyc_approved(address _user)\n public\n view\n returns (bool _approved)\n {\n uint256 _id_expiration;\n (,_id_expiration) = read_kyc_info(_user);\n _approved = _id_expiration > now;\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoIdentityStorage.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoIdentityStorage.sol", + "exportedSymbols": { + "DaoIdentityStorage": [ + 14513 + ] + }, + "id": 14514, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 14283, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:54" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 14284, + "nodeType": "ImportDirective", + "scope": 14514, + "sourceUnit": 19059, + "src": "26:64:54", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/cdap/contracts/storage/DirectoryStorage.sol", + "file": "@digix/cdap/contracts/storage/DirectoryStorage.sol", + "id": 14285, + "nodeType": "ImportDirective", + "scope": 14514, + "sourceUnit": 19752, + "src": "91:60:54", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "../common/DaoConstants.sol", + "id": 14286, + "nodeType": "ImportDirective", + "scope": 14514, + "sourceUnit": 1581, + "src": "152:36:54", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 14287, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "221:14:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 14288, + "nodeType": "InheritanceSpecifier", + "src": "221:14:54" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 14289, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "237:12:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 14290, + "nodeType": "InheritanceSpecifier", + "src": "237:12:54" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 14291, + "name": "DirectoryStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19751, + "src": "251:16:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DirectoryStorage_$19751", + "typeString": "contract DirectoryStorage" + } + }, + "id": 14292, + "nodeType": "InheritanceSpecifier", + "src": "251:16:54" + } + ], + "contractDependencies": [ + 1580, + 19058, + 19751, + 22577, + 22987 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 14513, + "linearizedBaseContracts": [ + 14513, + 19751, + 22987, + 22577, + 1580, + 19058 + ], + "name": "DaoIdentityStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "DaoIdentityStorage.KycDetails", + "id": 14297, + "members": [ + { + "constant": false, + "id": 14294, + "name": "doc", + "nodeType": "VariableDeclaration", + "scope": 14297, + "src": "623:11:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 14293, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "623:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14296, + "name": "id_expiration", + "nodeType": "VariableDeclaration", + "scope": 14297, + "src": "644:21:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14295, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "644:7:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "KycDetails", + "nodeType": "StructDefinition", + "scope": 14513, + "src": "595:77:54", + "visibility": "public" + }, + { + "constant": false, + "id": 14301, + "name": "kycInfo", + "nodeType": "VariableDeclaration", + "scope": 14513, + "src": "725:39:54", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_KycDetails_$14297_storage_$", + "typeString": "mapping(address => struct DaoIdentityStorage.KycDetails)" + }, + "typeName": { + "id": 14300, + "keyType": { + "id": 14298, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "734:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "725:31:54", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_KycDetails_$14297_storage_$", + "typeString": "mapping(address => struct DaoIdentityStorage.KycDetails)" + }, + "valueType": { + "contractScope": null, + "id": 14299, + "name": "KycDetails", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14297, + "src": "745:10:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_KycDetails_$14297_storage_ptr", + "typeString": "struct DaoIdentityStorage.KycDetails" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 14318, + "nodeType": "Block", + "src": "821:113:54", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14308, + "name": "CONTRACT_STORAGE_DAO_IDENTITY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1357, + "src": "844:29:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14309, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14303, + "src": "875:9:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 14307, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "839:4:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 14310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "839:46:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14306, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "831:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "831:55:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14312, + "nodeType": "ExpressionStatement", + "src": "831:55:54" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 14314, + "name": "initialize_directory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19156, + "src": "904:20:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bool_$", + "typeString": "function () returns (bool)" + } + }, + "id": 14315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "904:22:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14313, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "896:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "896:31:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14317, + "nodeType": "ExpressionStatement", + "src": "896:31:54" + } + ] + }, + "documentation": null, + "id": 14319, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14304, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14303, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 14319, + "src": "783:17:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14302, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "783:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "782:19:54" + }, + "payable": false, + "returnParameters": { + "id": 14305, + "nodeType": "ParameterList", + "parameters": [], + "src": "821:0:54" + }, + "scope": 14513, + "src": "771:163:54", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14352, + "nodeType": "Block", + "src": "1084:168:54", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14334, + "name": "CONTRACT_DAO_IDENTITY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1315, + "src": "1112:21:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 14333, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "1102:9:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 14335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1102:32:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14332, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1094:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1094:41:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14337, + "nodeType": "ExpressionStatement", + "src": "1094:41:54" + }, + { + "expression": { + "argumentTypes": null, + "id": 14346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 14338, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14328, + "src": "1146:8:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 14339, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14330, + "src": "1156:9:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 14340, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "1145:21:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14342, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14321, + "src": "1191:8:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 14343, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14323, + "src": "1201:5:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14344, + "name": "_document", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14325, + "src": "1208:9:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 14341, + "name": "internal_create_group", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19282, + "src": "1169:21:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (uint256,bytes32,bytes32) returns (bool,uint256)" + } + }, + "id": 14345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1169:49:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "src": "1145:73:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14347, + "nodeType": "ExpressionStatement", + "src": "1145:73:54" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14349, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14328, + "src": "1236:8:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14348, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1228:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1228:17:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14351, + "nodeType": "ExpressionStatement", + "src": "1228:17:54" + } + ] + }, + "documentation": null, + "id": 14353, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "create_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14326, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14321, + "name": "_role_id", + "nodeType": "VariableDeclaration", + "scope": 14353, + "src": "962:16:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14320, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "962:7:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14323, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 14353, + "src": "980:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 14322, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "980:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14325, + "name": "_document", + "nodeType": "VariableDeclaration", + "scope": 14353, + "src": "995:17:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 14324, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "995:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "961:52:54" + }, + "payable": false, + "returnParameters": { + "id": 14331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14328, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 14353, + "src": "1046:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14327, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1046:4:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14330, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 14353, + "src": "1061:17:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14329, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1061:7:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1045:34:54" + }, + "scope": 14513, + "src": "940:312:54", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14379, + "nodeType": "Block", + "src": "1363:143:54", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14364, + "name": "CONTRACT_DAO_IDENTITY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1315, + "src": "1391:21:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 14363, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "1381:9:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 14365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1381:32:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14362, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1373:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1373:41:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14367, + "nodeType": "ExpressionStatement", + "src": "1373:41:54" + }, + { + "expression": { + "argumentTypes": null, + "id": 14373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14368, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14360, + "src": "1424:8:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14370, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14355, + "src": "1456:8:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 14371, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14357, + "src": "1466:5:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 14369, + "name": "internal_create_role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19192, + "src": "1435:20:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (uint256,bytes32) returns (bool)" + } + }, + "id": 14372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1435:37:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1424:48:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 14374, + "nodeType": "ExpressionStatement", + "src": "1424:48:54" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14376, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14360, + "src": "1490:8:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14375, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1482:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1482:17:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14378, + "nodeType": "ExpressionStatement", + "src": "1482:17:54" + } + ] + }, + "documentation": null, + "id": 14380, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "create_role", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14358, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14355, + "name": "_role_id", + "nodeType": "VariableDeclaration", + "scope": 14380, + "src": "1279:16:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14354, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1279:7:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14357, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 14380, + "src": "1297:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 14356, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1297:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1278:33:54" + }, + "payable": false, + "returnParameters": { + "id": 14361, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14360, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 14380, + "src": "1344:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14359, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1344:4:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1343:15:54" + }, + "scope": 14513, + "src": "1258:248:54", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14409, + "nodeType": "Block", + "src": "1650:168:54", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14393, + "name": "CONTRACT_DAO_IDENTITY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1315, + "src": "1678:21:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 14392, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "1668:9:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 14394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1668:32:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14391, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1660:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1660:41:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14396, + "nodeType": "ExpressionStatement", + "src": "1660:41:54" + }, + { + "expression": { + "argumentTypes": null, + "id": 14403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14397, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14389, + "src": "1711:8:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14399, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14382, + "src": "1756:9:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 14400, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14384, + "src": "1767:5:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 14401, + "name": "_document", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14386, + "src": "1774:9:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 14398, + "name": "internal_update_add_user_to_group", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19445, + "src": "1722:33:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (uint256,address,bytes32) returns (bool)" + } + }, + "id": 14402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1722:62:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1711:73:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 14404, + "nodeType": "ExpressionStatement", + "src": "1711:73:54" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14406, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14389, + "src": "1802:8:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14405, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1794:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1794:17:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14408, + "nodeType": "ExpressionStatement", + "src": "1794:17:54" + } + ] + }, + "documentation": null, + "id": 14410, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "update_add_user_to_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14387, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14382, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 14410, + "src": "1546:17:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14381, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1546:7:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14384, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 14410, + "src": "1565:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14383, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1565:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14386, + "name": "_document", + "nodeType": "VariableDeclaration", + "scope": 14410, + "src": "1580:17:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 14385, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1580:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1545:53:54" + }, + "payable": false, + "returnParameters": { + "id": 14390, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14389, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 14410, + "src": "1631:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14388, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1631:4:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1630:15:54" + }, + "scope": 14513, + "src": "1512:306:54", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14433, + "nodeType": "Block", + "src": "1924:140:54", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14419, + "name": "CONTRACT_DAO_IDENTITY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1315, + "src": "1952:21:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 14418, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "1942:9:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 14420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1942:32:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14417, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1934:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1934:41:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14422, + "nodeType": "ExpressionStatement", + "src": "1934:41:54" + }, + { + "expression": { + "argumentTypes": null, + "id": 14427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14423, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14415, + "src": "1985:8:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14425, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14412, + "src": "2024:5:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 14424, + "name": "internal_destroy_group_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19522, + "src": "1996:27:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) returns (bool)" + } + }, + "id": 14426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1996:34:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1985:45:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 14428, + "nodeType": "ExpressionStatement", + "src": "1985:45:54" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14430, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14415, + "src": "2048:8:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14429, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2040:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2040:17:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14432, + "nodeType": "ExpressionStatement", + "src": "2040:17:54" + } + ] + }, + "documentation": null, + "id": 14434, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "update_remove_group_user", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14413, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14412, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 14434, + "src": "1858:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14411, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1858:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1857:15:54" + }, + "payable": false, + "returnParameters": { + "id": 14416, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14415, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 14434, + "src": "1905:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14414, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1905:4:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1904:15:54" + }, + "scope": 14513, + "src": "1824:240:54", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14463, + "nodeType": "Block", + "src": "2162:148:54", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14445, + "name": "CONTRACT_DAO_IDENTITY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1315, + "src": "2190:21:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 14444, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "2180:9:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 14446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2180:32:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14443, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2172:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2172:41:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14448, + "nodeType": "ExpressionStatement", + "src": "2172:41:54" + }, + { + "expression": { + "argumentTypes": null, + "id": 14454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14449, + "name": "kycInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14301, + "src": "2223:7:54", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_KycDetails_$14297_storage_$", + "typeString": "mapping(address => struct DaoIdentityStorage.KycDetails storage ref)" + } + }, + "id": 14451, + "indexExpression": { + "argumentTypes": null, + "id": 14450, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14436, + "src": "2231:5:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2223:14:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_KycDetails_$14297_storage", + "typeString": "struct DaoIdentityStorage.KycDetails storage ref" + } + }, + "id": 14452, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "doc", + "nodeType": "MemberAccess", + "referencedDeclaration": 14294, + "src": "2223:18:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 14453, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14438, + "src": "2244:4:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2223:25:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 14455, + "nodeType": "ExpressionStatement", + "src": "2223:25:54" + }, + { + "expression": { + "argumentTypes": null, + "id": 14461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14456, + "name": "kycInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14301, + "src": "2258:7:54", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_KycDetails_$14297_storage_$", + "typeString": "mapping(address => struct DaoIdentityStorage.KycDetails storage ref)" + } + }, + "id": 14458, + "indexExpression": { + "argumentTypes": null, + "id": 14457, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14436, + "src": "2266:5:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2258:14:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_KycDetails_$14297_storage", + "typeString": "struct DaoIdentityStorage.KycDetails storage ref" + } + }, + "id": 14459, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "id_expiration", + "nodeType": "MemberAccess", + "referencedDeclaration": 14296, + "src": "2258:28:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 14460, + "name": "_id_expiration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14440, + "src": "2289:14:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2258:45:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14462, + "nodeType": "ExpressionStatement", + "src": "2258:45:54" + } + ] + }, + "documentation": null, + "id": 14464, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "update_kyc", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14441, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14436, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 14464, + "src": "2090:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14435, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2090:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14438, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 14464, + "src": "2105:12:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 14437, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2105:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14440, + "name": "_id_expiration", + "nodeType": "VariableDeclaration", + "scope": 14464, + "src": "2119:22:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14439, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2119:7:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2089:53:54" + }, + "payable": false, + "returnParameters": { + "id": 14442, + "nodeType": "ParameterList", + "parameters": [], + "src": "2162:0:54" + }, + "scope": 14513, + "src": "2070:240:54", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14487, + "nodeType": "Block", + "src": "2441:97:54", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 14478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14473, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14469, + "src": "2451:4:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14474, + "name": "kycInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14301, + "src": "2458:7:54", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_KycDetails_$14297_storage_$", + "typeString": "mapping(address => struct DaoIdentityStorage.KycDetails storage ref)" + } + }, + "id": 14476, + "indexExpression": { + "argumentTypes": null, + "id": 14475, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14466, + "src": "2466:5:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2458:14:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_KycDetails_$14297_storage", + "typeString": "struct DaoIdentityStorage.KycDetails storage ref" + } + }, + "id": 14477, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "doc", + "nodeType": "MemberAccess", + "referencedDeclaration": 14294, + "src": "2458:18:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2451:25:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 14479, + "nodeType": "ExpressionStatement", + "src": "2451:25:54" + }, + { + "expression": { + "argumentTypes": null, + "id": 14485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14480, + "name": "_id_expiration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14471, + "src": "2486:14:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14481, + "name": "kycInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14301, + "src": "2503:7:54", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_KycDetails_$14297_storage_$", + "typeString": "mapping(address => struct DaoIdentityStorage.KycDetails storage ref)" + } + }, + "id": 14483, + "indexExpression": { + "argumentTypes": null, + "id": 14482, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14466, + "src": "2511:5:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2503:14:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_KycDetails_$14297_storage", + "typeString": "struct DaoIdentityStorage.KycDetails storage ref" + } + }, + "id": 14484, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "id_expiration", + "nodeType": "MemberAccess", + "referencedDeclaration": 14296, + "src": "2503:28:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2486:45:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14486, + "nodeType": "ExpressionStatement", + "src": "2486:45:54" + } + ] + }, + "documentation": null, + "id": 14488, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_kyc_info", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14467, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14466, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 14488, + "src": "2339:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14465, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2339:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2338:15:54" + }, + "payable": false, + "returnParameters": { + "id": 14472, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14469, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 14488, + "src": "2399:12:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 14468, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2399:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14471, + "name": "_id_expiration", + "nodeType": "VariableDeclaration", + "scope": 14488, + "src": "2413:22:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14470, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2413:7:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2398:38:54" + }, + "scope": 14513, + "src": "2316:222:54", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14511, + "nodeType": "Block", + "src": "2649:131:54", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 14496, + "name": "_id_expiration", + "nodeType": "VariableDeclaration", + "scope": 14512, + "src": "2659:22:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14495, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2659:7:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 14497, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "2659:22:54" + }, + { + "expression": { + "argumentTypes": null, + "id": 14503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + { + "argumentTypes": null, + "id": 14498, + "name": "_id_expiration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14496, + "src": "2693:14:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 14499, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "2691:17:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$_t_uint256_$", + "typeString": "tuple(,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14501, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14490, + "src": "2725:5:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 14500, + "name": "read_kyc_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14488, + "src": "2711:13:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bytes32_$_t_uint256_$", + "typeString": "function (address) view returns (bytes32,uint256)" + } + }, + "id": 14502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2711:20:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_uint256_$", + "typeString": "tuple(bytes32,uint256)" + } + }, + "src": "2691:40:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14504, + "nodeType": "ExpressionStatement", + "src": "2691:40:54" + }, + { + "expression": { + "argumentTypes": null, + "id": 14509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14505, + "name": "_approved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14493, + "src": "2741:9:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 14508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 14506, + "name": "_id_expiration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14496, + "src": "2753:14:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 14507, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "2770:3:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2753:20:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2741:32:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 14510, + "nodeType": "ExpressionStatement", + "src": "2741:32:54" + } + ] + }, + "documentation": null, + "id": 14512, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "is_kyc_approved", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14490, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 14512, + "src": "2569:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14489, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2569:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2568:15:54" + }, + "payable": false, + "returnParameters": { + "id": 14494, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14493, + "name": "_approved", + "nodeType": "VariableDeclaration", + "scope": 14512, + "src": "2629:14:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14492, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2629:4:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2628:16:54" + }, + "scope": 14513, + "src": "2544:236:54", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 14514, + "src": "190:2592:54" + } + ], + "src": "0:2783:54" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoIdentityStorage.sol", + "exportedSymbols": { + "DaoIdentityStorage": [ + 14513 + ] + }, + "id": 14514, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 14283, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:54" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 14284, + "nodeType": "ImportDirective", + "scope": 14514, + "sourceUnit": 19059, + "src": "26:64:54", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/cdap/contracts/storage/DirectoryStorage.sol", + "file": "@digix/cdap/contracts/storage/DirectoryStorage.sol", + "id": 14285, + "nodeType": "ImportDirective", + "scope": 14514, + "sourceUnit": 19752, + "src": "91:60:54", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "../common/DaoConstants.sol", + "id": 14286, + "nodeType": "ImportDirective", + "scope": 14514, + "sourceUnit": 1581, + "src": "152:36:54", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 14287, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "221:14:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 14288, + "nodeType": "InheritanceSpecifier", + "src": "221:14:54" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 14289, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "237:12:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 14290, + "nodeType": "InheritanceSpecifier", + "src": "237:12:54" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 14291, + "name": "DirectoryStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19751, + "src": "251:16:54", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DirectoryStorage_$19751", + "typeString": "contract DirectoryStorage" + } + }, + "id": 14292, + "nodeType": "InheritanceSpecifier", + "src": "251:16:54" + } + ], + "contractDependencies": [ + 1580, + 19058, + 19751, + 22577, + 22987 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 14513, + "linearizedBaseContracts": [ + 14513, + 19751, + 22987, + 22577, + 1580, + 19058 + ], + "name": "DaoIdentityStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "DaoIdentityStorage.KycDetails", + "id": 14297, + "members": [ + { + "constant": false, + "id": 14294, + "name": "doc", + "nodeType": "VariableDeclaration", + "scope": 14297, + "src": "623:11:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 14293, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "623:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14296, + "name": "id_expiration", + "nodeType": "VariableDeclaration", + "scope": 14297, + "src": "644:21:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14295, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "644:7:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "KycDetails", + "nodeType": "StructDefinition", + "scope": 14513, + "src": "595:77:54", + "visibility": "public" + }, + { + "constant": false, + "id": 14301, + "name": "kycInfo", + "nodeType": "VariableDeclaration", + "scope": 14513, + "src": "725:39:54", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_KycDetails_$14297_storage_$", + "typeString": "mapping(address => struct DaoIdentityStorage.KycDetails)" + }, + "typeName": { + "id": 14300, + "keyType": { + "id": 14298, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "734:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "725:31:54", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_KycDetails_$14297_storage_$", + "typeString": "mapping(address => struct DaoIdentityStorage.KycDetails)" + }, + "valueType": { + "contractScope": null, + "id": 14299, + "name": "KycDetails", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14297, + "src": "745:10:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_KycDetails_$14297_storage_ptr", + "typeString": "struct DaoIdentityStorage.KycDetails" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 14318, + "nodeType": "Block", + "src": "821:113:54", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14308, + "name": "CONTRACT_STORAGE_DAO_IDENTITY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1357, + "src": "844:29:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14309, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14303, + "src": "875:9:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 14307, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "839:4:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 14310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "839:46:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14306, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "831:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "831:55:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14312, + "nodeType": "ExpressionStatement", + "src": "831:55:54" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 14314, + "name": "initialize_directory", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19156, + "src": "904:20:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bool_$", + "typeString": "function () returns (bool)" + } + }, + "id": 14315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "904:22:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14313, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "896:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "896:31:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14317, + "nodeType": "ExpressionStatement", + "src": "896:31:54" + } + ] + }, + "documentation": null, + "id": 14319, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14304, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14303, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 14319, + "src": "783:17:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14302, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "783:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "782:19:54" + }, + "payable": false, + "returnParameters": { + "id": 14305, + "nodeType": "ParameterList", + "parameters": [], + "src": "821:0:54" + }, + "scope": 14513, + "src": "771:163:54", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14352, + "nodeType": "Block", + "src": "1084:168:54", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14334, + "name": "CONTRACT_DAO_IDENTITY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1315, + "src": "1112:21:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 14333, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "1102:9:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 14335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1102:32:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14332, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1094:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1094:41:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14337, + "nodeType": "ExpressionStatement", + "src": "1094:41:54" + }, + { + "expression": { + "argumentTypes": null, + "id": 14346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 14338, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14328, + "src": "1146:8:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 14339, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14330, + "src": "1156:9:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 14340, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "1145:21:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14342, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14321, + "src": "1191:8:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 14343, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14323, + "src": "1201:5:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14344, + "name": "_document", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14325, + "src": "1208:9:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 14341, + "name": "internal_create_group", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19282, + "src": "1169:21:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (uint256,bytes32,bytes32) returns (bool,uint256)" + } + }, + "id": 14345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1169:49:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "src": "1145:73:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14347, + "nodeType": "ExpressionStatement", + "src": "1145:73:54" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14349, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14328, + "src": "1236:8:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14348, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1228:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1228:17:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14351, + "nodeType": "ExpressionStatement", + "src": "1228:17:54" + } + ] + }, + "documentation": null, + "id": 14353, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "create_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14326, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14321, + "name": "_role_id", + "nodeType": "VariableDeclaration", + "scope": 14353, + "src": "962:16:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14320, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "962:7:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14323, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 14353, + "src": "980:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 14322, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "980:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14325, + "name": "_document", + "nodeType": "VariableDeclaration", + "scope": 14353, + "src": "995:17:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 14324, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "995:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "961:52:54" + }, + "payable": false, + "returnParameters": { + "id": 14331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14328, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 14353, + "src": "1046:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14327, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1046:4:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14330, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 14353, + "src": "1061:17:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14329, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1061:7:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1045:34:54" + }, + "scope": 14513, + "src": "940:312:54", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14379, + "nodeType": "Block", + "src": "1363:143:54", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14364, + "name": "CONTRACT_DAO_IDENTITY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1315, + "src": "1391:21:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 14363, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "1381:9:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 14365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1381:32:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14362, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1373:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1373:41:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14367, + "nodeType": "ExpressionStatement", + "src": "1373:41:54" + }, + { + "expression": { + "argumentTypes": null, + "id": 14373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14368, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14360, + "src": "1424:8:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14370, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14355, + "src": "1456:8:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 14371, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14357, + "src": "1466:5:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 14369, + "name": "internal_create_role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19192, + "src": "1435:20:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (uint256,bytes32) returns (bool)" + } + }, + "id": 14372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1435:37:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1424:48:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 14374, + "nodeType": "ExpressionStatement", + "src": "1424:48:54" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14376, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14360, + "src": "1490:8:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14375, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1482:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1482:17:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14378, + "nodeType": "ExpressionStatement", + "src": "1482:17:54" + } + ] + }, + "documentation": null, + "id": 14380, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "create_role", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14358, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14355, + "name": "_role_id", + "nodeType": "VariableDeclaration", + "scope": 14380, + "src": "1279:16:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14354, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1279:7:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14357, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 14380, + "src": "1297:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 14356, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1297:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1278:33:54" + }, + "payable": false, + "returnParameters": { + "id": 14361, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14360, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 14380, + "src": "1344:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14359, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1344:4:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1343:15:54" + }, + "scope": 14513, + "src": "1258:248:54", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14409, + "nodeType": "Block", + "src": "1650:168:54", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14393, + "name": "CONTRACT_DAO_IDENTITY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1315, + "src": "1678:21:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 14392, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "1668:9:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 14394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1668:32:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14391, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1660:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1660:41:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14396, + "nodeType": "ExpressionStatement", + "src": "1660:41:54" + }, + { + "expression": { + "argumentTypes": null, + "id": 14403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14397, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14389, + "src": "1711:8:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14399, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14382, + "src": "1756:9:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 14400, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14384, + "src": "1767:5:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 14401, + "name": "_document", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14386, + "src": "1774:9:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 14398, + "name": "internal_update_add_user_to_group", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19445, + "src": "1722:33:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (uint256,address,bytes32) returns (bool)" + } + }, + "id": 14402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1722:62:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1711:73:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 14404, + "nodeType": "ExpressionStatement", + "src": "1711:73:54" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14406, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14389, + "src": "1802:8:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14405, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1794:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1794:17:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14408, + "nodeType": "ExpressionStatement", + "src": "1794:17:54" + } + ] + }, + "documentation": null, + "id": 14410, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "update_add_user_to_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14387, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14382, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 14410, + "src": "1546:17:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14381, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1546:7:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14384, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 14410, + "src": "1565:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14383, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1565:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14386, + "name": "_document", + "nodeType": "VariableDeclaration", + "scope": 14410, + "src": "1580:17:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 14385, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1580:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1545:53:54" + }, + "payable": false, + "returnParameters": { + "id": 14390, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14389, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 14410, + "src": "1631:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14388, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1631:4:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1630:15:54" + }, + "scope": 14513, + "src": "1512:306:54", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14433, + "nodeType": "Block", + "src": "1924:140:54", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14419, + "name": "CONTRACT_DAO_IDENTITY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1315, + "src": "1952:21:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 14418, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "1942:9:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 14420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1942:32:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14417, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1934:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1934:41:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14422, + "nodeType": "ExpressionStatement", + "src": "1934:41:54" + }, + { + "expression": { + "argumentTypes": null, + "id": 14427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14423, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14415, + "src": "1985:8:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14425, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14412, + "src": "2024:5:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 14424, + "name": "internal_destroy_group_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19522, + "src": "1996:27:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) returns (bool)" + } + }, + "id": 14426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1996:34:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1985:45:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 14428, + "nodeType": "ExpressionStatement", + "src": "1985:45:54" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14430, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14415, + "src": "2048:8:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14429, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2040:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2040:17:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14432, + "nodeType": "ExpressionStatement", + "src": "2040:17:54" + } + ] + }, + "documentation": null, + "id": 14434, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "update_remove_group_user", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14413, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14412, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 14434, + "src": "1858:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14411, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1858:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1857:15:54" + }, + "payable": false, + "returnParameters": { + "id": 14416, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14415, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 14434, + "src": "1905:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14414, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1905:4:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1904:15:54" + }, + "scope": 14513, + "src": "1824:240:54", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14463, + "nodeType": "Block", + "src": "2162:148:54", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14445, + "name": "CONTRACT_DAO_IDENTITY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1315, + "src": "2190:21:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 14444, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "2180:9:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 14446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2180:32:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14443, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2172:7:54", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2172:41:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14448, + "nodeType": "ExpressionStatement", + "src": "2172:41:54" + }, + { + "expression": { + "argumentTypes": null, + "id": 14454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14449, + "name": "kycInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14301, + "src": "2223:7:54", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_KycDetails_$14297_storage_$", + "typeString": "mapping(address => struct DaoIdentityStorage.KycDetails storage ref)" + } + }, + "id": 14451, + "indexExpression": { + "argumentTypes": null, + "id": 14450, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14436, + "src": "2231:5:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2223:14:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_KycDetails_$14297_storage", + "typeString": "struct DaoIdentityStorage.KycDetails storage ref" + } + }, + "id": 14452, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "doc", + "nodeType": "MemberAccess", + "referencedDeclaration": 14294, + "src": "2223:18:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 14453, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14438, + "src": "2244:4:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2223:25:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 14455, + "nodeType": "ExpressionStatement", + "src": "2223:25:54" + }, + { + "expression": { + "argumentTypes": null, + "id": 14461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14456, + "name": "kycInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14301, + "src": "2258:7:54", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_KycDetails_$14297_storage_$", + "typeString": "mapping(address => struct DaoIdentityStorage.KycDetails storage ref)" + } + }, + "id": 14458, + "indexExpression": { + "argumentTypes": null, + "id": 14457, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14436, + "src": "2266:5:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2258:14:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_KycDetails_$14297_storage", + "typeString": "struct DaoIdentityStorage.KycDetails storage ref" + } + }, + "id": 14459, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "id_expiration", + "nodeType": "MemberAccess", + "referencedDeclaration": 14296, + "src": "2258:28:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 14460, + "name": "_id_expiration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14440, + "src": "2289:14:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2258:45:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14462, + "nodeType": "ExpressionStatement", + "src": "2258:45:54" + } + ] + }, + "documentation": null, + "id": 14464, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "update_kyc", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14441, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14436, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 14464, + "src": "2090:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14435, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2090:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14438, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 14464, + "src": "2105:12:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 14437, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2105:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14440, + "name": "_id_expiration", + "nodeType": "VariableDeclaration", + "scope": 14464, + "src": "2119:22:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14439, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2119:7:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2089:53:54" + }, + "payable": false, + "returnParameters": { + "id": 14442, + "nodeType": "ParameterList", + "parameters": [], + "src": "2162:0:54" + }, + "scope": 14513, + "src": "2070:240:54", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14487, + "nodeType": "Block", + "src": "2441:97:54", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 14478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14473, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14469, + "src": "2451:4:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14474, + "name": "kycInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14301, + "src": "2458:7:54", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_KycDetails_$14297_storage_$", + "typeString": "mapping(address => struct DaoIdentityStorage.KycDetails storage ref)" + } + }, + "id": 14476, + "indexExpression": { + "argumentTypes": null, + "id": 14475, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14466, + "src": "2466:5:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2458:14:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_KycDetails_$14297_storage", + "typeString": "struct DaoIdentityStorage.KycDetails storage ref" + } + }, + "id": 14477, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "doc", + "nodeType": "MemberAccess", + "referencedDeclaration": 14294, + "src": "2458:18:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2451:25:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 14479, + "nodeType": "ExpressionStatement", + "src": "2451:25:54" + }, + { + "expression": { + "argumentTypes": null, + "id": 14485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14480, + "name": "_id_expiration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14471, + "src": "2486:14:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14481, + "name": "kycInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14301, + "src": "2503:7:54", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_KycDetails_$14297_storage_$", + "typeString": "mapping(address => struct DaoIdentityStorage.KycDetails storage ref)" + } + }, + "id": 14483, + "indexExpression": { + "argumentTypes": null, + "id": 14482, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14466, + "src": "2511:5:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2503:14:54", + "typeDescriptions": { + "typeIdentifier": "t_struct$_KycDetails_$14297_storage", + "typeString": "struct DaoIdentityStorage.KycDetails storage ref" + } + }, + "id": 14484, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "id_expiration", + "nodeType": "MemberAccess", + "referencedDeclaration": 14296, + "src": "2503:28:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2486:45:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14486, + "nodeType": "ExpressionStatement", + "src": "2486:45:54" + } + ] + }, + "documentation": null, + "id": 14488, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_kyc_info", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14467, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14466, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 14488, + "src": "2339:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14465, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2339:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2338:15:54" + }, + "payable": false, + "returnParameters": { + "id": 14472, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14469, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 14488, + "src": "2399:12:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 14468, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2399:7:54", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14471, + "name": "_id_expiration", + "nodeType": "VariableDeclaration", + "scope": 14488, + "src": "2413:22:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14470, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2413:7:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2398:38:54" + }, + "scope": 14513, + "src": "2316:222:54", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14511, + "nodeType": "Block", + "src": "2649:131:54", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 14496, + "name": "_id_expiration", + "nodeType": "VariableDeclaration", + "scope": 14512, + "src": "2659:22:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14495, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2659:7:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 14497, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "2659:22:54" + }, + { + "expression": { + "argumentTypes": null, + "id": 14503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + { + "argumentTypes": null, + "id": 14498, + "name": "_id_expiration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14496, + "src": "2693:14:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 14499, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "2691:17:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$_t_uint256_$", + "typeString": "tuple(,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14501, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14490, + "src": "2725:5:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 14500, + "name": "read_kyc_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14488, + "src": "2711:13:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bytes32_$_t_uint256_$", + "typeString": "function (address) view returns (bytes32,uint256)" + } + }, + "id": 14502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2711:20:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_uint256_$", + "typeString": "tuple(bytes32,uint256)" + } + }, + "src": "2691:40:54", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14504, + "nodeType": "ExpressionStatement", + "src": "2691:40:54" + }, + { + "expression": { + "argumentTypes": null, + "id": 14509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14505, + "name": "_approved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14493, + "src": "2741:9:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 14508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 14506, + "name": "_id_expiration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14496, + "src": "2753:14:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 14507, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "2770:3:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2753:20:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2741:32:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 14510, + "nodeType": "ExpressionStatement", + "src": "2741:32:54" + } + ] + }, + "documentation": null, + "id": 14512, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "is_kyc_approved", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14490, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 14512, + "src": "2569:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14489, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2569:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2568:15:54" + }, + "payable": false, + "returnParameters": { + "id": 14494, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14493, + "name": "_approved", + "nodeType": "VariableDeclaration", + "scope": 14512, + "src": "2629:14:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 14492, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2629:4:54", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2628:16:54" + }, + "scope": 14513, + "src": "2544:236:54", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 14514, + "src": "190:2592:54" + } + ], + "src": "0:2783:54" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": { + "DoublyLinkedList": "0x5dcbac109092766a169a82b9add3551bac7068f6" + }, + "address": "0x60f16e24fe63357792f3bf79db58d8f0ad850847", + "transactionHash": "0x0867c495dede387db3ecad0fb4883a38a7e9136f6073e923ef83e3e621154fdb" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T09:09:53.875Z" +} \ No newline at end of file diff --git a/build/contracts/DaoInformation.json b/build/contracts/DaoInformation.json new file mode 100644 index 0000000..5a9e337 --- /dev/null +++ b/build/contracts/DaoInformation.json @@ -0,0 +1,6581 @@ +{ + "contractName": "DaoInformation", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getAddressConfig", + "outputs": [ + { + "name": "_configValue", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentTimeInQuarter", + "outputs": [ + { + "name": "_currentT", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isMainPhase", + "outputs": [ + { + "name": "_isMainPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isLockingPhase", + "outputs": [ + { + "name": "_isLockingPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentQuarterNumber", + "outputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isParticipant", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getBytesConfig", + "outputs": [ + { + "name": "_configValue", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getUintConfig", + "outputs": [ + { + "name": "_configValue", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isDaoNotReplaced", + "outputs": [ + { + "name": "_isNotReplaced", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isModerator", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "readUserInfo", + "outputs": [ + { + "name": "_isParticipant", + "type": "bool" + }, + { + "name": "_isModerator", + "type": "bool" + }, + { + "name": "_isDigix", + "type": "bool" + }, + { + "name": "_redeemedBadge", + "type": "bool" + }, + { + "name": "_lastParticipatedQuarter", + "type": "uint256" + }, + { + "name": "_lastQuarterThatReputationWasUpdated", + "type": "uint256" + }, + { + "name": "_lockedDgdStake", + "type": "uint256" + }, + { + "name": "_lockedDgd", + "type": "uint256" + }, + { + "name": "_reputationPoints", + "type": "uint256" + }, + { + "name": "_quarterPoints", + "type": "uint256" + }, + { + "name": "_claimableDgx", + "type": "uint256" + }, + { + "name": "_quarterModeratorPoints", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "readDaoInfo", + "outputs": [ + { + "name": "_currentQuarterNumber", + "type": "uint256" + }, + { + "name": "_startOfQuarter", + "type": "uint256" + }, + { + "name": "_startOfMainPhase", + "type": "uint256" + }, + { + "name": "_startOfNextQuarter", + "type": "uint256" + }, + { + "name": "_isMainPhase", + "type": "bool" + }, + { + "name": "_isGlobalRewardsSet", + "type": "bool" + }, + { + "name": "_nModerators", + "type": "uint256" + }, + { + "name": "_nParticipants", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b50604051602080620031bc83398101806040528101908080519060200190929190505050620011756020548262001188640100000000026401000000009004565b15156200118157600080fd5b5062001419565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f057600080fd5b505af115801562001205573d6000803e3d6000fd5b505050506040513d60208110156200121c57600080fd5b810190808051906020019092919050505090506000151581151514156200140d5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013ba57600080fd5b505af1158015620013cf573d6000803e3d6000fd5b505050506040513d6020811015620013e657600080fd5b810190808051906020019092919050505015156200140357600080fd5b6001915062001412565b600091505b5092915050565b611d9380620014296000396000f3006080604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100eb5780631d8ccd04146101425780633943380c146101b35780633f83acff146101e6578063560a25ea1461025757806368533060146102825780637d6fed80146102b15780637f6a26b6146102e0578063850373351461030b578063929066f51461036f57806393ddad08146103ca578063a8dbd0cd14610417578063b1e2b9dd146104cb578063d70d935814610510578063db4ecbc11461053f578063fa6f393614610596575b600080fd5b3480156100f757600080fd5b506101006105f1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014e57600080fd5b506101716004803603810190808035600019169060200190929190505050610616565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101bf57600080fd5b506101c86106d8565b60405180826000191660001916815260200191505060405180910390f35b3480156101f257600080fd5b5061021560048036038101908080356000191690602001909291905050506106de565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561026357600080fd5b5061026c6107ba565b6040518082815260200191505060405180910390f35b34801561028e57600080fd5b506102976107ca565b604051808215151515815260200191505060405180910390f35b3480156102bd57600080fd5b506102c66107f6565b604051808215151515815260200191505060405180910390f35b3480156102ec57600080fd5b506102f5610811565b6040518082815260200191505060405180910390f35b34801561031757600080fd5b50610320610821565b6040518089815260200188815260200187815260200186815260200185151515158152602001841515151581526020018381526020018281526020019850505050505050505060405180910390f35b34801561037b57600080fd5b506103b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ab9565b604051808215151515815260200191505060405180910390f35b3480156103d657600080fd5b506103f96004803603810190808035600019169060200190929190505050610c9a565b60405180826000191660001916815260200191505060405180910390f35b34801561042357600080fd5b50610458600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d5c565b604051808d1515151581526020018c1515151581526020018b1515151581526020018a1515151581526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019c5050505050505050505050505060405180910390f35b3480156104d757600080fd5b506104fa60048036038101908080356000191690602001909291905050506115ab565b6040518082815260200191505060405180910390f35b34801561051c57600080fd5b5061052561166d565b604051808215151515815260200191505060405180910390f35b34801561054b57600080fd5b5061055461171b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105a257600080fd5b506105d7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611741565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610620611a14565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561069657600080fd5b505af11580156106aa573d6000803e3d6000fd5b505050506040513d60208110156106c057600080fd5b81019080805190602001909291905050509050919050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561077857600080fd5b505af115801561078c573d6000803e3d6000fd5b505050506040513d60208110156107a257600080fd5b81019080805190602001909291905050509050919050565b60006107c542611a26565b905090565b60006107d461166d565b80156107f157506107e66038546115ab565b6107ee6107ba565b10155b905090565b60006108036038546115ab565b61080b6107ba565b10905090565b600061081c42611b0f565b905090565b600080600080600080600080610835610811565b97506108516108426107ba565b42611c1290919063ffffffff16565b96506108706108616038546115ab565b88611c2b90919063ffffffff16565b955061088f6108806039546115ab565b88611c2b90919063ffffffff16565b94506108996107ca565b935060006108a5611c47565b73ffffffffffffffffffffffffffffffffffffffff1663a78e00d68a6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561091357600080fd5b505af1158015610927573d6000803e3d6000fd5b505050506040513d602081101561093d57600080fd5b81019080805190602001909291905050501161095a57600061095d565b60015b9250610967611c59565b73ffffffffffffffffffffffffffffffffffffffff1663e3bc96ba6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156109ca57600080fd5b505af11580156109de573d6000803e3d6000fd5b505050506040513d60208110156109f457600080fd5b81019080805190602001909291905050509150610a0f611c59565b73ffffffffffffffffffffffffffffffffffffffff1663b5830a4c6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610a7257600080fd5b505af1158015610a86573d6000803e3d6000fd5b505050506040513d6020811015610a9c57600080fd5b810190808051906020019092919050505090509091929394959697565b6000610ac3610811565b610acb611c47565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610b6557600080fd5b505af1158015610b79573d6000803e3d6000fd5b505050506040513d6020811015610b8f57600080fd5b8101908080519060200190929190505050148015610c935750610bb36035546115ab565b610bbb611c59565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610c5557600080fd5b505af1158015610c69573d6000803e3d6000fd5b505050506040513d6020811015610c7f57600080fd5b810190808051906020019092919050505010155b9050919050565b6000610ca4611a14565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610d1a57600080fd5b505af1158015610d2e573d6000803e3d6000fd5b505050506040513d6020811015610d4457600080fd5b81019080805190602001909291905050509050919050565b600080600080600080600080600080600080610d76611c47565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff8e6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610e1057600080fd5b505af1158015610e24573d6000803e3d6000fd5b505050506040513d6020811015610e3a57600080fd5b81019080805190602001909291905050509750610e55611c47565b73ffffffffffffffffffffffffffffffffffffffff1663bd695d218e6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610eef57600080fd5b505af1158015610f03573d6000803e3d6000fd5b505050506040513d6020811015610f1957600080fd5b81019080805190602001909291905050509650610f34611c59565b73ffffffffffffffffffffffffffffffffffffffff1663f01a13e18e6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610fce57600080fd5b505af1158015610fe2573d6000803e3d6000fd5b505050506040513d6020811015610ff857600080fd5b81019080805190602001909291905050509850611013611c59565b73ffffffffffffffffffffffffffffffffffffffff16635bdd27438e6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506040805180830381600087803b1580156110ac57600080fd5b505af11580156110c0573d6000803e3d6000fd5b505050506040513d60408110156110d657600080fd5b8101908080519060200190929190805190602001909291905050508097508196505050611101611c6b565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e28e6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561119b57600080fd5b505af11580156111af573d6000803e3d6000fd5b505050506040513d60208110156111c557600080fd5b810190808051906020019092919050505093506111e0611c6b565b73ffffffffffffffffffffffffffffffffffffffff166393383c518e611204610811565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561128957600080fd5b505af115801561129d573d6000803e3d6000fd5b505050506040513d60208110156112b357600080fd5b810190808051906020019092919050505092506112ce611c6b565b73ffffffffffffffffffffffffffffffffffffffff1663a5a9f5bb8e6112f2610811565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561137757600080fd5b505af115801561138b573d6000803e3d6000fd5b505050506040513d60208110156113a157600080fd5b810190808051906020019092919050505090506113bd8d610ab9565b9b506113c88d611741565b9a50603360019054906101000a900460ff1660ff166113e5611c7d565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b28f6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561147f57600080fd5b505af1158015611493573d6000803e3d6000fd5b505050506040513d60208110156114a957600080fd5b81019080805190602001909291905050501499506114c5611c47565b73ffffffffffffffffffffffffffffffffffffffff166378af89ac8e6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561155f57600080fd5b505af1158015611573573d6000803e3d6000fd5b505050506040513d602081101561158957600080fd5b8101908080519060200190929190505050915091939597999b5091939597999b565b60006115b5611a14565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561162b57600080fd5b505af115801561163f573d6000803e3d6000fd5b505050506040513d602081101561165557600080fd5b81019080805190602001909291905050509050919050565b6000611677611c8f565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156116da57600080fd5b505af11580156116ee573d6000803e3d6000fd5b505050506040513d602081101561170457600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061174b610811565b611753611c47565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156117ed57600080fd5b505af1158015611801573d6000803e3d6000fd5b505050506040513d602081101561181757600080fd5b810190808051906020019092919050505014801561191b575061183b6036546115ab565b611843611c59565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156118dd57600080fd5b505af11580156118f1573d6000803e3d6000fd5b505050506040513d602081101561190757600080fd5b810190808051906020019092919050505010155b8015611a0d575061192d6037546115ab565b611935611c6b565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156119cf57600080fd5b505af11580156119e3573d6000803e3d6000fd5b505050506040513d60208110156119f957600080fd5b810190808051906020019092919050505010155b9050919050565b6000611a21602b546106de565b905090565b6000611a30611ca1565b1515611a3b57600080fd5b611a466039546115ab565b611afe611a51611c8f565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611ab457600080fd5b505af1158015611ac8573d6000803e3d6000fd5b505050506040513d6020811015611ade57600080fd5b810190808051906020019092919050505084611c1290919063ffffffff16565b811515611b0757fe5b069050919050565b6000611b19611ca1565b1515611b2457600080fd5b611c0b6001611bfd611b376039546115ab565b611bef611b42611c8f565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611ba557600080fd5b505af1158015611bb9573d6000803e3d6000fd5b505050506040513d6020811015611bcf57600080fd5b810190808051906020019092919050505087611c1290919063ffffffff16565b611d5190919063ffffffff16565b611c2b90919063ffffffff16565b9050919050565b6000828211151515611c2057fe5b818303905092915050565b60008183019050828110151515611c3e57fe5b80905092915050565b6000611c54602d546106de565b905090565b6000611c66602c546106de565b905090565b6000611c786029546106de565b905090565b6000611c8a6028546106de565b905090565b6000611c9c6027546106de565b905090565b600080611cac611c8f565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611d0f57600080fd5b505af1158015611d23573d6000803e3d6000fd5b505050506040513d6020811015611d3957600080fd5b81019080805190602001909291905050501415905090565b60008183811515611d5e57fe5b049050929150505600a165627a7a72305820fe69df55ee27d5ce3917fe6e506be1922a569f8b5122c88749ec039cbf58fe630029", + "deployedBytecode": "0x6080604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100eb5780631d8ccd04146101425780633943380c146101b35780633f83acff146101e6578063560a25ea1461025757806368533060146102825780637d6fed80146102b15780637f6a26b6146102e0578063850373351461030b578063929066f51461036f57806393ddad08146103ca578063a8dbd0cd14610417578063b1e2b9dd146104cb578063d70d935814610510578063db4ecbc11461053f578063fa6f393614610596575b600080fd5b3480156100f757600080fd5b506101006105f1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014e57600080fd5b506101716004803603810190808035600019169060200190929190505050610616565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101bf57600080fd5b506101c86106d8565b60405180826000191660001916815260200191505060405180910390f35b3480156101f257600080fd5b5061021560048036038101908080356000191690602001909291905050506106de565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561026357600080fd5b5061026c6107ba565b6040518082815260200191505060405180910390f35b34801561028e57600080fd5b506102976107ca565b604051808215151515815260200191505060405180910390f35b3480156102bd57600080fd5b506102c66107f6565b604051808215151515815260200191505060405180910390f35b3480156102ec57600080fd5b506102f5610811565b6040518082815260200191505060405180910390f35b34801561031757600080fd5b50610320610821565b6040518089815260200188815260200187815260200186815260200185151515158152602001841515151581526020018381526020018281526020019850505050505050505060405180910390f35b34801561037b57600080fd5b506103b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ab9565b604051808215151515815260200191505060405180910390f35b3480156103d657600080fd5b506103f96004803603810190808035600019169060200190929190505050610c9a565b60405180826000191660001916815260200191505060405180910390f35b34801561042357600080fd5b50610458600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d5c565b604051808d1515151581526020018c1515151581526020018b1515151581526020018a1515151581526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019c5050505050505050505050505060405180910390f35b3480156104d757600080fd5b506104fa60048036038101908080356000191690602001909291905050506115ab565b6040518082815260200191505060405180910390f35b34801561051c57600080fd5b5061052561166d565b604051808215151515815260200191505060405180910390f35b34801561054b57600080fd5b5061055461171b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105a257600080fd5b506105d7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611741565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610620611a14565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561069657600080fd5b505af11580156106aa573d6000803e3d6000fd5b505050506040513d60208110156106c057600080fd5b81019080805190602001909291905050509050919050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561077857600080fd5b505af115801561078c573d6000803e3d6000fd5b505050506040513d60208110156107a257600080fd5b81019080805190602001909291905050509050919050565b60006107c542611a26565b905090565b60006107d461166d565b80156107f157506107e66038546115ab565b6107ee6107ba565b10155b905090565b60006108036038546115ab565b61080b6107ba565b10905090565b600061081c42611b0f565b905090565b600080600080600080600080610835610811565b97506108516108426107ba565b42611c1290919063ffffffff16565b96506108706108616038546115ab565b88611c2b90919063ffffffff16565b955061088f6108806039546115ab565b88611c2b90919063ffffffff16565b94506108996107ca565b935060006108a5611c47565b73ffffffffffffffffffffffffffffffffffffffff1663a78e00d68a6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561091357600080fd5b505af1158015610927573d6000803e3d6000fd5b505050506040513d602081101561093d57600080fd5b81019080805190602001909291905050501161095a57600061095d565b60015b9250610967611c59565b73ffffffffffffffffffffffffffffffffffffffff1663e3bc96ba6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156109ca57600080fd5b505af11580156109de573d6000803e3d6000fd5b505050506040513d60208110156109f457600080fd5b81019080805190602001909291905050509150610a0f611c59565b73ffffffffffffffffffffffffffffffffffffffff1663b5830a4c6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610a7257600080fd5b505af1158015610a86573d6000803e3d6000fd5b505050506040513d6020811015610a9c57600080fd5b810190808051906020019092919050505090509091929394959697565b6000610ac3610811565b610acb611c47565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610b6557600080fd5b505af1158015610b79573d6000803e3d6000fd5b505050506040513d6020811015610b8f57600080fd5b8101908080519060200190929190505050148015610c935750610bb36035546115ab565b610bbb611c59565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610c5557600080fd5b505af1158015610c69573d6000803e3d6000fd5b505050506040513d6020811015610c7f57600080fd5b810190808051906020019092919050505010155b9050919050565b6000610ca4611a14565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610d1a57600080fd5b505af1158015610d2e573d6000803e3d6000fd5b505050506040513d6020811015610d4457600080fd5b81019080805190602001909291905050509050919050565b600080600080600080600080600080600080610d76611c47565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff8e6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610e1057600080fd5b505af1158015610e24573d6000803e3d6000fd5b505050506040513d6020811015610e3a57600080fd5b81019080805190602001909291905050509750610e55611c47565b73ffffffffffffffffffffffffffffffffffffffff1663bd695d218e6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610eef57600080fd5b505af1158015610f03573d6000803e3d6000fd5b505050506040513d6020811015610f1957600080fd5b81019080805190602001909291905050509650610f34611c59565b73ffffffffffffffffffffffffffffffffffffffff1663f01a13e18e6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610fce57600080fd5b505af1158015610fe2573d6000803e3d6000fd5b505050506040513d6020811015610ff857600080fd5b81019080805190602001909291905050509850611013611c59565b73ffffffffffffffffffffffffffffffffffffffff16635bdd27438e6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506040805180830381600087803b1580156110ac57600080fd5b505af11580156110c0573d6000803e3d6000fd5b505050506040513d60408110156110d657600080fd5b8101908080519060200190929190805190602001909291905050508097508196505050611101611c6b565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e28e6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561119b57600080fd5b505af11580156111af573d6000803e3d6000fd5b505050506040513d60208110156111c557600080fd5b810190808051906020019092919050505093506111e0611c6b565b73ffffffffffffffffffffffffffffffffffffffff166393383c518e611204610811565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561128957600080fd5b505af115801561129d573d6000803e3d6000fd5b505050506040513d60208110156112b357600080fd5b810190808051906020019092919050505092506112ce611c6b565b73ffffffffffffffffffffffffffffffffffffffff1663a5a9f5bb8e6112f2610811565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561137757600080fd5b505af115801561138b573d6000803e3d6000fd5b505050506040513d60208110156113a157600080fd5b810190808051906020019092919050505090506113bd8d610ab9565b9b506113c88d611741565b9a50603360019054906101000a900460ff1660ff166113e5611c7d565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b28f6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561147f57600080fd5b505af1158015611493573d6000803e3d6000fd5b505050506040513d60208110156114a957600080fd5b81019080805190602001909291905050501499506114c5611c47565b73ffffffffffffffffffffffffffffffffffffffff166378af89ac8e6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561155f57600080fd5b505af1158015611573573d6000803e3d6000fd5b505050506040513d602081101561158957600080fd5b8101908080519060200190929190505050915091939597999b5091939597999b565b60006115b5611a14565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561162b57600080fd5b505af115801561163f573d6000803e3d6000fd5b505050506040513d602081101561165557600080fd5b81019080805190602001909291905050509050919050565b6000611677611c8f565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156116da57600080fd5b505af11580156116ee573d6000803e3d6000fd5b505050506040513d602081101561170457600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061174b610811565b611753611c47565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156117ed57600080fd5b505af1158015611801573d6000803e3d6000fd5b505050506040513d602081101561181757600080fd5b810190808051906020019092919050505014801561191b575061183b6036546115ab565b611843611c59565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156118dd57600080fd5b505af11580156118f1573d6000803e3d6000fd5b505050506040513d602081101561190757600080fd5b810190808051906020019092919050505010155b8015611a0d575061192d6037546115ab565b611935611c6b565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156119cf57600080fd5b505af11580156119e3573d6000803e3d6000fd5b505050506040513d60208110156119f957600080fd5b810190808051906020019092919050505010155b9050919050565b6000611a21602b546106de565b905090565b6000611a30611ca1565b1515611a3b57600080fd5b611a466039546115ab565b611afe611a51611c8f565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611ab457600080fd5b505af1158015611ac8573d6000803e3d6000fd5b505050506040513d6020811015611ade57600080fd5b810190808051906020019092919050505084611c1290919063ffffffff16565b811515611b0757fe5b069050919050565b6000611b19611ca1565b1515611b2457600080fd5b611c0b6001611bfd611b376039546115ab565b611bef611b42611c8f565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611ba557600080fd5b505af1158015611bb9573d6000803e3d6000fd5b505050506040513d6020811015611bcf57600080fd5b810190808051906020019092919050505087611c1290919063ffffffff16565b611d5190919063ffffffff16565b611c2b90919063ffffffff16565b9050919050565b6000828211151515611c2057fe5b818303905092915050565b60008183019050828110151515611c3e57fe5b80905092915050565b6000611c54602d546106de565b905090565b6000611c66602c546106de565b905090565b6000611c786029546106de565b905090565b6000611c8a6028546106de565b905090565b6000611c9c6027546106de565b905090565b600080611cac611c8f565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611d0f57600080fd5b505af1158015611d23573d6000803e3d6000fd5b505050506040513d6020811015611d3957600080fd5b81019080805190602001909291905050501415905090565b60008183811515611d5e57fe5b049050929150505600a165627a7a72305820fe69df55ee27d5ce3917fe6e506be1922a569f8b5122c88749ec039cbf58fe630029", + "sourceMap": "237:4709:11:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;281:117:11;8:9:-1;5:2;;;30:1;27;20:12;5:2;281:117:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;349:41;354:24;;380:9;349:4;;;:41;;;:::i;:::-;341:50;;;;;;;;281:117;237:4709;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;237:4709:11:-;;;;;;;", + "deployedSourceMap": "237:4709:11:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;5244:195:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5244:195:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4743:147:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4743:147:2;;;;;;;;;;;;;;;;;;;;;;;1759:239;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1759:239:2;;;;;;;;;;;;;;;;;;;;;;;;;;;1283:201;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1283:201:2;;;;;;;;;;;;;;;;;;;;;;;;;;;3064:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3064:159:2;;;;;;;;;;;;;;;;;;;;;;;3970:974:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3970:974:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5725:311:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5725:311:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5445:191:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1691:1421:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1691:1421:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7261:189:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7261:189:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;834:173:2;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;6123:431:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6123:431:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;5244:195:1:-;5335:20;5386:19;:17;:19::i;:::-;:34;;;5421:10;5386:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5386:46:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5386:46:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5386:46:1;;;;;;;;;;;;;;;;5371:61;;5244:195;;;:::o;264:18:67:-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;4743:147:2:-;4820:17;4865:18;4879:3;4865:13;:18::i;:::-;4853:30;;4743:147;:::o;1759:239::-;1827:17;1887:18;:16;:18::i;:::-;:104;;;;;1947:44;1961:29;;1947:13;:44::i;:::-;1921:22;:20;:22::i;:::-;:70;;1887:104;1860:131;;1759:239;:::o;1283:201::-;1354:20;1433:44;1447:29;;1433:13;:44::i;:::-;1408:22;:20;:22::i;:::-;:69;1390:87;;1283:201;:::o;3064:159::-;3140:22;3195:21;3212:3;3195:16;:21::i;:::-;3178:38;;3064:159;:::o;3970:974:11:-;4051:29;4094:23;4131:25;4170:27;4211:17;4242:24;4280:20;4314:22;4385;:20;:22::i;:::-;4361:46;;4435:31;4443:22;:20;:22::i;:::-;4435:3;:7;;:31;;;;:::i;:::-;4417:49;;4496:65;4516:44;4530:29;;4516:13;:44::i;:::-;4496:15;:19;;:65;;;;:::i;:::-;4476:85;;4593:59;4613:38;4627:23;;4613:13;:38::i;:::-;4593:15;:19;;:59;;;;:::i;:::-;4571:81;;4677:13;:11;:13::i;:::-;4662:28;;4790:1;4722:19;:17;:19::i;:::-;:42;;;4765:21;4722:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4722:65:11;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4722:65:11;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4722:65:11;;;;;;;;;;;;;;;;:69;:84;;4801:5;4722:84;;;4794:4;4722:84;4700:106;;4831:17;:15;:17::i;:::-;:37;;;:39;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4831:39:11;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4831:39:11;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4831:39:11;;;;;;;;;;;;;;;;4816:54;;4897:17;:15;:17::i;:::-;:38;;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4897:40:11;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4897:40:11;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4897:40:11;;;;;;;;;;;;;;;;4880:57;;3970:974;;;;;;;;:::o;5725:311:1:-;5808:8;5905:22;:20;:22::i;:::-;5851:19;:17;:19::i;:::-;:43;;;5895:5;5851:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5851:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5851:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5851:50:1;;;;;;;;;;;;;;;;:76;5850:179;;;;;5988:40;6002:25;;5988:13;:40::i;:::-;5945:17;:15;:17::i;:::-;:32;;;5978:5;5945:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5945:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5945:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5945:39:1;;;;;;;;;;;;;;;;:83;;5850:179;5832:197;;5725:311;;;:::o;5445:191::-;5534:20;5585:19;:17;:19::i;:::-;:32;;;5618:10;5585:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5585:44:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5585:44:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5585:44:1;;;;;;;;;;;;;;;;5570:59;;5445:191;;;:::o;1691:1421:11:-;1786:19;1819:17;1850:13;1877:19;1910:32;1956:44;2014:23;2051:18;2083:25;2122:22;2158:21;2193:31;2277:19;:17;:19::i;:::-;:43;;;2321:5;2277:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2277:50:11;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2277:50:11;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2277:50:11;;;;;;;;;;;;;;;;2250:77;;2377:19;:17;:19::i;:::-;:55;;;2433:5;2377:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2377:62:11;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2377:62:11;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2377:62:11;;;;;;;;;;;;;;;;2338:101;;2467:17;:15;:17::i;:::-;:31;;;2499:5;2467:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2467:38:11;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2467:38:11;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2467:38:11;;;;;;;;;;;;;;;;2450:55;;2548:17;:15;:17::i;:::-;:34;;;2583:5;2548:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2548:41:11;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2548:41:11;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2548:41:11;;;;;;;;;;;;;;;;;;;;;;;;;2516:73;;;;;;;;2620:18;:16;:18::i;:::-;:32;;;2653:5;2620:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2620:39:11;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2620:39:11;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2620:39:11;;;;;;;;;;;;;;;;2600:59;;2687:18;:16;:18::i;:::-;:34;;;2722:5;2729:22;:20;:22::i;:::-;2687:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2687:65:11;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2687:65:11;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2687:65:11;;;;;;;;;;;;;;;;2670:82;;2789:18;:16;:18::i;:::-;:43;;;2833:5;2840:22;:20;:22::i;:::-;2789:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2789:74:11;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2789:74:11;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2789:74:11;;;;;;;;;;;;;;;;2763:100;;2891:20;2905:5;2891:13;:20::i;:::-;2874:37;;2937:18;2949:5;2937:11;:18::i;:::-;2922:33;;3024:14;;;;;;;;;;;2977:61;;:18;:16;:18::i;:::-;:36;;;3014:5;2977:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2977:43:11;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2977:43:11;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2977:43:11;;;;;;;;;;;;;;;;:61;2966:72;;3065:19;:17;:19::i;:::-;:33;;;3099:5;3065:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3065:40:11;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3065:40:11;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3065:40:11;;;;;;;;;;;;;;;;3049:56;;1691:1421;;;;;;;;;;;;;:::o;7261:189:2:-;7349:20;7400:19;:17;:19::i;:::-;:31;;;7432:10;7400:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7400:43:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7400:43:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7400:43:2;;;;;;;;;;;;;;;;7385:58;;7261:189;;;:::o;834:173::-;907:19;960;:17;:19::i;:::-;:38;;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;960:40:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;960:40:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;960:40:2;;;;;;;;;;;;;;;;959:41;942:58;;834:173;:::o;344:31:67:-;;;;;;;;;;;;;:::o;6123:431:1:-;6204:8;6301:22;:20;:22::i;:::-;6247:19;:17;:19::i;:::-;:43;;;6291:5;6247:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6247:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6247:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6247:50:1;;;;;;;;;;;;;;;;:76;6246:186;;;;;6384:47;6398:32;;6384:13;:47::i;:::-;6341:17;:15;:17::i;:::-;:32;;;6374:5;6341:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6341:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6341:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6341:39:1;;;;;;;;;;;;;;;;:90;;6246:186;:301;;;;;6492:54;6506:39;;6492:13;:54::i;:::-;6449:18;:16;:18::i;:::-;:32;;;6482:5;6449:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6449:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6449:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6449:39:1;;;;;;;;;;;;;;;;:97;;6246:301;6228:319;;6123:431;;;:::o;5398:198:2:-;5474:27;5547:41;5560:27;;5547:12;:41::i;:::-;5517:72;;5398:198;:::o;3862:332::-;3947:22;3993:26;:24;:26::i;:::-;3985:35;;;;;;;;4149:38;4163:23;;4149:13;:38::i;:::-;4082:52;4092:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4092:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4092:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4092:41:2;;;;;;;;;;;;;;;;4082:5;:9;;:52;;;;:::i;:::-;:105;;;;;;;;4053:134;;3862:332;;;:::o;3369:320::-;3457:14;3495:26;:24;:26::i;:::-;3487:35;;;;;;;;3553:129;3680:1;3553:109;3623:38;3637:23;;3623:13;:38::i;:::-;3553:52;3563:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3563:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3563:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3563:41:2;;;;;;;;;;;;;;;;3553:5;:9;;:52;;;;:::i;:::-;:69;;:109;;;;:::i;:::-;:126;;:129;;;;:::i;:::-;3532:150;;3369:320;;;:::o;1060:116:84:-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;1238:128::-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o;6815:199:2:-;6891:27;6964:42;6977:28;;6964:12;:42::i;:::-;6934:73;;6815:199;:::o;5602:191::-;5676:25;5745:40;5758:26;;5745:12;:40::i;:::-;5717:69;;5602:191;:::o;6614:195::-;6689:26;6760:41;6773:27;;6760:12;:41::i;:::-;6731:71;;6614:195;:::o;899:201:7:-;974:28;1049:43;1062:29;;1049:12;:43::i;:::-;1018:75;;899:201;:::o;6204:199:2:-;6280:27;6353:42;6366:28;;6353:12;:42::i;:::-;6323:73;;6204:199;:::o;4343:172::-;4426:11;4507:1;4462:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4462:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4462:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4462:41:2;;;;;;;;;;;;;;;;:46;;4453:55;;4343:172;:::o;665:283:84:-;725:7;941:2;936;:7;;;;;;;;929:14;;665:283;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"./../common/DaoCommon.sol\";\n\n/**\n@title Contract (read-only) to read information from DAO\n@dev cannot introduce more read methods in other contracts due to deployment gas limit\n@author Digix Holdings\n*/\ncontract DaoInformation is DaoCommon {\n\n constructor(address _resolver)\n public\n {\n require(init(CONTRACT_DAO_INFORMATION, _resolver));\n }\n\n /**\n @notice Function to read user specific information\n @param _user Ethereum address of the user\n @return {\n \"_isParticipant\": \"Boolean, true if the user is a DigixDAO participant in the current quarter\",\n \"_isModerator\": \"Boolean, true if the user is a DigixDAO moderator in the current quarter\",\n \"_isDigix\": \"Boolean, true if the user is a Digix founder\",\n \"_redeemedBadge\": \"Boolean, true if the user has redeemed a DGD badge in DigixDAO\",\n \"_lastParticipatedQuarter\": \"The last quarter in which this user has/had participated in DigixDAO\",\n \"_lastParticipatedQuarter\": \"The last quarter in which this user's reputation was updated in DigixDAO, equal to (currentQuarter - 1) if its updated at the moment\",\n \"_lockedDgdStake\": \"The locked stage of this user in the current quarter\",\n \"_lockedDgd\": \"The actual locked DGDs by this user in our contracts\",\n \"_reputationPoints\": \"The cumulative reputation points accumulated by this user in DigixDAO\",\n \"_quarterPoints\": \"Quarter points of this user in the current quarter\",\n \"_claimableDgx\": \"DGX (in grams) that can be claimed by this user from DigixDAO\",\n \"_quarterModeratorPoints\": \"Quarter Moderator points of this user in the current quarter\"\n }\n */\n function readUserInfo(address _user)\n public\n view\n returns (\n bool _isParticipant,\n bool _isModerator,\n bool _isDigix,\n bool _redeemedBadge,\n uint256 _lastParticipatedQuarter,\n uint256 _lastQuarterThatReputationWasUpdated,\n uint256 _lockedDgdStake,\n uint256 _lockedDgd,\n uint256 _reputationPoints,\n uint256 _quarterPoints,\n uint256 _claimableDgx,\n uint256 _quarterModeratorPoints\n )\n {\n _lastParticipatedQuarter = daoRewardsStorage().lastParticipatedQuarter(_user);\n _lastQuarterThatReputationWasUpdated = daoRewardsStorage().lastQuarterThatReputationWasUpdated(_user);\n _redeemedBadge = daoStakeStorage().redeemedBadge(_user);\n (_lockedDgd, _lockedDgdStake) = daoStakeStorage().readUserDGDStake(_user);\n _reputationPoints = daoPointsStorage().getReputation(_user);\n _quarterPoints = daoPointsStorage().getQuarterPoint(_user, currentQuarterNumber());\n _quarterModeratorPoints = daoPointsStorage().getQuarterModeratorPoint(_user, currentQuarterNumber());\n _isParticipant = isParticipant(_user);\n _isModerator = isModerator(_user);\n _isDigix = identity_storage().read_user_role_id(_user) == ROLES_FOUNDERS;\n _claimableDgx = daoRewardsStorage().claimableDGXs(_user);\n }\n\n /**\n @notice Function to read DigixDAO specific information\n @return {\n \"_currentQuarterNumber\": \"The current quarter number of DigixDAO (starts from 1)\",\n \"_dgxDistributionDay\": \"The unix timestamp at which the quarter was initialized\",\n \"_startOfQuarter\": \"The unix timestamp when the current quarter started\",\n \"_startOfMainPhase\": \"The unix timestamp when the main phase of current quarter has/will start\",\n \"_startOfNextQuarter\": \"The unix timestamp when the next quarter begins\",\n \"_isMainPhase\": \"Boolean, true if this is the main phase, false if this is the locking phase\",\n \"_isGlobalRewardsSet\": \"Boolean, true if the global rewards have been set for the quarter\",\n \"_nModerators\": \"Number of moderators in DigixDAO\",\n \"_nParticipants\": \"Number of participants in DigixDAO\"\n }\n */\n function readDaoInfo()\n public\n view\n returns (\n uint256 _currentQuarterNumber,\n uint256 _startOfQuarter,\n uint256 _startOfMainPhase,\n uint256 _startOfNextQuarter,\n bool _isMainPhase,\n bool _isGlobalRewardsSet,\n uint256 _nModerators,\n uint256 _nParticipants\n )\n {\n _currentQuarterNumber = currentQuarterNumber();\n _startOfQuarter = now.sub(currentTimeInQuarter());\n _startOfMainPhase = _startOfQuarter.add(getUintConfig(CONFIG_LOCKING_PHASE_DURATION));\n _startOfNextQuarter = _startOfQuarter.add(getUintConfig(CONFIG_QUARTER_DURATION));\n _isMainPhase = isMainPhase();\n _isGlobalRewardsSet = daoRewardsStorage().readDgxDistributionDay(_currentQuarterNumber) > 0 ? true : false;\n _nModerators = daoStakeStorage().readTotalModerators();\n _nParticipants = daoStakeStorage().readTotalParticipant();\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoInformation.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoInformation.sol", + "exportedSymbols": { + "DaoInformation": [ + 3552 + ] + }, + "id": 3553, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3330, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:11" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommon.sol", + "file": "./../common/DaoCommon.sol", + "id": 3331, + "nodeType": "ImportDirective", + "scope": 3553, + "sourceUnit": 839, + "src": "26:35:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 3332, + "name": "DaoCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 838, + "src": "264:9:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommon_$838", + "typeString": "contract DaoCommon" + } + }, + "id": 3333, + "nodeType": "InheritanceSpecifier", + "src": "264:9:11" + } + ], + "contractDependencies": [ + 838, + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": "@title Contract (read-only) to read information from DAO\n@dev cannot introduce more read methods in other contracts due to deployment gas limit\n@author Digix Holdings", + "fullyImplemented": true, + "id": 3552, + "linearizedBaseContracts": [ + 3552, + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoInformation", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 3345, + "nodeType": "Block", + "src": "331:67:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3340, + "name": "CONTRACT_DAO_INFORMATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1333, + "src": "354:24:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3341, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3335, + "src": "380:9:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3339, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "349:4:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 3342, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "349:41:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3338, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "341:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "341:50:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3344, + "nodeType": "ExpressionStatement", + "src": "341:50:11" + } + ] + }, + "documentation": null, + "id": 3346, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3336, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3335, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 3346, + "src": "293:17:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3334, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "293:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "292:19:11" + }, + "payable": false, + "returnParameters": { + "id": 3337, + "nodeType": "ParameterList", + "parameters": [], + "src": "331:0:11" + }, + "scope": 3552, + "src": "281:117:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3467, + "nodeType": "Block", + "src": "2239:873:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3375, + "name": "_lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3359, + "src": "2250:24:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3379, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "2321:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3376, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "2277:17:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 3377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2277:19:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 3378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15001, + "src": "2277:43:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 3380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2277:50:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2250:77:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3382, + "nodeType": "ExpressionStatement", + "src": "2250:77:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3383, + "name": "_lastQuarterThatReputationWasUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3361, + "src": "2338:36:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3387, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "2433:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3384, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "2377:17:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 3385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2377:19:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 3386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastQuarterThatReputationWasUpdated", + "nodeType": "MemberAccess", + "referencedDeclaration": 15013, + "src": "2377:55:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 3388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2377:62:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2338:101:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3390, + "nodeType": "ExpressionStatement", + "src": "2338:101:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3391, + "name": "_redeemedBadge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3357, + "src": "2450:14:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3395, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "2499:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3392, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "2467:15:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 3393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2467:17:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 3394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "redeemedBadge", + "nodeType": "MemberAccess", + "referencedDeclaration": 16064, + "src": "2467:31:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 3396, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2467:38:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2450:55:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3398, + "nodeType": "ExpressionStatement", + "src": "2450:55:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 3399, + "name": "_lockedDgd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3365, + "src": "2517:10:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3400, + "name": "_lockedDgdStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3363, + "src": "2529:15:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3401, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "2516:29:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3405, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "2583:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3402, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "2548:15:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 3403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2548:17:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 3404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readUserDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16205, + "src": "2548:34:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address) view external returns (uint256,uint256)" + } + }, + "id": 3406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2548:41:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "2516:73:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3408, + "nodeType": "ExpressionStatement", + "src": "2516:73:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3409, + "name": "_reputationPoints", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3367, + "src": "2600:17:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3413, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "2653:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3410, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "2620:16:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 3411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2620:18:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 3412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14914, + "src": "2620:32:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 3414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2620:39:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2600:59:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3416, + "nodeType": "ExpressionStatement", + "src": "2600:59:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3417, + "name": "_quarterPoints", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3369, + "src": "2670:14:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3421, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "2722:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3422, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "2729:20:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 3423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2729:22:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3418, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "2687:16:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 3419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2687:18:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 3420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getQuarterPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14708, + "src": "2687:34:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view external returns (uint256)" + } + }, + "id": 3424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2687:65:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2670:82:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3426, + "nodeType": "ExpressionStatement", + "src": "2670:82:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3427, + "name": "_quarterModeratorPoints", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3373, + "src": "2763:23:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3431, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "2833:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3432, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "2840:20:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 3433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2840:22:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3428, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "2789:16:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 3429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2789:18:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 3430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getQuarterModeratorPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14727, + "src": "2789:43:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view external returns (uint256)" + } + }, + "id": 3434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2789:74:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2763:100:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3436, + "nodeType": "ExpressionStatement", + "src": "2763:100:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3437, + "name": "_isParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3351, + "src": "2874:14:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3439, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "2905:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3438, + "name": "isParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 552, + "src": "2891:13:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 3440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2891:20:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2874:37:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3442, + "nodeType": "ExpressionStatement", + "src": "2874:37:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3443, + "name": "_isModerator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3353, + "src": "2922:12:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3445, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "2949:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3444, + "name": "isModerator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 594, + "src": "2937:11:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 3446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2937:18:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2922:33:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3448, + "nodeType": "ExpressionStatement", + "src": "2922:33:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3449, + "name": "_isDigix", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3355, + "src": "2966:8:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3453, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "3014:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3450, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "2977:16:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 3451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2977:18:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 3452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "read_user_role_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19545, + "src": "2977:36:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 3454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2977:43:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3455, + "name": "ROLES_FOUNDERS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1393, + "src": "3024:14:11", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "2977:61:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2966:72:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3458, + "nodeType": "ExpressionStatement", + "src": "2966:72:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3459, + "name": "_claimableDgx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3371, + "src": "3049:13:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3463, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "3099:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3460, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "3065:17:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 3461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3065:19:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 3462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "claimableDGXs", + "nodeType": "MemberAccess", + "referencedDeclaration": 14995, + "src": "3065:33:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 3464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3065:40:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3049:56:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3466, + "nodeType": "ExpressionStatement", + "src": "3049:56:11" + } + ] + }, + "documentation": "@notice Function to read user specific information\n@param _user Ethereum address of the user\n@return {\n\"_isParticipant\": \"Boolean, true if the user is a DigixDAO participant in the current quarter\",\n\"_isModerator\": \"Boolean, true if the user is a DigixDAO moderator in the current quarter\",\n\"_isDigix\": \"Boolean, true if the user is a Digix founder\",\n\"_redeemedBadge\": \"Boolean, true if the user has redeemed a DGD badge in DigixDAO\",\n\"_lastParticipatedQuarter\": \"The last quarter in which this user has/had participated in DigixDAO\",\n\"_lastParticipatedQuarter\": \"The last quarter in which this user's reputation was updated in DigixDAO, equal to (currentQuarter - 1) if its updated at the moment\",\n\"_lockedDgdStake\": \"The locked stage of this user in the current quarter\",\n\"_lockedDgd\": \"The actual locked DGDs by this user in our contracts\",\n\"_reputationPoints\": \"The cumulative reputation points accumulated by this user in DigixDAO\",\n\"_quarterPoints\": \"Quarter points of this user in the current quarter\",\n\"_claimableDgx\": \"DGX (in grams) that can be claimed by this user from DigixDAO\",\n\"_quarterModeratorPoints\": \"Quarter Moderator points of this user in the current quarter\"\n}", + "id": 3468, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readUserInfo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3349, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3348, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "1713:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3347, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1713:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1712:15:11" + }, + "payable": false, + "returnParameters": { + "id": 3374, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3351, + "name": "_isParticipant", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "1786:19:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3350, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1786:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3353, + "name": "_isModerator", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "1819:17:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3352, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1819:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3355, + "name": "_isDigix", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "1850:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3354, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1850:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3357, + "name": "_redeemedBadge", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "1877:19:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3356, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1877:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3359, + "name": "_lastParticipatedQuarter", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "1910:32:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3358, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1910:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3361, + "name": "_lastQuarterThatReputationWasUpdated", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "1956:44:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3360, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1956:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3363, + "name": "_lockedDgdStake", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "2014:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3362, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2014:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3365, + "name": "_lockedDgd", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "2051:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3364, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2051:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3367, + "name": "_reputationPoints", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "2083:25:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3366, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2083:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3369, + "name": "_quarterPoints", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "2122:22:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3368, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2122:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3371, + "name": "_claimableDgx", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "2158:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3370, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2158:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3373, + "name": "_quarterModeratorPoints", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "2193:31:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3372, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2193:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1772:462:11" + }, + "scope": 3552, + "src": "1691:1421:11", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3550, + "nodeType": "Block", + "src": "4351:593:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3487, + "name": "_currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3471, + "src": "4361:21:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3488, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "4385:20:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 3489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4385:22:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4361:46:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3491, + "nodeType": "ExpressionStatement", + "src": "4361:46:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3492, + "name": "_startOfQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "4417:15:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3495, + "name": "currentTimeInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1057, + "src": "4443:20:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 3496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4443:22:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3493, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "4435:3:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "4435:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4435:31:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4417:49:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3499, + "nodeType": "ExpressionStatement", + "src": "4417:49:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3500, + "name": "_startOfMainPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3475, + "src": "4476:17:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3504, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "4530:29:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3503, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4516:13:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4516:44:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3501, + "name": "_startOfQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "4496:15:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "4496:19:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4496:65:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4476:85:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3508, + "nodeType": "ExpressionStatement", + "src": "4476:85:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3509, + "name": "_startOfNextQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3477, + "src": "4571:19:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3513, + "name": "CONFIG_QUARTER_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1417, + "src": "4627:23:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3512, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4613:13:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4613:38:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3510, + "name": "_startOfQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "4593:15:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "4593:19:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4593:59:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4571:81:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3517, + "nodeType": "ExpressionStatement", + "src": "4571:81:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3518, + "name": "_isMainPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3479, + "src": "4662:12:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3519, + "name": "isMainPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "4677:11:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 3520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4677:13:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4662:28:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3522, + "nodeType": "ExpressionStatement", + "src": "4662:28:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3523, + "name": "_isGlobalRewardsSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3481, + "src": "4700:19:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3527, + "name": "_currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3471, + "src": "4765:21:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3524, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "4722:17:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 3525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4722:19:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 3526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readDgxDistributionDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 15499, + "src": "4722:42:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 3528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4722:65:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3529, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4790:1:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4722:69:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 3532, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4801:5:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "id": 3533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "4722:84:11", + "trueExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4794:4:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4700:106:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3535, + "nodeType": "ExpressionStatement", + "src": "4700:106:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3536, + "name": "_nModerators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3483, + "src": "4816:12:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3537, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "4831:15:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 3538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4831:17:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 3539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readTotalModerators", + "nodeType": "MemberAccess", + "referencedDeclaration": 16389, + "src": "4831:37:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 3540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4831:39:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4816:54:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3542, + "nodeType": "ExpressionStatement", + "src": "4816:54:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3543, + "name": "_nParticipants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3485, + "src": "4880:14:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3544, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "4897:15:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 3545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4897:17:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 3546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readTotalParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16455, + "src": "4897:38:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 3547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4897:40:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4880:57:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3549, + "nodeType": "ExpressionStatement", + "src": "4880:57:11" + } + ] + }, + "documentation": "@notice Function to read DigixDAO specific information\n@return {\n\"_currentQuarterNumber\": \"The current quarter number of DigixDAO (starts from 1)\",\n\"_dgxDistributionDay\": \"The unix timestamp at which the quarter was initialized\",\n\"_startOfQuarter\": \"The unix timestamp when the current quarter started\",\n\"_startOfMainPhase\": \"The unix timestamp when the main phase of current quarter has/will start\",\n\"_startOfNextQuarter\": \"The unix timestamp when the next quarter begins\",\n\"_isMainPhase\": \"Boolean, true if this is the main phase, false if this is the locking phase\",\n\"_isGlobalRewardsSet\": \"Boolean, true if the global rewards have been set for the quarter\",\n\"_nModerators\": \"Number of moderators in DigixDAO\",\n\"_nParticipants\": \"Number of participants in DigixDAO\"\n}", + "id": 3551, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readDaoInfo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3469, + "nodeType": "ParameterList", + "parameters": [], + "src": "3990:2:11" + }, + "payable": false, + "returnParameters": { + "id": 3486, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3471, + "name": "_currentQuarterNumber", + "nodeType": "VariableDeclaration", + "scope": 3551, + "src": "4051:29:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3470, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4051:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3473, + "name": "_startOfQuarter", + "nodeType": "VariableDeclaration", + "scope": 3551, + "src": "4094:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3472, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4094:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3475, + "name": "_startOfMainPhase", + "nodeType": "VariableDeclaration", + "scope": 3551, + "src": "4131:25:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3474, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4131:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3477, + "name": "_startOfNextQuarter", + "nodeType": "VariableDeclaration", + "scope": 3551, + "src": "4170:27:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3476, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4170:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3479, + "name": "_isMainPhase", + "nodeType": "VariableDeclaration", + "scope": 3551, + "src": "4211:17:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3478, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4211:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3481, + "name": "_isGlobalRewardsSet", + "nodeType": "VariableDeclaration", + "scope": 3551, + "src": "4242:24:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3480, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4242:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3483, + "name": "_nModerators", + "nodeType": "VariableDeclaration", + "scope": 3551, + "src": "4280:20:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3482, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4280:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3485, + "name": "_nParticipants", + "nodeType": "VariableDeclaration", + "scope": 3551, + "src": "4314:22:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3484, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4314:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4037:309:11" + }, + "scope": 3552, + "src": "3970:974:11", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3553, + "src": "237:4709:11" + } + ], + "src": "0:4947:11" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoInformation.sol", + "exportedSymbols": { + "DaoInformation": [ + 3552 + ] + }, + "id": 3553, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3330, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:11" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommon.sol", + "file": "./../common/DaoCommon.sol", + "id": 3331, + "nodeType": "ImportDirective", + "scope": 3553, + "sourceUnit": 839, + "src": "26:35:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 3332, + "name": "DaoCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 838, + "src": "264:9:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommon_$838", + "typeString": "contract DaoCommon" + } + }, + "id": 3333, + "nodeType": "InheritanceSpecifier", + "src": "264:9:11" + } + ], + "contractDependencies": [ + 838, + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": "@title Contract (read-only) to read information from DAO\n@dev cannot introduce more read methods in other contracts due to deployment gas limit\n@author Digix Holdings", + "fullyImplemented": true, + "id": 3552, + "linearizedBaseContracts": [ + 3552, + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoInformation", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 3345, + "nodeType": "Block", + "src": "331:67:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3340, + "name": "CONTRACT_DAO_INFORMATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1333, + "src": "354:24:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3341, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3335, + "src": "380:9:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3339, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "349:4:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 3342, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "349:41:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3338, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "341:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "341:50:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3344, + "nodeType": "ExpressionStatement", + "src": "341:50:11" + } + ] + }, + "documentation": null, + "id": 3346, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3336, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3335, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 3346, + "src": "293:17:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3334, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "293:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "292:19:11" + }, + "payable": false, + "returnParameters": { + "id": 3337, + "nodeType": "ParameterList", + "parameters": [], + "src": "331:0:11" + }, + "scope": 3552, + "src": "281:117:11", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3467, + "nodeType": "Block", + "src": "2239:873:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3375, + "name": "_lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3359, + "src": "2250:24:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3379, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "2321:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3376, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "2277:17:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 3377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2277:19:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 3378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15001, + "src": "2277:43:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 3380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2277:50:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2250:77:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3382, + "nodeType": "ExpressionStatement", + "src": "2250:77:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3383, + "name": "_lastQuarterThatReputationWasUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3361, + "src": "2338:36:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3387, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "2433:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3384, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "2377:17:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 3385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2377:19:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 3386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastQuarterThatReputationWasUpdated", + "nodeType": "MemberAccess", + "referencedDeclaration": 15013, + "src": "2377:55:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 3388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2377:62:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2338:101:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3390, + "nodeType": "ExpressionStatement", + "src": "2338:101:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3391, + "name": "_redeemedBadge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3357, + "src": "2450:14:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3395, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "2499:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3392, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "2467:15:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 3393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2467:17:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 3394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "redeemedBadge", + "nodeType": "MemberAccess", + "referencedDeclaration": 16064, + "src": "2467:31:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 3396, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2467:38:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2450:55:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3398, + "nodeType": "ExpressionStatement", + "src": "2450:55:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 3399, + "name": "_lockedDgd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3365, + "src": "2517:10:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3400, + "name": "_lockedDgdStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3363, + "src": "2529:15:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3401, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "2516:29:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3405, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "2583:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3402, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "2548:15:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 3403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2548:17:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 3404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readUserDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16205, + "src": "2548:34:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address) view external returns (uint256,uint256)" + } + }, + "id": 3406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2548:41:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "2516:73:11", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3408, + "nodeType": "ExpressionStatement", + "src": "2516:73:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3409, + "name": "_reputationPoints", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3367, + "src": "2600:17:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3413, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "2653:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3410, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "2620:16:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 3411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2620:18:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 3412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14914, + "src": "2620:32:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 3414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2620:39:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2600:59:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3416, + "nodeType": "ExpressionStatement", + "src": "2600:59:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3417, + "name": "_quarterPoints", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3369, + "src": "2670:14:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3421, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "2722:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3422, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "2729:20:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 3423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2729:22:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3418, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "2687:16:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 3419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2687:18:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 3420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getQuarterPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14708, + "src": "2687:34:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view external returns (uint256)" + } + }, + "id": 3424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2687:65:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2670:82:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3426, + "nodeType": "ExpressionStatement", + "src": "2670:82:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3427, + "name": "_quarterModeratorPoints", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3373, + "src": "2763:23:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3431, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "2833:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3432, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "2840:20:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 3433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2840:22:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3428, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "2789:16:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 3429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2789:18:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 3430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getQuarterModeratorPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14727, + "src": "2789:43:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view external returns (uint256)" + } + }, + "id": 3434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2789:74:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2763:100:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3436, + "nodeType": "ExpressionStatement", + "src": "2763:100:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3437, + "name": "_isParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3351, + "src": "2874:14:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3439, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "2905:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3438, + "name": "isParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 552, + "src": "2891:13:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 3440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2891:20:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2874:37:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3442, + "nodeType": "ExpressionStatement", + "src": "2874:37:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3443, + "name": "_isModerator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3353, + "src": "2922:12:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3445, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "2949:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3444, + "name": "isModerator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 594, + "src": "2937:11:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 3446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2937:18:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2922:33:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3448, + "nodeType": "ExpressionStatement", + "src": "2922:33:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3449, + "name": "_isDigix", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3355, + "src": "2966:8:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3453, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "3014:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3450, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "2977:16:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 3451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2977:18:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 3452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "read_user_role_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19545, + "src": "2977:36:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 3454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2977:43:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3455, + "name": "ROLES_FOUNDERS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1393, + "src": "3024:14:11", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "2977:61:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2966:72:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3458, + "nodeType": "ExpressionStatement", + "src": "2966:72:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3459, + "name": "_claimableDgx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3371, + "src": "3049:13:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3463, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3348, + "src": "3099:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3460, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "3065:17:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 3461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3065:19:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 3462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "claimableDGXs", + "nodeType": "MemberAccess", + "referencedDeclaration": 14995, + "src": "3065:33:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 3464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3065:40:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3049:56:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3466, + "nodeType": "ExpressionStatement", + "src": "3049:56:11" + } + ] + }, + "documentation": "@notice Function to read user specific information\n@param _user Ethereum address of the user\n@return {\n\"_isParticipant\": \"Boolean, true if the user is a DigixDAO participant in the current quarter\",\n\"_isModerator\": \"Boolean, true if the user is a DigixDAO moderator in the current quarter\",\n\"_isDigix\": \"Boolean, true if the user is a Digix founder\",\n\"_redeemedBadge\": \"Boolean, true if the user has redeemed a DGD badge in DigixDAO\",\n\"_lastParticipatedQuarter\": \"The last quarter in which this user has/had participated in DigixDAO\",\n\"_lastParticipatedQuarter\": \"The last quarter in which this user's reputation was updated in DigixDAO, equal to (currentQuarter - 1) if its updated at the moment\",\n\"_lockedDgdStake\": \"The locked stage of this user in the current quarter\",\n\"_lockedDgd\": \"The actual locked DGDs by this user in our contracts\",\n\"_reputationPoints\": \"The cumulative reputation points accumulated by this user in DigixDAO\",\n\"_quarterPoints\": \"Quarter points of this user in the current quarter\",\n\"_claimableDgx\": \"DGX (in grams) that can be claimed by this user from DigixDAO\",\n\"_quarterModeratorPoints\": \"Quarter Moderator points of this user in the current quarter\"\n}", + "id": 3468, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readUserInfo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3349, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3348, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "1713:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3347, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1713:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1712:15:11" + }, + "payable": false, + "returnParameters": { + "id": 3374, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3351, + "name": "_isParticipant", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "1786:19:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3350, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1786:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3353, + "name": "_isModerator", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "1819:17:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3352, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1819:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3355, + "name": "_isDigix", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "1850:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3354, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1850:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3357, + "name": "_redeemedBadge", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "1877:19:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3356, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1877:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3359, + "name": "_lastParticipatedQuarter", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "1910:32:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3358, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1910:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3361, + "name": "_lastQuarterThatReputationWasUpdated", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "1956:44:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3360, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1956:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3363, + "name": "_lockedDgdStake", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "2014:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3362, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2014:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3365, + "name": "_lockedDgd", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "2051:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3364, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2051:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3367, + "name": "_reputationPoints", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "2083:25:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3366, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2083:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3369, + "name": "_quarterPoints", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "2122:22:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3368, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2122:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3371, + "name": "_claimableDgx", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "2158:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3370, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2158:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3373, + "name": "_quarterModeratorPoints", + "nodeType": "VariableDeclaration", + "scope": 3468, + "src": "2193:31:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3372, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2193:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1772:462:11" + }, + "scope": 3552, + "src": "1691:1421:11", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3550, + "nodeType": "Block", + "src": "4351:593:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3487, + "name": "_currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3471, + "src": "4361:21:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3488, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "4385:20:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 3489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4385:22:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4361:46:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3491, + "nodeType": "ExpressionStatement", + "src": "4361:46:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3492, + "name": "_startOfQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "4417:15:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3495, + "name": "currentTimeInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1057, + "src": "4443:20:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 3496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4443:22:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3493, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "4435:3:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "4435:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4435:31:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4417:49:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3499, + "nodeType": "ExpressionStatement", + "src": "4417:49:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3500, + "name": "_startOfMainPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3475, + "src": "4476:17:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3504, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "4530:29:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3503, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4516:13:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4516:44:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3501, + "name": "_startOfQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "4496:15:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "4496:19:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4496:65:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4476:85:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3508, + "nodeType": "ExpressionStatement", + "src": "4476:85:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3509, + "name": "_startOfNextQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3477, + "src": "4571:19:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3513, + "name": "CONFIG_QUARTER_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1417, + "src": "4627:23:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3512, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4613:13:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4613:38:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3510, + "name": "_startOfQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3473, + "src": "4593:15:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "4593:19:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4593:59:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4571:81:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3517, + "nodeType": "ExpressionStatement", + "src": "4571:81:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3518, + "name": "_isMainPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3479, + "src": "4662:12:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3519, + "name": "isMainPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "4677:11:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 3520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4677:13:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4662:28:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3522, + "nodeType": "ExpressionStatement", + "src": "4662:28:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3523, + "name": "_isGlobalRewardsSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3481, + "src": "4700:19:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3527, + "name": "_currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3471, + "src": "4765:21:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3524, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "4722:17:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 3525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4722:19:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 3526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readDgxDistributionDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 15499, + "src": "4722:42:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 3528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4722:65:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3529, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4790:1:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4722:69:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 3532, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4801:5:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "id": 3533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "4722:84:11", + "trueExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 3531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4794:4:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4700:106:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3535, + "nodeType": "ExpressionStatement", + "src": "4700:106:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3536, + "name": "_nModerators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3483, + "src": "4816:12:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3537, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "4831:15:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 3538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4831:17:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 3539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readTotalModerators", + "nodeType": "MemberAccess", + "referencedDeclaration": 16389, + "src": "4831:37:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 3540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4831:39:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4816:54:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3542, + "nodeType": "ExpressionStatement", + "src": "4816:54:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 3548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3543, + "name": "_nParticipants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3485, + "src": "4880:14:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3544, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "4897:15:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 3545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4897:17:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 3546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readTotalParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16455, + "src": "4897:38:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 3547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4897:40:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4880:57:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3549, + "nodeType": "ExpressionStatement", + "src": "4880:57:11" + } + ] + }, + "documentation": "@notice Function to read DigixDAO specific information\n@return {\n\"_currentQuarterNumber\": \"The current quarter number of DigixDAO (starts from 1)\",\n\"_dgxDistributionDay\": \"The unix timestamp at which the quarter was initialized\",\n\"_startOfQuarter\": \"The unix timestamp when the current quarter started\",\n\"_startOfMainPhase\": \"The unix timestamp when the main phase of current quarter has/will start\",\n\"_startOfNextQuarter\": \"The unix timestamp when the next quarter begins\",\n\"_isMainPhase\": \"Boolean, true if this is the main phase, false if this is the locking phase\",\n\"_isGlobalRewardsSet\": \"Boolean, true if the global rewards have been set for the quarter\",\n\"_nModerators\": \"Number of moderators in DigixDAO\",\n\"_nParticipants\": \"Number of participants in DigixDAO\"\n}", + "id": 3551, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readDaoInfo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3469, + "nodeType": "ParameterList", + "parameters": [], + "src": "3990:2:11" + }, + "payable": false, + "returnParameters": { + "id": 3486, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3471, + "name": "_currentQuarterNumber", + "nodeType": "VariableDeclaration", + "scope": 3551, + "src": "4051:29:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3470, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4051:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3473, + "name": "_startOfQuarter", + "nodeType": "VariableDeclaration", + "scope": 3551, + "src": "4094:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3472, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4094:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3475, + "name": "_startOfMainPhase", + "nodeType": "VariableDeclaration", + "scope": 3551, + "src": "4131:25:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3474, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4131:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3477, + "name": "_startOfNextQuarter", + "nodeType": "VariableDeclaration", + "scope": 3551, + "src": "4170:27:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3476, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4170:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3479, + "name": "_isMainPhase", + "nodeType": "VariableDeclaration", + "scope": 3551, + "src": "4211:17:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3478, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4211:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3481, + "name": "_isGlobalRewardsSet", + "nodeType": "VariableDeclaration", + "scope": 3551, + "src": "4242:24:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3480, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4242:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3483, + "name": "_nModerators", + "nodeType": "VariableDeclaration", + "scope": 3551, + "src": "4280:20:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3482, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4280:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3485, + "name": "_nParticipants", + "nodeType": "VariableDeclaration", + "scope": 3551, + "src": "4314:22:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3484, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4314:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4037:309:11" + }, + "scope": 3552, + "src": "3970:974:11", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 3553, + "src": "237:4709:11" + } + ], + "src": "0:4947:11" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0x6475628afcf5e6f14f41145a2c23659c7d427948", + "transactionHash": "0x4025dcb6510beafa2bf3b35369266f54156310ec53218d4d8444f28cc2c33759" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T10:33:53.823Z" +} \ No newline at end of file diff --git a/build/contracts/DaoIntermediateStructs.json b/build/contracts/DaoIntermediateStructs.json new file mode 100644 index 0000000..ae84057 --- /dev/null +++ b/build/contracts/DaoIntermediateStructs.json @@ -0,0 +1,371 @@ +{ + "contractName": "DaoIntermediateStructs", + "abi": [], + "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820d6aa5da47b21cbd6e70b9dd5aa7beaabad858ad8a2e4bd7c553eccd212fb7f760029", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820d6aa5da47b21cbd6e70b9dd5aa7beaabad858ad8a2e4bd7c553eccd212fb7f760029", + "sourceMap": "26:633:22:-;;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:633:22:-;;;;;;;;", + "source": "pragma solidity ^0.4.25;\n\nlibrary DaoIntermediateStructs {\n\n // Struct used in large functions to cut down on variables\n // store the summation of weights \"FOR\" proposal\n // store the summation of weights \"AGAINST\" proposal\n struct VotingCount {\n // weight of votes \"FOR\" the voting round\n uint256 forCount;\n // weight of votes \"AGAINST\" the voting round\n uint256 againstCount;\n }\n\n // Struct used in large functions to cut down on variables\n struct Users {\n // Length of the above list\n uint256 usersLength;\n // List of addresses, participants of DigixDAO\n address[] users;\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoIntermediateStructs.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoIntermediateStructs.sol", + "exportedSymbols": { + "DaoIntermediateStructs": [ + 7923 + ] + }, + "id": 7924, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 7911, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:22" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 7923, + "linearizedBaseContracts": [ + 7923 + ], + "name": "DaoIntermediateStructs", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "DaoIntermediateStructs.VotingCount", + "id": 7916, + "members": [ + { + "constant": false, + "id": 7913, + "name": "forCount", + "nodeType": "VariableDeclaration", + "scope": 7916, + "src": "316:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7912, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "316:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7915, + "name": "againstCount", + "nodeType": "VariableDeclaration", + "scope": 7916, + "src": "396:20:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7914, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "396:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "VotingCount", + "nodeType": "StructDefinition", + "scope": 7923, + "src": "237:186:22", + "visibility": "public" + }, + { + "canonicalName": "DaoIntermediateStructs.Users", + "id": 7922, + "members": [ + { + "constant": false, + "id": 7918, + "name": "usersLength", + "nodeType": "VariableDeclaration", + "scope": 7922, + "src": "551:19:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7917, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "551:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7921, + "name": "users", + "nodeType": "VariableDeclaration", + "scope": 7922, + "src": "635:15:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 7919, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "635:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 7920, + "length": null, + "nodeType": "ArrayTypeName", + "src": "635:9:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Users", + "nodeType": "StructDefinition", + "scope": 7923, + "src": "492:165:22", + "visibility": "public" + } + ], + "scope": 7924, + "src": "26:633:22" + } + ], + "src": "0:660:22" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoIntermediateStructs.sol", + "exportedSymbols": { + "DaoIntermediateStructs": [ + 7923 + ] + }, + "id": 7924, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 7911, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:22" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 7923, + "linearizedBaseContracts": [ + 7923 + ], + "name": "DaoIntermediateStructs", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "DaoIntermediateStructs.VotingCount", + "id": 7916, + "members": [ + { + "constant": false, + "id": 7913, + "name": "forCount", + "nodeType": "VariableDeclaration", + "scope": 7916, + "src": "316:16:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7912, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "316:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7915, + "name": "againstCount", + "nodeType": "VariableDeclaration", + "scope": 7916, + "src": "396:20:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7914, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "396:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "VotingCount", + "nodeType": "StructDefinition", + "scope": 7923, + "src": "237:186:22", + "visibility": "public" + }, + { + "canonicalName": "DaoIntermediateStructs.Users", + "id": 7922, + "members": [ + { + "constant": false, + "id": 7918, + "name": "usersLength", + "nodeType": "VariableDeclaration", + "scope": 7922, + "src": "551:19:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7917, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "551:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7921, + "name": "users", + "nodeType": "VariableDeclaration", + "scope": 7922, + "src": "635:15:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 7919, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "635:7:22", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 7920, + "length": null, + "nodeType": "ArrayTypeName", + "src": "635:9:22", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Users", + "nodeType": "StructDefinition", + "scope": 7923, + "src": "492:165:22", + "visibility": "public" + } + ], + "scope": 7924, + "src": "26:633:22" + } + ], + "src": "0:660:22" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.857Z" +} \ No newline at end of file diff --git a/build/contracts/DaoListingService.json b/build/contracts/DaoListingService.json new file mode 100644 index 0000000..9f880a2 --- /dev/null +++ b/build/contracts/DaoListingService.json @@ -0,0 +1,11371 @@ +{ + "contractName": "DaoListingService", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": true, + "inputs": [ + { + "name": "_count", + "type": "uint256" + }, + { + "name": "_from_start", + "type": "bool" + } + ], + "name": "listModerators", + "outputs": [ + { + "name": "_moderators", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_currentModerator", + "type": "address" + }, + { + "name": "_count", + "type": "uint256" + }, + { + "name": "_from_start", + "type": "bool" + } + ], + "name": "listModeratorsFrom", + "outputs": [ + { + "name": "_moderators", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_count", + "type": "uint256" + }, + { + "name": "_from_start", + "type": "bool" + } + ], + "name": "listParticipants", + "outputs": [ + { + "name": "_participants", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_currentParticipant", + "type": "address" + }, + { + "name": "_count", + "type": "uint256" + }, + { + "name": "_from_start", + "type": "bool" + } + ], + "name": "listParticipantsFrom", + "outputs": [ + { + "name": "_participants", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_count", + "type": "uint256" + }, + { + "name": "_from_start", + "type": "bool" + } + ], + "name": "listProposals", + "outputs": [ + { + "name": "_proposals", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_currentProposal", + "type": "bytes32" + }, + { + "name": "_count", + "type": "uint256" + }, + { + "name": "_from_start", + "type": "bool" + } + ], + "name": "listProposalsFrom", + "outputs": [ + { + "name": "_proposals", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_stateId", + "type": "bytes32" + }, + { + "name": "_count", + "type": "uint256" + }, + { + "name": "_from_start", + "type": "bool" + } + ], + "name": "listProposalsInState", + "outputs": [ + { + "name": "_proposals", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_stateId", + "type": "bytes32" + }, + { + "name": "_currentProposal", + "type": "bytes32" + }, + { + "name": "_count", + "type": "uint256" + }, + { + "name": "_from_start", + "type": "bool" + } + ], + "name": "listProposalsInStateFrom", + "outputs": [ + { + "name": "_proposals", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_count", + "type": "uint256" + }, + { + "name": "_from_start", + "type": "bool" + } + ], + "name": "listProposalVersions", + "outputs": [ + { + "name": "_versions", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_currentVersion", + "type": "bytes32" + }, + { + "name": "_count", + "type": "uint256" + }, + { + "name": "_from_start", + "type": "bool" + } + ], + "name": "listProposalVersionsFrom", + "outputs": [ + { + "name": "_versions", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b506040516020806200347f83398101806040528101908080519060200190929190505050620011756023548262001188640100000000026401000000009004565b15156200118157600080fd5b5062001419565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f057600080fd5b505af115801562001205573d6000803e3d6000fd5b505050506040513d60208110156200121c57600080fd5b810190808051906020019092919050505090506000151581151514156200140d5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013ba57600080fd5b505af1158015620013cf573d6000803e3d6000fd5b505050506040513d6020811015620013e657600080fd5b810190808051906020019092919050505015156200140357600080fd5b6001915062001412565b600091505b5092915050565b61205680620014296000396000f3006080604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100d5578063199a681b1461012c5780633943380c146101c85780633f83acff146101fb57806340c7174e1461026c5780634434afda1461031a5780634ddaee82146103a8578063541a073b1461045257806385f0e4bf146104fc57806396fe8e651461058a5780639cab7a7f14610638578063b9a50c79146106d4578063db4ecbc114610770578063f4f9fadc146107c7575b600080fd5b3480156100e157600080fd5b506100ea610855565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013857600080fd5b5061017160048036038101908080356000191690602001909291908035906020019092919080351515906020019092919050505061087a565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156101b4578082015181840152602081019050610199565b505050509050019250505060405180910390f35b3480156101d457600080fd5b506101dd61091c565b60405180826000191660001916815260200191505060405180910390f35b34801561020757600080fd5b5061022a6004803603810190808035600019169060200190929190505050610922565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561027857600080fd5b506102c3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035151590602001909291905050506109fe565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156103065780820151818401526020810190506102eb565b505050509050019250505060405180910390f35b34801561032657600080fd5b5061035160048036038101908080359060200190929190803515159060200190929190505050610aa0565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610394578082015181840152602081019050610379565b505050509050019250505060405180910390f35b3480156103b457600080fd5b506103fb6004803603810190808035600019169060200190929190803560001916906020019092919080359060200190929190803515159060200190929190505050610b40565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561043e578082015181840152602081019050610423565b505050509050019250505060405180910390f35b34801561045e57600080fd5b506104a56004803603810190808035600019169060200190929190803560001916906020019092919080359060200190929190803515159060200190929190505050610bf7565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156104e85780820151818401526020810190506104cd565b505050509050019250505060405180910390f35b34801561050857600080fd5b5061053360048036038101908080359060200190929190803515159060200190929190505050610c9b565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561057657808201518184015260208101905061055b565b505050509050019250505060405180910390f35b34801561059657600080fd5b506105e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803515159060200190929190505050610d3b565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610624578082015181840152602081019050610609565b505050509050019250505060405180910390f35b34801561064457600080fd5b5061067d600480360381019080803560001916906020019092919080359060200190929190803515159060200190929190505050610ddd565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156106c05780820151818401526020810190506106a5565b505050509050019250505060405180910390f35b3480156106e057600080fd5b50610719600480360381019080803560001916906020019092919080359060200190929190803515159060200190929190505050610e7f565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561075c578082015181840152602081019050610741565b505050509050019250505060405180910390f35b34801561077c57600080fd5b50610785610f34565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107d357600080fd5b506107fe60048036038101908080359060200190929190803515159060200190929190505050610f5a565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610841578082015181840152602081019050610826565b505050509050019250505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606109138484610889610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663cfd591726108ac610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663f0ab3dd96108cf610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663237286e96108f2610ffa565b73ffffffffffffffffffffffffffffffffffffffff166370a6f5918c61100c565b90509392505050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156109bc57600080fd5b505af11580156109d0573d6000803e3d6000fd5b505050506040513d60208110156109e657600080fd5b81019080805190602001909291905050509050919050565b6060610a978484610a0d61104d565b73ffffffffffffffffffffffffffffffffffffffff1663583fd501610a3061104d565b73ffffffffffffffffffffffffffffffffffffffff1663bbb03dc2610a5361104d565b73ffffffffffffffffffffffffffffffffffffffff166344e518a3610a7661104d565b73ffffffffffffffffffffffffffffffffffffffff166363a640678c61105f565b90509392505050565b6060610b3883610aae610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663cfd59172610ad1610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663f0ab3dd9610af4610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663237286e9610b17610ffa565b73ffffffffffffffffffffffffffffffffffffffff166370a6f5918b6110a0565b905092915050565b6060610b4a6111e8565b1515610b5557600080fd5b610bed858585610b63610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663e7853aac610b86610ffa565b73ffffffffffffffffffffffffffffffffffffffff16631d47c3d3610ba9610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663a692e0ef610bcc610ffa565b73ffffffffffffffffffffffffffffffffffffffff16631478fff18d611302565b9050949350505050565b6060610c91858585610c07610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663e4156675610c2a610ffa565b73ffffffffffffffffffffffffffffffffffffffff16630c012e59610c4d610ffa565b73ffffffffffffffffffffffffffffffffffffffff166347d621a3610c70610ffa565b73ffffffffffffffffffffffffffffffffffffffff166356674c9f8d611302565b9050949350505050565b6060610d3383610ca961104d565b73ffffffffffffffffffffffffffffffffffffffff1663583fd501610ccc61104d565b73ffffffffffffffffffffffffffffffffffffffff1663bbb03dc2610cef61104d565b73ffffffffffffffffffffffffffffffffffffffff166344e518a3610d1261104d565b73ffffffffffffffffffffffffffffffffffffffff166363a640678b611346565b905092915050565b6060610dd48484610d4a61104d565b73ffffffffffffffffffffffffffffffffffffffff1663e3bd970e610d6d61104d565b73ffffffffffffffffffffffffffffffffffffffff166382624a2e610d9061104d565b73ffffffffffffffffffffffffffffffffffffffff16633e0fd265610db361104d565b73ffffffffffffffffffffffffffffffffffffffff16637bbad0b88c61105f565b90509392505050565b6060610e768484610dec610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663e4156675610e0f610ffa565b73ffffffffffffffffffffffffffffffffffffffff16630c012e59610e32610ffa565b73ffffffffffffffffffffffffffffffffffffffff166347d621a3610e55610ffa565b73ffffffffffffffffffffffffffffffffffffffff166356674c9f8c61148e565b90509392505050565b6060610e896111e8565b1515610e9457600080fd5b610f2b8484610ea1610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663e7853aac610ec4610ffa565b73ffffffffffffffffffffffffffffffffffffffff16631d47c3d3610ee7610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663a692e0ef610f0a610ffa565b73ffffffffffffffffffffffffffffffffffffffff16631478fff18c61148e565b90509392505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060610ff283610f6861104d565b73ffffffffffffffffffffffffffffffffffffffff1663e3bd970e610f8b61104d565b73ffffffffffffffffffffffffffffffffffffffff166382624a2e610fae61104d565b73ffffffffffffffffffffffffffffffffffffffff16633e0fd265610fd161104d565b73ffffffffffffffffffffffffffffffffffffffff16637bbad0b88b611346565b905092915050565b6000611007602554610922565b905090565b6060811561102b576110248c8c60008b8b8b8b6115ff565b905061103e565b61103b8c8c60008d8d89896115ff565b90505b9b9a5050505050505050505050565b600061105a602c54610922565b905090565b6060811561107e576110778c8c60008b8b8b8b611901565b9050611091565b61108e8c8c60008d8d8989611901565b90505b9b9a5050505050505050505050565b606081156111435761113c8a8a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156110f557600080fd5b505af1158015611109573d6000803e3d6000fd5b505050506040513d602081101561111f57600080fd5b81019080805190602001909291905050508c60018b8b8b8b6115ff565b90506111da565b6111d788886040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561119057600080fd5b505af11580156111a4573d6000803e3d6000fd5b505050506040513d60208110156111ba57600080fd5b81019080805190602001909291905050508c60018d8d89896115ff565b90505b9a9950505050505050505050565b60003273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806112fd5750611227611cf9565b73ffffffffffffffffffffffffffffffffffffffff16639b19251a336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156112c157600080fd5b505af11580156112d5573d6000803e3d6000fd5b505050506040513d60208110156112eb57600080fd5b81019080805190602001909291905050505b905090565b606081156113225761131b8d8d8d60008c8c8c8c611d0b565b9050611336565b6113338d8d8d60008e8e8a8a611d0b565b90505b9c9b505050505050505050505050565b606081156113e9576113e28a8a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561139b57600080fd5b505af11580156113af573d6000803e3d6000fd5b505050506040513d60208110156113c557600080fd5b81019080805190602001909291905050508c60018b8b8b8b611901565b9050611480565b61147d88886040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561143657600080fd5b505af115801561144a573d6000803e3d6000fd5b505050506040513d602081101561146057600080fd5b81019080805190602001909291905050508c60018d8d8989611901565b90505b9a9950505050505050505050565b606081156115455761153e8c8b8b8f6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156114f757600080fd5b505af115801561150b573d6000803e3d6000fd5b505050506040513d602081101561152157600080fd5b81019080805190602001909291905050508d60018c8c8c8c611d0b565b90506115f0565b6115ed8c89898f6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156115a657600080fd5b505af11580156115ba573d6000803e3d6000fd5b505050506040513d60208110156115d057600080fd5b81019080805190602001909291905050508d60018e8e8a8a611d0b565b90505b9b9a5050505050505050505050565b606060008060006060600080935089896040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561165757600080fd5b505af115801561166b573d6000803e3d6000fd5b505050506040513d602081101561168157600080fd5b8101908080519060200190929190505050925060008c14806116ae57506000600102600019168360001916145b156116eb5760006040519080825280602002602001820160405280156116e35781602001602082028038833980820191505090505b5095506118f1565b8b60405190808252806020026020018201604052801561171a5781602001602082028038833980820191505090505b509150600115158b15151415611757578c82600081518110151561173a57fe5b906020019060200201906000191690816000191681525050600193505b8c90508394505b8b8510801561177557508260001916816000191614155b15611866578787826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156117d757600080fd5b505af11580156117eb573d6000803e3d6000fd5b505050506040513d602081101561180157600080fd5b81019080805190602001909291905050509050600060010260001916816000191614151561185957838060010194505080828681518110151561184057fe5b9060200190602002019060001916908160001916815250505b848060010195505061175e565b836040519080825280602002602001820160405280156118955781602001602082028038833980820191505090505b509550600094505b838510156118f05781858151811015156118b357fe5b9060200190602002015186868151811015156118cb57fe5b906020019060200201906000191690816000191681525050848060010195505061189d565b5b5050505050979650505050505050565b606060008060006060600080935089896040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561195957600080fd5b505af115801561196d573d6000803e3d6000fd5b505050506040513d602081101561198357600080fd5b8101908080519060200190929190505050925060008c14806119d15750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611a0e576000604051908082528060200260200182016040528015611a065781602001602082028038833980820191505090505b509550611ce9565b8b604051908082528060200260200182016040528015611a3d5781602001602082028038833980820191505090505b509150600115158b15151415611a9e578c826000815181101515611a5d57fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600193505b8c90508394505b8b85108015611ae057508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b15611c3a578787826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611b6657600080fd5b505af1158015611b7a573d6000803e3d6000fd5b505050506040513d6020811015611b9057600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611c2d578380600101945050808286815181101515611bf057fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b8480600101955050611aa5565b83604051908082528060200260200182016040528015611c695781602001602082028038833980820191505090505b509550600094505b83851015611ce8578185815181101515611c8757fe5b906020019060200201518686815181101515611c9f57fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508480600101955050611c71565b5b5050505050979650505050505050565b6000611d06602e54610922565b905090565b606060008060006060600080935089898f6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611d7657600080fd5b505af1158015611d8a573d6000803e3d6000fd5b505050506040513d6020811015611da057600080fd5b8101908080519060200190929190505050925060008c1480611dcd57506000600102600019168360001916145b15611e0a576000604051908082528060200260200182016040528015611e025781602001602082028038833980820191505090505b509550612019565b8b604051908082528060200260200182016040528015611e395781602001602082028038833980820191505090505b5091508a15611e6f578c826000815181101515611e5257fe5b906020019060200201906000191690816000191681525050600193505b8c90508394505b8b85108015611e8d57508260001916816000191614155b15611f8e5787878f836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808360001916600019168152602001826000191660001916815260200192505050602060405180830381600087803b158015611eff57600080fd5b505af1158015611f13573d6000803e3d6000fd5b505050506040513d6020811015611f2957600080fd5b810190808051906020019092919050505090506000600102600019168160001916141515611f81578380600101945050808286815181101515611f6857fe5b9060200190602002019060001916908160001916815250505b8480600101955050611e76565b83604051908082528060200260200182016040528015611fbd5781602001602082028038833980820191505090505b509550600094505b83851015612018578185815181101515611fdb57fe5b906020019060200201518686815181101515611ff357fe5b9060200190602002019060001916908160001916815250508480600101955050611fc5565b5b5050505050989750505050505050505600a165627a7a723058206b3d753f5a25de88de1b0f39abf2afb86d9e2a93afea79c76dec49e65e8a48680029", + "deployedBytecode": "0x6080604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100d5578063199a681b1461012c5780633943380c146101c85780633f83acff146101fb57806340c7174e1461026c5780634434afda1461031a5780634ddaee82146103a8578063541a073b1461045257806385f0e4bf146104fc57806396fe8e651461058a5780639cab7a7f14610638578063b9a50c79146106d4578063db4ecbc114610770578063f4f9fadc146107c7575b600080fd5b3480156100e157600080fd5b506100ea610855565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013857600080fd5b5061017160048036038101908080356000191690602001909291908035906020019092919080351515906020019092919050505061087a565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156101b4578082015181840152602081019050610199565b505050509050019250505060405180910390f35b3480156101d457600080fd5b506101dd61091c565b60405180826000191660001916815260200191505060405180910390f35b34801561020757600080fd5b5061022a6004803603810190808035600019169060200190929190505050610922565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561027857600080fd5b506102c3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035151590602001909291905050506109fe565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156103065780820151818401526020810190506102eb565b505050509050019250505060405180910390f35b34801561032657600080fd5b5061035160048036038101908080359060200190929190803515159060200190929190505050610aa0565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610394578082015181840152602081019050610379565b505050509050019250505060405180910390f35b3480156103b457600080fd5b506103fb6004803603810190808035600019169060200190929190803560001916906020019092919080359060200190929190803515159060200190929190505050610b40565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561043e578082015181840152602081019050610423565b505050509050019250505060405180910390f35b34801561045e57600080fd5b506104a56004803603810190808035600019169060200190929190803560001916906020019092919080359060200190929190803515159060200190929190505050610bf7565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156104e85780820151818401526020810190506104cd565b505050509050019250505060405180910390f35b34801561050857600080fd5b5061053360048036038101908080359060200190929190803515159060200190929190505050610c9b565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561057657808201518184015260208101905061055b565b505050509050019250505060405180910390f35b34801561059657600080fd5b506105e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803515159060200190929190505050610d3b565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610624578082015181840152602081019050610609565b505050509050019250505060405180910390f35b34801561064457600080fd5b5061067d600480360381019080803560001916906020019092919080359060200190929190803515159060200190929190505050610ddd565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156106c05780820151818401526020810190506106a5565b505050509050019250505060405180910390f35b3480156106e057600080fd5b50610719600480360381019080803560001916906020019092919080359060200190929190803515159060200190929190505050610e7f565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561075c578082015181840152602081019050610741565b505050509050019250505060405180910390f35b34801561077c57600080fd5b50610785610f34565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107d357600080fd5b506107fe60048036038101908080359060200190929190803515159060200190929190505050610f5a565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610841578082015181840152602081019050610826565b505050509050019250505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606109138484610889610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663cfd591726108ac610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663f0ab3dd96108cf610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663237286e96108f2610ffa565b73ffffffffffffffffffffffffffffffffffffffff166370a6f5918c61100c565b90509392505050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156109bc57600080fd5b505af11580156109d0573d6000803e3d6000fd5b505050506040513d60208110156109e657600080fd5b81019080805190602001909291905050509050919050565b6060610a978484610a0d61104d565b73ffffffffffffffffffffffffffffffffffffffff1663583fd501610a3061104d565b73ffffffffffffffffffffffffffffffffffffffff1663bbb03dc2610a5361104d565b73ffffffffffffffffffffffffffffffffffffffff166344e518a3610a7661104d565b73ffffffffffffffffffffffffffffffffffffffff166363a640678c61105f565b90509392505050565b6060610b3883610aae610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663cfd59172610ad1610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663f0ab3dd9610af4610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663237286e9610b17610ffa565b73ffffffffffffffffffffffffffffffffffffffff166370a6f5918b6110a0565b905092915050565b6060610b4a6111e8565b1515610b5557600080fd5b610bed858585610b63610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663e7853aac610b86610ffa565b73ffffffffffffffffffffffffffffffffffffffff16631d47c3d3610ba9610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663a692e0ef610bcc610ffa565b73ffffffffffffffffffffffffffffffffffffffff16631478fff18d611302565b9050949350505050565b6060610c91858585610c07610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663e4156675610c2a610ffa565b73ffffffffffffffffffffffffffffffffffffffff16630c012e59610c4d610ffa565b73ffffffffffffffffffffffffffffffffffffffff166347d621a3610c70610ffa565b73ffffffffffffffffffffffffffffffffffffffff166356674c9f8d611302565b9050949350505050565b6060610d3383610ca961104d565b73ffffffffffffffffffffffffffffffffffffffff1663583fd501610ccc61104d565b73ffffffffffffffffffffffffffffffffffffffff1663bbb03dc2610cef61104d565b73ffffffffffffffffffffffffffffffffffffffff166344e518a3610d1261104d565b73ffffffffffffffffffffffffffffffffffffffff166363a640678b611346565b905092915050565b6060610dd48484610d4a61104d565b73ffffffffffffffffffffffffffffffffffffffff1663e3bd970e610d6d61104d565b73ffffffffffffffffffffffffffffffffffffffff166382624a2e610d9061104d565b73ffffffffffffffffffffffffffffffffffffffff16633e0fd265610db361104d565b73ffffffffffffffffffffffffffffffffffffffff16637bbad0b88c61105f565b90509392505050565b6060610e768484610dec610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663e4156675610e0f610ffa565b73ffffffffffffffffffffffffffffffffffffffff16630c012e59610e32610ffa565b73ffffffffffffffffffffffffffffffffffffffff166347d621a3610e55610ffa565b73ffffffffffffffffffffffffffffffffffffffff166356674c9f8c61148e565b90509392505050565b6060610e896111e8565b1515610e9457600080fd5b610f2b8484610ea1610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663e7853aac610ec4610ffa565b73ffffffffffffffffffffffffffffffffffffffff16631d47c3d3610ee7610ffa565b73ffffffffffffffffffffffffffffffffffffffff1663a692e0ef610f0a610ffa565b73ffffffffffffffffffffffffffffffffffffffff16631478fff18c61148e565b90509392505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060610ff283610f6861104d565b73ffffffffffffffffffffffffffffffffffffffff1663e3bd970e610f8b61104d565b73ffffffffffffffffffffffffffffffffffffffff166382624a2e610fae61104d565b73ffffffffffffffffffffffffffffffffffffffff16633e0fd265610fd161104d565b73ffffffffffffffffffffffffffffffffffffffff16637bbad0b88b611346565b905092915050565b6000611007602554610922565b905090565b6060811561102b576110248c8c60008b8b8b8b6115ff565b905061103e565b61103b8c8c60008d8d89896115ff565b90505b9b9a5050505050505050505050565b600061105a602c54610922565b905090565b6060811561107e576110778c8c60008b8b8b8b611901565b9050611091565b61108e8c8c60008d8d8989611901565b90505b9b9a5050505050505050505050565b606081156111435761113c8a8a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156110f557600080fd5b505af1158015611109573d6000803e3d6000fd5b505050506040513d602081101561111f57600080fd5b81019080805190602001909291905050508c60018b8b8b8b6115ff565b90506111da565b6111d788886040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561119057600080fd5b505af11580156111a4573d6000803e3d6000fd5b505050506040513d60208110156111ba57600080fd5b81019080805190602001909291905050508c60018d8d89896115ff565b90505b9a9950505050505050505050565b60003273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806112fd5750611227611cf9565b73ffffffffffffffffffffffffffffffffffffffff16639b19251a336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156112c157600080fd5b505af11580156112d5573d6000803e3d6000fd5b505050506040513d60208110156112eb57600080fd5b81019080805190602001909291905050505b905090565b606081156113225761131b8d8d8d60008c8c8c8c611d0b565b9050611336565b6113338d8d8d60008e8e8a8a611d0b565b90505b9c9b505050505050505050505050565b606081156113e9576113e28a8a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561139b57600080fd5b505af11580156113af573d6000803e3d6000fd5b505050506040513d60208110156113c557600080fd5b81019080805190602001909291905050508c60018b8b8b8b611901565b9050611480565b61147d88886040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561143657600080fd5b505af115801561144a573d6000803e3d6000fd5b505050506040513d602081101561146057600080fd5b81019080805190602001909291905050508c60018d8d8989611901565b90505b9a9950505050505050505050565b606081156115455761153e8c8b8b8f6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156114f757600080fd5b505af115801561150b573d6000803e3d6000fd5b505050506040513d602081101561152157600080fd5b81019080805190602001909291905050508d60018c8c8c8c611d0b565b90506115f0565b6115ed8c89898f6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156115a657600080fd5b505af11580156115ba573d6000803e3d6000fd5b505050506040513d60208110156115d057600080fd5b81019080805190602001909291905050508d60018e8e8a8a611d0b565b90505b9b9a5050505050505050505050565b606060008060006060600080935089896040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561165757600080fd5b505af115801561166b573d6000803e3d6000fd5b505050506040513d602081101561168157600080fd5b8101908080519060200190929190505050925060008c14806116ae57506000600102600019168360001916145b156116eb5760006040519080825280602002602001820160405280156116e35781602001602082028038833980820191505090505b5095506118f1565b8b60405190808252806020026020018201604052801561171a5781602001602082028038833980820191505090505b509150600115158b15151415611757578c82600081518110151561173a57fe5b906020019060200201906000191690816000191681525050600193505b8c90508394505b8b8510801561177557508260001916816000191614155b15611866578787826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156117d757600080fd5b505af11580156117eb573d6000803e3d6000fd5b505050506040513d602081101561180157600080fd5b81019080805190602001909291905050509050600060010260001916816000191614151561185957838060010194505080828681518110151561184057fe5b9060200190602002019060001916908160001916815250505b848060010195505061175e565b836040519080825280602002602001820160405280156118955781602001602082028038833980820191505090505b509550600094505b838510156118f05781858151811015156118b357fe5b9060200190602002015186868151811015156118cb57fe5b906020019060200201906000191690816000191681525050848060010195505061189d565b5b5050505050979650505050505050565b606060008060006060600080935089896040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561195957600080fd5b505af115801561196d573d6000803e3d6000fd5b505050506040513d602081101561198357600080fd5b8101908080519060200190929190505050925060008c14806119d15750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611a0e576000604051908082528060200260200182016040528015611a065781602001602082028038833980820191505090505b509550611ce9565b8b604051908082528060200260200182016040528015611a3d5781602001602082028038833980820191505090505b509150600115158b15151415611a9e578c826000815181101515611a5d57fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600193505b8c90508394505b8b85108015611ae057508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b15611c3a578787826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611b6657600080fd5b505af1158015611b7a573d6000803e3d6000fd5b505050506040513d6020811015611b9057600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611c2d578380600101945050808286815181101515611bf057fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b8480600101955050611aa5565b83604051908082528060200260200182016040528015611c695781602001602082028038833980820191505090505b509550600094505b83851015611ce8578185815181101515611c8757fe5b906020019060200201518686815181101515611c9f57fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508480600101955050611c71565b5b5050505050979650505050505050565b6000611d06602e54610922565b905090565b606060008060006060600080935089898f6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611d7657600080fd5b505af1158015611d8a573d6000803e3d6000fd5b505050506040513d6020811015611da057600080fd5b8101908080519060200190929190505050925060008c1480611dcd57506000600102600019168360001916145b15611e0a576000604051908082528060200260200182016040528015611e025781602001602082028038833980820191505090505b509550612019565b8b604051908082528060200260200182016040528015611e395781602001602082028038833980820191505090505b5091508a15611e6f578c826000815181101515611e5257fe5b906020019060200201906000191690816000191681525050600193505b8c90508394505b8b85108015611e8d57508260001916816000191614155b15611f8e5787878f836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808360001916600019168152602001826000191660001916815260200192505050602060405180830381600087803b158015611eff57600080fd5b505af1158015611f13573d6000803e3d6000fd5b505050506040513d6020811015611f2957600080fd5b810190808051906020019092919050505090506000600102600019168160001916141515611f81578380600101945050808286815181101515611f6857fe5b9060200190602002019060001916908160001916815250505b8480600101955050611e76565b83604051908082528060200260200182016040528015611fbd5781602001602082028038833980820191505090505b509550600094505b83851015612018578185815181101515611fdb57fe5b906020019060200201518686815181101515611ff357fe5b9060200190602002019060001916908160001916815250508480600101955050611fc5565b5b5050505050989750505050505050505600a165627a7a723058206b3d753f5a25de88de1b0f39abf2afb86d9e2a93afea79c76dec49e65e8a48680029", + "sourceMap": "586:11189:52:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;837:109:52;8:9:-1;5:2;;;30:1;27;20:12;5:2;837:109:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;893:45;898:28;;928:9;893:4;;;:45;;;:::i;:::-;885:54;;;;;;;;837:109;586:11189;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;586:11189:52:-;;;;;;;", + "deployedSourceMap": "586:11189:52:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;7512:496:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7512:496:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;7512:496:52;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3317:528:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3317:528:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;3317:528:52;;;;;;;;;;;;;;;;;6721:423;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6721:423:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;6721:423:52;;;;;;;;;;;;;;;;;9319:629;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9319:629:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;9319:629:52;;;;;;;;;;;;;;;;;11184:589;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11184:589:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;11184:589:52;;;;;;;;;;;;;;;;;1943:431;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1943:431:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1943:431:52;;;;;;;;;;;;;;;;;5900:546;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5900:546:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;5900:546:52;;;;;;;;;;;;;;;;;10259:518;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10259:518:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;10259:518:52;;;;;;;;;;;;;;;;;8339:556;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8339:556:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;8339:556:52;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;4483:445:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4483:445:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;4483:445:52;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;7512:496:52:-;7674:20;7723:278;7757:16;7787:6;7807:12;:10;:12::i;:::-;:29;;;7850:12;:10;:12::i;:::-;:28;;;7892:12;:10;:12::i;:::-;:28;;;7934:12;:10;:12::i;:::-;:32;;;7980:11;7723:20;:278::i;:::-;7710:291;;7512:496;;;;;:::o;264:18:67:-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;3317:528:52:-;3481:21;3532:306;3565:17;3596:6;3616:17;:15;:17::i;:::-;:36;;;3666:17;:15;:17::i;:::-;:35;;;3715:17;:15;:17::i;:::-;:35;;;3764:17;:15;:17::i;:::-;:39;;;3817:11;3532:19;:306::i;:::-;3518:320;;3317:528;;;;;:::o;6721:423::-;6845:20;6894:243;6923:6;6943:12;:10;:12::i;:::-;:29;;;6986:12;:10;:12::i;:::-;:28;;;7028:12;:10;:12::i;:::-;:28;;;7070:12;:10;:12::i;:::-;:32;;;7116:11;6894:15;:243::i;:::-;6881:256;;6721:423;;;;:::o;9319:629::-;9514:20;9558:23;:21;:23::i;:::-;9550:32;;;;;;;;9605:336;9647:8;9669:16;9699:6;9719:12;:10;:12::i;:::-;:36;;;9769:12;:10;:12::i;:::-;:35;;;9818:12;:10;:12::i;:::-;:35;;;9867:12;:10;:12::i;:::-;:39;;;9920:11;9605:28;:336::i;:::-;9592:349;;9319:629;;;;;;:::o;11184:589::-;11381:19;11428:338;11470:11;11495:15;11524:6;11544:12;:10;:12::i;:::-;:36;;;11594:12;:10;:12::i;:::-;:35;;;11643:12;:10;:12::i;:::-;:35;;;11692:12;:10;:12::i;:::-;:39;;;11745:11;11428:28;:338::i;:::-;11416:350;;11184:589;;;;;;:::o;1943:431::-;2046:21;2097:270;2125:6;2145:17;:15;:17::i;:::-;:36;;;2195:17;:15;:17::i;:::-;:35;;;2244:17;:15;:17::i;:::-;:35;;;2293:17;:15;:17::i;:::-;:39;;;2346:11;2097:14;:270::i;:::-;2083:284;;1943:431;;;;:::o;5900:546::-;6068:23;6123:316;6156:19;6189:6;6209:17;:15;:17::i;:::-;:38;;;6261:17;:15;:17::i;:::-;:37;;;6312:17;:15;:17::i;:::-;:37;;;6363:17;:15;:17::i;:::-;:41;;;6418:11;6123:19;:316::i;:::-;6107:332;;5900:546;;;;;:::o;10259:518::-;10419:19;10466:304;10503:11;10528:6;10548:12;:10;:12::i;:::-;:36;;;10598:12;:10;:12::i;:::-;:35;;;10647:12;:10;:12::i;:::-;:35;;;10696:12;:10;:12::i;:::-;:39;;;10749:11;10466:23;:304::i;:::-;10454:316;;10259:518;;;;;:::o;8339:556::-;8496:20;8540:23;:21;:23::i;:::-;8532:32;;;;;;;;8587:301;8624:8;8646:6;8666:12;:10;:12::i;:::-;:36;;;8716:12;:10;:12::i;:::-;:35;;;8765:12;:10;:12::i;:::-;:35;;;8814:12;:10;:12::i;:::-;:39;;;8867:11;8587:23;:301::i;:::-;8574:314;;8339:556;;;;;:::o;344:31:67:-;;;;;;;;;;;;;:::o;4483:445:52:-;4588:23;4643:278;4671:6;4691:17;:15;:17::i;:::-;:38;;;4743:17;:15;:17::i;:::-;:37;;;4794:17;:15;:17::i;:::-;:37;;;4845:17;:15;:17::i;:::-;:41;;;4900:11;4643:14;:278::i;:::-;4627:294;;4483:445;;;;:::o;1149:170::-;1218:20;1277:34;1290:20;;1277:12;:34::i;:::-;1254:58;;1149:170;:::o;2289:888:76:-;2871:22;2907:11;2903:270;;;2943:91;2973:13;2988:6;2996:5;3003:14;;3019;;2943:29;:91::i;:::-;2928:106;;2903:270;;;3070:96;3100:13;3115:6;3123:5;3130:15;;3147:18;;3070:29;:96::i;:::-;3055:111;;2903:270;2289:888;;;;;;;;;;;;;:::o;952:191:52:-;1026:25;1095:40;1108:26;;1095:12;:40::i;:::-;1067:69;;952:191;:::o;2344:905:74:-;2925:24;2963:11;2959:286;;;3001:97;3037:13;3052:6;3060:5;3067:14;;3083;;3001:35;:97::i;:::-;2984:114;;2959:286;;;3136:102;3172:13;3187:6;3195:5;3202:15;;3219:18;;3136:35;:102::i;:::-;3119:119;;2959:286;2344:905;;;;;;;;;;;;;:::o;723:870:76:-;1282:22;1318:11;1314:275;;;1354:94;1384:15;;:17;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1384:17:76;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1384:17:76;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1384:17:76;;;;;;;;;;;;;;;;1403:6;1411:4;1417:14;;1433;;1354:29;:94::i;:::-;1339:109;;1314:275;;;1484:98;1514:14;;:16;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1514:16:76;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1514:16:76;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1514:16:76;;;;;;;;;;;;;;;;1532:6;1540:4;1546:15;;1563:18;;1484:29;:98::i;:::-;1469:113;;1314:275;723:870;;;;;;;;;;;;:::o;707:316:6:-;787:27;956:9;942:23;;:10;:23;;;941:75;;;;970:24;:22;:24::i;:::-;:34;;;1005:10;970:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;970:46:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;970:46:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;970:46:6;;;;;;;;;;;;;;;;941:75;916:100;;707:316;:::o;2609:1033:79:-;3258:30;3302:11;3298:340;;;3346:118;3384:17;3403:13;3418:6;3426:5;3433:14;;3449;;3346:37;:118::i;:::-;3323:141;;3298:340;;;3508:123;3546:17;3565:13;3580:6;3588:5;3595:15;;3612:18;;3508:37;:123::i;:::-;3485:146;;3298:340;2609:1033;;;;;;;;;;;;;;:::o;743:887:74:-;1301:24;1339:11;1335:291;;;1377:100;1413:15;;:17;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1413:17:74;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1413:17:74;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1413:17:74;;;;;;;;;;;;;;;;1432:6;1440:4;1446:14;;1462;;1377:35;:100::i;:::-;1360:117;;1335:291;;;1515:104;1551:14;;:16;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1551:16:74;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1551:16:74;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1551:16:74;;;;;;;;;;;;;;;;1569:6;1577:4;1583:15;;1600:18;;1515:35;:104::i;:::-;1498:121;;1335:291;743:887;;;;;;;;;;;;:::o;809:1034:79:-;1420:30;1464:11;1460:379;;;1508:138;1546:17;1565:15;;1581:17;1565:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1565:34:79;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1565:34:79;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1565:34:79;;;;;;;;;;;;;;;;1601:6;1609:4;1615:14;;1631;;1508:37;:138::i;:::-;1485:161;;1460:379;;;1690:142;1728:17;1747:14;;1762:17;1747:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1747:33:79;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1747:33:79;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1747:33:79;;;;;;;;;;;;;;;;1782:6;1790:4;1796:15;;1813:18;;1690:37;:142::i;:::-;1667:165;;1460:379;809:1034;;;;;;;;;;;;;:::o;3851:1250:76:-;4214:24;4248:10;4264:19;4293:18;4462:28;4522:18;4286:1;4264:23;;4331:14;;:16;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4331:16:76;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4331:16:76;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4331:16:76;;;;;;;;;;;;;;;;4318:29;;4367:1;4357:6;:11;:41;;;;4394:3;4386:12;;4372:26;;;:10;:26;;;;4357:41;4353:744;;;4439:1;4425:16;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;4425:16:76;;;;4408:33;;4353:744;;;4507:6;4493:21;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;4493:21:76;;;;4462:52;;4574:4;4552:26;;:18;:26;;;4548:106;;;4607:13;4590:11;4602:1;4590:14;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;4644:1;4630:15;;4548:106;4674:13;4661:26;;4705:11;4700:16;;4695:248;4724:6;4719:2;:11;4718:43;;;;;4750:10;4736:24;;;:10;:24;;;;;4718:43;4695:248;;;4791:14;;4806:10;4791:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4791:26:76;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4791:26:76;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4791:26:76;;;;;;;;;;;;;;;;4778:39;;4853:3;4845:12;;4831:26;;;:10;:26;;;;;4827:108;;;4871:13;;;;;;;4914:10;4896:11;4908:2;4896:15;;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;4827:108;4762:4;;;;;;;4695:248;;;4982:11;4968:26;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;4968:26:76;;;;4951:43;;5011:1;5006:6;;5002:89;5018:11;5013:2;:16;5002:89;;;5067:11;5079:2;5067:15;;;;;;;;;;;;;;;;;;5046:14;5061:2;5046:18;;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;5030:4;;;;;;;5002:89;;;4353:744;3851:1250;;;;;;;;;;;;;;:::o;3938:1256:74:-;4307:24;4341:10;4357:19;4386:18;4555:28;4615:18;4379:1;4357:23;;4424:14;;:16;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4424:16:74;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4424:16:74;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4424:16:74;;;;;;;;;;;;;;;;4411:29;;4460:1;4450:6;:11;:41;;;;4487:3;4465:26;;:10;:26;;;4450:41;4446:744;;;4532:1;4518:16;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;4518:16:74;;;;4501:33;;4446:744;;;4600:6;4586:21;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;4586:21:74;;;;4555:52;;4667:4;4645:26;;:18;:26;;;4641:106;;;4700:13;4683:11;4695:1;4683:14;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;4737:1;4723:15;;4641:106;4767:13;4754:26;;4798:11;4793:16;;4788:248;4817:6;4812:2;:11;4811:43;;;;;4843:10;4829:24;;:10;:24;;;;4811:43;4788:248;;;4884:14;;4899:10;4884:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4884:26:74;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4884:26:74;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4884:26:74;;;;;;;;;;;;;;;;4871:39;;4946:3;4924:26;;:10;:26;;;;4920:108;;;4964:13;;;;;;;5007:10;4989:11;5001:2;4989:15;;;;;;;;;;;;;;;;;:28;;;;;;;;;;;4920:108;4855:4;;;;;;;4788:248;;;5075:11;5061:26;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;5061:26:74;;;;5044:43;;5104:1;5099:6;;5095:89;5111:11;5106:2;:16;5095:89;;;5160:11;5172:2;5160:15;;;;;;;;;;;;;;;;;;5139:14;5154:2;5139:18;;;;;;;;;;;;;;;;;:36;;;;;;;;;;;5123:4;;;;;;;5095:89;;;4446:744;3938:1256;;;;;;;;;;;;;;:::o;240:219:6:-;321:32;404:47;417:33;;404:12;:47::i;:::-;369:83;;240:219;:::o;4416:1435:79:-;4846:30;4886:10;4902:19;4931:18;5189:28;5249:18;4924:1;4902:23;;4969:14;;4984:17;4969:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4969:33:79;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4969:33:79;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4969:33:79;;;;;;;;;;;;;;;;4956:46;;5022:1;5012:6;:11;:41;;;;5049:3;5041:12;;5027:26;;;:10;:26;;;;5012:41;5008:839;;;5166:1;5152:16;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;5152:16:79;;;;5129:39;;5008:839;;;5234:6;5220:21;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;5220:21:79;;;;5189:52;;5279:18;5275:98;;;5326:13;5309:11;5321:1;5309:14;;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;5363:1;5349:15;;5275:98;5393:13;5380:26;;5424:11;5419:16;;5414:267;5443:6;5438:2;:11;5437:43;;;;;5469:10;5455:24;;;:10;:24;;;;;5437:43;5414:267;;;5510:14;;5525:17;5544:10;5510:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5510:45:79;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5510:45:79;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5510:45:79;;;;;;;;;;;;;;;;5497:58;;5591:3;5583:12;;5569:26;;;:10;:26;;;;;5565:108;;;5609:13;;;;;;;5652:10;5634:11;5646:2;5634:15;;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;5565:108;5481:4;;;;;;;5414:267;;;5726:11;5712:26;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;5712:26:79;;;;5689:49;;5755:1;5750:6;;5746:95;5762:11;5757:2;:16;5746:95;;;5817:11;5829:2;5817:15;;;;;;;;;;;;;;;;;;5790:20;5811:2;5790:24;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;5774:4;;;;;;;5746:95;;;5008:839;4416:1435;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\n/* import \"@digix/cacp-contracts-dao/contracts/ResolverClient.sol\"; */\nimport \"@digix/solidity-collections/contracts/abstract/AddressIteratorInteractive.sol\";\nimport \"@digix/solidity-collections/contracts/abstract/BytesIteratorInteractive.sol\";\nimport \"@digix/solidity-collections/contracts/abstract/IndexedBytesIteratorInteractive.sol\";\nimport \"./../storage/DaoStorage.sol\";\nimport \"./../storage/DaoStakeStorage.sol\";\nimport \"./../common/DaoWhitelistingCommon.sol\";\n\n\n/**\n@title Contract to list various storage states from DigixDAO\n@author Digix Holdings\n*/\ncontract DaoListingService is\n AddressIteratorInteractive,\n BytesIteratorInteractive,\n IndexedBytesIteratorInteractive,\n DaoWhitelistingCommon\n{\n\n /**\n @notice Constructor\n @param _resolver address of contract resolver\n */\n constructor(address _resolver) public {\n require(init(CONTRACT_SERVICE_DAO_LISTING, _resolver));\n }\n\n function daoStakeStorage()\n internal\n view\n returns (DaoStakeStorage _contract)\n {\n _contract = DaoStakeStorage(get_contract(CONTRACT_STORAGE_DAO_STAKE));\n }\n\n function daoStorage()\n internal\n view\n returns (DaoStorage _contract)\n {\n _contract = DaoStorage(get_contract(CONTRACT_STORAGE_DAO));\n }\n\n /**\n @notice function to list moderators\n @dev note that this list may include some additional entries that are\n not moderators in the current quarter. This may happen if they\n were moderators in the previous quarter, but have not confirmed\n their participation in the current quarter. For a single address,\n a better way to know if moderator or not is:\n Dao.isModerator(_user)\n @param _count number of addresses to list\n @param _from_start boolean, whether to list from start or end\n @return {\n \"_moderators\": \"list of moderator addresses\"\n }\n */\n function listModerators(uint256 _count, bool _from_start)\n public\n view\n returns (address[] _moderators)\n {\n _moderators = list_addresses(\n _count,\n daoStakeStorage().readFirstModerator,\n daoStakeStorage().readLastModerator,\n daoStakeStorage().readNextModerator,\n daoStakeStorage().readPreviousModerator,\n _from_start\n );\n }\n\n /**\n @notice function to list moderators from a particular moderator\n @dev note that this list may include some additional entries that are\n not moderators in the current quarter. This may happen if they\n were moderators in the previous quarter, but have not confirmed\n their participation in the current quarter. For a single address,\n a better way to know if moderator or not is:\n Dao.isModerator(_user)\n\n Another note: this function will start listing AFTER the _currentModerator\n For example: we have [address1, address2, address3, address4]. listModeratorsFrom(address1, 2, true) = [address2, address3]\n @param _currentModerator start the list after this moderator address\n @param _count number of addresses to list\n @param _from_start boolean, whether to list from start or end\n @return {\n \"_moderators\": \"list of moderator addresses\"\n }\n */\n function listModeratorsFrom(\n address _currentModerator,\n uint256 _count,\n bool _from_start\n )\n public\n view\n returns (address[] _moderators)\n {\n _moderators = list_addresses_from(\n _currentModerator,\n _count,\n daoStakeStorage().readFirstModerator,\n daoStakeStorage().readLastModerator,\n daoStakeStorage().readNextModerator,\n daoStakeStorage().readPreviousModerator,\n _from_start\n );\n }\n\n /**\n @notice function to list participants\n @dev note that this list may include some additional entries that are\n not participants in the current quarter. This may happen if they\n were participants in the previous quarter, but have not confirmed\n their participation in the current quarter. For a single address,\n a better way to know if participant or not is:\n Dao.isParticipant(_user)\n @param _count number of addresses to list\n @param _from_start boolean, whether to list from start or end\n @return {\n \"_participants\": \"list of participant addresses\"\n }\n */\n function listParticipants(uint256 _count, bool _from_start)\n public\n view\n returns (address[] _participants)\n {\n _participants = list_addresses(\n _count,\n daoStakeStorage().readFirstParticipant,\n daoStakeStorage().readLastParticipant,\n daoStakeStorage().readNextParticipant,\n daoStakeStorage().readPreviousParticipant,\n _from_start\n );\n }\n\n /**\n @notice function to list participants from a particular participant\n @dev note that this list may include some additional entries that are\n not participants in the current quarter. This may happen if they\n were participants in the previous quarter, but have not confirmed\n their participation in the current quarter. For a single address,\n a better way to know if participant or not is:\n contracts.dao.isParticipant(_user)\n\n Another note: this function will start listing AFTER the _currentParticipant\n For example: we have [address1, address2, address3, address4]. listParticipantsFrom(address1, 2, true) = [address2, address3]\n @param _currentParticipant list from AFTER this participant address\n @param _count number of addresses to list\n @param _from_start boolean, whether to list from start or end\n @return {\n \"_participants\": \"list of participant addresses\"\n }\n */\n function listParticipantsFrom(\n address _currentParticipant,\n uint256 _count,\n bool _from_start\n )\n public\n view\n returns (address[] _participants)\n {\n _participants = list_addresses_from(\n _currentParticipant,\n _count,\n daoStakeStorage().readFirstParticipant,\n daoStakeStorage().readLastParticipant,\n daoStakeStorage().readNextParticipant,\n daoStakeStorage().readPreviousParticipant,\n _from_start\n );\n }\n\n /**\n @notice function to list _count no. of proposals\n @param _count number of proposals to list\n @param _from_start boolean value, true if count from start, false if count from end\n @return {\n \"_proposals\": \"the list of proposal IDs\"\n }\n */\n function listProposals(\n uint256 _count,\n bool _from_start\n )\n public\n view\n returns (bytes32[] _proposals)\n {\n _proposals = list_bytesarray(\n _count,\n daoStorage().getFirstProposal,\n daoStorage().getLastProposal,\n daoStorage().getNextProposal,\n daoStorage().getPreviousProposal,\n _from_start\n );\n }\n\n /**\n @notice function to list _count no. of proposals from AFTER _currentProposal\n @param _currentProposal ID of proposal to list proposals from\n @param _count number of proposals to list\n @param _from_start boolean value, true if count forwards, false if count backwards\n @return {\n \"_proposals\": \"the list of proposal IDs\"\n }\n */\n function listProposalsFrom(\n bytes32 _currentProposal,\n uint256 _count,\n bool _from_start\n )\n public\n view\n returns (bytes32[] _proposals)\n {\n _proposals = list_bytesarray_from(\n _currentProposal,\n _count,\n daoStorage().getFirstProposal,\n daoStorage().getLastProposal,\n daoStorage().getNextProposal,\n daoStorage().getPreviousProposal,\n _from_start\n );\n }\n\n /**\n @notice function to list _count no. of proposals in state _stateId\n @param _stateId state of proposal\n @param _count number of proposals to list\n @param _from_start boolean value, true if count from start, false if count from end\n @return {\n \"_proposals\": \"the list of proposal IDs\"\n }\n */\n function listProposalsInState(\n bytes32 _stateId,\n uint256 _count,\n bool _from_start\n )\n public\n view\n returns (bytes32[] _proposals)\n {\n require(senderIsAllowedToRead());\n _proposals = list_indexed_bytesarray(\n _stateId,\n _count,\n daoStorage().getFirstProposalInState,\n daoStorage().getLastProposalInState,\n daoStorage().getNextProposalInState,\n daoStorage().getPreviousProposalInState,\n _from_start\n );\n }\n\n /**\n @notice function to list _count no. of proposals in state _stateId from AFTER _currentProposal\n @param _stateId state of proposal\n @param _currentProposal ID of proposal to list proposals from\n @param _count number of proposals to list\n @param _from_start boolean value, true if count forwards, false if count backwards\n @return {\n \"_proposals\": \"the list of proposal IDs\"\n }\n */\n function listProposalsInStateFrom(\n bytes32 _stateId,\n bytes32 _currentProposal,\n uint256 _count,\n bool _from_start\n )\n public\n view\n returns (bytes32[] _proposals)\n {\n require(senderIsAllowedToRead());\n _proposals = list_indexed_bytesarray_from(\n _stateId,\n _currentProposal,\n _count,\n daoStorage().getFirstProposalInState,\n daoStorage().getLastProposalInState,\n daoStorage().getNextProposalInState,\n daoStorage().getPreviousProposalInState,\n _from_start\n );\n }\n\n /**\n @notice function to list proposal versions\n @param _proposalId ID of the proposal\n @param _count number of proposal versions to list\n @param _from_start boolean, true to list from start, false to list from end\n @return {\n \"_versions\": \"list of proposal versions\"\n }\n */\n function listProposalVersions(\n bytes32 _proposalId,\n uint256 _count,\n bool _from_start\n )\n public\n view\n returns (bytes32[] _versions)\n {\n _versions = list_indexed_bytesarray(\n _proposalId,\n _count,\n daoStorage().getFirstProposalVersion,\n daoStorage().getLastProposalVersion,\n daoStorage().getNextProposalVersion,\n daoStorage().getPreviousProposalVersion,\n _from_start\n );\n }\n\n /**\n @notice function to list proposal versions from AFTER a particular version\n @param _proposalId ID of the proposal\n @param _currentVersion version to list _count versions from\n @param _count number of proposal versions to list\n @param _from_start boolean, true to list from start, false to list from end\n @return {\n \"_versions\": \"list of proposal versions\"\n }\n */\n function listProposalVersionsFrom(\n bytes32 _proposalId,\n bytes32 _currentVersion,\n uint256 _count,\n bool _from_start\n )\n public\n view\n returns (bytes32[] _versions)\n {\n _versions = list_indexed_bytesarray_from(\n _proposalId,\n _currentVersion,\n _count,\n daoStorage().getFirstProposalVersion,\n daoStorage().getLastProposalVersion,\n daoStorage().getNextProposalVersion,\n daoStorage().getPreviousProposalVersion,\n _from_start\n );\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/service/DaoListingService.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/service/DaoListingService.sol", + "exportedSymbols": { + "DaoListingService": [ + 12889 + ] + }, + "id": 12890, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 12496, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:52" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/abstract/AddressIteratorInteractive.sol", + "file": "@digix/solidity-collections/contracts/abstract/AddressIteratorInteractive.sol", + "id": 12497, + "nodeType": "ImportDirective", + "scope": 12890, + "sourceUnit": 22019, + "src": "97:87:52", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/abstract/BytesIteratorInteractive.sol", + "file": "@digix/solidity-collections/contracts/abstract/BytesIteratorInteractive.sol", + "id": 12498, + "nodeType": "ImportDirective", + "scope": 12890, + "sourceUnit": 22397, + "src": "185:85:52", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/abstract/IndexedBytesIteratorInteractive.sol", + "file": "@digix/solidity-collections/contracts/abstract/IndexedBytesIteratorInteractive.sol", + "id": 12499, + "nodeType": "ImportDirective", + "scope": 12890, + "sourceUnit": 22905, + "src": "271:92:52", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStorage.sol", + "file": "./../storage/DaoStorage.sol", + "id": 12500, + "nodeType": "ImportDirective", + "scope": 12890, + "sourceUnit": 18305, + "src": "364:37:52", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStakeStorage.sol", + "file": "./../storage/DaoStakeStorage.sol", + "id": 12501, + "nodeType": "ImportDirective", + "scope": 12890, + "sourceUnit": 16457, + "src": "402:42:52", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoWhitelistingCommon.sol", + "file": "./../common/DaoWhitelistingCommon.sol", + "id": 12502, + "nodeType": "ImportDirective", + "scope": 12890, + "sourceUnit": 1820, + "src": "445:47:52", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 12503, + "name": "AddressIteratorInteractive", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 22018, + "src": "620:26:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AddressIteratorInteractive_$22018", + "typeString": "contract AddressIteratorInteractive" + } + }, + "id": 12504, + "nodeType": "InheritanceSpecifier", + "src": "620:26:52" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 12505, + "name": "BytesIteratorInteractive", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 22396, + "src": "652:24:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BytesIteratorInteractive_$22396", + "typeString": "contract BytesIteratorInteractive" + } + }, + "id": 12506, + "nodeType": "InheritanceSpecifier", + "src": "652:24:52" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 12507, + "name": "IndexedBytesIteratorInteractive", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 22904, + "src": "682:31:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IndexedBytesIteratorInteractive_$22904", + "typeString": "contract IndexedBytesIteratorInteractive" + } + }, + "id": 12508, + "nodeType": "InheritanceSpecifier", + "src": "682:31:52" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 12509, + "name": "DaoWhitelistingCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1819, + "src": "719:21:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingCommon_$1819", + "typeString": "contract DaoWhitelistingCommon" + } + }, + "id": 12510, + "nodeType": "InheritanceSpecifier", + "src": "719:21:52" + } + ], + "contractDependencies": [ + 1580, + 1819, + 19058, + 22018, + 22396, + 22904 + ], + "contractKind": "contract", + "documentation": "@title Contract to list various storage states from DigixDAO\n@author Digix Holdings", + "fullyImplemented": true, + "id": 12889, + "linearizedBaseContracts": [ + 12889, + 1819, + 1580, + 19058, + 22904, + 22396, + 22018 + ], + "name": "DaoListingService", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 12522, + "nodeType": "Block", + "src": "875:71:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12517, + "name": "CONTRACT_SERVICE_DAO_LISTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1342, + "src": "898:28:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 12518, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12512, + "src": "928:9:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 12516, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "893:4:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 12519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "893:45:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12515, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "885:7:52", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 12520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "885:54:52", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12521, + "nodeType": "ExpressionStatement", + "src": "885:54:52" + } + ] + }, + "documentation": "@notice Constructor\n@param _resolver address of contract resolver", + "id": 12523, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12513, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12512, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 12523, + "src": "849:17:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12511, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "849:7:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "848:19:52" + }, + "payable": false, + "returnParameters": { + "id": 12514, + "nodeType": "ParameterList", + "parameters": [], + "src": "875:0:52" + }, + "scope": 12889, + "src": "837:109:52", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12536, + "nodeType": "Block", + "src": "1057:86:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12528, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12526, + "src": "1067:9:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12531, + "name": "CONTRACT_STORAGE_DAO_STAKE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "1108:26:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12530, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "1095:12:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 12532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1095:40:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 12529, + "name": "DaoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16456, + "src": "1079:15:52", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "type(contract DaoStakeStorage)" + } + }, + "id": 12533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1079:57:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "src": "1067:69:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12535, + "nodeType": "ExpressionStatement", + "src": "1067:69:52" + } + ] + }, + "documentation": null, + "id": 12537, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoStakeStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12524, + "nodeType": "ParameterList", + "parameters": [], + "src": "976:2:52" + }, + "payable": false, + "returnParameters": { + "id": 12527, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12526, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 12537, + "src": "1026:25:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + }, + "typeName": { + "contractScope": null, + "id": 12525, + "name": "DaoStakeStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 16456, + "src": "1026:15:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1025:27:52" + }, + "scope": 12889, + "src": "952:191:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 12550, + "nodeType": "Block", + "src": "1244:75:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12542, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12540, + "src": "1254:9:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12545, + "name": "CONTRACT_STORAGE_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1348, + "src": "1290:20:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12544, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "1277:12:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 12546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1277:34:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 12543, + "name": "DaoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18304, + "src": "1266:10:52", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStorage_$18304_$", + "typeString": "type(contract DaoStorage)" + } + }, + "id": 12547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1266:46:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "src": "1254:58:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12549, + "nodeType": "ExpressionStatement", + "src": "1254:58:52" + } + ] + }, + "documentation": null, + "id": 12551, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12538, + "nodeType": "ParameterList", + "parameters": [], + "src": "1168:2:52" + }, + "payable": false, + "returnParameters": { + "id": 12541, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12540, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 12551, + "src": "1218:20:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + }, + "typeName": { + "contractScope": null, + "id": 12539, + "name": "DaoStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18304, + "src": "1218:10:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1217:22:52" + }, + "scope": 12889, + "src": "1149:170:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 12580, + "nodeType": "Block", + "src": "2073:301:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12561, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12559, + "src": "2083:11:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12563, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12553, + "src": "2125:6:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12564, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "2145:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2145:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readFirstModerator", + "nodeType": "MemberAccess", + "referencedDeclaration": 16335, + "src": "2145:36:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12567, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "2195:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2195:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readLastModerator", + "nodeType": "MemberAccess", + "referencedDeclaration": 16347, + "src": "2195:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12570, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "2244:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2244:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readNextModerator", + "nodeType": "MemberAccess", + "referencedDeclaration": 16362, + "src": "2244:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12573, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "2293:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2293:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readPreviousModerator", + "nodeType": "MemberAccess", + "referencedDeclaration": 16377, + "src": "2293:39:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + { + "argumentTypes": null, + "id": 12576, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12555, + "src": "2346:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12562, + "name": "list_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21790, + "src": "2097:14:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (uint256,function () view external returns (address),function () view external returns (address),function (address) view external returns (address),function (address) view external returns (address),bool) view returns (address[] memory)" + } + }, + "id": 12577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2097:270:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "2083:284:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 12579, + "nodeType": "ExpressionStatement", + "src": "2083:284:52" + } + ] + }, + "documentation": "@notice function to list moderators\n@dev note that this list may include some additional entries that are\nnot moderators in the current quarter. This may happen if they\nwere moderators in the previous quarter, but have not confirmed\ntheir participation in the current quarter. For a single address,\na better way to know if moderator or not is:\nDao.isModerator(_user)\n@param _count number of addresses to list\n@param _from_start boolean, whether to list from start or end\n@return {\n\"_moderators\": \"list of moderator addresses\"\n}", + "id": 12581, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "listModerators", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12556, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12553, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 12581, + "src": "1967:14:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12552, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1967:7:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12555, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 12581, + "src": "1983:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12554, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1983:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1966:34:52" + }, + "payable": false, + "returnParameters": { + "id": 12560, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12559, + "name": "_moderators", + "nodeType": "VariableDeclaration", + "scope": 12581, + "src": "2046:21:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 12557, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2046:7:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 12558, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2046:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2045:23:52" + }, + "scope": 12889, + "src": "1943:431:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12613, + "nodeType": "Block", + "src": "3508:337:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12593, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12591, + "src": "3518:11:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12595, + "name": "_currentModerator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12583, + "src": "3565:17:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 12596, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12585, + "src": "3596:6:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12597, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "3616:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3616:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readFirstModerator", + "nodeType": "MemberAccess", + "referencedDeclaration": 16335, + "src": "3616:36:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12600, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "3666:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3666:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readLastModerator", + "nodeType": "MemberAccess", + "referencedDeclaration": 16347, + "src": "3666:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12603, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "3715:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3715:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readNextModerator", + "nodeType": "MemberAccess", + "referencedDeclaration": 16362, + "src": "3715:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12606, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "3764:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3764:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readPreviousModerator", + "nodeType": "MemberAccess", + "referencedDeclaration": 16377, + "src": "3764:39:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + { + "argumentTypes": null, + "id": 12609, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12587, + "src": "3817:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12594, + "name": "list_addresses_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21855, + "src": "3532:19:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,function () view external returns (address),function () view external returns (address),function (address) view external returns (address),function (address) view external returns (address),bool) view returns (address[] memory)" + } + }, + "id": 12610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3532:306:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "3518:320:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 12612, + "nodeType": "ExpressionStatement", + "src": "3518:320:52" + } + ] + }, + "documentation": "@notice function to list moderators from a particular moderator\n@dev note that this list may include some additional entries that are\nnot moderators in the current quarter. This may happen if they\nwere moderators in the previous quarter, but have not confirmed\ntheir participation in the current quarter. For a single address,\na better way to know if moderator or not is:\nDao.isModerator(_user)\nAnother note: this function will start listing AFTER the _currentModerator\nFor example: we have [address1, address2, address3, address4]. listModeratorsFrom(address1, 2, true) = [address2, address3]\n@param _currentModerator start the list after this moderator address\n@param _count number of addresses to list\n@param _from_start boolean, whether to list from start or end\n@return {\n\"_moderators\": \"list of moderator addresses\"\n}", + "id": 12614, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "listModeratorsFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12588, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12583, + "name": "_currentModerator", + "nodeType": "VariableDeclaration", + "scope": 12614, + "src": "3354:25:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12582, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3354:7:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12585, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 12614, + "src": "3389:14:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12584, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3389:7:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12587, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 12614, + "src": "3413:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12586, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3413:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3344:91:52" + }, + "payable": false, + "returnParameters": { + "id": 12592, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12591, + "name": "_moderators", + "nodeType": "VariableDeclaration", + "scope": 12614, + "src": "3481:21:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 12589, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3481:7:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 12590, + "length": null, + "nodeType": "ArrayTypeName", + "src": "3481:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3480:23:52" + }, + "scope": 12889, + "src": "3317:528:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12643, + "nodeType": "Block", + "src": "4617:311:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12624, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12622, + "src": "4627:13:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12626, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12616, + "src": "4671:6:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12627, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "4691:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4691:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readFirstParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16401, + "src": "4691:38:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12630, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "4743:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4743:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readLastParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16413, + "src": "4743:37:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12633, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "4794:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4794:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readNextParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16428, + "src": "4794:37:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12636, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "4845:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4845:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readPreviousParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16443, + "src": "4845:41:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + { + "argumentTypes": null, + "id": 12639, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12618, + "src": "4900:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12625, + "name": "list_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21790, + "src": "4643:14:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (uint256,function () view external returns (address),function () view external returns (address),function (address) view external returns (address),function (address) view external returns (address),bool) view returns (address[] memory)" + } + }, + "id": 12640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4643:278:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "4627:294:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 12642, + "nodeType": "ExpressionStatement", + "src": "4627:294:52" + } + ] + }, + "documentation": "@notice function to list participants\n@dev note that this list may include some additional entries that are\nnot participants in the current quarter. This may happen if they\nwere participants in the previous quarter, but have not confirmed\ntheir participation in the current quarter. For a single address,\na better way to know if participant or not is:\nDao.isParticipant(_user)\n@param _count number of addresses to list\n@param _from_start boolean, whether to list from start or end\n@return {\n\"_participants\": \"list of participant addresses\"\n}", + "id": 12644, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "listParticipants", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12619, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12616, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 12644, + "src": "4509:14:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12615, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4509:7:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12618, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 12644, + "src": "4525:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12617, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4525:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4508:34:52" + }, + "payable": false, + "returnParameters": { + "id": 12623, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12622, + "name": "_participants", + "nodeType": "VariableDeclaration", + "scope": 12644, + "src": "4588:23:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 12620, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4588:7:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 12621, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4588:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4587:25:52" + }, + "scope": 12889, + "src": "4483:445:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12676, + "nodeType": "Block", + "src": "6097:349:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12656, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12654, + "src": "6107:13:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12658, + "name": "_currentParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12646, + "src": "6156:19:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 12659, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12648, + "src": "6189:6:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12660, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "6209:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6209:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readFirstParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16401, + "src": "6209:38:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12663, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "6261:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6261:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readLastParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16413, + "src": "6261:37:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12666, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "6312:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6312:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readNextParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16428, + "src": "6312:37:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12669, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "6363:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6363:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readPreviousParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16443, + "src": "6363:41:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + { + "argumentTypes": null, + "id": 12672, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12650, + "src": "6418:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12657, + "name": "list_addresses_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21855, + "src": "6123:19:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,function () view external returns (address),function () view external returns (address),function (address) view external returns (address),function (address) view external returns (address),bool) view returns (address[] memory)" + } + }, + "id": 12673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6123:316:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "6107:332:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 12675, + "nodeType": "ExpressionStatement", + "src": "6107:332:52" + } + ] + }, + "documentation": "@notice function to list participants from a particular participant\n@dev note that this list may include some additional entries that are\nnot participants in the current quarter. This may happen if they\nwere participants in the previous quarter, but have not confirmed\ntheir participation in the current quarter. For a single address,\na better way to know if participant or not is:\ncontracts.dao.isParticipant(_user)\nAnother note: this function will start listing AFTER the _currentParticipant\nFor example: we have [address1, address2, address3, address4]. listParticipantsFrom(address1, 2, true) = [address2, address3]\n@param _currentParticipant list from AFTER this participant address\n@param _count number of addresses to list\n@param _from_start boolean, whether to list from start or end\n@return {\n\"_participants\": \"list of participant addresses\"\n}", + "id": 12677, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "listParticipantsFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12651, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12646, + "name": "_currentParticipant", + "nodeType": "VariableDeclaration", + "scope": 12677, + "src": "5939:27:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12645, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5939:7:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12648, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 12677, + "src": "5976:14:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12647, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5976:7:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12650, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 12677, + "src": "6000:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12649, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6000:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5929:93:52" + }, + "payable": false, + "returnParameters": { + "id": 12655, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12654, + "name": "_participants", + "nodeType": "VariableDeclaration", + "scope": 12677, + "src": "6068:23:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 12652, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6068:7:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 12653, + "length": null, + "nodeType": "ArrayTypeName", + "src": "6068:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6067:25:52" + }, + "scope": 12889, + "src": "5900:546:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12706, + "nodeType": "Block", + "src": "6871:273:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12687, + "name": "_proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12685, + "src": "6881:10:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12689, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12679, + "src": "6923:6:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12690, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "6943:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6943:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getFirstProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16955, + "src": "6943:29:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12693, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "6986:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6986:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getLastProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16967, + "src": "6986:28:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12696, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "7028:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7028:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getNextProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16982, + "src": "7028:28:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12699, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "7070:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7070:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getPreviousProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16997, + "src": "7070:32:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 12702, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12681, + "src": "7116:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12688, + "name": "list_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22168, + "src": "6894:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_function_external_view$__$returns$_t_bytes32_$_$_t_function_external_view$__$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_bool_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (uint256,function () view external returns (bytes32),function () view external returns (bytes32),function (bytes32) view external returns (bytes32),function (bytes32) view external returns (bytes32),bool) view returns (bytes32[] memory)" + } + }, + "id": 12703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6894:243:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "6881:256:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 12705, + "nodeType": "ExpressionStatement", + "src": "6881:256:52" + } + ] + }, + "documentation": "@notice function to list _count no. of proposals\n@param _count number of proposals to list\n@param _from_start boolean value, true if count from start, false if count from end\n@return {\n\"_proposals\": \"the list of proposal IDs\"\n}", + "id": 12707, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "listProposals", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12682, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12679, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 12707, + "src": "6753:14:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12678, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6753:7:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12681, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 12707, + "src": "6777:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12680, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6777:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6743:56:52" + }, + "payable": false, + "returnParameters": { + "id": 12686, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12685, + "name": "_proposals", + "nodeType": "VariableDeclaration", + "scope": 12707, + "src": "6845:20:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 12683, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6845:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 12684, + "length": null, + "nodeType": "ArrayTypeName", + "src": "6845:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6844:22:52" + }, + "scope": 12889, + "src": "6721:423:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12739, + "nodeType": "Block", + "src": "7700:308:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12719, + "name": "_proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12717, + "src": "7710:10:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12721, + "name": "_currentProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12709, + "src": "7757:16:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 12722, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12711, + "src": "7787:6:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12723, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "7807:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7807:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getFirstProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16955, + "src": "7807:29:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12726, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "7850:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7850:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getLastProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16967, + "src": "7850:28:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12729, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "7892:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7892:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getNextProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16982, + "src": "7892:28:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12732, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "7934:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7934:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getPreviousProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16997, + "src": "7934:32:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 12735, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12713, + "src": "7980:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12720, + "name": "list_bytesarray_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22233, + "src": "7723:20:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$_t_function_external_view$__$returns$_t_bytes32_$_$_t_function_external_view$__$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_bool_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,uint256,function () view external returns (bytes32),function () view external returns (bytes32),function (bytes32) view external returns (bytes32),function (bytes32) view external returns (bytes32),bool) view returns (bytes32[] memory)" + } + }, + "id": 12736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7723:278:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "7710:291:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 12738, + "nodeType": "ExpressionStatement", + "src": "7710:291:52" + } + ] + }, + "documentation": "@notice function to list _count no. of proposals from AFTER _currentProposal\n@param _currentProposal ID of proposal to list proposals from\n@param _count number of proposals to list\n@param _from_start boolean value, true if count forwards, false if count backwards\n@return {\n\"_proposals\": \"the list of proposal IDs\"\n}", + "id": 12740, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "listProposalsFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12714, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12709, + "name": "_currentProposal", + "nodeType": "VariableDeclaration", + "scope": 12740, + "src": "7548:24:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 12708, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7548:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12711, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 12740, + "src": "7582:14:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12710, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7582:7:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12713, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 12740, + "src": "7606:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12712, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7606:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7538:90:52" + }, + "payable": false, + "returnParameters": { + "id": 12718, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12717, + "name": "_proposals", + "nodeType": "VariableDeclaration", + "scope": 12740, + "src": "7674:20:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 12715, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7674:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 12716, + "length": null, + "nodeType": "ArrayTypeName", + "src": "7674:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7673:22:52" + }, + "scope": 12889, + "src": "7512:496:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12777, + "nodeType": "Block", + "src": "8522:373:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12753, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "8540:21:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 12754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8540:23:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12752, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "8532:7:52", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 12755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8532:32:52", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12756, + "nodeType": "ExpressionStatement", + "src": "8532:32:52" + }, + { + "expression": { + "argumentTypes": null, + "id": 12775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12757, + "name": "_proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12750, + "src": "8574:10:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12759, + "name": "_stateId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12742, + "src": "8624:8:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 12760, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12744, + "src": "8646:6:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12761, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "8666:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8666:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getFirstProposalInState", + "nodeType": "MemberAccess", + "referencedDeclaration": 17018, + "src": "8666:36:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12764, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "8716:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8716:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getLastProposalInState", + "nodeType": "MemberAccess", + "referencedDeclaration": 17039, + "src": "8716:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12767, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "8765:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8765:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getNextProposalInState", + "nodeType": "MemberAccess", + "referencedDeclaration": 17063, + "src": "8765:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12770, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "8814:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8814:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getPreviousProposalInState", + "nodeType": "MemberAccess", + "referencedDeclaration": 17087, + "src": "8814:39:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 12773, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12746, + "src": "8867:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12758, + "name": "list_indexed_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22658, + "src": "8587:23:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$_t_bool_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,uint256,function (bytes32) view external returns (bytes32),function (bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32),bool) view returns (bytes32[] memory)" + } + }, + "id": 12774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8587:301:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "8574:314:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 12776, + "nodeType": "ExpressionStatement", + "src": "8574:314:52" + } + ] + }, + "documentation": "@notice function to list _count no. of proposals in state _stateId\n@param _stateId state of proposal\n@param _count number of proposals to list\n@param _from_start boolean value, true if count from start, false if count from end\n@return {\n\"_proposals\": \"the list of proposal IDs\"\n}", + "id": 12778, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "listProposalsInState", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12747, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12742, + "name": "_stateId", + "nodeType": "VariableDeclaration", + "scope": 12778, + "src": "8378:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 12741, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8378:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12744, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 12778, + "src": "8404:14:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12743, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8404:7:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12746, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 12778, + "src": "8428:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12745, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8428:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8368:82:52" + }, + "payable": false, + "returnParameters": { + "id": 12751, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12750, + "name": "_proposals", + "nodeType": "VariableDeclaration", + "scope": 12778, + "src": "8496:20:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 12748, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8496:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 12749, + "length": null, + "nodeType": "ArrayTypeName", + "src": "8496:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8495:22:52" + }, + "scope": 12889, + "src": "8339:556:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12818, + "nodeType": "Block", + "src": "9540:408:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12793, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "9558:21:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 12794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9558:23:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12792, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "9550:7:52", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 12795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9550:32:52", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12796, + "nodeType": "ExpressionStatement", + "src": "9550:32:52" + }, + { + "expression": { + "argumentTypes": null, + "id": 12816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12797, + "name": "_proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12790, + "src": "9592:10:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12799, + "name": "_stateId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12780, + "src": "9647:8:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 12800, + "name": "_currentProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12782, + "src": "9669:16:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 12801, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12784, + "src": "9699:6:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12802, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "9719:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9719:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getFirstProposalInState", + "nodeType": "MemberAccess", + "referencedDeclaration": 17018, + "src": "9719:36:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12805, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "9769:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9769:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getLastProposalInState", + "nodeType": "MemberAccess", + "referencedDeclaration": 17039, + "src": "9769:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12808, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "9818:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9818:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getNextProposalInState", + "nodeType": "MemberAccess", + "referencedDeclaration": 17063, + "src": "9818:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12811, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "9867:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9867:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getPreviousProposalInState", + "nodeType": "MemberAccess", + "referencedDeclaration": 17087, + "src": "9867:39:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 12814, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12786, + "src": "9920:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12798, + "name": "list_indexed_bytesarray_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22735, + "src": "9605:28:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$_t_bool_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,bytes32,uint256,function (bytes32) view external returns (bytes32),function (bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32),bool) view returns (bytes32[] memory)" + } + }, + "id": 12815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9605:336:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "9592:349:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 12817, + "nodeType": "ExpressionStatement", + "src": "9592:349:52" + } + ] + }, + "documentation": "@notice function to list _count no. of proposals in state _stateId from AFTER _currentProposal\n@param _stateId state of proposal\n@param _currentProposal ID of proposal to list proposals from\n@param _count number of proposals to list\n@param _from_start boolean value, true if count forwards, false if count backwards\n@return {\n\"_proposals\": \"the list of proposal IDs\"\n}", + "id": 12819, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "listProposalsInStateFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12787, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12780, + "name": "_stateId", + "nodeType": "VariableDeclaration", + "scope": 12819, + "src": "9362:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 12779, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9362:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12782, + "name": "_currentProposal", + "nodeType": "VariableDeclaration", + "scope": 12819, + "src": "9388:24:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 12781, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9388:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12784, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 12819, + "src": "9422:14:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12783, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9422:7:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12786, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 12819, + "src": "9446:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12785, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9446:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9352:116:52" + }, + "payable": false, + "returnParameters": { + "id": 12791, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12790, + "name": "_proposals", + "nodeType": "VariableDeclaration", + "scope": 12819, + "src": "9514:20:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 12788, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9514:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 12789, + "length": null, + "nodeType": "ArrayTypeName", + "src": "9514:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9513:22:52" + }, + "scope": 12889, + "src": "9319:629:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12851, + "nodeType": "Block", + "src": "10444:333:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12831, + "name": "_versions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12829, + "src": "10454:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12833, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12821, + "src": "10503:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 12834, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12823, + "src": "10528:6:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12835, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "10548:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10548:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getFirstProposalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 17209, + "src": "10548:36:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12838, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "10598:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10598:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getLastProposalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 17232, + "src": "10598:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12841, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "10647:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10647:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getNextProposalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 17258, + "src": "10647:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12844, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "10696:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10696:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getPreviousProposalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 17284, + "src": "10696:39:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 12847, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12825, + "src": "10749:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12832, + "name": "list_indexed_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22658, + "src": "10466:23:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$_t_bool_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,uint256,function (bytes32) view external returns (bytes32),function (bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32),bool) view returns (bytes32[] memory)" + } + }, + "id": 12848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10466:304:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "10454:316:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 12850, + "nodeType": "ExpressionStatement", + "src": "10454:316:52" + } + ] + }, + "documentation": "@notice function to list proposal versions\n@param _proposalId ID of the proposal\n@param _count number of proposal versions to list\n@param _from_start boolean, true to list from start, false to list from end\n@return {\n\"_versions\": \"list of proposal versions\"\n}", + "id": 12852, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "listProposalVersions", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12826, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12821, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 12852, + "src": "10298:19:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 12820, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10298:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12823, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 12852, + "src": "10327:14:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12822, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10327:7:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12825, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 12852, + "src": "10351:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12824, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10351:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10288:85:52" + }, + "payable": false, + "returnParameters": { + "id": 12830, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12829, + "name": "_versions", + "nodeType": "VariableDeclaration", + "scope": 12852, + "src": "10419:19:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 12827, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10419:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 12828, + "length": null, + "nodeType": "ArrayTypeName", + "src": "10419:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10418:21:52" + }, + "scope": 12889, + "src": "10259:518:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12887, + "nodeType": "Block", + "src": "11406:367:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12866, + "name": "_versions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12864, + "src": "11416:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12868, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12854, + "src": "11470:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 12869, + "name": "_currentVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12856, + "src": "11495:15:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 12870, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12858, + "src": "11524:6:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12871, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "11544:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11544:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getFirstProposalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 17209, + "src": "11544:36:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12874, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "11594:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11594:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getLastProposalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 17232, + "src": "11594:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12877, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "11643:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11643:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getNextProposalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 17258, + "src": "11643:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12880, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "11692:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11692:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getPreviousProposalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 17284, + "src": "11692:39:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 12883, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12860, + "src": "11745:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12867, + "name": "list_indexed_bytesarray_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22735, + "src": "11428:28:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$_t_bool_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,bytes32,uint256,function (bytes32) view external returns (bytes32),function (bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32),bool) view returns (bytes32[] memory)" + } + }, + "id": 12884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11428:338:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "11416:350:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 12886, + "nodeType": "ExpressionStatement", + "src": "11416:350:52" + } + ] + }, + "documentation": "@notice function to list proposal versions from AFTER a particular version\n@param _proposalId ID of the proposal\n@param _currentVersion version to list _count versions from\n@param _count number of proposal versions to list\n@param _from_start boolean, true to list from start, false to list from end\n@return {\n\"_versions\": \"list of proposal versions\"\n}", + "id": 12888, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "listProposalVersionsFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12861, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12854, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 12888, + "src": "11227:19:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 12853, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11227:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12856, + "name": "_currentVersion", + "nodeType": "VariableDeclaration", + "scope": 12888, + "src": "11256:23:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 12855, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11256:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12858, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 12888, + "src": "11289:14:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12857, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11289:7:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12860, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 12888, + "src": "11313:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12859, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11313:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11217:118:52" + }, + "payable": false, + "returnParameters": { + "id": 12865, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12864, + "name": "_versions", + "nodeType": "VariableDeclaration", + "scope": 12888, + "src": "11381:19:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 12862, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11381:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 12863, + "length": null, + "nodeType": "ArrayTypeName", + "src": "11381:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11380:21:52" + }, + "scope": 12889, + "src": "11184:589:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 12890, + "src": "586:11189:52" + } + ], + "src": "0:11776:52" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/service/DaoListingService.sol", + "exportedSymbols": { + "DaoListingService": [ + 12889 + ] + }, + "id": 12890, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 12496, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:52" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/abstract/AddressIteratorInteractive.sol", + "file": "@digix/solidity-collections/contracts/abstract/AddressIteratorInteractive.sol", + "id": 12497, + "nodeType": "ImportDirective", + "scope": 12890, + "sourceUnit": 22019, + "src": "97:87:52", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/abstract/BytesIteratorInteractive.sol", + "file": "@digix/solidity-collections/contracts/abstract/BytesIteratorInteractive.sol", + "id": 12498, + "nodeType": "ImportDirective", + "scope": 12890, + "sourceUnit": 22397, + "src": "185:85:52", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/abstract/IndexedBytesIteratorInteractive.sol", + "file": "@digix/solidity-collections/contracts/abstract/IndexedBytesIteratorInteractive.sol", + "id": 12499, + "nodeType": "ImportDirective", + "scope": 12890, + "sourceUnit": 22905, + "src": "271:92:52", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStorage.sol", + "file": "./../storage/DaoStorage.sol", + "id": 12500, + "nodeType": "ImportDirective", + "scope": 12890, + "sourceUnit": 18305, + "src": "364:37:52", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStakeStorage.sol", + "file": "./../storage/DaoStakeStorage.sol", + "id": 12501, + "nodeType": "ImportDirective", + "scope": 12890, + "sourceUnit": 16457, + "src": "402:42:52", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoWhitelistingCommon.sol", + "file": "./../common/DaoWhitelistingCommon.sol", + "id": 12502, + "nodeType": "ImportDirective", + "scope": 12890, + "sourceUnit": 1820, + "src": "445:47:52", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 12503, + "name": "AddressIteratorInteractive", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 22018, + "src": "620:26:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AddressIteratorInteractive_$22018", + "typeString": "contract AddressIteratorInteractive" + } + }, + "id": 12504, + "nodeType": "InheritanceSpecifier", + "src": "620:26:52" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 12505, + "name": "BytesIteratorInteractive", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 22396, + "src": "652:24:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BytesIteratorInteractive_$22396", + "typeString": "contract BytesIteratorInteractive" + } + }, + "id": 12506, + "nodeType": "InheritanceSpecifier", + "src": "652:24:52" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 12507, + "name": "IndexedBytesIteratorInteractive", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 22904, + "src": "682:31:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IndexedBytesIteratorInteractive_$22904", + "typeString": "contract IndexedBytesIteratorInteractive" + } + }, + "id": 12508, + "nodeType": "InheritanceSpecifier", + "src": "682:31:52" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 12509, + "name": "DaoWhitelistingCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1819, + "src": "719:21:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingCommon_$1819", + "typeString": "contract DaoWhitelistingCommon" + } + }, + "id": 12510, + "nodeType": "InheritanceSpecifier", + "src": "719:21:52" + } + ], + "contractDependencies": [ + 1580, + 1819, + 19058, + 22018, + 22396, + 22904 + ], + "contractKind": "contract", + "documentation": "@title Contract to list various storage states from DigixDAO\n@author Digix Holdings", + "fullyImplemented": true, + "id": 12889, + "linearizedBaseContracts": [ + 12889, + 1819, + 1580, + 19058, + 22904, + 22396, + 22018 + ], + "name": "DaoListingService", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 12522, + "nodeType": "Block", + "src": "875:71:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12517, + "name": "CONTRACT_SERVICE_DAO_LISTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1342, + "src": "898:28:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 12518, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12512, + "src": "928:9:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 12516, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "893:4:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 12519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "893:45:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12515, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "885:7:52", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 12520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "885:54:52", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12521, + "nodeType": "ExpressionStatement", + "src": "885:54:52" + } + ] + }, + "documentation": "@notice Constructor\n@param _resolver address of contract resolver", + "id": 12523, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12513, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12512, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 12523, + "src": "849:17:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12511, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "849:7:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "848:19:52" + }, + "payable": false, + "returnParameters": { + "id": 12514, + "nodeType": "ParameterList", + "parameters": [], + "src": "875:0:52" + }, + "scope": 12889, + "src": "837:109:52", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12536, + "nodeType": "Block", + "src": "1057:86:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12528, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12526, + "src": "1067:9:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12531, + "name": "CONTRACT_STORAGE_DAO_STAKE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "1108:26:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12530, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "1095:12:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 12532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1095:40:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 12529, + "name": "DaoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16456, + "src": "1079:15:52", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "type(contract DaoStakeStorage)" + } + }, + "id": 12533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1079:57:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "src": "1067:69:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12535, + "nodeType": "ExpressionStatement", + "src": "1067:69:52" + } + ] + }, + "documentation": null, + "id": 12537, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoStakeStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12524, + "nodeType": "ParameterList", + "parameters": [], + "src": "976:2:52" + }, + "payable": false, + "returnParameters": { + "id": 12527, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12526, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 12537, + "src": "1026:25:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + }, + "typeName": { + "contractScope": null, + "id": 12525, + "name": "DaoStakeStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 16456, + "src": "1026:15:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1025:27:52" + }, + "scope": 12889, + "src": "952:191:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 12550, + "nodeType": "Block", + "src": "1244:75:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12542, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12540, + "src": "1254:9:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12545, + "name": "CONTRACT_STORAGE_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1348, + "src": "1290:20:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 12544, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "1277:12:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 12546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1277:34:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 12543, + "name": "DaoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18304, + "src": "1266:10:52", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStorage_$18304_$", + "typeString": "type(contract DaoStorage)" + } + }, + "id": 12547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1266:46:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "src": "1254:58:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12549, + "nodeType": "ExpressionStatement", + "src": "1254:58:52" + } + ] + }, + "documentation": null, + "id": 12551, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12538, + "nodeType": "ParameterList", + "parameters": [], + "src": "1168:2:52" + }, + "payable": false, + "returnParameters": { + "id": 12541, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12540, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 12551, + "src": "1218:20:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + }, + "typeName": { + "contractScope": null, + "id": 12539, + "name": "DaoStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18304, + "src": "1218:10:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1217:22:52" + }, + "scope": 12889, + "src": "1149:170:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 12580, + "nodeType": "Block", + "src": "2073:301:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12561, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12559, + "src": "2083:11:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12563, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12553, + "src": "2125:6:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12564, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "2145:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2145:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readFirstModerator", + "nodeType": "MemberAccess", + "referencedDeclaration": 16335, + "src": "2145:36:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12567, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "2195:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2195:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readLastModerator", + "nodeType": "MemberAccess", + "referencedDeclaration": 16347, + "src": "2195:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12570, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "2244:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2244:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readNextModerator", + "nodeType": "MemberAccess", + "referencedDeclaration": 16362, + "src": "2244:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12573, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "2293:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2293:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readPreviousModerator", + "nodeType": "MemberAccess", + "referencedDeclaration": 16377, + "src": "2293:39:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + { + "argumentTypes": null, + "id": 12576, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12555, + "src": "2346:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12562, + "name": "list_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21790, + "src": "2097:14:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (uint256,function () view external returns (address),function () view external returns (address),function (address) view external returns (address),function (address) view external returns (address),bool) view returns (address[] memory)" + } + }, + "id": 12577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2097:270:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "2083:284:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 12579, + "nodeType": "ExpressionStatement", + "src": "2083:284:52" + } + ] + }, + "documentation": "@notice function to list moderators\n@dev note that this list may include some additional entries that are\nnot moderators in the current quarter. This may happen if they\nwere moderators in the previous quarter, but have not confirmed\ntheir participation in the current quarter. For a single address,\na better way to know if moderator or not is:\nDao.isModerator(_user)\n@param _count number of addresses to list\n@param _from_start boolean, whether to list from start or end\n@return {\n\"_moderators\": \"list of moderator addresses\"\n}", + "id": 12581, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "listModerators", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12556, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12553, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 12581, + "src": "1967:14:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12552, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1967:7:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12555, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 12581, + "src": "1983:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12554, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1983:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1966:34:52" + }, + "payable": false, + "returnParameters": { + "id": 12560, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12559, + "name": "_moderators", + "nodeType": "VariableDeclaration", + "scope": 12581, + "src": "2046:21:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 12557, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2046:7:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 12558, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2046:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2045:23:52" + }, + "scope": 12889, + "src": "1943:431:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12613, + "nodeType": "Block", + "src": "3508:337:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12593, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12591, + "src": "3518:11:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12595, + "name": "_currentModerator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12583, + "src": "3565:17:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 12596, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12585, + "src": "3596:6:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12597, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "3616:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3616:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readFirstModerator", + "nodeType": "MemberAccess", + "referencedDeclaration": 16335, + "src": "3616:36:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12600, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "3666:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3666:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readLastModerator", + "nodeType": "MemberAccess", + "referencedDeclaration": 16347, + "src": "3666:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12603, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "3715:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3715:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readNextModerator", + "nodeType": "MemberAccess", + "referencedDeclaration": 16362, + "src": "3715:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12606, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "3764:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3764:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readPreviousModerator", + "nodeType": "MemberAccess", + "referencedDeclaration": 16377, + "src": "3764:39:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + { + "argumentTypes": null, + "id": 12609, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12587, + "src": "3817:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12594, + "name": "list_addresses_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21855, + "src": "3532:19:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,function () view external returns (address),function () view external returns (address),function (address) view external returns (address),function (address) view external returns (address),bool) view returns (address[] memory)" + } + }, + "id": 12610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3532:306:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "3518:320:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 12612, + "nodeType": "ExpressionStatement", + "src": "3518:320:52" + } + ] + }, + "documentation": "@notice function to list moderators from a particular moderator\n@dev note that this list may include some additional entries that are\nnot moderators in the current quarter. This may happen if they\nwere moderators in the previous quarter, but have not confirmed\ntheir participation in the current quarter. For a single address,\na better way to know if moderator or not is:\nDao.isModerator(_user)\nAnother note: this function will start listing AFTER the _currentModerator\nFor example: we have [address1, address2, address3, address4]. listModeratorsFrom(address1, 2, true) = [address2, address3]\n@param _currentModerator start the list after this moderator address\n@param _count number of addresses to list\n@param _from_start boolean, whether to list from start or end\n@return {\n\"_moderators\": \"list of moderator addresses\"\n}", + "id": 12614, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "listModeratorsFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12588, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12583, + "name": "_currentModerator", + "nodeType": "VariableDeclaration", + "scope": 12614, + "src": "3354:25:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12582, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3354:7:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12585, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 12614, + "src": "3389:14:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12584, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3389:7:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12587, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 12614, + "src": "3413:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12586, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3413:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3344:91:52" + }, + "payable": false, + "returnParameters": { + "id": 12592, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12591, + "name": "_moderators", + "nodeType": "VariableDeclaration", + "scope": 12614, + "src": "3481:21:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 12589, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3481:7:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 12590, + "length": null, + "nodeType": "ArrayTypeName", + "src": "3481:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3480:23:52" + }, + "scope": 12889, + "src": "3317:528:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12643, + "nodeType": "Block", + "src": "4617:311:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12624, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12622, + "src": "4627:13:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12626, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12616, + "src": "4671:6:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12627, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "4691:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4691:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readFirstParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16401, + "src": "4691:38:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12630, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "4743:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4743:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readLastParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16413, + "src": "4743:37:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12633, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "4794:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4794:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readNextParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16428, + "src": "4794:37:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12636, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "4845:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4845:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readPreviousParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16443, + "src": "4845:41:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + { + "argumentTypes": null, + "id": 12639, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12618, + "src": "4900:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12625, + "name": "list_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21790, + "src": "4643:14:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (uint256,function () view external returns (address),function () view external returns (address),function (address) view external returns (address),function (address) view external returns (address),bool) view returns (address[] memory)" + } + }, + "id": 12640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4643:278:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "4627:294:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 12642, + "nodeType": "ExpressionStatement", + "src": "4627:294:52" + } + ] + }, + "documentation": "@notice function to list participants\n@dev note that this list may include some additional entries that are\nnot participants in the current quarter. This may happen if they\nwere participants in the previous quarter, but have not confirmed\ntheir participation in the current quarter. For a single address,\na better way to know if participant or not is:\nDao.isParticipant(_user)\n@param _count number of addresses to list\n@param _from_start boolean, whether to list from start or end\n@return {\n\"_participants\": \"list of participant addresses\"\n}", + "id": 12644, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "listParticipants", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12619, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12616, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 12644, + "src": "4509:14:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12615, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4509:7:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12618, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 12644, + "src": "4525:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12617, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4525:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4508:34:52" + }, + "payable": false, + "returnParameters": { + "id": 12623, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12622, + "name": "_participants", + "nodeType": "VariableDeclaration", + "scope": 12644, + "src": "4588:23:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 12620, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4588:7:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 12621, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4588:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4587:25:52" + }, + "scope": 12889, + "src": "4483:445:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12676, + "nodeType": "Block", + "src": "6097:349:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12656, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12654, + "src": "6107:13:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12658, + "name": "_currentParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12646, + "src": "6156:19:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 12659, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12648, + "src": "6189:6:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12660, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "6209:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6209:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readFirstParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16401, + "src": "6209:38:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12663, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "6261:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6261:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readLastParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16413, + "src": "6261:37:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12666, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "6312:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6312:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readNextParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16428, + "src": "6312:37:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12669, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12537, + "src": "6363:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 12670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6363:17:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 12671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readPreviousParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16443, + "src": "6363:41:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + } + }, + { + "argumentTypes": null, + "id": 12672, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12650, + "src": "6418:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_address_$", + "typeString": "function (address) view external returns (address)" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12657, + "name": "list_addresses_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21855, + "src": "6123:19:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$__$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$_t_function_external_view$_t_address_$returns$_t_address_$_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,function () view external returns (address),function () view external returns (address),function (address) view external returns (address),function (address) view external returns (address),bool) view returns (address[] memory)" + } + }, + "id": 12673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6123:316:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "6107:332:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 12675, + "nodeType": "ExpressionStatement", + "src": "6107:332:52" + } + ] + }, + "documentation": "@notice function to list participants from a particular participant\n@dev note that this list may include some additional entries that are\nnot participants in the current quarter. This may happen if they\nwere participants in the previous quarter, but have not confirmed\ntheir participation in the current quarter. For a single address,\na better way to know if participant or not is:\ncontracts.dao.isParticipant(_user)\nAnother note: this function will start listing AFTER the _currentParticipant\nFor example: we have [address1, address2, address3, address4]. listParticipantsFrom(address1, 2, true) = [address2, address3]\n@param _currentParticipant list from AFTER this participant address\n@param _count number of addresses to list\n@param _from_start boolean, whether to list from start or end\n@return {\n\"_participants\": \"list of participant addresses\"\n}", + "id": 12677, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "listParticipantsFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12651, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12646, + "name": "_currentParticipant", + "nodeType": "VariableDeclaration", + "scope": 12677, + "src": "5939:27:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12645, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5939:7:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12648, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 12677, + "src": "5976:14:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12647, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5976:7:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12650, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 12677, + "src": "6000:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12649, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6000:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5929:93:52" + }, + "payable": false, + "returnParameters": { + "id": 12655, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12654, + "name": "_participants", + "nodeType": "VariableDeclaration", + "scope": 12677, + "src": "6068:23:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 12652, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6068:7:52", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 12653, + "length": null, + "nodeType": "ArrayTypeName", + "src": "6068:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6067:25:52" + }, + "scope": 12889, + "src": "5900:546:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12706, + "nodeType": "Block", + "src": "6871:273:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12687, + "name": "_proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12685, + "src": "6881:10:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12689, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12679, + "src": "6923:6:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12690, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "6943:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6943:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getFirstProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16955, + "src": "6943:29:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12693, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "6986:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6986:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getLastProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16967, + "src": "6986:28:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12696, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "7028:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7028:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getNextProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16982, + "src": "7028:28:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12699, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "7070:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7070:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getPreviousProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16997, + "src": "7070:32:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 12702, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12681, + "src": "7116:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12688, + "name": "list_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22168, + "src": "6894:15:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_function_external_view$__$returns$_t_bytes32_$_$_t_function_external_view$__$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_bool_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (uint256,function () view external returns (bytes32),function () view external returns (bytes32),function (bytes32) view external returns (bytes32),function (bytes32) view external returns (bytes32),bool) view returns (bytes32[] memory)" + } + }, + "id": 12703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6894:243:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "6881:256:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 12705, + "nodeType": "ExpressionStatement", + "src": "6881:256:52" + } + ] + }, + "documentation": "@notice function to list _count no. of proposals\n@param _count number of proposals to list\n@param _from_start boolean value, true if count from start, false if count from end\n@return {\n\"_proposals\": \"the list of proposal IDs\"\n}", + "id": 12707, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "listProposals", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12682, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12679, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 12707, + "src": "6753:14:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12678, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6753:7:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12681, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 12707, + "src": "6777:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12680, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6777:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6743:56:52" + }, + "payable": false, + "returnParameters": { + "id": 12686, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12685, + "name": "_proposals", + "nodeType": "VariableDeclaration", + "scope": 12707, + "src": "6845:20:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 12683, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6845:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 12684, + "length": null, + "nodeType": "ArrayTypeName", + "src": "6845:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6844:22:52" + }, + "scope": 12889, + "src": "6721:423:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12739, + "nodeType": "Block", + "src": "7700:308:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12719, + "name": "_proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12717, + "src": "7710:10:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12721, + "name": "_currentProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12709, + "src": "7757:16:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 12722, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12711, + "src": "7787:6:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12723, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "7807:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7807:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getFirstProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16955, + "src": "7807:29:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12726, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "7850:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7850:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getLastProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16967, + "src": "7850:28:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12729, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "7892:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7892:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getNextProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16982, + "src": "7892:28:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12732, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "7934:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7934:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getPreviousProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16997, + "src": "7934:32:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 12735, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12713, + "src": "7980:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12720, + "name": "list_bytesarray_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22233, + "src": "7723:20:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$_t_function_external_view$__$returns$_t_bytes32_$_$_t_function_external_view$__$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_bool_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,uint256,function () view external returns (bytes32),function () view external returns (bytes32),function (bytes32) view external returns (bytes32),function (bytes32) view external returns (bytes32),bool) view returns (bytes32[] memory)" + } + }, + "id": 12736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7723:278:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "7710:291:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 12738, + "nodeType": "ExpressionStatement", + "src": "7710:291:52" + } + ] + }, + "documentation": "@notice function to list _count no. of proposals from AFTER _currentProposal\n@param _currentProposal ID of proposal to list proposals from\n@param _count number of proposals to list\n@param _from_start boolean value, true if count forwards, false if count backwards\n@return {\n\"_proposals\": \"the list of proposal IDs\"\n}", + "id": 12740, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "listProposalsFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12714, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12709, + "name": "_currentProposal", + "nodeType": "VariableDeclaration", + "scope": 12740, + "src": "7548:24:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 12708, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7548:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12711, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 12740, + "src": "7582:14:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12710, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7582:7:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12713, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 12740, + "src": "7606:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12712, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7606:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7538:90:52" + }, + "payable": false, + "returnParameters": { + "id": 12718, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12717, + "name": "_proposals", + "nodeType": "VariableDeclaration", + "scope": 12740, + "src": "7674:20:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 12715, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7674:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 12716, + "length": null, + "nodeType": "ArrayTypeName", + "src": "7674:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7673:22:52" + }, + "scope": 12889, + "src": "7512:496:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12777, + "nodeType": "Block", + "src": "8522:373:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12753, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "8540:21:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 12754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8540:23:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12752, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "8532:7:52", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 12755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8532:32:52", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12756, + "nodeType": "ExpressionStatement", + "src": "8532:32:52" + }, + { + "expression": { + "argumentTypes": null, + "id": 12775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12757, + "name": "_proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12750, + "src": "8574:10:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12759, + "name": "_stateId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12742, + "src": "8624:8:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 12760, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12744, + "src": "8646:6:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12761, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "8666:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8666:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getFirstProposalInState", + "nodeType": "MemberAccess", + "referencedDeclaration": 17018, + "src": "8666:36:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12764, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "8716:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8716:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getLastProposalInState", + "nodeType": "MemberAccess", + "referencedDeclaration": 17039, + "src": "8716:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12767, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "8765:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8765:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getNextProposalInState", + "nodeType": "MemberAccess", + "referencedDeclaration": 17063, + "src": "8765:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12770, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "8814:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8814:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getPreviousProposalInState", + "nodeType": "MemberAccess", + "referencedDeclaration": 17087, + "src": "8814:39:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 12773, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12746, + "src": "8867:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12758, + "name": "list_indexed_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22658, + "src": "8587:23:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$_t_bool_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,uint256,function (bytes32) view external returns (bytes32),function (bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32),bool) view returns (bytes32[] memory)" + } + }, + "id": 12774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8587:301:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "8574:314:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 12776, + "nodeType": "ExpressionStatement", + "src": "8574:314:52" + } + ] + }, + "documentation": "@notice function to list _count no. of proposals in state _stateId\n@param _stateId state of proposal\n@param _count number of proposals to list\n@param _from_start boolean value, true if count from start, false if count from end\n@return {\n\"_proposals\": \"the list of proposal IDs\"\n}", + "id": 12778, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "listProposalsInState", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12747, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12742, + "name": "_stateId", + "nodeType": "VariableDeclaration", + "scope": 12778, + "src": "8378:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 12741, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8378:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12744, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 12778, + "src": "8404:14:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12743, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8404:7:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12746, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 12778, + "src": "8428:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12745, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8428:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8368:82:52" + }, + "payable": false, + "returnParameters": { + "id": 12751, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12750, + "name": "_proposals", + "nodeType": "VariableDeclaration", + "scope": 12778, + "src": "8496:20:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 12748, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8496:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 12749, + "length": null, + "nodeType": "ArrayTypeName", + "src": "8496:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8495:22:52" + }, + "scope": 12889, + "src": "8339:556:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12818, + "nodeType": "Block", + "src": "9540:408:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12793, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "9558:21:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 12794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9558:23:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12792, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "9550:7:52", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 12795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9550:32:52", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 12796, + "nodeType": "ExpressionStatement", + "src": "9550:32:52" + }, + { + "expression": { + "argumentTypes": null, + "id": 12816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12797, + "name": "_proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12790, + "src": "9592:10:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12799, + "name": "_stateId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12780, + "src": "9647:8:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 12800, + "name": "_currentProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12782, + "src": "9669:16:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 12801, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12784, + "src": "9699:6:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12802, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "9719:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9719:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getFirstProposalInState", + "nodeType": "MemberAccess", + "referencedDeclaration": 17018, + "src": "9719:36:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12805, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "9769:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9769:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getLastProposalInState", + "nodeType": "MemberAccess", + "referencedDeclaration": 17039, + "src": "9769:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12808, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "9818:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9818:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getNextProposalInState", + "nodeType": "MemberAccess", + "referencedDeclaration": 17063, + "src": "9818:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12811, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "9867:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9867:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getPreviousProposalInState", + "nodeType": "MemberAccess", + "referencedDeclaration": 17087, + "src": "9867:39:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 12814, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12786, + "src": "9920:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12798, + "name": "list_indexed_bytesarray_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22735, + "src": "9605:28:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$_t_bool_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,bytes32,uint256,function (bytes32) view external returns (bytes32),function (bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32),bool) view returns (bytes32[] memory)" + } + }, + "id": 12815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9605:336:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "9592:349:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 12817, + "nodeType": "ExpressionStatement", + "src": "9592:349:52" + } + ] + }, + "documentation": "@notice function to list _count no. of proposals in state _stateId from AFTER _currentProposal\n@param _stateId state of proposal\n@param _currentProposal ID of proposal to list proposals from\n@param _count number of proposals to list\n@param _from_start boolean value, true if count forwards, false if count backwards\n@return {\n\"_proposals\": \"the list of proposal IDs\"\n}", + "id": 12819, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "listProposalsInStateFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12787, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12780, + "name": "_stateId", + "nodeType": "VariableDeclaration", + "scope": 12819, + "src": "9362:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 12779, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9362:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12782, + "name": "_currentProposal", + "nodeType": "VariableDeclaration", + "scope": 12819, + "src": "9388:24:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 12781, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9388:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12784, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 12819, + "src": "9422:14:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12783, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9422:7:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12786, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 12819, + "src": "9446:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12785, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9446:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9352:116:52" + }, + "payable": false, + "returnParameters": { + "id": 12791, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12790, + "name": "_proposals", + "nodeType": "VariableDeclaration", + "scope": 12819, + "src": "9514:20:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 12788, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9514:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 12789, + "length": null, + "nodeType": "ArrayTypeName", + "src": "9514:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9513:22:52" + }, + "scope": 12889, + "src": "9319:629:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12851, + "nodeType": "Block", + "src": "10444:333:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12831, + "name": "_versions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12829, + "src": "10454:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12833, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12821, + "src": "10503:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 12834, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12823, + "src": "10528:6:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12835, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "10548:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10548:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getFirstProposalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 17209, + "src": "10548:36:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12838, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "10598:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10598:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getLastProposalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 17232, + "src": "10598:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12841, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "10647:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10647:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getNextProposalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 17258, + "src": "10647:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12844, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "10696:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10696:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getPreviousProposalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 17284, + "src": "10696:39:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 12847, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12825, + "src": "10749:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12832, + "name": "list_indexed_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22658, + "src": "10466:23:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$_t_bool_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,uint256,function (bytes32) view external returns (bytes32),function (bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32),bool) view returns (bytes32[] memory)" + } + }, + "id": 12848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10466:304:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "10454:316:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 12850, + "nodeType": "ExpressionStatement", + "src": "10454:316:52" + } + ] + }, + "documentation": "@notice function to list proposal versions\n@param _proposalId ID of the proposal\n@param _count number of proposal versions to list\n@param _from_start boolean, true to list from start, false to list from end\n@return {\n\"_versions\": \"list of proposal versions\"\n}", + "id": 12852, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "listProposalVersions", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12826, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12821, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 12852, + "src": "10298:19:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 12820, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10298:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12823, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 12852, + "src": "10327:14:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12822, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10327:7:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12825, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 12852, + "src": "10351:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12824, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10351:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10288:85:52" + }, + "payable": false, + "returnParameters": { + "id": 12830, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12829, + "name": "_versions", + "nodeType": "VariableDeclaration", + "scope": 12852, + "src": "10419:19:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 12827, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10419:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 12828, + "length": null, + "nodeType": "ArrayTypeName", + "src": "10419:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10418:21:52" + }, + "scope": 12889, + "src": "10259:518:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 12887, + "nodeType": "Block", + "src": "11406:367:52", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 12885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 12866, + "name": "_versions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12864, + "src": "11416:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12868, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12854, + "src": "11470:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 12869, + "name": "_currentVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12856, + "src": "11495:15:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 12870, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12858, + "src": "11524:6:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12871, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "11544:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11544:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getFirstProposalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 17209, + "src": "11544:36:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12874, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "11594:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11594:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getLastProposalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 17232, + "src": "11594:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12877, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "11643:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11643:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getNextProposalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 17258, + "src": "11643:35:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 12880, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12551, + "src": "11692:10:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 12881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11692:12:52", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getPreviousProposalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 17284, + "src": "11692:39:52", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 12883, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12860, + "src": "11745:11:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 12867, + "name": "list_indexed_bytesarray_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22735, + "src": "11428:28:52", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$_t_bool_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,bytes32,uint256,function (bytes32) view external returns (bytes32),function (bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32),bool) view returns (bytes32[] memory)" + } + }, + "id": 12884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11428:338:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "11416:350:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 12886, + "nodeType": "ExpressionStatement", + "src": "11416:350:52" + } + ] + }, + "documentation": "@notice function to list proposal versions from AFTER a particular version\n@param _proposalId ID of the proposal\n@param _currentVersion version to list _count versions from\n@param _count number of proposal versions to list\n@param _from_start boolean, true to list from start, false to list from end\n@return {\n\"_versions\": \"list of proposal versions\"\n}", + "id": 12888, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "listProposalVersionsFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12861, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12854, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 12888, + "src": "11227:19:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 12853, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11227:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12856, + "name": "_currentVersion", + "nodeType": "VariableDeclaration", + "scope": 12888, + "src": "11256:23:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 12855, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11256:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12858, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 12888, + "src": "11289:14:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 12857, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11289:7:52", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 12860, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 12888, + "src": "11313:16:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 12859, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11313:4:52", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11217:118:52" + }, + "payable": false, + "returnParameters": { + "id": 12865, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12864, + "name": "_versions", + "nodeType": "VariableDeclaration", + "scope": 12888, + "src": "11381:19:52", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 12862, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11381:7:52", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 12863, + "length": null, + "nodeType": "ArrayTypeName", + "src": "11381:9:52", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11380:21:52" + }, + "scope": 12889, + "src": "11184:589:52", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 12890, + "src": "586:11189:52" + } + ], + "src": "0:11776:52" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0xcb2d60113b6d943a90696e413fadd655762c1079", + "transactionHash": "0x188e16ef0a36ea744583c11461b8395b7970891e1a85007327fdc3cb527d1f27" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T10:37:27.503Z" +} \ No newline at end of file diff --git a/build/contracts/DaoPointsStorage.json b/build/contracts/DaoPointsStorage.json new file mode 100644 index 0000000..d058442 --- /dev/null +++ b/build/contracts/DaoPointsStorage.json @@ -0,0 +1,10898 @@ +{ + "contractName": "DaoPointsStorage", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_participant", + "type": "address" + }, + { + "name": "_point", + "type": "uint256" + }, + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "addQuarterPoint", + "outputs": [ + { + "name": "_newPoint", + "type": "uint256" + }, + { + "name": "_newTotalPoint", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_participant", + "type": "address" + }, + { + "name": "_point", + "type": "uint256" + }, + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "addModeratorQuarterPoint", + "outputs": [ + { + "name": "_newPoint", + "type": "uint256" + }, + { + "name": "_newTotalPoint", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_participant", + "type": "address" + }, + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "getQuarterPoint", + "outputs": [ + { + "name": "_point", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_participant", + "type": "address" + }, + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "getQuarterModeratorPoint", + "outputs": [ + { + "name": "_point", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "getTotalQuarterPoint", + "outputs": [ + { + "name": "_totalPoint", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "getTotalQuarterModeratorPoint", + "outputs": [ + { + "name": "_totalPoint", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_participant", + "type": "address" + }, + { + "name": "_point", + "type": "uint256" + } + ], + "name": "increaseReputation", + "outputs": [ + { + "name": "_newPoint", + "type": "uint256" + }, + { + "name": "_totalPoint", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_participant", + "type": "address" + }, + { + "name": "_point", + "type": "uint256" + } + ], + "name": "reduceReputation", + "outputs": [ + { + "name": "_newPoint", + "type": "uint256" + }, + { + "name": "_totalPoint", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_participant", + "type": "address" + } + ], + "name": "getReputation", + "outputs": [ + { + "name": "_point", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getTotalReputation", + "outputs": [ + { + "name": "_totalPoint", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b506040516020806200255583398101806040528101908080519060200190929190505050620011756029548262001188640100000000026401000000009004565b15156200118157600080fd5b5062001419565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f057600080fd5b505af115801562001205573d6000803e3d6000fd5b505050506040513d60208110156200121c57600080fd5b810190808051906020019092919050505090506000151581151514156200140d5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013ba57600080fd5b505af1158015620013cf573d6000803e3d6000fd5b505050506040513d6020811015620013e657600080fd5b810190808051906020019092919050505015156200140357600080fd5b6001915062001412565b600091505b5092915050565b61112c80620014296000396000f3006080604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100d557806317a129501461012c5780631eee01541461015757806329101470146101c95780633943380c1461020a5780633f83acff1461023d5780637478fbe3146102ae5780637b22ebce1461031657806393383c51146103575780639c89a0e2146103b8578063a5a9f5bb1461040f578063db4ecbc114610470578063ded86d68146104c7578063f2f80af41461052f575b600080fd5b3480156100e157600080fd5b506100ea6105a1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013857600080fd5b506101416105c6565b6040518082815260200191505060405180910390f35b34801561016357600080fd5b506101ac600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506105d3565b604051808381526020018281526020019250505060405180910390f35b3480156101d557600080fd5b506101f46004803603810190808035906020019092919050505061079a565b6040518082815260200191505060405180910390f35b34801561021657600080fd5b5061021f6107ba565b60405180826000191660001916815260200191505060405180910390f35b34801561024957600080fd5b5061026c60048036038101908080356000191690602001909291905050506107c0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102ba57600080fd5b506102f9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061089c565b604051808381526020018281526020019250505060405180910390f35b34801561032257600080fd5b5061034160048036038101908080359060200190929190505050610adf565b6040518082815260200191505060405180910390f35b34801561036357600080fd5b506103a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610aff565b6040518082815260200191505060405180910390f35b3480156103c457600080fd5b506103f9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b5d565b6040518082815260200191505060405180910390f35b34801561041b57600080fd5b5061045a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ba9565b6040518082815260200191505060405180910390f35b34801561047c57600080fd5b50610485610c07565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104d357600080fd5b50610512600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c2d565b604051808381526020018281526020019250505060405180910390f35b34801561053b57600080fd5b50610584600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610d8d565b604051808381526020018281526020019250505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000607060000154905090565b60008061061860606040519081016040528060175460001916600019168152602001601854600019166000191681526020016003546000191660001916815250610f54565b151561062357600080fd5b61064c8460726000868152602001908152602001600020600001546110cb90919063ffffffff16565b60726000858152602001908152602001600020600001819055506106cc846072600086815260200190815260200160002060010160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110cb90919063ffffffff16565b6072600085815260200190815260200160002060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506072600084815260200190815260200160002060010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054915060726000848152602001908152602001600020600001549050935093915050565b600060736000838152602001908152602001600020600001549050919050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561085a57600080fd5b505af115801561086e573d6000803e3d6000fd5b505050506040513d602081101561088457600080fd5b81019080805190602001909291905050509050919050565b60008060006108e360606040519081016040528060185460001916600019168152602001601b54600019166000191681526020016003546000191660001916815250610f54565b15156108ee57600080fd5b83905083607060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156109db5761099084607060010160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110e790919063ffffffff16565b607060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a69565b607060010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000607060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610a81816070600001546110e790919063ffffffff16565b607060000181905550607060010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205492506070600001549150509250929050565b600060726000838152602001908152602001600020600001549050919050565b60006072600083815260200190815260200160002060010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000607060010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006073600083815260200190815260200160002060010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610c7260606040519081016040528060185460001916600019168152602001601b54600019166000191681526020016016546000191660001916815250610f54565b1515610c7d57600080fd5b610c95836070600001546110cb90919063ffffffff16565b607060000181905550610cf383607060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110cb90919063ffffffff16565b607060010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550607060010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054915060706000015490509250929050565b600080610dd260606040519081016040528060175460001916600019168152602001601854600019166000191681526020016003546000191660001916815250610f54565b1515610ddd57600080fd5b610e068460736000868152602001908152602001600020600001546110cb90919063ffffffff16565b6073600085815260200190815260200160002060000181905550610e86846073600086815260200190815260200160002060010160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110cb90919063ffffffff16565b6073600085815260200190815260200160002060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506073600084815260200190815260200160002060010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054915060736000848152602001908152602001600020600001549050935093915050565b600080600060039150600090505b818110156110c4576000600102600019168482600381101515610f8157fe5b6020020151600019161415610f95576110b7565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff8583600381101515610fe057fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561103f57600080fd5b505af1158015611053573d6000803e3d6000fd5b505050506040513d602081101561106957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156110b657600192506110c4565b5b8080600101915050610f62565b5050919050565b600081830190508281101515156110de57fe5b80905092915050565b60008282111515156110f557fe5b8183039050929150505600a165627a7a72305820ea8c956299ed5883ec123d2297dd6f62b2676a9008861da564410a27f19571aa0029", + "deployedBytecode": "0x6080604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100d557806317a129501461012c5780631eee01541461015757806329101470146101c95780633943380c1461020a5780633f83acff1461023d5780637478fbe3146102ae5780637b22ebce1461031657806393383c51146103575780639c89a0e2146103b8578063a5a9f5bb1461040f578063db4ecbc114610470578063ded86d68146104c7578063f2f80af41461052f575b600080fd5b3480156100e157600080fd5b506100ea6105a1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013857600080fd5b506101416105c6565b6040518082815260200191505060405180910390f35b34801561016357600080fd5b506101ac600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506105d3565b604051808381526020018281526020019250505060405180910390f35b3480156101d557600080fd5b506101f46004803603810190808035906020019092919050505061079a565b6040518082815260200191505060405180910390f35b34801561021657600080fd5b5061021f6107ba565b60405180826000191660001916815260200191505060405180910390f35b34801561024957600080fd5b5061026c60048036038101908080356000191690602001909291905050506107c0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102ba57600080fd5b506102f9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061089c565b604051808381526020018281526020019250505060405180910390f35b34801561032257600080fd5b5061034160048036038101908080359060200190929190505050610adf565b6040518082815260200191505060405180910390f35b34801561036357600080fd5b506103a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610aff565b6040518082815260200191505060405180910390f35b3480156103c457600080fd5b506103f9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b5d565b6040518082815260200191505060405180910390f35b34801561041b57600080fd5b5061045a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ba9565b6040518082815260200191505060405180910390f35b34801561047c57600080fd5b50610485610c07565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104d357600080fd5b50610512600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c2d565b604051808381526020018281526020019250505060405180910390f35b34801561053b57600080fd5b50610584600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610d8d565b604051808381526020018281526020019250505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000607060000154905090565b60008061061860606040519081016040528060175460001916600019168152602001601854600019166000191681526020016003546000191660001916815250610f54565b151561062357600080fd5b61064c8460726000868152602001908152602001600020600001546110cb90919063ffffffff16565b60726000858152602001908152602001600020600001819055506106cc846072600086815260200190815260200160002060010160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110cb90919063ffffffff16565b6072600085815260200190815260200160002060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506072600084815260200190815260200160002060010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054915060726000848152602001908152602001600020600001549050935093915050565b600060736000838152602001908152602001600020600001549050919050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561085a57600080fd5b505af115801561086e573d6000803e3d6000fd5b505050506040513d602081101561088457600080fd5b81019080805190602001909291905050509050919050565b60008060006108e360606040519081016040528060185460001916600019168152602001601b54600019166000191681526020016003546000191660001916815250610f54565b15156108ee57600080fd5b83905083607060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156109db5761099084607060010160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110e790919063ffffffff16565b607060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a69565b607060010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000607060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610a81816070600001546110e790919063ffffffff16565b607060000181905550607060010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205492506070600001549150509250929050565b600060726000838152602001908152602001600020600001549050919050565b60006072600083815260200190815260200160002060010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000607060010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006073600083815260200190815260200160002060010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610c7260606040519081016040528060185460001916600019168152602001601b54600019166000191681526020016016546000191660001916815250610f54565b1515610c7d57600080fd5b610c95836070600001546110cb90919063ffffffff16565b607060000181905550610cf383607060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110cb90919063ffffffff16565b607060010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550607060010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054915060706000015490509250929050565b600080610dd260606040519081016040528060175460001916600019168152602001601854600019166000191681526020016003546000191660001916815250610f54565b1515610ddd57600080fd5b610e068460736000868152602001908152602001600020600001546110cb90919063ffffffff16565b6073600085815260200190815260200160002060000181905550610e86846073600086815260200190815260200160002060010160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110cb90919063ffffffff16565b6073600085815260200190815260200160002060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506073600084815260200190815260200160002060010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054915060736000848152602001908152602001600020600001549050935093915050565b600080600060039150600090505b818110156110c4576000600102600019168482600381101515610f8157fe5b6020020151600019161415610f95576110b7565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff8583600381101515610fe057fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561103f57600080fd5b505af1158015611053573d6000803e3d6000fd5b505050506040513d602081101561106957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156110b657600192506110c4565b5b8080600101915050610f62565b5050919050565b600081830190508281101515156110de57fe5b80905092915050565b60008282111515156110f557fe5b8183039050929150505600a165627a7a72305820ea8c956299ed5883ec123d2297dd6f62b2676a9008861da564410a27f19571aa0029", + "sourceMap": "129:5174:55:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;812:120:55;8:9:-1;5:2;;;30:1;27;20:12;5:2;812:120:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;880:44;885:27;;914:9;880:4;;;:44;;;:::i;:::-;872:53;;;;;;;;812:120;129:5174;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;129:5174:55:-;;;;;;;", + "deployedSourceMap": "129:5174:55:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;5155:146:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5155:146:55;;;;;;;;;;;;;;;;;;;;;;;1013:640;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1013:640:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3170:213;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3170:213:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4073:793:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4073:793:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2969:195;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2969:195:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2442:212;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2442:212:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4925:161;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4925:161:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2660:230;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2660:230:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;3446:559:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3446:559:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1659:703;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1659:703:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;5155:146:55:-;5224:19;5269:15;:27;;;5255:41;;5155:146;:::o;1013:640::-;1132:17;1151:22;1197:78;;;;;;;;;;1213:19;;1197:78;;;;;;;;;;1234:26;;1197:78;;;;;;;;;;1262:11;;1197:78;;;;;;;;;:14;:78::i;:::-;1189:87;;;;;;;;1329:52;1374:6;1329:12;:28;1342:14;1329:28;;;;;;;;;;;:40;;;:44;;:52;;;;:::i;:::-;1286:12;:28;1299:14;1286:28;;;;;;;;;;;:40;;:95;;;;1444:62;1499:6;1444:12;:28;1457:14;1444:28;;;;;;;;;;;:36;;:50;1481:12;1444:50;;;;;;;;;;;;;;;;:54;;:62;;;;:::i;:::-;1391:12;:28;1404:14;1391:28;;;;;;;;;;;:36;;:50;1428:12;1391:50;;;;;;;;;;;;;;;:115;;;;1529:12;:28;1542:14;1529:28;;;;;;;;;;;:36;;:50;1566:12;1529:50;;;;;;;;;;;;;;;;1517:62;;1606:12;:28;1619:14;1606:28;;;;;;;;;;;:40;;;1589:57;;1013:640;;;;;;:::o;3170:213::-;3278:19;3327:21;:37;3349:14;3327:37;;;;;;;;;;;:49;;;3313:63;;3170:213;;;:::o;264:18:67:-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;4073:793:55:-;4169:17;4188:19;4329:17;4231:87;;;;;;;;;;4247:26;;4231:87;;;;;;;;;;4275:28;;4231:87;;;;;;;;;;4305:11;;4231:87;;;;;;;;;:14;:87::i;:::-;4223:96;;;;;;;;4349:6;4329:26;;4409:6;4369:15;:23;;:37;4393:12;4369:37;;;;;;;;;;;;;;;;:46;4365:301;;;4471:49;4513:6;4471:15;:23;;:37;4495:12;4471:37;;;;;;;;;;;;;;;;:41;;:49;;;;:::i;:::-;4431:15;:23;;:37;4455:12;4431:37;;;;;;;;;;;;;;;:89;;;;4365:301;;;4563:15;:23;;:37;4587:12;4563:37;;;;;;;;;;;;;;;;4551:49;;4654:1;4614:15;:23;;:37;4638:12;4614:37;;;;;;;;;;;;;;;:41;;;;4365:301;4706:42;4738:9;4706:15;:27;;;:31;;:42;;;;:::i;:::-;4676:15;:27;;:72;;;;4771:15;:23;;:37;4795:12;4771:37;;;;;;;;;;;;;;;;4759:49;;4832:15;:27;;;4818:41;;4073:793;;;;;;:::o;2969:195::-;3068:19;3117:12;:28;3130:14;3117:28;;;;;;;;;;;:40;;;3103:54;;2969:195;;;:::o;2442:212::-;2558:14;2597:12;:28;2610:14;2597:28;;;;;;;;;;;:36;;:50;2634:12;2597:50;;;;;;;;;;;;;;;;2588:59;;2442:212;;;;:::o;4925:161::-;5009:14;5044:15;:23;;:37;5068:12;5044:37;;;;;;;;;;;;;;;;5035:46;;4925:161;;;:::o;2660:230::-;2785:14;2824:21;:37;2846:14;2824:37;;;;;;;;;;;:45;;:59;2870:12;2824:59;;;;;;;;;;;;;;;;2815:68;;2660:230;;;;:::o;344:31:67:-;;;;;;;;;;;;;:::o;3446:559:55:-;3544:17;3563:19;3606:102;;;;;;;;;;3622:26;;3606:102;;;;;;;;;;3650:28;;3606:102;;;;;;;;;;3680:26;;3606:102;;;;;;;;;:14;:102::i;:::-;3598:111;;;;;;;;3749:39;3781:6;3749:15;:27;;;:31;;:39;;;;:::i;:::-;3719:15;:27;;:69;;;;3838:49;3880:6;3838:15;:23;;:37;3862:12;3838:37;;;;;;;;;;;;;;;;:41;;:49;;;;:::i;:::-;3798:15;:23;;:37;3822:12;3798:37;;;;;;;;;;;;;;;:89;;;;3910:15;:23;;:37;3934:12;3910:37;;;;;;;;;;;;;;;;3898:49;;3971:15;:27;;;3957:41;;3446:559;;;;;:::o;1659:703::-;1787:17;1806:22;1852:78;;;;;;;;;;1868:19;;1852:78;;;;;;;;;;1889:26;;1852:78;;;;;;;;;;1917:11;;1852:78;;;;;;;;;:14;:78::i;:::-;1844:87;;;;;;;;1993:61;2047:6;1993:21;:37;2015:14;1993:37;;;;;;;;;;;:49;;;:53;;:61;;;;:::i;:::-;1941:21;:37;1963:14;1941:37;;;;;;;;;;;:49;;:113;;;;2126:71;2190:6;2126:21;:37;2148:14;2126:37;;;;;;;;;;;:45;;:59;2172:12;2126:59;;;;;;;;;;;;;;;;:63;;:71;;;;:::i;:::-;2064:21;:37;2086:14;2064:37;;;;;;;;;;;:45;;:59;2110:12;2064:59;;;;;;;;;;;;;;;:133;;;;2220:21;:37;2242:14;2220:37;;;;;;;;;;;:45;;:59;2266:12;2220:59;;;;;;;;;;;;;;;;2208:71;;2306:21;:37;2328:14;2306:37;;;;;;;;;;;:49;;;2289:66;;1659:703;;;;;;:::o;881:350:67:-;951:12;971:10;1012:9;984:17;971:30;;1024:1;1012:13;;1007:220;1031:2;1027:1;:6;1007:220;;;1077:3;1069:12;;1052:29;;;:10;1063:1;1052:13;;;;;;;;;;;;;:29;;;;1048:43;;;1083:8;;1048:43;1134:8;;;;;;;;;;;1117:39;;;1157:10;1168:1;1157:13;;;;;;;;;;;;;1117:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1117:54:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1117:54:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1117:54:67;;;;;;;;;;;;;;;;1103:68;;:10;:68;;;1099:122;;;1193:4;1183:14;;1207:5;;1099:122;1007:220;1035:3;;;;;;;1007:220;;;881:350;;;;;:::o;1238:128:84:-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o;1060:116::-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"@digix/cacp-contracts-dao/contracts/ResolverClient.sol\";\nimport \"../common/DaoConstants.sol\";\n\ncontract DaoPointsStorage is ResolverClient, DaoConstants {\n\n // struct for a non-transferrable token\n struct Token {\n uint256 totalSupply;\n mapping (address => uint256) balance;\n }\n\n // the reputation point token\n // since reputation is cumulative, we only need to store one value\n Token reputationPoint;\n\n // since quarter points are specific to quarters, we need a mapping from\n // quarter number to the quarter point token for that quarter\n mapping (uint256 => Token) quarterPoint;\n\n // the same is the case with quarter moderator points\n // these are specific to quarters\n mapping (uint256 => Token) quarterModeratorPoint;\n\n constructor(address _resolver)\n public\n {\n require(init(CONTRACT_STORAGE_DAO_POINTS, _resolver));\n }\n\n /// @notice add quarter points for a _participant for a _quarterNumber\n function addQuarterPoint(address _participant, uint256 _point, uint256 _quarterNumber)\n public\n returns (uint256 _newPoint, uint256 _newTotalPoint)\n {\n require(sender_is_from([CONTRACT_DAO_VOTING, CONTRACT_DAO_VOTING_CLAIMS, EMPTY_BYTES]));\n quarterPoint[_quarterNumber].totalSupply = quarterPoint[_quarterNumber].totalSupply.add(_point);\n quarterPoint[_quarterNumber].balance[_participant] = quarterPoint[_quarterNumber].balance[_participant].add(_point);\n\n _newPoint = quarterPoint[_quarterNumber].balance[_participant];\n _newTotalPoint = quarterPoint[_quarterNumber].totalSupply;\n }\n\n function addModeratorQuarterPoint(address _participant, uint256 _point, uint256 _quarterNumber)\n public\n returns (uint256 _newPoint, uint256 _newTotalPoint)\n {\n require(sender_is_from([CONTRACT_DAO_VOTING, CONTRACT_DAO_VOTING_CLAIMS, EMPTY_BYTES]));\n quarterModeratorPoint[_quarterNumber].totalSupply = quarterModeratorPoint[_quarterNumber].totalSupply.add(_point);\n quarterModeratorPoint[_quarterNumber].balance[_participant] = quarterModeratorPoint[_quarterNumber].balance[_participant].add(_point);\n\n _newPoint = quarterModeratorPoint[_quarterNumber].balance[_participant];\n _newTotalPoint = quarterModeratorPoint[_quarterNumber].totalSupply;\n }\n\n /// @notice get quarter points for a _participant in a _quarterNumber\n function getQuarterPoint(address _participant, uint256 _quarterNumber)\n public\n view\n returns (uint256 _point)\n {\n _point = quarterPoint[_quarterNumber].balance[_participant];\n }\n\n function getQuarterModeratorPoint(address _participant, uint256 _quarterNumber)\n public\n view\n returns (uint256 _point)\n {\n _point = quarterModeratorPoint[_quarterNumber].balance[_participant];\n }\n\n /// @notice get total quarter points for a particular _quarterNumber\n function getTotalQuarterPoint(uint256 _quarterNumber)\n public\n view\n returns (uint256 _totalPoint)\n {\n _totalPoint = quarterPoint[_quarterNumber].totalSupply;\n }\n\n function getTotalQuarterModeratorPoint(uint256 _quarterNumber)\n public\n view\n returns (uint256 _totalPoint)\n {\n _totalPoint = quarterModeratorPoint[_quarterNumber].totalSupply;\n }\n\n /// @notice add reputation points for a _participant\n function increaseReputation(address _participant, uint256 _point)\n public\n returns (uint256 _newPoint, uint256 _totalPoint)\n {\n require(sender_is_from([CONTRACT_DAO_VOTING_CLAIMS, CONTRACT_DAO_REWARDS_MANAGER, CONTRACT_DAO_STAKE_LOCKING]));\n reputationPoint.totalSupply = reputationPoint.totalSupply.add(_point);\n reputationPoint.balance[_participant] = reputationPoint.balance[_participant].add(_point);\n\n _newPoint = reputationPoint.balance[_participant];\n _totalPoint = reputationPoint.totalSupply;\n }\n\n /// @notice subtract reputation points for a _participant\n function reduceReputation(address _participant, uint256 _point)\n public\n returns (uint256 _newPoint, uint256 _totalPoint)\n {\n require(sender_is_from([CONTRACT_DAO_VOTING_CLAIMS, CONTRACT_DAO_REWARDS_MANAGER, EMPTY_BYTES]));\n uint256 _toDeduct = _point;\n if (reputationPoint.balance[_participant] > _point) {\n reputationPoint.balance[_participant] = reputationPoint.balance[_participant].sub(_point);\n } else {\n _toDeduct = reputationPoint.balance[_participant];\n reputationPoint.balance[_participant] = 0;\n }\n\n reputationPoint.totalSupply = reputationPoint.totalSupply.sub(_toDeduct);\n\n _newPoint = reputationPoint.balance[_participant];\n _totalPoint = reputationPoint.totalSupply;\n }\n\n /// @notice get reputation points for a _participant\n function getReputation(address _participant)\n public\n view\n returns (uint256 _point)\n {\n _point = reputationPoint.balance[_participant];\n }\n\n /// @notice get total reputation points distributed in the dao\n function getTotalReputation()\n public\n view\n returns (uint256 _totalPoint)\n {\n _totalPoint = reputationPoint.totalSupply;\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoPointsStorage.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoPointsStorage.sol", + "exportedSymbols": { + "DaoPointsStorage": [ + 14926 + ] + }, + "id": 14927, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 14515, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:55" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 14516, + "nodeType": "ImportDirective", + "scope": 14927, + "sourceUnit": 19059, + "src": "26:64:55", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "../common/DaoConstants.sol", + "id": 14517, + "nodeType": "ImportDirective", + "scope": 14927, + "sourceUnit": 1581, + "src": "91:36:55", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 14518, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "158:14:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 14519, + "nodeType": "InheritanceSpecifier", + "src": "158:14:55" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 14520, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "174:12:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 14521, + "nodeType": "InheritanceSpecifier", + "src": "174:12:55" + } + ], + "contractDependencies": [ + 1580, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 14926, + "linearizedBaseContracts": [ + 14926, + 1580, + 19058 + ], + "name": "DaoPointsStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "DaoPointsStorage.Token", + "id": 14528, + "members": [ + { + "constant": false, + "id": 14523, + "name": "totalSupply", + "nodeType": "VariableDeclaration", + "scope": 14528, + "src": "261:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14522, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "261:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14527, + "name": "balance", + "nodeType": "VariableDeclaration", + "scope": 14528, + "src": "290:36:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 14526, + "keyType": { + "id": 14524, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "299:7:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "290:28:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 14525, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "310:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Token", + "nodeType": "StructDefinition", + "scope": 14926, + "src": "238:95:55", + "visibility": "public" + }, + { + "constant": false, + "id": 14530, + "name": "reputationPoint", + "nodeType": "VariableDeclaration", + "scope": 14926, + "src": "444:21:55", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token" + }, + "typeName": { + "contractScope": null, + "id": 14529, + "name": "Token", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14528, + "src": "444:5:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage_ptr", + "typeString": "struct DaoPointsStorage.Token" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14534, + "name": "quarterPoint", + "nodeType": "VariableDeclaration", + "scope": 14926, + "src": "615:39:55", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token)" + }, + "typeName": { + "id": 14533, + "keyType": { + "id": 14531, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "624:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "615:26:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token)" + }, + "valueType": { + "contractScope": null, + "id": 14532, + "name": "Token", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14528, + "src": "635:5:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage_ptr", + "typeString": "struct DaoPointsStorage.Token" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14538, + "name": "quarterModeratorPoint", + "nodeType": "VariableDeclaration", + "scope": 14926, + "src": "757:48:55", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token)" + }, + "typeName": { + "id": 14537, + "keyType": { + "id": 14535, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "766:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "757:26:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token)" + }, + "valueType": { + "contractScope": null, + "id": 14536, + "name": "Token", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14528, + "src": "777:5:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage_ptr", + "typeString": "struct DaoPointsStorage.Token" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 14550, + "nodeType": "Block", + "src": "862:70:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14545, + "name": "CONTRACT_STORAGE_DAO_POINTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1360, + "src": "885:27:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14546, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14540, + "src": "914:9:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 14544, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "880:4:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 14547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "880:44:55", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14543, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "872:7:55", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "872:53:55", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14549, + "nodeType": "ExpressionStatement", + "src": "872:53:55" + } + ] + }, + "documentation": null, + "id": 14551, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14541, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14540, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 14551, + "src": "824:17:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14539, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "824:7:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "823:19:55" + }, + "payable": false, + "returnParameters": { + "id": 14542, + "nodeType": "ParameterList", + "parameters": [], + "src": "862:0:55" + }, + "scope": 14926, + "src": "812:120:55", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14619, + "nodeType": "Block", + "src": "1179:474:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 14566, + "name": "CONTRACT_DAO_VOTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1306, + "src": "1213:19:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14567, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "1234:26:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14568, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "1262:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 14569, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1212:62:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 14565, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "1197:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 14570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1197:78:55", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14564, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1189:7:55", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1189:87:55", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14572, + "nodeType": "ExpressionStatement", + "src": "1189:87:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14573, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "1286:12:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14575, + "indexExpression": { + "argumentTypes": null, + "id": 14574, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14557, + "src": "1299:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1286:28:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14576, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "1286:40:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14582, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14555, + "src": "1374:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14577, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "1329:12:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14579, + "indexExpression": { + "argumentTypes": null, + "id": 14578, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14557, + "src": "1342:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1329:28:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14580, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "1329:40:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "1329:44:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 14583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1329:52:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1286:95:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14585, + "nodeType": "ExpressionStatement", + "src": "1286:95:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14586, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "1391:12:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14588, + "indexExpression": { + "argumentTypes": null, + "id": 14587, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14557, + "src": "1404:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1391:28:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14589, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "1391:36:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14591, + "indexExpression": { + "argumentTypes": null, + "id": 14590, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14553, + "src": "1428:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1391:50:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14599, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14555, + "src": "1499:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14592, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "1444:12:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14594, + "indexExpression": { + "argumentTypes": null, + "id": 14593, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14557, + "src": "1457:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1444:28:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14595, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "1444:36:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14597, + "indexExpression": { + "argumentTypes": null, + "id": 14596, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14553, + "src": "1481:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1444:50:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "1444:54:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 14600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1444:62:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1391:115:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14602, + "nodeType": "ExpressionStatement", + "src": "1391:115:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14603, + "name": "_newPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14560, + "src": "1517:9:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14604, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "1529:12:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14606, + "indexExpression": { + "argumentTypes": null, + "id": 14605, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14557, + "src": "1542:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1529:28:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14607, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "1529:36:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14609, + "indexExpression": { + "argumentTypes": null, + "id": 14608, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14553, + "src": "1566:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1529:50:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1517:62:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14611, + "nodeType": "ExpressionStatement", + "src": "1517:62:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14612, + "name": "_newTotalPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14562, + "src": "1589:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14613, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "1606:12:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14615, + "indexExpression": { + "argumentTypes": null, + "id": 14614, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14557, + "src": "1619:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1606:28:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14616, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "1606:40:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1589:57:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14618, + "nodeType": "ExpressionStatement", + "src": "1589:57:55" + } + ] + }, + "documentation": "@notice add quarter points for a _participant for a _quarterNumber", + "id": 14620, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addQuarterPoint", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14558, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14553, + "name": "_participant", + "nodeType": "VariableDeclaration", + "scope": 14620, + "src": "1038:20:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14552, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1038:7:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14555, + "name": "_point", + "nodeType": "VariableDeclaration", + "scope": 14620, + "src": "1060:14:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14554, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1060:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14557, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 14620, + "src": "1076:22:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14556, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1076:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1037:62:55" + }, + "payable": false, + "returnParameters": { + "id": 14563, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14560, + "name": "_newPoint", + "nodeType": "VariableDeclaration", + "scope": 14620, + "src": "1132:17:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14559, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1132:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14562, + "name": "_newTotalPoint", + "nodeType": "VariableDeclaration", + "scope": 14620, + "src": "1151:22:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14561, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1151:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1131:43:55" + }, + "scope": 14926, + "src": "1013:640:55", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14688, + "nodeType": "Block", + "src": "1834:528:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 14635, + "name": "CONTRACT_DAO_VOTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1306, + "src": "1868:19:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14636, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "1889:26:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14637, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "1917:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 14638, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1867:62:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 14634, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "1852:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 14639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1852:78:55", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14633, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1844:7:55", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1844:87:55", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14641, + "nodeType": "ExpressionStatement", + "src": "1844:87:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14642, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "1941:21:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14644, + "indexExpression": { + "argumentTypes": null, + "id": 14643, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14626, + "src": "1963:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1941:37:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14645, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "1941:49:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14651, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14624, + "src": "2047:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14646, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "1993:21:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14648, + "indexExpression": { + "argumentTypes": null, + "id": 14647, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14626, + "src": "2015:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1993:37:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14649, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "1993:49:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "1993:53:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 14652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1993:61:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1941:113:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14654, + "nodeType": "ExpressionStatement", + "src": "1941:113:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14655, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "2064:21:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14657, + "indexExpression": { + "argumentTypes": null, + "id": 14656, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14626, + "src": "2086:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2064:37:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14658, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "2064:45:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14660, + "indexExpression": { + "argumentTypes": null, + "id": 14659, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14622, + "src": "2110:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2064:59:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14668, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14624, + "src": "2190:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14661, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "2126:21:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14663, + "indexExpression": { + "argumentTypes": null, + "id": 14662, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14626, + "src": "2148:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2126:37:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14664, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "2126:45:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14666, + "indexExpression": { + "argumentTypes": null, + "id": 14665, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14622, + "src": "2172:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2126:59:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "2126:63:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 14669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2126:71:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2064:133:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14671, + "nodeType": "ExpressionStatement", + "src": "2064:133:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14672, + "name": "_newPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14629, + "src": "2208:9:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14673, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "2220:21:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14675, + "indexExpression": { + "argumentTypes": null, + "id": 14674, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14626, + "src": "2242:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2220:37:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14676, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "2220:45:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14678, + "indexExpression": { + "argumentTypes": null, + "id": 14677, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14622, + "src": "2266:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2220:59:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2208:71:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14680, + "nodeType": "ExpressionStatement", + "src": "2208:71:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14681, + "name": "_newTotalPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14631, + "src": "2289:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14682, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "2306:21:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14684, + "indexExpression": { + "argumentTypes": null, + "id": 14683, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14626, + "src": "2328:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2306:37:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14685, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "2306:49:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2289:66:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14687, + "nodeType": "ExpressionStatement", + "src": "2289:66:55" + } + ] + }, + "documentation": null, + "id": 14689, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addModeratorQuarterPoint", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14627, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14622, + "name": "_participant", + "nodeType": "VariableDeclaration", + "scope": 14689, + "src": "1693:20:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14621, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1693:7:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14624, + "name": "_point", + "nodeType": "VariableDeclaration", + "scope": 14689, + "src": "1715:14:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14623, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1715:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14626, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 14689, + "src": "1731:22:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14625, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1731:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1692:62:55" + }, + "payable": false, + "returnParameters": { + "id": 14632, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14629, + "name": "_newPoint", + "nodeType": "VariableDeclaration", + "scope": 14689, + "src": "1787:17:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14628, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1787:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14631, + "name": "_newTotalPoint", + "nodeType": "VariableDeclaration", + "scope": 14689, + "src": "1806:22:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14630, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1806:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1786:43:55" + }, + "scope": 14926, + "src": "1659:703:55", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14707, + "nodeType": "Block", + "src": "2578:76:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 14705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14698, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14696, + "src": "2588:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14699, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "2597:12:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14701, + "indexExpression": { + "argumentTypes": null, + "id": 14700, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14693, + "src": "2610:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2597:28:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14702, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "2597:36:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14704, + "indexExpression": { + "argumentTypes": null, + "id": 14703, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14691, + "src": "2634:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2597:50:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2588:59:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14706, + "nodeType": "ExpressionStatement", + "src": "2588:59:55" + } + ] + }, + "documentation": "@notice get quarter points for a _participant in a _quarterNumber", + "id": 14708, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getQuarterPoint", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14694, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14691, + "name": "_participant", + "nodeType": "VariableDeclaration", + "scope": 14708, + "src": "2467:20:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14690, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2467:7:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14693, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 14708, + "src": "2489:22:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14692, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2489:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2466:46:55" + }, + "payable": false, + "returnParameters": { + "id": 14697, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14696, + "name": "_point", + "nodeType": "VariableDeclaration", + "scope": 14708, + "src": "2558:14:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14695, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2558:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2557:16:55" + }, + "scope": 14926, + "src": "2442:212:55", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14726, + "nodeType": "Block", + "src": "2805:85:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 14724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14717, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14715, + "src": "2815:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14718, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "2824:21:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14720, + "indexExpression": { + "argumentTypes": null, + "id": 14719, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14712, + "src": "2846:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2824:37:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14721, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "2824:45:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14723, + "indexExpression": { + "argumentTypes": null, + "id": 14722, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14710, + "src": "2870:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2824:59:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2815:68:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14725, + "nodeType": "ExpressionStatement", + "src": "2815:68:55" + } + ] + }, + "documentation": null, + "id": 14727, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getQuarterModeratorPoint", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14713, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14710, + "name": "_participant", + "nodeType": "VariableDeclaration", + "scope": 14727, + "src": "2694:20:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14709, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2694:7:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14712, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 14727, + "src": "2716:22:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14711, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2716:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2693:46:55" + }, + "payable": false, + "returnParameters": { + "id": 14716, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14715, + "name": "_point", + "nodeType": "VariableDeclaration", + "scope": 14727, + "src": "2785:14:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14714, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2785:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2784:16:55" + }, + "scope": 14926, + "src": "2660:230:55", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14741, + "nodeType": "Block", + "src": "3093:71:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 14739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14734, + "name": "_totalPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14732, + "src": "3103:11:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14735, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "3117:12:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14737, + "indexExpression": { + "argumentTypes": null, + "id": 14736, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14729, + "src": "3130:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3117:28:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14738, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "3117:40:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3103:54:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14740, + "nodeType": "ExpressionStatement", + "src": "3103:54:55" + } + ] + }, + "documentation": "@notice get total quarter points for a particular _quarterNumber", + "id": 14742, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getTotalQuarterPoint", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14730, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14729, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 14742, + "src": "2999:22:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14728, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2999:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2998:24:55" + }, + "payable": false, + "returnParameters": { + "id": 14733, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14732, + "name": "_totalPoint", + "nodeType": "VariableDeclaration", + "scope": 14742, + "src": "3068:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14731, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3068:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3067:21:55" + }, + "scope": 14926, + "src": "2969:195:55", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14756, + "nodeType": "Block", + "src": "3303:80:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 14754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14749, + "name": "_totalPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14747, + "src": "3313:11:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14750, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "3327:21:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14752, + "indexExpression": { + "argumentTypes": null, + "id": 14751, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14744, + "src": "3349:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3327:37:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14753, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "3327:49:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3313:63:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14755, + "nodeType": "ExpressionStatement", + "src": "3313:63:55" + } + ] + }, + "documentation": null, + "id": 14757, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getTotalQuarterModeratorPoint", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14745, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14744, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 14757, + "src": "3209:22:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14743, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3209:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3208:24:55" + }, + "payable": false, + "returnParameters": { + "id": 14748, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14747, + "name": "_totalPoint", + "nodeType": "VariableDeclaration", + "scope": 14757, + "src": "3278:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14746, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3278:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3277:21:55" + }, + "scope": 14926, + "src": "3170:213:55", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14813, + "nodeType": "Block", + "src": "3588:417:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 14770, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "3622:26:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14771, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "3650:28:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14772, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "3680:26:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 14773, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3621:86:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 14769, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "3606:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 14774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3606:102:55", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14768, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3598:7:55", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3598:111:55", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14776, + "nodeType": "ExpressionStatement", + "src": "3598:111:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14777, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "3719:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14779, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "3719:27:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14783, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14761, + "src": "3781:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14780, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "3749:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14781, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "3749:27:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "3749:31:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 14784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3749:39:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3719:69:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14786, + "nodeType": "ExpressionStatement", + "src": "3719:69:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14787, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "3798:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14790, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "3798:23:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14791, + "indexExpression": { + "argumentTypes": null, + "id": 14789, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14759, + "src": "3822:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3798:37:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14797, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14761, + "src": "3880:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14792, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "3838:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14793, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "3838:23:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14795, + "indexExpression": { + "argumentTypes": null, + "id": 14794, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14759, + "src": "3862:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3838:37:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "3838:41:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 14798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3838:49:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3798:89:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14800, + "nodeType": "ExpressionStatement", + "src": "3798:89:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14801, + "name": "_newPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14764, + "src": "3898:9:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14802, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "3910:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14803, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "3910:23:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14805, + "indexExpression": { + "argumentTypes": null, + "id": 14804, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14759, + "src": "3934:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3910:37:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3898:49:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14807, + "nodeType": "ExpressionStatement", + "src": "3898:49:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14808, + "name": "_totalPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14766, + "src": "3957:11:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14809, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "3971:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14810, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "3971:27:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3957:41:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14812, + "nodeType": "ExpressionStatement", + "src": "3957:41:55" + } + ] + }, + "documentation": "@notice add reputation points for a _participant", + "id": 14814, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "increaseReputation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14762, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14759, + "name": "_participant", + "nodeType": "VariableDeclaration", + "scope": 14814, + "src": "3474:20:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14758, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3474:7:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14761, + "name": "_point", + "nodeType": "VariableDeclaration", + "scope": 14814, + "src": "3496:14:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14760, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3496:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3473:38:55" + }, + "payable": false, + "returnParameters": { + "id": 14767, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14764, + "name": "_newPoint", + "nodeType": "VariableDeclaration", + "scope": 14814, + "src": "3544:17:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14763, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3544:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14766, + "name": "_totalPoint", + "nodeType": "VariableDeclaration", + "scope": 14814, + "src": "3563:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14765, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3563:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3543:40:55" + }, + "scope": 14926, + "src": "3446:559:55", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14898, + "nodeType": "Block", + "src": "4213:653:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 14827, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "4247:26:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14828, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "4275:28:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14829, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "4305:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 14830, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4246:71:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 14826, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "4231:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 14831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4231:87:55", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14825, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4223:7:55", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4223:96:55", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14833, + "nodeType": "ExpressionStatement", + "src": "4223:96:55" + }, + { + "assignments": [ + 14835 + ], + "declarations": [ + { + "constant": false, + "id": 14835, + "name": "_toDeduct", + "nodeType": "VariableDeclaration", + "scope": 14899, + "src": "4329:17:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14834, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4329:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 14837, + "initialValue": { + "argumentTypes": null, + "id": 14836, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14818, + "src": "4349:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4329:26:55" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 14843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14838, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "4369:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14839, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "4369:23:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14841, + "indexExpression": { + "argumentTypes": null, + "id": 14840, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14816, + "src": "4393:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4369:37:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 14842, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14818, + "src": "4409:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4369:46:55", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 14874, + "nodeType": "Block", + "src": "4537:129:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 14864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14859, + "name": "_toDeduct", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14835, + "src": "4551:9:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14860, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "4563:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14861, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "4563:23:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14863, + "indexExpression": { + "argumentTypes": null, + "id": 14862, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14816, + "src": "4587:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4563:37:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4551:49:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14865, + "nodeType": "ExpressionStatement", + "src": "4551:49:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14866, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "4614:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14869, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "4614:23:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14870, + "indexExpression": { + "argumentTypes": null, + "id": 14868, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14816, + "src": "4638:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4614:37:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 14871, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4654:1:55", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4614:41:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14873, + "nodeType": "ExpressionStatement", + "src": "4614:41:55" + } + ] + }, + "id": 14875, + "nodeType": "IfStatement", + "src": "4365:301:55", + "trueBody": { + "id": 14858, + "nodeType": "Block", + "src": "4417:114:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 14856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14844, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "4431:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14847, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "4431:23:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14848, + "indexExpression": { + "argumentTypes": null, + "id": 14846, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14816, + "src": "4455:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4431:37:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14854, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14818, + "src": "4513:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14849, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "4471:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14850, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "4471:23:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14852, + "indexExpression": { + "argumentTypes": null, + "id": 14851, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14816, + "src": "4495:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4471:37:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "4471:41:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 14855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4471:49:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4431:89:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14857, + "nodeType": "ExpressionStatement", + "src": "4431:89:55" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 14884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14876, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "4676:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14878, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "4676:27:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14882, + "name": "_toDeduct", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14835, + "src": "4738:9:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14879, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "4706:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14880, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "4706:27:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "4706:31:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 14883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4706:42:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4676:72:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14885, + "nodeType": "ExpressionStatement", + "src": "4676:72:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14886, + "name": "_newPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14821, + "src": "4759:9:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14887, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "4771:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14888, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "4771:23:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14890, + "indexExpression": { + "argumentTypes": null, + "id": 14889, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14816, + "src": "4795:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4771:37:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4759:49:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14892, + "nodeType": "ExpressionStatement", + "src": "4759:49:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14893, + "name": "_totalPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14823, + "src": "4818:11:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14894, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "4832:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14895, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "4832:27:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4818:41:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14897, + "nodeType": "ExpressionStatement", + "src": "4818:41:55" + } + ] + }, + "documentation": "@notice subtract reputation points for a _participant", + "id": 14899, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "reduceReputation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14819, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14816, + "name": "_participant", + "nodeType": "VariableDeclaration", + "scope": 14899, + "src": "4099:20:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14815, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4099:7:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14818, + "name": "_point", + "nodeType": "VariableDeclaration", + "scope": 14899, + "src": "4121:14:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14817, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4121:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4098:38:55" + }, + "payable": false, + "returnParameters": { + "id": 14824, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14821, + "name": "_newPoint", + "nodeType": "VariableDeclaration", + "scope": 14899, + "src": "4169:17:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14820, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4169:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14823, + "name": "_totalPoint", + "nodeType": "VariableDeclaration", + "scope": 14899, + "src": "4188:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14822, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4188:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4168:40:55" + }, + "scope": 14926, + "src": "4073:793:55", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14913, + "nodeType": "Block", + "src": "5027:59:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 14911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14906, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14904, + "src": "5035:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14907, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "5044:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14908, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "5044:23:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14910, + "indexExpression": { + "argumentTypes": null, + "id": 14909, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14901, + "src": "5068:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5044:37:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5035:46:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14912, + "nodeType": "ExpressionStatement", + "src": "5035:46:55" + } + ] + }, + "documentation": "@notice get reputation points for a _participant", + "id": 14914, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getReputation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14902, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14901, + "name": "_participant", + "nodeType": "VariableDeclaration", + "scope": 14914, + "src": "4948:20:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14900, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4948:7:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4947:22:55" + }, + "payable": false, + "returnParameters": { + "id": 14905, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14904, + "name": "_point", + "nodeType": "VariableDeclaration", + "scope": 14914, + "src": "5009:14:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14903, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5009:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5008:16:55" + }, + "scope": 14926, + "src": "4925:161:55", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14924, + "nodeType": "Block", + "src": "5247:54:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 14922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14919, + "name": "_totalPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14917, + "src": "5255:11:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14920, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "5269:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14921, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "5269:27:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5255:41:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14923, + "nodeType": "ExpressionStatement", + "src": "5255:41:55" + } + ] + }, + "documentation": "@notice get total reputation points distributed in the dao", + "id": 14925, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getTotalReputation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14915, + "nodeType": "ParameterList", + "parameters": [], + "src": "5182:2:55" + }, + "payable": false, + "returnParameters": { + "id": 14918, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14917, + "name": "_totalPoint", + "nodeType": "VariableDeclaration", + "scope": 14925, + "src": "5224:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14916, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5224:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5223:21:55" + }, + "scope": 14926, + "src": "5155:146:55", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 14927, + "src": "129:5174:55" + } + ], + "src": "0:5304:55" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoPointsStorage.sol", + "exportedSymbols": { + "DaoPointsStorage": [ + 14926 + ] + }, + "id": 14927, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 14515, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:55" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 14516, + "nodeType": "ImportDirective", + "scope": 14927, + "sourceUnit": 19059, + "src": "26:64:55", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "../common/DaoConstants.sol", + "id": 14517, + "nodeType": "ImportDirective", + "scope": 14927, + "sourceUnit": 1581, + "src": "91:36:55", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 14518, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "158:14:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 14519, + "nodeType": "InheritanceSpecifier", + "src": "158:14:55" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 14520, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "174:12:55", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 14521, + "nodeType": "InheritanceSpecifier", + "src": "174:12:55" + } + ], + "contractDependencies": [ + 1580, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 14926, + "linearizedBaseContracts": [ + 14926, + 1580, + 19058 + ], + "name": "DaoPointsStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "DaoPointsStorage.Token", + "id": 14528, + "members": [ + { + "constant": false, + "id": 14523, + "name": "totalSupply", + "nodeType": "VariableDeclaration", + "scope": 14528, + "src": "261:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14522, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "261:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14527, + "name": "balance", + "nodeType": "VariableDeclaration", + "scope": 14528, + "src": "290:36:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 14526, + "keyType": { + "id": 14524, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "299:7:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "290:28:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 14525, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "310:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Token", + "nodeType": "StructDefinition", + "scope": 14926, + "src": "238:95:55", + "visibility": "public" + }, + { + "constant": false, + "id": 14530, + "name": "reputationPoint", + "nodeType": "VariableDeclaration", + "scope": 14926, + "src": "444:21:55", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token" + }, + "typeName": { + "contractScope": null, + "id": 14529, + "name": "Token", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14528, + "src": "444:5:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage_ptr", + "typeString": "struct DaoPointsStorage.Token" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14534, + "name": "quarterPoint", + "nodeType": "VariableDeclaration", + "scope": 14926, + "src": "615:39:55", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token)" + }, + "typeName": { + "id": 14533, + "keyType": { + "id": 14531, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "624:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "615:26:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token)" + }, + "valueType": { + "contractScope": null, + "id": 14532, + "name": "Token", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14528, + "src": "635:5:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage_ptr", + "typeString": "struct DaoPointsStorage.Token" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14538, + "name": "quarterModeratorPoint", + "nodeType": "VariableDeclaration", + "scope": 14926, + "src": "757:48:55", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token)" + }, + "typeName": { + "id": 14537, + "keyType": { + "id": 14535, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "766:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "757:26:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token)" + }, + "valueType": { + "contractScope": null, + "id": 14536, + "name": "Token", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14528, + "src": "777:5:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage_ptr", + "typeString": "struct DaoPointsStorage.Token" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 14550, + "nodeType": "Block", + "src": "862:70:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14545, + "name": "CONTRACT_STORAGE_DAO_POINTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1360, + "src": "885:27:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14546, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14540, + "src": "914:9:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 14544, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "880:4:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 14547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "880:44:55", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14543, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "872:7:55", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "872:53:55", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14549, + "nodeType": "ExpressionStatement", + "src": "872:53:55" + } + ] + }, + "documentation": null, + "id": 14551, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14541, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14540, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 14551, + "src": "824:17:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14539, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "824:7:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "823:19:55" + }, + "payable": false, + "returnParameters": { + "id": 14542, + "nodeType": "ParameterList", + "parameters": [], + "src": "862:0:55" + }, + "scope": 14926, + "src": "812:120:55", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14619, + "nodeType": "Block", + "src": "1179:474:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 14566, + "name": "CONTRACT_DAO_VOTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1306, + "src": "1213:19:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14567, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "1234:26:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14568, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "1262:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 14569, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1212:62:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 14565, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "1197:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 14570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1197:78:55", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14564, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1189:7:55", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1189:87:55", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14572, + "nodeType": "ExpressionStatement", + "src": "1189:87:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14573, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "1286:12:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14575, + "indexExpression": { + "argumentTypes": null, + "id": 14574, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14557, + "src": "1299:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1286:28:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14576, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "1286:40:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14582, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14555, + "src": "1374:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14577, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "1329:12:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14579, + "indexExpression": { + "argumentTypes": null, + "id": 14578, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14557, + "src": "1342:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1329:28:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14580, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "1329:40:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "1329:44:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 14583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1329:52:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1286:95:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14585, + "nodeType": "ExpressionStatement", + "src": "1286:95:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14586, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "1391:12:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14588, + "indexExpression": { + "argumentTypes": null, + "id": 14587, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14557, + "src": "1404:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1391:28:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14589, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "1391:36:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14591, + "indexExpression": { + "argumentTypes": null, + "id": 14590, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14553, + "src": "1428:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1391:50:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14599, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14555, + "src": "1499:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14592, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "1444:12:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14594, + "indexExpression": { + "argumentTypes": null, + "id": 14593, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14557, + "src": "1457:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1444:28:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14595, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "1444:36:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14597, + "indexExpression": { + "argumentTypes": null, + "id": 14596, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14553, + "src": "1481:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1444:50:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "1444:54:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 14600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1444:62:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1391:115:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14602, + "nodeType": "ExpressionStatement", + "src": "1391:115:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14603, + "name": "_newPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14560, + "src": "1517:9:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14604, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "1529:12:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14606, + "indexExpression": { + "argumentTypes": null, + "id": 14605, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14557, + "src": "1542:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1529:28:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14607, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "1529:36:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14609, + "indexExpression": { + "argumentTypes": null, + "id": 14608, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14553, + "src": "1566:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1529:50:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1517:62:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14611, + "nodeType": "ExpressionStatement", + "src": "1517:62:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14612, + "name": "_newTotalPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14562, + "src": "1589:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14613, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "1606:12:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14615, + "indexExpression": { + "argumentTypes": null, + "id": 14614, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14557, + "src": "1619:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1606:28:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14616, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "1606:40:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1589:57:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14618, + "nodeType": "ExpressionStatement", + "src": "1589:57:55" + } + ] + }, + "documentation": "@notice add quarter points for a _participant for a _quarterNumber", + "id": 14620, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addQuarterPoint", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14558, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14553, + "name": "_participant", + "nodeType": "VariableDeclaration", + "scope": 14620, + "src": "1038:20:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14552, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1038:7:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14555, + "name": "_point", + "nodeType": "VariableDeclaration", + "scope": 14620, + "src": "1060:14:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14554, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1060:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14557, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 14620, + "src": "1076:22:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14556, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1076:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1037:62:55" + }, + "payable": false, + "returnParameters": { + "id": 14563, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14560, + "name": "_newPoint", + "nodeType": "VariableDeclaration", + "scope": 14620, + "src": "1132:17:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14559, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1132:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14562, + "name": "_newTotalPoint", + "nodeType": "VariableDeclaration", + "scope": 14620, + "src": "1151:22:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14561, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1151:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1131:43:55" + }, + "scope": 14926, + "src": "1013:640:55", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14688, + "nodeType": "Block", + "src": "1834:528:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 14635, + "name": "CONTRACT_DAO_VOTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1306, + "src": "1868:19:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14636, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "1889:26:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14637, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "1917:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 14638, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1867:62:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 14634, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "1852:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 14639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1852:78:55", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14633, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1844:7:55", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1844:87:55", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14641, + "nodeType": "ExpressionStatement", + "src": "1844:87:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14642, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "1941:21:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14644, + "indexExpression": { + "argumentTypes": null, + "id": 14643, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14626, + "src": "1963:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1941:37:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14645, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "1941:49:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14651, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14624, + "src": "2047:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14646, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "1993:21:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14648, + "indexExpression": { + "argumentTypes": null, + "id": 14647, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14626, + "src": "2015:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1993:37:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14649, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "1993:49:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "1993:53:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 14652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1993:61:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1941:113:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14654, + "nodeType": "ExpressionStatement", + "src": "1941:113:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14655, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "2064:21:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14657, + "indexExpression": { + "argumentTypes": null, + "id": 14656, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14626, + "src": "2086:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2064:37:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14658, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "2064:45:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14660, + "indexExpression": { + "argumentTypes": null, + "id": 14659, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14622, + "src": "2110:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2064:59:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14668, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14624, + "src": "2190:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14661, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "2126:21:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14663, + "indexExpression": { + "argumentTypes": null, + "id": 14662, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14626, + "src": "2148:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2126:37:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14664, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "2126:45:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14666, + "indexExpression": { + "argumentTypes": null, + "id": 14665, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14622, + "src": "2172:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2126:59:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "2126:63:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 14669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2126:71:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2064:133:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14671, + "nodeType": "ExpressionStatement", + "src": "2064:133:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14672, + "name": "_newPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14629, + "src": "2208:9:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14673, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "2220:21:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14675, + "indexExpression": { + "argumentTypes": null, + "id": 14674, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14626, + "src": "2242:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2220:37:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14676, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "2220:45:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14678, + "indexExpression": { + "argumentTypes": null, + "id": 14677, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14622, + "src": "2266:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2220:59:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2208:71:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14680, + "nodeType": "ExpressionStatement", + "src": "2208:71:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14681, + "name": "_newTotalPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14631, + "src": "2289:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14682, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "2306:21:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14684, + "indexExpression": { + "argumentTypes": null, + "id": 14683, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14626, + "src": "2328:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2306:37:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14685, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "2306:49:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2289:66:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14687, + "nodeType": "ExpressionStatement", + "src": "2289:66:55" + } + ] + }, + "documentation": null, + "id": 14689, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addModeratorQuarterPoint", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14627, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14622, + "name": "_participant", + "nodeType": "VariableDeclaration", + "scope": 14689, + "src": "1693:20:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14621, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1693:7:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14624, + "name": "_point", + "nodeType": "VariableDeclaration", + "scope": 14689, + "src": "1715:14:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14623, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1715:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14626, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 14689, + "src": "1731:22:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14625, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1731:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1692:62:55" + }, + "payable": false, + "returnParameters": { + "id": 14632, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14629, + "name": "_newPoint", + "nodeType": "VariableDeclaration", + "scope": 14689, + "src": "1787:17:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14628, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1787:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14631, + "name": "_newTotalPoint", + "nodeType": "VariableDeclaration", + "scope": 14689, + "src": "1806:22:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14630, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1806:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1786:43:55" + }, + "scope": 14926, + "src": "1659:703:55", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14707, + "nodeType": "Block", + "src": "2578:76:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 14705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14698, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14696, + "src": "2588:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14699, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "2597:12:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14701, + "indexExpression": { + "argumentTypes": null, + "id": 14700, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14693, + "src": "2610:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2597:28:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14702, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "2597:36:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14704, + "indexExpression": { + "argumentTypes": null, + "id": 14703, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14691, + "src": "2634:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2597:50:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2588:59:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14706, + "nodeType": "ExpressionStatement", + "src": "2588:59:55" + } + ] + }, + "documentation": "@notice get quarter points for a _participant in a _quarterNumber", + "id": 14708, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getQuarterPoint", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14694, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14691, + "name": "_participant", + "nodeType": "VariableDeclaration", + "scope": 14708, + "src": "2467:20:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14690, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2467:7:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14693, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 14708, + "src": "2489:22:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14692, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2489:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2466:46:55" + }, + "payable": false, + "returnParameters": { + "id": 14697, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14696, + "name": "_point", + "nodeType": "VariableDeclaration", + "scope": 14708, + "src": "2558:14:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14695, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2558:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2557:16:55" + }, + "scope": 14926, + "src": "2442:212:55", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14726, + "nodeType": "Block", + "src": "2805:85:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 14724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14717, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14715, + "src": "2815:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14718, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "2824:21:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14720, + "indexExpression": { + "argumentTypes": null, + "id": 14719, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14712, + "src": "2846:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2824:37:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14721, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "2824:45:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14723, + "indexExpression": { + "argumentTypes": null, + "id": 14722, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14710, + "src": "2870:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2824:59:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2815:68:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14725, + "nodeType": "ExpressionStatement", + "src": "2815:68:55" + } + ] + }, + "documentation": null, + "id": 14727, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getQuarterModeratorPoint", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14713, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14710, + "name": "_participant", + "nodeType": "VariableDeclaration", + "scope": 14727, + "src": "2694:20:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14709, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2694:7:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14712, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 14727, + "src": "2716:22:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14711, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2716:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2693:46:55" + }, + "payable": false, + "returnParameters": { + "id": 14716, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14715, + "name": "_point", + "nodeType": "VariableDeclaration", + "scope": 14727, + "src": "2785:14:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14714, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2785:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2784:16:55" + }, + "scope": 14926, + "src": "2660:230:55", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14741, + "nodeType": "Block", + "src": "3093:71:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 14739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14734, + "name": "_totalPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14732, + "src": "3103:11:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14735, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "3117:12:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14737, + "indexExpression": { + "argumentTypes": null, + "id": 14736, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14729, + "src": "3130:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3117:28:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14738, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "3117:40:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3103:54:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14740, + "nodeType": "ExpressionStatement", + "src": "3103:54:55" + } + ] + }, + "documentation": "@notice get total quarter points for a particular _quarterNumber", + "id": 14742, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getTotalQuarterPoint", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14730, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14729, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 14742, + "src": "2999:22:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14728, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2999:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2998:24:55" + }, + "payable": false, + "returnParameters": { + "id": 14733, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14732, + "name": "_totalPoint", + "nodeType": "VariableDeclaration", + "scope": 14742, + "src": "3068:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14731, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3068:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3067:21:55" + }, + "scope": 14926, + "src": "2969:195:55", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14756, + "nodeType": "Block", + "src": "3303:80:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 14754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14749, + "name": "_totalPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14747, + "src": "3313:11:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14750, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "3327:21:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 14752, + "indexExpression": { + "argumentTypes": null, + "id": 14751, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14744, + "src": "3349:14:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3327:37:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14753, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "3327:49:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3313:63:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14755, + "nodeType": "ExpressionStatement", + "src": "3313:63:55" + } + ] + }, + "documentation": null, + "id": 14757, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getTotalQuarterModeratorPoint", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14745, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14744, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 14757, + "src": "3209:22:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14743, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3209:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3208:24:55" + }, + "payable": false, + "returnParameters": { + "id": 14748, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14747, + "name": "_totalPoint", + "nodeType": "VariableDeclaration", + "scope": 14757, + "src": "3278:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14746, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3278:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3277:21:55" + }, + "scope": 14926, + "src": "3170:213:55", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14813, + "nodeType": "Block", + "src": "3588:417:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 14770, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "3622:26:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14771, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "3650:28:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14772, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "3680:26:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 14773, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3621:86:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 14769, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "3606:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 14774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3606:102:55", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14768, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3598:7:55", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3598:111:55", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14776, + "nodeType": "ExpressionStatement", + "src": "3598:111:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14777, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "3719:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14779, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "3719:27:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14783, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14761, + "src": "3781:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14780, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "3749:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14781, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "3749:27:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "3749:31:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 14784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3749:39:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3719:69:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14786, + "nodeType": "ExpressionStatement", + "src": "3719:69:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14787, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "3798:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14790, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "3798:23:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14791, + "indexExpression": { + "argumentTypes": null, + "id": 14789, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14759, + "src": "3822:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3798:37:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14797, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14761, + "src": "3880:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14792, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "3838:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14793, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "3838:23:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14795, + "indexExpression": { + "argumentTypes": null, + "id": 14794, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14759, + "src": "3862:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3838:37:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "3838:41:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 14798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3838:49:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3798:89:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14800, + "nodeType": "ExpressionStatement", + "src": "3798:89:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14801, + "name": "_newPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14764, + "src": "3898:9:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14802, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "3910:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14803, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "3910:23:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14805, + "indexExpression": { + "argumentTypes": null, + "id": 14804, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14759, + "src": "3934:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3910:37:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3898:49:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14807, + "nodeType": "ExpressionStatement", + "src": "3898:49:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14808, + "name": "_totalPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14766, + "src": "3957:11:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14809, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "3971:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14810, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "3971:27:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3957:41:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14812, + "nodeType": "ExpressionStatement", + "src": "3957:41:55" + } + ] + }, + "documentation": "@notice add reputation points for a _participant", + "id": 14814, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "increaseReputation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14762, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14759, + "name": "_participant", + "nodeType": "VariableDeclaration", + "scope": 14814, + "src": "3474:20:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14758, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3474:7:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14761, + "name": "_point", + "nodeType": "VariableDeclaration", + "scope": 14814, + "src": "3496:14:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14760, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3496:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3473:38:55" + }, + "payable": false, + "returnParameters": { + "id": 14767, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14764, + "name": "_newPoint", + "nodeType": "VariableDeclaration", + "scope": 14814, + "src": "3544:17:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14763, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3544:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14766, + "name": "_totalPoint", + "nodeType": "VariableDeclaration", + "scope": 14814, + "src": "3563:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14765, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3563:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3543:40:55" + }, + "scope": 14926, + "src": "3446:559:55", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14898, + "nodeType": "Block", + "src": "4213:653:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 14827, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "4247:26:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14828, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "4275:28:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14829, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "4305:11:55", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 14830, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4246:71:55", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 14826, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "4231:14:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 14831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4231:87:55", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14825, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4223:7:55", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4223:96:55", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14833, + "nodeType": "ExpressionStatement", + "src": "4223:96:55" + }, + { + "assignments": [ + 14835 + ], + "declarations": [ + { + "constant": false, + "id": 14835, + "name": "_toDeduct", + "nodeType": "VariableDeclaration", + "scope": 14899, + "src": "4329:17:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14834, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4329:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 14837, + "initialValue": { + "argumentTypes": null, + "id": 14836, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14818, + "src": "4349:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4329:26:55" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 14843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14838, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "4369:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14839, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "4369:23:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14841, + "indexExpression": { + "argumentTypes": null, + "id": 14840, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14816, + "src": "4393:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4369:37:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 14842, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14818, + "src": "4409:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4369:46:55", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 14874, + "nodeType": "Block", + "src": "4537:129:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 14864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14859, + "name": "_toDeduct", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14835, + "src": "4551:9:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14860, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "4563:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14861, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "4563:23:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14863, + "indexExpression": { + "argumentTypes": null, + "id": 14862, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14816, + "src": "4587:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4563:37:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4551:49:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14865, + "nodeType": "ExpressionStatement", + "src": "4551:49:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14866, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "4614:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14869, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "4614:23:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14870, + "indexExpression": { + "argumentTypes": null, + "id": 14868, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14816, + "src": "4638:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4614:37:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 14871, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4654:1:55", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4614:41:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14873, + "nodeType": "ExpressionStatement", + "src": "4614:41:55" + } + ] + }, + "id": 14875, + "nodeType": "IfStatement", + "src": "4365:301:55", + "trueBody": { + "id": 14858, + "nodeType": "Block", + "src": "4417:114:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 14856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14844, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "4431:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14847, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "4431:23:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14848, + "indexExpression": { + "argumentTypes": null, + "id": 14846, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14816, + "src": "4455:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4431:37:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14854, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14818, + "src": "4513:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14849, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "4471:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14850, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "4471:23:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14852, + "indexExpression": { + "argumentTypes": null, + "id": 14851, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14816, + "src": "4495:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4471:37:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "4471:41:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 14855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4471:49:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4431:89:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14857, + "nodeType": "ExpressionStatement", + "src": "4431:89:55" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 14884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14876, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "4676:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14878, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "4676:27:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14882, + "name": "_toDeduct", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14835, + "src": "4738:9:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14879, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "4706:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14880, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "4706:27:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "4706:31:55", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 14883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4706:42:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4676:72:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14885, + "nodeType": "ExpressionStatement", + "src": "4676:72:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14886, + "name": "_newPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14821, + "src": "4759:9:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14887, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "4771:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14888, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "4771:23:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14890, + "indexExpression": { + "argumentTypes": null, + "id": 14889, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14816, + "src": "4795:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4771:37:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4759:49:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14892, + "nodeType": "ExpressionStatement", + "src": "4759:49:55" + }, + { + "expression": { + "argumentTypes": null, + "id": 14896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14893, + "name": "_totalPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14823, + "src": "4818:11:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14894, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "4832:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14895, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "4832:27:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4818:41:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14897, + "nodeType": "ExpressionStatement", + "src": "4818:41:55" + } + ] + }, + "documentation": "@notice subtract reputation points for a _participant", + "id": 14899, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "reduceReputation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14819, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14816, + "name": "_participant", + "nodeType": "VariableDeclaration", + "scope": 14899, + "src": "4099:20:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14815, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4099:7:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14818, + "name": "_point", + "nodeType": "VariableDeclaration", + "scope": 14899, + "src": "4121:14:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14817, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4121:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4098:38:55" + }, + "payable": false, + "returnParameters": { + "id": 14824, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14821, + "name": "_newPoint", + "nodeType": "VariableDeclaration", + "scope": 14899, + "src": "4169:17:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14820, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4169:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 14823, + "name": "_totalPoint", + "nodeType": "VariableDeclaration", + "scope": 14899, + "src": "4188:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14822, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4188:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4168:40:55" + }, + "scope": 14926, + "src": "4073:793:55", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14913, + "nodeType": "Block", + "src": "5027:59:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 14911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14906, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14904, + "src": "5035:6:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14907, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "5044:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14908, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "5044:23:55", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 14910, + "indexExpression": { + "argumentTypes": null, + "id": 14909, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14901, + "src": "5068:12:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5044:37:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5035:46:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14912, + "nodeType": "ExpressionStatement", + "src": "5035:46:55" + } + ] + }, + "documentation": "@notice get reputation points for a _participant", + "id": 14914, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getReputation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14902, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14901, + "name": "_participant", + "nodeType": "VariableDeclaration", + "scope": 14914, + "src": "4948:20:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14900, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4948:7:55", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4947:22:55" + }, + "payable": false, + "returnParameters": { + "id": 14905, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14904, + "name": "_point", + "nodeType": "VariableDeclaration", + "scope": 14914, + "src": "5009:14:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14903, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5009:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5008:16:55" + }, + "scope": 14926, + "src": "4925:161:55", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 14924, + "nodeType": "Block", + "src": "5247:54:55", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 14922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 14919, + "name": "_totalPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14917, + "src": "5255:11:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 14920, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "5269:15:55", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 14921, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "5269:27:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5255:41:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14923, + "nodeType": "ExpressionStatement", + "src": "5255:41:55" + } + ] + }, + "documentation": "@notice get total reputation points distributed in the dao", + "id": 14925, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getTotalReputation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14915, + "nodeType": "ParameterList", + "parameters": [], + "src": "5182:2:55" + }, + "payable": false, + "returnParameters": { + "id": 14918, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14917, + "name": "_totalPoint", + "nodeType": "VariableDeclaration", + "scope": 14925, + "src": "5224:19:55", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14916, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5224:7:55", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5223:21:55" + }, + "scope": 14926, + "src": "5155:146:55", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 14927, + "src": "129:5174:55" + } + ], + "src": "0:5304:55" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0x7caee4a2808b004994349d439c0a3f8214bf8953", + "transactionHash": "0x5d695a43dbf72156a3ed5aeb0d14a7df6d91ad836ae5630279dea74dc0bf172f" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T09:09:53.887Z" +} \ No newline at end of file diff --git a/build/contracts/DaoProposalCounterStorage.json b/build/contracts/DaoProposalCounterStorage.json new file mode 100644 index 0000000..1e9d152 --- /dev/null +++ b/build/contracts/DaoProposalCounterStorage.json @@ -0,0 +1,1391 @@ +{ + "contractName": "DaoProposalCounterStorage", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "proposalCountByQuarter", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "addNonDigixProposalCountInQuarter", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f9060001916905534801561113357600080fd5b506040516020806119448339810180604052810190808051906020019092919050505061117160265482611182640100000000026401000000009004565b151561117c57600080fd5b5061140a565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156111e957600080fd5b505af11580156111fd573d6000803e3d6000fd5b505050506040513d602081101561121357600080fd5b810190808051906020019092919050505090506000151581151514156113fe5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156113af57600080fd5b505af11580156113c3573d6000803e3d6000fd5b505050506040513d60208110156113d957600080fd5b810190808051906020019092919050505015156113f557600080fd5b60019150611403565b600091505b5092915050565b61052b806114196000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec1461007d578063198c6e24146100d45780633943380c146101155780633f83acff146101485780635552f200146101b9578063db4ecbc1146101e6575b600080fd5b34801561008957600080fd5b5061009261023d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100e057600080fd5b506100ff60048036038101908080359060200190929190505050610262565b6040518082815260200191505060405180910390f35b34801561012157600080fd5b5061012a61027a565b60405180826000191660001916815260200191505060405180910390f35b34801561015457600080fd5b506101776004803603810190808035600019169060200190929190505050610280565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c557600080fd5b506101e46004803603810190808035906020019092919050505061035c565b005b3480156101f257600080fd5b506101fb6103b3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60706020528060005260406000206000915090505481565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561031a57600080fd5b505af115801561032e573d6000803e3d6000fd5b505050506040513d602081101561034457600080fd5b81019080805190602001909291905050509050919050565b6103676018546103d9565b151561037257600080fd5b610399600160706000848152602001908152602001600020546104e390919063ffffffff16565b607060008381526020019081526020016000208190555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561047357600080fd5b505af1158015610487573d6000803e3d6000fd5b505050506040513d602081101561049d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b600081830190508281101515156104f657fe5b809050929150505600a165627a7a723058204c6c98ed56dd5d15132b457128111423181de92301f762b127dfc6e28679d35c0029", + "deployedBytecode": "0x608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec1461007d578063198c6e24146100d45780633943380c146101155780633f83acff146101485780635552f200146101b9578063db4ecbc1146101e6575b600080fd5b34801561008957600080fd5b5061009261023d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100e057600080fd5b506100ff60048036038101908080359060200190929190505050610262565b6040518082815260200191505060405180910390f35b34801561012157600080fd5b5061012a61027a565b60405180826000191660001916815260200191505060405180910390f35b34801561015457600080fd5b506101776004803603810190808035600019169060200190929190505050610280565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c557600080fd5b506101e46004803603810190808035906020019092919050505061035c565b005b3480156101f257600080fd5b506101fb6103b3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60706020528060005260406000206000915090505481565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561031a57600080fd5b505af115801561032e573d6000803e3d6000fd5b505050506040513d602081101561034457600080fd5b81019080805190602001909291905050509050919050565b6103676018546103d9565b151561037257600080fd5b610399600160706000848152602001908152602001600020546104e390919063ffffffff16565b607060008381526020019081526020016000208190555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561047357600080fd5b505af1158015610487573d6000803e3d6000fd5b505050506040513d602081101561049d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b600081830190508281101515156104f657fe5b809050929150505600a165627a7a723058204c6c98ed56dd5d15132b457128111423181de92301f762b127dfc6e28679d35c0029", + "sourceMap": "129:678:56:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;203:109:56;8:9:-1;5:2;;;30:1;27;20:12;5:2;203:109:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;259:45;264:28;;294:9;259:4;;;:45;;;:::i;:::-;251:54;;;;;;;;203:109;129:678;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;129:678:56:-;;;;;;;", + "deployedSourceMap": "129:678:56:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;495:58:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;495:58:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;560:245:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;560:245:56;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23;;;;;;;;;;;;;:::o;495:58:56:-;;;;;;;;;;;;;;;;;:::o;264:18:67:-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;560:245:56:-;664:37;674:26;;664:9;:37::i;:::-;656:46;;;;;;;;753:45;796:1;753:22;:38;776:14;753:38;;;;;;;;;;;;:42;;:45;;;;:::i;:::-;712:22;:38;735:14;712:38;;;;;;;;;;;:86;;;;560:245;:::o;344:31:67:-;;;;;;;;;;;;;:::o;610:160::-;671:12;732:8;;;;;;;;;;;715:39;;;755:9;715:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;715:50:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;715:50:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;715:50:67;;;;;;;;;;;;;;;;701:64;;:10;:64;;;691:74;;610:160;;;:::o;1238:128:84:-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"@digix/cacp-contracts-dao/contracts/ResolverClient.sol\";\nimport \"../common/DaoConstants.sol\";\n\ncontract DaoProposalCounterStorage is ResolverClient, DaoConstants {\n\n constructor(address _resolver) public {\n require(init(CONTRACT_STORAGE_DAO_COUNTER, _resolver));\n }\n\n // This is to mark the number of proposals that have been funded in a specific quarter\n // this is to take care of the cap on the number of funded proposals in a quarter\n mapping (uint256 => uint256) public proposalCountByQuarter;\n\n function addNonDigixProposalCountInQuarter(uint256 _quarterNumber)\n public\n {\n require(sender_is(CONTRACT_DAO_VOTING_CLAIMS));\n proposalCountByQuarter[_quarterNumber] = proposalCountByQuarter[_quarterNumber].add(1);\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoProposalCounterStorage.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoProposalCounterStorage.sol", + "exportedSymbols": { + "DaoProposalCounterStorage": [ + 14975 + ] + }, + "id": 14976, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 14928, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:56" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 14929, + "nodeType": "ImportDirective", + "scope": 14976, + "sourceUnit": 19059, + "src": "26:64:56", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "../common/DaoConstants.sol", + "id": 14930, + "nodeType": "ImportDirective", + "scope": 14976, + "sourceUnit": 1581, + "src": "91:36:56", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 14931, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "167:14:56", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 14932, + "nodeType": "InheritanceSpecifier", + "src": "167:14:56" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 14933, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "183:12:56", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 14934, + "nodeType": "InheritanceSpecifier", + "src": "183:12:56" + } + ], + "contractDependencies": [ + 1580, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 14975, + "linearizedBaseContracts": [ + 14975, + 1580, + 19058 + ], + "name": "DaoProposalCounterStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 14946, + "nodeType": "Block", + "src": "241:71:56", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14941, + "name": "CONTRACT_STORAGE_DAO_COUNTER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1351, + "src": "264:28:56", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14942, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14936, + "src": "294:9:56", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 14940, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "259:4:56", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 14943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "259:45:56", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14939, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "251:7:56", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "251:54:56", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14945, + "nodeType": "ExpressionStatement", + "src": "251:54:56" + } + ] + }, + "documentation": null, + "id": 14947, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14937, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14936, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 14947, + "src": "215:17:56", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14935, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "215:7:56", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "214:19:56" + }, + "payable": false, + "returnParameters": { + "id": 14938, + "nodeType": "ParameterList", + "parameters": [], + "src": "241:0:56" + }, + "scope": 14975, + "src": "203:109:56", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "constant": false, + "id": 14951, + "name": "proposalCountByQuarter", + "nodeType": "VariableDeclaration", + "scope": 14975, + "src": "495:58:56", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "typeName": { + "id": 14950, + "keyType": { + "id": 14948, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "504:7:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "495:28:56", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueType": { + "id": 14949, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "515:7:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 14973, + "nodeType": "Block", + "src": "646:159:56", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14958, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "674:26:56", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 14957, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "664:9:56", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 14959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "664:37:56", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14956, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "656:7:56", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "656:46:56", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14961, + "nodeType": "ExpressionStatement", + "src": "656:46:56" + }, + { + "expression": { + "argumentTypes": null, + "id": 14971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14962, + "name": "proposalCountByQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14951, + "src": "712:22:56", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 14964, + "indexExpression": { + "argumentTypes": null, + "id": 14963, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14953, + "src": "735:14:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "712:38:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 14969, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "796:1:56", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14965, + "name": "proposalCountByQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14951, + "src": "753:22:56", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 14967, + "indexExpression": { + "argumentTypes": null, + "id": 14966, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14953, + "src": "776:14:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "753:38:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "753:42:56", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 14970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "753:45:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "712:86:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14972, + "nodeType": "ExpressionStatement", + "src": "712:86:56" + } + ] + }, + "documentation": null, + "id": 14974, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addNonDigixProposalCountInQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14954, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14953, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 14974, + "src": "603:22:56", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14952, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "603:7:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "602:24:56" + }, + "payable": false, + "returnParameters": { + "id": 14955, + "nodeType": "ParameterList", + "parameters": [], + "src": "646:0:56" + }, + "scope": 14975, + "src": "560:245:56", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 14976, + "src": "129:678:56" + } + ], + "src": "0:808:56" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoProposalCounterStorage.sol", + "exportedSymbols": { + "DaoProposalCounterStorage": [ + 14975 + ] + }, + "id": 14976, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 14928, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:56" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 14929, + "nodeType": "ImportDirective", + "scope": 14976, + "sourceUnit": 19059, + "src": "26:64:56", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "../common/DaoConstants.sol", + "id": 14930, + "nodeType": "ImportDirective", + "scope": 14976, + "sourceUnit": 1581, + "src": "91:36:56", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 14931, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "167:14:56", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 14932, + "nodeType": "InheritanceSpecifier", + "src": "167:14:56" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 14933, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "183:12:56", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 14934, + "nodeType": "InheritanceSpecifier", + "src": "183:12:56" + } + ], + "contractDependencies": [ + 1580, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 14975, + "linearizedBaseContracts": [ + 14975, + 1580, + 19058 + ], + "name": "DaoProposalCounterStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 14946, + "nodeType": "Block", + "src": "241:71:56", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14941, + "name": "CONTRACT_STORAGE_DAO_COUNTER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1351, + "src": "264:28:56", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 14942, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14936, + "src": "294:9:56", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 14940, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "259:4:56", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 14943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "259:45:56", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14939, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "251:7:56", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "251:54:56", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14945, + "nodeType": "ExpressionStatement", + "src": "251:54:56" + } + ] + }, + "documentation": null, + "id": 14947, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14937, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14936, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 14947, + "src": "215:17:56", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14935, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "215:7:56", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "214:19:56" + }, + "payable": false, + "returnParameters": { + "id": 14938, + "nodeType": "ParameterList", + "parameters": [], + "src": "241:0:56" + }, + "scope": 14975, + "src": "203:109:56", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "constant": false, + "id": 14951, + "name": "proposalCountByQuarter", + "nodeType": "VariableDeclaration", + "scope": 14975, + "src": "495:58:56", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "typeName": { + "id": 14950, + "keyType": { + "id": 14948, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "504:7:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "495:28:56", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueType": { + "id": 14949, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "515:7:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 14973, + "nodeType": "Block", + "src": "646:159:56", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 14958, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "674:26:56", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 14957, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "664:9:56", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 14959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "664:37:56", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 14956, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "656:7:56", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 14960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "656:46:56", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 14961, + "nodeType": "ExpressionStatement", + "src": "656:46:56" + }, + { + "expression": { + "argumentTypes": null, + "id": 14971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14962, + "name": "proposalCountByQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14951, + "src": "712:22:56", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 14964, + "indexExpression": { + "argumentTypes": null, + "id": 14963, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14953, + "src": "735:14:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "712:38:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 14969, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "796:1:56", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 14965, + "name": "proposalCountByQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14951, + "src": "753:22:56", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 14967, + "indexExpression": { + "argumentTypes": null, + "id": 14966, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14953, + "src": "776:14:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "753:38:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "753:42:56", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 14970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "753:45:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "712:86:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 14972, + "nodeType": "ExpressionStatement", + "src": "712:86:56" + } + ] + }, + "documentation": null, + "id": 14974, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addNonDigixProposalCountInQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 14954, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 14953, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 14974, + "src": "603:22:56", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14952, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "603:7:56", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "602:24:56" + }, + "payable": false, + "returnParameters": { + "id": 14955, + "nodeType": "ParameterList", + "parameters": [], + "src": "646:0:56" + }, + "scope": 14975, + "src": "560:245:56", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 14976, + "src": "129:678:56" + } + ], + "src": "0:808:56" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.899Z" +} \ No newline at end of file diff --git a/build/contracts/DaoRewardsManager.json b/build/contracts/DaoRewardsManager.json new file mode 100644 index 0000000..e5a7605 --- /dev/null +++ b/build/contracts/DaoRewardsManager.json @@ -0,0 +1,32982 @@ +{ + "contractName": "DaoRewardsManager", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ADDRESS_DGX_TOKEN", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentTimeInQuarter", + "outputs": [ + { + "name": "_currentT", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isMainPhase", + "outputs": [ + { + "name": "_isMainPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isLockingPhase", + "outputs": [ + { + "name": "_isLockingPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentQuarterNumber", + "outputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getUintConfig", + "outputs": [ + { + "name": "_configValue", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isDaoNotReplaced", + "outputs": [ + { + "name": "_isNotReplaced", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + }, + { + "name": "_dgxAddress", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "StartNewQuarter", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_newDaoRewardsManager", + "type": "address" + } + ], + "name": "moveDGXsToNewDao", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimRewards", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "updateRewardsAndReputationBeforeNewQuarter", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_operations", + "type": "uint256" + } + ], + "name": "calculateGlobalRewardsBeforeNewQuarter", + "outputs": [ + { + "name": "_done", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b50604051604080620060ee83398101806040528101908080519060200190929190805190602001909291905050506200117f601b548362001373640100000000026401000000009004565b15156200118b57600080fd5b80607060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620011e562001604640100000000026401000000009004565b73ffffffffffffffffffffffffffffffffffffffff1663521fcb6660016200121e604c5462001627640100000000026401000000009004565b6200123a604d5462001627640100000000026401000000009004565b62001256604e5462001627640100000000026401000000009004565b600062001274604f5462001627640100000000026401000000009004565b6200129060505462001627640100000000026401000000009004565b620012ac60515462001627640100000000026401000000009004565b6000426000806040518d63ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808d81526020018c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019c50505050505050505050505050600060405180830381600087803b1580156200135257600080fd5b505af115801562001367573d6000803e3d6000fd5b505050505050620017ff565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620013db57600080fd5b505af1158015620013f0573d6000803e3d6000fd5b505050506040513d60208110156200140757600080fd5b81019080805190602001909291905050509050600015158115151415620015f85730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620015a557600080fd5b505af1158015620015ba573d6000803e3d6000fd5b505050506040513d6020811015620015d157600080fd5b81019080805190602001909291905050501515620015ee57600080fd5b60019150620015fd565b600091505b5092915050565b600062001622602d54620016fd640100000000026401000000009004565b905090565b600062001642620017dc640100000000026401000000009004565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015620016b957600080fd5b505af1158015620016ce573d6000803e3d6000fd5b505050506040513d6020811015620016e557600080fd5b81019080805190602001909291905050509050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156200179857600080fd5b505af1158015620017ad573d6000803e3d6000fd5b505050506040513d6020811015620017c457600080fd5b81019080805190602001909291905050509050919050565b6000620017fa602b54620016fd640100000000026401000000009004565b905090565b6148df806200180f6000396000f3006080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100e05780630d12144b14610137578063372500ab1461018e5780633943380c146101a55780633f5a7583146101d85780633f83acff1461021b57806349da49bc1461028c578063560a25ea146102cf57806368533060146102fa5780637bf4a98d146103295780637d6fed801461036e5780637f6a26b61461039d578063b1e2b9dd146103c8578063d70d93581461040d578063db4ecbc11461043c575b600080fd5b3480156100ec57600080fd5b506100f5610493565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014357600080fd5b5061014c6104b8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561019a57600080fd5b506101a36104de565b005b3480156101b157600080fd5b506101ba610ac7565b60405180826000191660001916815260200191505060405180910390f35b3480156101e457600080fd5b50610219600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610acd565b005b34801561022757600080fd5b5061024a6004803603810190808035600019169060200190929190505050610ce4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561029857600080fd5b506102cd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dc0565b005b3480156102db57600080fd5b506102e4610ded565b6040518082815260200191505060405180910390f35b34801561030657600080fd5b5061030f610dfd565b604051808215151515815260200191505060405180910390f35b34801561033557600080fd5b5061035460048036038101908080359060200190929190505050610e29565b604051808215151515815260200191505060405180910390f35b34801561037a57600080fd5b5061038361131e565b604051808215151515815260200191505060405180910390f35b3480156103a957600080fd5b506103b2611339565b6040518082815260200191505060405180910390f35b3480156103d457600080fd5b506103f76004803603810190808035600019169060200190929190505050611349565b6040518082815260200191505060405180910390f35b34801561041957600080fd5b5061042261140b565b604051808215151515815260200191505060405180910390f35b34801561044857600080fd5b506104516114b9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060006104eb611339565b60018111156105b45760006104fe6114df565b73ffffffffffffffffffffffffffffffffffffffff1663a78e00d6836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561056c57600080fd5b505af1158015610580573d6000803e3d6000fd5b505050506040513d602081101561059657600080fd5b81019080805190602001909291905050501115156105b357600080fd5b5b6105bc61140b565b15156105c757600080fd5b3393506105d3846114f1565b9050809350506107a0620151806107926105eb6114df565b73ffffffffffffffffffffffffffffffffffffffff1663a78e00d66106f660016106136114df565b73ffffffffffffffffffffffffffffffffffffffff166327ddd3ae8c6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156106ad57600080fd5b505af11580156106c1573d6000803e3d6000fd5b505050506040513d60208110156106d757600080fd5b8101908080519060200190929190505050611be090919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561074857600080fd5b505af115801561075c573d6000803e3d6000fd5b505050506040513d602081101561077257600080fd5b810190808051906020019092919050505042611bfc90919063ffffffff16565b611c1590919063ffffffff16565b91506107aa6114df565b73ffffffffffffffffffffffffffffffffffffffff1663d715d6f5846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561081857600080fd5b505af115801561082c573d6000803e3d6000fd5b505050506108fb61083b611c2b565b73ffffffffffffffffffffffffffffffffffffffff1663120c52ef85856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050602060405180830381600087803b1580156108b157600080fd5b505af11580156108c5573d6000803e3d6000fd5b505050506040513d60208110156108db57600080fd5b810190808051906020019092919050505084611bfc90919063ffffffff16565b92506109056114df565b73ffffffffffffffffffffffffffffffffffffffff16636a8cfd098560006040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156109a857600080fd5b505af11580156109bc573d6000803e3d6000fd5b50505050607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610a8557600080fd5b505af1158015610a99573d6000803e3d6000fd5b505050506040513d6020811015610aaf57600080fd5b81019080805190602001909291905050505050505050565b60015481565b6000610ada601454611c3d565b1515610ae557600080fd5b607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610ba257600080fd5b505af1158015610bb6573d6000803e3d6000fd5b505050506040513d6020811015610bcc57600080fd5b81019080805190602001909291905050509050607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610ca457600080fd5b505af1158015610cb8573d6000803e3d6000fd5b505050506040513d6020811015610cce57600080fd5b8101908080519060200190929190505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610d7e57600080fd5b505af1158015610d92573d6000803e3d6000fd5b505050506040513d6020811015610da857600080fd5b81019080805190602001909291905050509050919050565b610dcb601654611c3d565b1515610dd657600080fd5b610ddf816114f1565b5050610dea81611d47565b50565b6000610df8426124ac565b905090565b6000610e0761140b565b8015610e245750610e19603854611349565b610e21610ded565b10155b905090565b6000610e3361470c565b610e3b614787565b6000610e45612595565b1515610e5057600080fd5b610e5861140b565b1515610e6357600080fd5b6000610e6d61268d565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610ed057600080fd5b505af1158015610ee4573d6000803e3d6000fd5b505050506040513d6020811015610efa57600080fd5b810190808051906020019092919050505014151515610f1857600080fd5b610f2061131e565b1515610f2b57600080fd5b6000610f356114df565b73ffffffffffffffffffffffffffffffffffffffff1663a78e00d6610f58611339565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015610faa57600080fd5b505af1158015610fbe573d6000803e3d6000fd5b505050506040513d6020811015610fd457600080fd5b8101908080519060200190929190505050141515610ff157600080fd5b61100c6001610ffe611339565b611bfc90919063ffffffff16565b8360000181815250506000836000015111151561102857600080fd5b611035836000015161269f565b8360c00181905250611045612975565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b61106f85600001516000612987565b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b1580156110c957600080fd5b505af11580156110dd573d6000803e3d6000fd5b505050506040513d60808110156110f357600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505090915090508360600185602001828152508273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050506111728360008785612a33565b905082610120015115156111895760009350611316565b611191612975565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b6111bb85600001516001612987565b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b15801561121557600080fd5b505af1158015611229573d6000803e3d6000fd5b505050506040513d608081101561123f57600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505090915090508360600185604001828152508273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050506112be8360018385612a33565b5082610140015115156112d45760009350611316565b6112dd83613c02565b600193506112e9611339565b7ffc76425595a72efa6bd6c8f55ce8a0e01f5a789fc399e5d779ae1942f3875e5c60405160405180910390a25b505050919050565b600061132b603854611349565b611333610ded565b10905090565b60006113444261405a565b905090565b600061135361415d565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156113c957600080fd5b505af11580156113dd573d6000803e3d6000fd5b505050506040513d60208110156113f357600080fd5b81019080805190602001909291905050509050919050565b600061141561268d565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561147857600080fd5b505af115801561148c573d6000803e3d6000fd5b505050506040513d60208110156114a257600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006114ec602d54610ce4565b905090565b6000806114fc6147c6565b60008060008061150b8861416f565b94506115156114df565b73ffffffffffffffffffffffffffffffffffffffff166378af89ac896040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156115af57600080fd5b505af11580156115c3573d6000803e3d6000fd5b505050506040513d60208110156115d957600080fd5b8101908080519060200190929190505050955084600001516115f9611339565b148061160d57508460200151856000015111155b1561161e5760008696509650611bd6565b6117d4620151806117c66116306114df565b73ffffffffffffffffffffffffffffffffffffffff1663a78e00d661166360018b60200151611be090919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1580156116b557600080fd5b505af11580156116c9573d6000803e3d6000fd5b505050506040513d60208110156116df57600080fd5b81019080805190602001909291905050506116f86114df565b73ffffffffffffffffffffffffffffffffffffffff1663a78e00d661172b60018c60000151611be090919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561177d57600080fd5b505af1158015611791573d6000803e3d6000fd5b505050506040513d60208110156117a757600080fd5b8101908080519060200190929190505050611bfc90919063ffffffff16565b611c1590919063ffffffff16565b93506117de611c2b565b73ffffffffffffffffffffffffffffffffffffffff1663120c52ef87866040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050602060405180830381600087803b15801561185457600080fd5b505af1158015611868573d6000803e3d6000fd5b505050506040513d602081101561187e57600080fd5b810190808051906020019092919050505092506118a48387611bfc90919063ffffffff16565b95506118ae6114df565b73ffffffffffffffffffffffffffffffffffffffff1663d715d6f5846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561191c57600080fd5b505af1158015611930573d6000803e3d6000fd5b5050505061193c61435d565b73ffffffffffffffffffffffffffffffffffffffff1663fd56ff83896040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506040805180830381600087803b1580156119d557600080fd5b505af11580156119e9573d6000803e3d6000fd5b505050506040513d60408110156119ff57600080fd5b8101908080519060200190929190805190602001909291905050508092508193505050611a4781611a398489611be090919063ffffffff16565b611be090919063ffffffff16565b9550611a516114df565b73ffffffffffffffffffffffffffffffffffffffff16636a8cfd0989886040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611af357600080fd5b505af1158015611b07573d6000803e3d6000fd5b50505050611b136114df565b73ffffffffffffffffffffffffffffffffffffffff1663d8048c9d8987600001516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611bb957600080fd5b505af1158015611bcd573d6000803e3d6000fd5b50505050600196505b5050505050915091565b60008183019050828110151515611bf357fe5b80905092915050565b6000828211151515611c0a57fe5b818303905092915050565b60008183811515611c2257fe5b04905092915050565b6000611c38602454610ce4565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611cd757600080fd5b505af1158015611ceb573d6000803e3d6000fd5b505050506040513d6020811015611d0157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b6000806000611d546114df565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611dee57600080fd5b505af1158015611e02573d6000803e3d6000fd5b505050506040513d6020811015611e1857600080fd5b81019080805190602001909291905050509250611e336114df565b73ffffffffffffffffffffffffffffffffffffffff1663bd695d21856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611ecd57600080fd5b505af1158015611ee1573d6000803e3d6000fd5b505050506040513d6020811015611ef757600080fd5b81019080805190602001909291905050509150611f12611339565b611f26600184611be090919063ffffffff16565b101515611f32576124a6565b82611f47600184611be090919063ffffffff16565b14156122685761206784611f5961436f565b73ffffffffffffffffffffffffffffffffffffffff166393383c5187876040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611ffb57600080fd5b505af115801561200f573d6000803e3d6000fd5b505050506040513d602081101561202557600080fd5b8101908080519060200190929190505050612041604c54611349565b61204c605e54611349565b612057606054611349565b612062606154611349565b614381565b61206f6145ee565b73ffffffffffffffffffffffffffffffffffffffff166388954a6c856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561210957600080fd5b505af115801561211d573d6000803e3d6000fd5b505050506040513d602081101561213357600080fd5b810190808051906020019092919050505015612264576122638461215561436f565b73ffffffffffffffffffffffffffffffffffffffff1663a5a9f5bb87876040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156121f757600080fd5b505af115801561220b573d6000803e3d6000fd5b505050506040513d602081101561222157600080fd5b810190808051906020019092919050505061223d604f54611349565b612248606254611349565b612253606354611349565b61225e606454611349565b614381565b5b8291505b6122cd612292612279605f54611349565b612284605e54611349565b611be090919063ffffffff16565b6122bf846122b160016122a3611339565b611bfc90919063ffffffff16565b611bfc90919063ffffffff16565b61460090919063ffffffff16565b905060008111156123c9576122e061436f565b73ffffffffffffffffffffffffffffffffffffffff16637478fbe385836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040805180830381600087803b15801561238157600080fd5b505af1158015612395573d6000803e3d6000fd5b505050506040513d60408110156123ab57600080fd5b81019080805190602001909291908051906020019092919050505050505b6123d16114df565b73ffffffffffffffffffffffffffffffffffffffff166312d9b9398561240860016123fa611339565b611bfc90919063ffffffff16565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561248d57600080fd5b505af11580156124a1573d6000803e3d6000fd5b505050505b50505050565b60006124b6614638565b15156124c157600080fd5b6124cc603954611349565b6125846124d761268d565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561253a57600080fd5b505af115801561254e573d6000803e3d6000fd5b505050506040513d602081101561256457600080fd5b810190808051906020019092919050505084611bfc90919063ffffffff16565b81151561258d57fe5b069050919050565b6000603360019054906101000a900460ff1660ff166125b26146e8565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561264c57600080fd5b505af1158015612660573d6000803e3d6000fd5b505050506040513d602081101561267657600080fd5b810190808051906020019092919050505014905090565b600061269a602754610ce4565b905090565b6126a76147fd565b6126af6114df565b73ffffffffffffffffffffffffffffffffffffffff166362961de9836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050608060405180830381600087803b15801561271d57600080fd5b505af1158015612731573d6000803e3d6000fd5b505050506040513d608081101561274757600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050508460000185602001866040018760600184815250848152508481525084815250505050506127a26114df565b73ffffffffffffffffffffffffffffffffffffffff1663a301c0d2836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050608060405180830381600087803b15801561281057600080fd5b505af1158015612824573d6000803e3d6000fd5b505050506040513d608081101561283a57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050846080018560a0018660c0018760e00184815250848152508481525084815250505050506128956114df565b73ffffffffffffffffffffffffffffffffffffffff1663cf542aa9836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050606060405180830381600087803b15801561290357600080fd5b505af1158015612917573d6000803e3d6000fd5b505050506040513d606081101561292d57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050836101000184610120018561014001838152508381525083815250505050919050565b6000612982602f54610ce4565b905090565b6000816129965760115461299a565b6012545b83604051602001808360001916600019168152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831015156129fe57805182526020820191506020810190506020830392506129d9565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905092915050565b6000806000841415612a4757839150613bf9565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16836060015173ffffffffffffffffffffffffffffffffffffffff161415612ce25784612bbf57612aae6146fa565b73ffffffffffffffffffffffffffffffffffffffff1663f4f9fadc8560016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b158015612b2957600080fd5b505af1158015612b3d573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015612b6757600080fd5b810190808051640100000000811115612b7f57600080fd5b82810190506020810184811115612b9557600080fd5b8151856020820283011164010000000082111715612bb257600080fd5b5050929190505050612cd4565b612bc76146fa565b73ffffffffffffffffffffffffffffffffffffffff166385f0e4bf8560016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b158015612c4257600080fd5b505af1158015612c56573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015612c8057600080fd5b810190808051640100000000811115612c9857600080fd5b82810190506020810184811115612cae57600080fd5b8151856020820283011164010000000082111715612ccb57600080fd5b50509291905050505b866101000181905250612fb8565b84612e3857612cef6146fa565b73ffffffffffffffffffffffffffffffffffffffff166396fe8e6584606001518660016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015612da257600080fd5b505af1158015612db6573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015612de057600080fd5b810190808051640100000000811115612df857600080fd5b82810190506020810184811115612e0e57600080fd5b8151856020820283011164010000000082111715612e2b57600080fd5b5050929190505050612f85565b612e406146fa565b73ffffffffffffffffffffffffffffffffffffffff166340c7174e84606001518660016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015612ef357600080fd5b505af1158015612f07573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015612f3157600080fd5b810190808051640100000000811115612f4957600080fd5b82810190506020810184811115612f5f57600080fd5b8151856020820283011164010000000082111715612f7c57600080fd5b50509291905050505b8661010001819052506000866101000151511415612fb757600186610120019015159081151581525050839150613bf9565b5b85610100015160018761010001515103815181101515612fd457fe5b9060200190602002015190508561010001515186608001818152505060008660a00181815250505b85608001518660a0015110156138f0578561010001518660a0015181518110151561302357fe5b906020019060200201518660e0019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505085600001516130716114df565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff8860e001516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561310f57600080fd5b505af1158015613123573d6000803e3d6000fd5b505050506040513d602081101561313957600080fd5b8101908080519060200190929190505050141515613156576138db565b841561351d5761350f613167611c2b565b73ffffffffffffffffffffffffffffffffffffffff166370ae8f5c8860c00151608001518960c0015160a001518a60c0015160c001516131a561436f565b73ffffffffffffffffffffffffffffffffffffffff1663a5a9f5bb8d60e001518e600001516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561324f57600080fd5b505af1158015613263573d6000803e3d6000fd5b505050506040513d602081101561327957600080fd5b810190808051906020019092919050505061329261436f565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e28e60e001516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561333057600080fd5b505af1158015613344573d6000803e3d6000fd5b505050506040513d602081101561335a57600080fd5b81019080805190602001909291905050506133736145ee565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a278f60e001516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561341157600080fd5b505af1158015613425573d6000803e3d6000fd5b505050506040513d602081101561343b57600080fd5b81019080805190602001909291905050506040518763ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808781526020018681526020018581526020018481526020018381526020018281526020019650505050505050602060405180830381600087803b1580156134c157600080fd5b505af11580156134d5573d6000803e3d6000fd5b505050506040513d60208110156134eb57600080fd5b81019080805190602001909291905050508760400151611be090919063ffffffff16565b8660400181815250506138da565b6138d0613528611c2b565b73ffffffffffffffffffffffffffffffffffffffff166370ae8f5c8860c00151600001518960c00151602001518a60c001516040015161356661436f565b73ffffffffffffffffffffffffffffffffffffffff166393383c518d60e001518e600001516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561361057600080fd5b505af1158015613624573d6000803e3d6000fd5b505050506040513d602081101561363a57600080fd5b810190808051906020019092919050505061365361436f565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e28e60e001516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156136f157600080fd5b505af1158015613705573d6000803e3d6000fd5b505050506040513d602081101561371b57600080fd5b81019080805190602001909291905050506137346145ee565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a278f60e001516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156137d257600080fd5b505af11580156137e6573d6000803e3d6000fd5b505050506040513d60208110156137fc57600080fd5b81019080805190602001909291905050506040518763ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808781526020018681526020018581526020018481526020018381526020018281526020019650505050505050602060405180830381600087803b15801561388257600080fd5b505af1158015613896573d6000803e3d6000fd5b505050506040513d60208110156138ac57600080fd5b81019080805190602001909291905050508760200151611be090919063ffffffff16565b8660200181815250505b5b8560a001805180919060010181525050612ffc565b6138f86145ee565b73ffffffffffffffffffffffffffffffffffffffff1663bbb03dc26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561395b57600080fd5b505af115801561396f573d6000803e3d6000fd5b505050506040513d602081101561398557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480156139cd5750845b156139e5576001866101400190151590811515815250505b6139ed6145ee565b73ffffffffffffffffffffffffffffffffffffffff166382624a2e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015613a5057600080fd5b505af1158015613a64573d6000803e3d6000fd5b505050506040513d6020811015613a7a57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148015613ac3575084155b15613adb576001866101200190151590811515815250505b613ae3612975565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c613b0c886000015188612987565b836000808a613b1f578b60200151613b25565b8b604001515b6040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b158015613bc757600080fd5b505af1158015613bdb573d6000803e3d6000fd5b50505050613bf6866080015185611bfc90919063ffffffff16565b91505b50949350505050565b613dcc8160c001516101400151613dbe613c1a6114df565b73ffffffffffffffffffffffffffffffffffffffff1663f03222f06040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015613c7d57600080fd5b505af1158015613c91573d6000803e3d6000fd5b505050506040513d6020811015613ca757600080fd5b8101908080519060200190929190505050607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015613d7557600080fd5b505af1158015613d89573d6000803e3d6000fd5b505050506040513d6020811015613d9f57600080fd5b8101908080519060200190929190505050611be090919063ffffffff16565b611bfc90919063ffffffff16565b816060018181525050613ddd6145ee565b73ffffffffffffffffffffffffffffffffffffffff16631538e68c60006040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015613e4c57600080fd5b505af1158015613e60573d6000803e3d6000fd5b50505050613e6c6145ee565b73ffffffffffffffffffffffffffffffffffffffff166391baa14460006040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015613edb57600080fd5b505af1158015613eef573d6000803e3d6000fd5b50505050613efb6114df565b73ffffffffffffffffffffffffffffffffffffffff1663521fcb66613f2e60018460000151611be090919063ffffffff16565b613f39604c54611349565b613f44604d54611349565b613f4f604e54611349565b8660200151613f5f604f54611349565b613f6a605054611349565b613f75605154611349565b8a60400151428c60600151613fa08e606001518f60c001516101400151611be090919063ffffffff16565b6040518d63ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808d81526020018c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019c50505050505050505050505050600060405180830381600087803b15801561403f57600080fd5b505af1158015614053573d6000803e3d6000fd5b5050505050565b6000614064614638565b151561406f57600080fd5b6141566001614148614082603954611349565b61413a61408d61268d565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156140f057600080fd5b505af1158015614104573d6000803e3d6000fd5b505050506040513d602081101561411a57600080fd5b810190808051906020019092919050505087611bfc90919063ffffffff16565b611c1590919063ffffffff16565b611be090919063ffffffff16565b9050919050565b600061416a602b54610ce4565b905090565b6141776147c6565b61417f6114df565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561421957600080fd5b505af115801561422d573d6000803e3d6000fd5b505050506040513d602081101561424357600080fd5b81019080805190602001909291905050508160000181815250506142656114df565b73ffffffffffffffffffffffffffffffffffffffff166327ddd3ae836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156142ff57600080fd5b505af1158015614313573d6000803e3d6000fd5b505050506040513d602081101561432957600080fd5b8101908080519060200190929190505050816020018181525050614350816000015161269f565b8160800181905250919050565b600061436a601c54610ce4565b905090565b600061437c602954610ce4565b905090565b600080858710156144ba576143c3866143b5876143a78b8b611bfc90919063ffffffff16565b61460090919063ffffffff16565b611c1590919063ffffffff16565b91506143cd61436f565b73ffffffffffffffffffffffffffffffffffffffff16637478fbe389846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040805180830381600087803b15801561446e57600080fd5b505af1158015614482573d6000803e3d6000fd5b505050506040513d604081101561449857600080fd5b81019080805190602001909291908051906020019092919050505050506145e4565b6144f1836144e3866144d58a8c611bfc90919063ffffffff16565b61460090919063ffffffff16565b611c1590919063ffffffff16565b90506144fb61436f565b73ffffffffffffffffffffffffffffffffffffffff1663ded86d6889836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040805180830381600087803b15801561459c57600080fd5b505af11580156145b0573d6000803e3d6000fd5b505050506040513d60408110156145c657600080fd5b81019080805190602001909291908051906020019092919050505050505b5050505050505050565b60006145fb602c54610ce4565b905090565b6000808314156146135760009050614632565b818302905081838281151561462457fe5b0414151561462e57fe5b8090505b92915050565b60008061464361268d565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156146a657600080fd5b505af11580156146ba573d6000803e3d6000fd5b505050506040513d60208110156146d057600080fd5b81019080805190602001909291905050501415905090565b60006146f5602854610ce4565b905090565b6000614707602354610ce4565b905090565b6102a06040519081016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200161474b614858565b8152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081526020016000151581526020016000151581525090565b608060405190810160405280600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6101e060405190810160405280600081526020016000815260200160008152602001600081526020016147f7614858565b81525090565b6101606040519081016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b61016060405190810160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815250905600a165627a7a72305820ff550355337226cc3524801beeeef6dd722bd4aa3e59d1b31d1d1988398a41990029", + "deployedBytecode": "0x6080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100e05780630d12144b14610137578063372500ab1461018e5780633943380c146101a55780633f5a7583146101d85780633f83acff1461021b57806349da49bc1461028c578063560a25ea146102cf57806368533060146102fa5780637bf4a98d146103295780637d6fed801461036e5780637f6a26b61461039d578063b1e2b9dd146103c8578063d70d93581461040d578063db4ecbc11461043c575b600080fd5b3480156100ec57600080fd5b506100f5610493565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014357600080fd5b5061014c6104b8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561019a57600080fd5b506101a36104de565b005b3480156101b157600080fd5b506101ba610ac7565b60405180826000191660001916815260200191505060405180910390f35b3480156101e457600080fd5b50610219600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610acd565b005b34801561022757600080fd5b5061024a6004803603810190808035600019169060200190929190505050610ce4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561029857600080fd5b506102cd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dc0565b005b3480156102db57600080fd5b506102e4610ded565b6040518082815260200191505060405180910390f35b34801561030657600080fd5b5061030f610dfd565b604051808215151515815260200191505060405180910390f35b34801561033557600080fd5b5061035460048036038101908080359060200190929190505050610e29565b604051808215151515815260200191505060405180910390f35b34801561037a57600080fd5b5061038361131e565b604051808215151515815260200191505060405180910390f35b3480156103a957600080fd5b506103b2611339565b6040518082815260200191505060405180910390f35b3480156103d457600080fd5b506103f76004803603810190808035600019169060200190929190505050611349565b6040518082815260200191505060405180910390f35b34801561041957600080fd5b5061042261140b565b604051808215151515815260200191505060405180910390f35b34801561044857600080fd5b506104516114b9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060006104eb611339565b60018111156105b45760006104fe6114df565b73ffffffffffffffffffffffffffffffffffffffff1663a78e00d6836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561056c57600080fd5b505af1158015610580573d6000803e3d6000fd5b505050506040513d602081101561059657600080fd5b81019080805190602001909291905050501115156105b357600080fd5b5b6105bc61140b565b15156105c757600080fd5b3393506105d3846114f1565b9050809350506107a0620151806107926105eb6114df565b73ffffffffffffffffffffffffffffffffffffffff1663a78e00d66106f660016106136114df565b73ffffffffffffffffffffffffffffffffffffffff166327ddd3ae8c6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156106ad57600080fd5b505af11580156106c1573d6000803e3d6000fd5b505050506040513d60208110156106d757600080fd5b8101908080519060200190929190505050611be090919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561074857600080fd5b505af115801561075c573d6000803e3d6000fd5b505050506040513d602081101561077257600080fd5b810190808051906020019092919050505042611bfc90919063ffffffff16565b611c1590919063ffffffff16565b91506107aa6114df565b73ffffffffffffffffffffffffffffffffffffffff1663d715d6f5846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561081857600080fd5b505af115801561082c573d6000803e3d6000fd5b505050506108fb61083b611c2b565b73ffffffffffffffffffffffffffffffffffffffff1663120c52ef85856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050602060405180830381600087803b1580156108b157600080fd5b505af11580156108c5573d6000803e3d6000fd5b505050506040513d60208110156108db57600080fd5b810190808051906020019092919050505084611bfc90919063ffffffff16565b92506109056114df565b73ffffffffffffffffffffffffffffffffffffffff16636a8cfd098560006040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156109a857600080fd5b505af11580156109bc573d6000803e3d6000fd5b50505050607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610a8557600080fd5b505af1158015610a99573d6000803e3d6000fd5b505050506040513d6020811015610aaf57600080fd5b81019080805190602001909291905050505050505050565b60015481565b6000610ada601454611c3d565b1515610ae557600080fd5b607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610ba257600080fd5b505af1158015610bb6573d6000803e3d6000fd5b505050506040513d6020811015610bcc57600080fd5b81019080805190602001909291905050509050607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610ca457600080fd5b505af1158015610cb8573d6000803e3d6000fd5b505050506040513d6020811015610cce57600080fd5b8101908080519060200190929190505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610d7e57600080fd5b505af1158015610d92573d6000803e3d6000fd5b505050506040513d6020811015610da857600080fd5b81019080805190602001909291905050509050919050565b610dcb601654611c3d565b1515610dd657600080fd5b610ddf816114f1565b5050610dea81611d47565b50565b6000610df8426124ac565b905090565b6000610e0761140b565b8015610e245750610e19603854611349565b610e21610ded565b10155b905090565b6000610e3361470c565b610e3b614787565b6000610e45612595565b1515610e5057600080fd5b610e5861140b565b1515610e6357600080fd5b6000610e6d61268d565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610ed057600080fd5b505af1158015610ee4573d6000803e3d6000fd5b505050506040513d6020811015610efa57600080fd5b810190808051906020019092919050505014151515610f1857600080fd5b610f2061131e565b1515610f2b57600080fd5b6000610f356114df565b73ffffffffffffffffffffffffffffffffffffffff1663a78e00d6610f58611339565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015610faa57600080fd5b505af1158015610fbe573d6000803e3d6000fd5b505050506040513d6020811015610fd457600080fd5b8101908080519060200190929190505050141515610ff157600080fd5b61100c6001610ffe611339565b611bfc90919063ffffffff16565b8360000181815250506000836000015111151561102857600080fd5b611035836000015161269f565b8360c00181905250611045612975565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b61106f85600001516000612987565b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b1580156110c957600080fd5b505af11580156110dd573d6000803e3d6000fd5b505050506040513d60808110156110f357600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505090915090508360600185602001828152508273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050506111728360008785612a33565b905082610120015115156111895760009350611316565b611191612975565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b6111bb85600001516001612987565b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b15801561121557600080fd5b505af1158015611229573d6000803e3d6000fd5b505050506040513d608081101561123f57600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505090915090508360600185604001828152508273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050506112be8360018385612a33565b5082610140015115156112d45760009350611316565b6112dd83613c02565b600193506112e9611339565b7ffc76425595a72efa6bd6c8f55ce8a0e01f5a789fc399e5d779ae1942f3875e5c60405160405180910390a25b505050919050565b600061132b603854611349565b611333610ded565b10905090565b60006113444261405a565b905090565b600061135361415d565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156113c957600080fd5b505af11580156113dd573d6000803e3d6000fd5b505050506040513d60208110156113f357600080fd5b81019080805190602001909291905050509050919050565b600061141561268d565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561147857600080fd5b505af115801561148c573d6000803e3d6000fd5b505050506040513d60208110156114a257600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006114ec602d54610ce4565b905090565b6000806114fc6147c6565b60008060008061150b8861416f565b94506115156114df565b73ffffffffffffffffffffffffffffffffffffffff166378af89ac896040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156115af57600080fd5b505af11580156115c3573d6000803e3d6000fd5b505050506040513d60208110156115d957600080fd5b8101908080519060200190929190505050955084600001516115f9611339565b148061160d57508460200151856000015111155b1561161e5760008696509650611bd6565b6117d4620151806117c66116306114df565b73ffffffffffffffffffffffffffffffffffffffff1663a78e00d661166360018b60200151611be090919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1580156116b557600080fd5b505af11580156116c9573d6000803e3d6000fd5b505050506040513d60208110156116df57600080fd5b81019080805190602001909291905050506116f86114df565b73ffffffffffffffffffffffffffffffffffffffff1663a78e00d661172b60018c60000151611be090919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561177d57600080fd5b505af1158015611791573d6000803e3d6000fd5b505050506040513d60208110156117a757600080fd5b8101908080519060200190929190505050611bfc90919063ffffffff16565b611c1590919063ffffffff16565b93506117de611c2b565b73ffffffffffffffffffffffffffffffffffffffff1663120c52ef87866040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050602060405180830381600087803b15801561185457600080fd5b505af1158015611868573d6000803e3d6000fd5b505050506040513d602081101561187e57600080fd5b810190808051906020019092919050505092506118a48387611bfc90919063ffffffff16565b95506118ae6114df565b73ffffffffffffffffffffffffffffffffffffffff1663d715d6f5846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561191c57600080fd5b505af1158015611930573d6000803e3d6000fd5b5050505061193c61435d565b73ffffffffffffffffffffffffffffffffffffffff1663fd56ff83896040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506040805180830381600087803b1580156119d557600080fd5b505af11580156119e9573d6000803e3d6000fd5b505050506040513d60408110156119ff57600080fd5b8101908080519060200190929190805190602001909291905050508092508193505050611a4781611a398489611be090919063ffffffff16565b611be090919063ffffffff16565b9550611a516114df565b73ffffffffffffffffffffffffffffffffffffffff16636a8cfd0989886040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611af357600080fd5b505af1158015611b07573d6000803e3d6000fd5b50505050611b136114df565b73ffffffffffffffffffffffffffffffffffffffff1663d8048c9d8987600001516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611bb957600080fd5b505af1158015611bcd573d6000803e3d6000fd5b50505050600196505b5050505050915091565b60008183019050828110151515611bf357fe5b80905092915050565b6000828211151515611c0a57fe5b818303905092915050565b60008183811515611c2257fe5b04905092915050565b6000611c38602454610ce4565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611cd757600080fd5b505af1158015611ceb573d6000803e3d6000fd5b505050506040513d6020811015611d0157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b6000806000611d546114df565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611dee57600080fd5b505af1158015611e02573d6000803e3d6000fd5b505050506040513d6020811015611e1857600080fd5b81019080805190602001909291905050509250611e336114df565b73ffffffffffffffffffffffffffffffffffffffff1663bd695d21856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611ecd57600080fd5b505af1158015611ee1573d6000803e3d6000fd5b505050506040513d6020811015611ef757600080fd5b81019080805190602001909291905050509150611f12611339565b611f26600184611be090919063ffffffff16565b101515611f32576124a6565b82611f47600184611be090919063ffffffff16565b14156122685761206784611f5961436f565b73ffffffffffffffffffffffffffffffffffffffff166393383c5187876040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611ffb57600080fd5b505af115801561200f573d6000803e3d6000fd5b505050506040513d602081101561202557600080fd5b8101908080519060200190929190505050612041604c54611349565b61204c605e54611349565b612057606054611349565b612062606154611349565b614381565b61206f6145ee565b73ffffffffffffffffffffffffffffffffffffffff166388954a6c856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561210957600080fd5b505af115801561211d573d6000803e3d6000fd5b505050506040513d602081101561213357600080fd5b810190808051906020019092919050505015612264576122638461215561436f565b73ffffffffffffffffffffffffffffffffffffffff1663a5a9f5bb87876040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156121f757600080fd5b505af115801561220b573d6000803e3d6000fd5b505050506040513d602081101561222157600080fd5b810190808051906020019092919050505061223d604f54611349565b612248606254611349565b612253606354611349565b61225e606454611349565b614381565b5b8291505b6122cd612292612279605f54611349565b612284605e54611349565b611be090919063ffffffff16565b6122bf846122b160016122a3611339565b611bfc90919063ffffffff16565b611bfc90919063ffffffff16565b61460090919063ffffffff16565b905060008111156123c9576122e061436f565b73ffffffffffffffffffffffffffffffffffffffff16637478fbe385836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040805180830381600087803b15801561238157600080fd5b505af1158015612395573d6000803e3d6000fd5b505050506040513d60408110156123ab57600080fd5b81019080805190602001909291908051906020019092919050505050505b6123d16114df565b73ffffffffffffffffffffffffffffffffffffffff166312d9b9398561240860016123fa611339565b611bfc90919063ffffffff16565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561248d57600080fd5b505af11580156124a1573d6000803e3d6000fd5b505050505b50505050565b60006124b6614638565b15156124c157600080fd5b6124cc603954611349565b6125846124d761268d565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561253a57600080fd5b505af115801561254e573d6000803e3d6000fd5b505050506040513d602081101561256457600080fd5b810190808051906020019092919050505084611bfc90919063ffffffff16565b81151561258d57fe5b069050919050565b6000603360019054906101000a900460ff1660ff166125b26146e8565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561264c57600080fd5b505af1158015612660573d6000803e3d6000fd5b505050506040513d602081101561267657600080fd5b810190808051906020019092919050505014905090565b600061269a602754610ce4565b905090565b6126a76147fd565b6126af6114df565b73ffffffffffffffffffffffffffffffffffffffff166362961de9836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050608060405180830381600087803b15801561271d57600080fd5b505af1158015612731573d6000803e3d6000fd5b505050506040513d608081101561274757600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050508460000185602001866040018760600184815250848152508481525084815250505050506127a26114df565b73ffffffffffffffffffffffffffffffffffffffff1663a301c0d2836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050608060405180830381600087803b15801561281057600080fd5b505af1158015612824573d6000803e3d6000fd5b505050506040513d608081101561283a57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050846080018560a0018660c0018760e00184815250848152508481525084815250505050506128956114df565b73ffffffffffffffffffffffffffffffffffffffff1663cf542aa9836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050606060405180830381600087803b15801561290357600080fd5b505af1158015612917573d6000803e3d6000fd5b505050506040513d606081101561292d57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050836101000184610120018561014001838152508381525083815250505050919050565b6000612982602f54610ce4565b905090565b6000816129965760115461299a565b6012545b83604051602001808360001916600019168152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831015156129fe57805182526020820191506020810190506020830392506129d9565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905092915050565b6000806000841415612a4757839150613bf9565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16836060015173ffffffffffffffffffffffffffffffffffffffff161415612ce25784612bbf57612aae6146fa565b73ffffffffffffffffffffffffffffffffffffffff1663f4f9fadc8560016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b158015612b2957600080fd5b505af1158015612b3d573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015612b6757600080fd5b810190808051640100000000811115612b7f57600080fd5b82810190506020810184811115612b9557600080fd5b8151856020820283011164010000000082111715612bb257600080fd5b5050929190505050612cd4565b612bc76146fa565b73ffffffffffffffffffffffffffffffffffffffff166385f0e4bf8560016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b158015612c4257600080fd5b505af1158015612c56573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015612c8057600080fd5b810190808051640100000000811115612c9857600080fd5b82810190506020810184811115612cae57600080fd5b8151856020820283011164010000000082111715612ccb57600080fd5b50509291905050505b866101000181905250612fb8565b84612e3857612cef6146fa565b73ffffffffffffffffffffffffffffffffffffffff166396fe8e6584606001518660016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015612da257600080fd5b505af1158015612db6573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015612de057600080fd5b810190808051640100000000811115612df857600080fd5b82810190506020810184811115612e0e57600080fd5b8151856020820283011164010000000082111715612e2b57600080fd5b5050929190505050612f85565b612e406146fa565b73ffffffffffffffffffffffffffffffffffffffff166340c7174e84606001518660016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015612ef357600080fd5b505af1158015612f07573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015612f3157600080fd5b810190808051640100000000811115612f4957600080fd5b82810190506020810184811115612f5f57600080fd5b8151856020820283011164010000000082111715612f7c57600080fd5b50509291905050505b8661010001819052506000866101000151511415612fb757600186610120019015159081151581525050839150613bf9565b5b85610100015160018761010001515103815181101515612fd457fe5b9060200190602002015190508561010001515186608001818152505060008660a00181815250505b85608001518660a0015110156138f0578561010001518660a0015181518110151561302357fe5b906020019060200201518660e0019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505085600001516130716114df565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff8860e001516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561310f57600080fd5b505af1158015613123573d6000803e3d6000fd5b505050506040513d602081101561313957600080fd5b8101908080519060200190929190505050141515613156576138db565b841561351d5761350f613167611c2b565b73ffffffffffffffffffffffffffffffffffffffff166370ae8f5c8860c00151608001518960c0015160a001518a60c0015160c001516131a561436f565b73ffffffffffffffffffffffffffffffffffffffff1663a5a9f5bb8d60e001518e600001516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561324f57600080fd5b505af1158015613263573d6000803e3d6000fd5b505050506040513d602081101561327957600080fd5b810190808051906020019092919050505061329261436f565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e28e60e001516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561333057600080fd5b505af1158015613344573d6000803e3d6000fd5b505050506040513d602081101561335a57600080fd5b81019080805190602001909291905050506133736145ee565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a278f60e001516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561341157600080fd5b505af1158015613425573d6000803e3d6000fd5b505050506040513d602081101561343b57600080fd5b81019080805190602001909291905050506040518763ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808781526020018681526020018581526020018481526020018381526020018281526020019650505050505050602060405180830381600087803b1580156134c157600080fd5b505af11580156134d5573d6000803e3d6000fd5b505050506040513d60208110156134eb57600080fd5b81019080805190602001909291905050508760400151611be090919063ffffffff16565b8660400181815250506138da565b6138d0613528611c2b565b73ffffffffffffffffffffffffffffffffffffffff166370ae8f5c8860c00151600001518960c00151602001518a60c001516040015161356661436f565b73ffffffffffffffffffffffffffffffffffffffff166393383c518d60e001518e600001516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561361057600080fd5b505af1158015613624573d6000803e3d6000fd5b505050506040513d602081101561363a57600080fd5b810190808051906020019092919050505061365361436f565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e28e60e001516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156136f157600080fd5b505af1158015613705573d6000803e3d6000fd5b505050506040513d602081101561371b57600080fd5b81019080805190602001909291905050506137346145ee565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a278f60e001516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156137d257600080fd5b505af11580156137e6573d6000803e3d6000fd5b505050506040513d60208110156137fc57600080fd5b81019080805190602001909291905050506040518763ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808781526020018681526020018581526020018481526020018381526020018281526020019650505050505050602060405180830381600087803b15801561388257600080fd5b505af1158015613896573d6000803e3d6000fd5b505050506040513d60208110156138ac57600080fd5b81019080805190602001909291905050508760200151611be090919063ffffffff16565b8660200181815250505b5b8560a001805180919060010181525050612ffc565b6138f86145ee565b73ffffffffffffffffffffffffffffffffffffffff1663bbb03dc26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561395b57600080fd5b505af115801561396f573d6000803e3d6000fd5b505050506040513d602081101561398557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480156139cd5750845b156139e5576001866101400190151590811515815250505b6139ed6145ee565b73ffffffffffffffffffffffffffffffffffffffff166382624a2e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015613a5057600080fd5b505af1158015613a64573d6000803e3d6000fd5b505050506040513d6020811015613a7a57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148015613ac3575084155b15613adb576001866101200190151590811515815250505b613ae3612975565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c613b0c886000015188612987565b836000808a613b1f578b60200151613b25565b8b604001515b6040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b158015613bc757600080fd5b505af1158015613bdb573d6000803e3d6000fd5b50505050613bf6866080015185611bfc90919063ffffffff16565b91505b50949350505050565b613dcc8160c001516101400151613dbe613c1a6114df565b73ffffffffffffffffffffffffffffffffffffffff1663f03222f06040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015613c7d57600080fd5b505af1158015613c91573d6000803e3d6000fd5b505050506040513d6020811015613ca757600080fd5b8101908080519060200190929190505050607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015613d7557600080fd5b505af1158015613d89573d6000803e3d6000fd5b505050506040513d6020811015613d9f57600080fd5b8101908080519060200190929190505050611be090919063ffffffff16565b611bfc90919063ffffffff16565b816060018181525050613ddd6145ee565b73ffffffffffffffffffffffffffffffffffffffff16631538e68c60006040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015613e4c57600080fd5b505af1158015613e60573d6000803e3d6000fd5b50505050613e6c6145ee565b73ffffffffffffffffffffffffffffffffffffffff166391baa14460006040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015613edb57600080fd5b505af1158015613eef573d6000803e3d6000fd5b50505050613efb6114df565b73ffffffffffffffffffffffffffffffffffffffff1663521fcb66613f2e60018460000151611be090919063ffffffff16565b613f39604c54611349565b613f44604d54611349565b613f4f604e54611349565b8660200151613f5f604f54611349565b613f6a605054611349565b613f75605154611349565b8a60400151428c60600151613fa08e606001518f60c001516101400151611be090919063ffffffff16565b6040518d63ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808d81526020018c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019c50505050505050505050505050600060405180830381600087803b15801561403f57600080fd5b505af1158015614053573d6000803e3d6000fd5b5050505050565b6000614064614638565b151561406f57600080fd5b6141566001614148614082603954611349565b61413a61408d61268d565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156140f057600080fd5b505af1158015614104573d6000803e3d6000fd5b505050506040513d602081101561411a57600080fd5b810190808051906020019092919050505087611bfc90919063ffffffff16565b611c1590919063ffffffff16565b611be090919063ffffffff16565b9050919050565b600061416a602b54610ce4565b905090565b6141776147c6565b61417f6114df565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561421957600080fd5b505af115801561422d573d6000803e3d6000fd5b505050506040513d602081101561424357600080fd5b81019080805190602001909291905050508160000181815250506142656114df565b73ffffffffffffffffffffffffffffffffffffffff166327ddd3ae836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156142ff57600080fd5b505af1158015614313573d6000803e3d6000fd5b505050506040513d602081101561432957600080fd5b8101908080519060200190929190505050816020018181525050614350816000015161269f565b8160800181905250919050565b600061436a601c54610ce4565b905090565b600061437c602954610ce4565b905090565b600080858710156144ba576143c3866143b5876143a78b8b611bfc90919063ffffffff16565b61460090919063ffffffff16565b611c1590919063ffffffff16565b91506143cd61436f565b73ffffffffffffffffffffffffffffffffffffffff16637478fbe389846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040805180830381600087803b15801561446e57600080fd5b505af1158015614482573d6000803e3d6000fd5b505050506040513d604081101561449857600080fd5b81019080805190602001909291908051906020019092919050505050506145e4565b6144f1836144e3866144d58a8c611bfc90919063ffffffff16565b61460090919063ffffffff16565b611c1590919063ffffffff16565b90506144fb61436f565b73ffffffffffffffffffffffffffffffffffffffff1663ded86d6889836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040805180830381600087803b15801561459c57600080fd5b505af11580156145b0573d6000803e3d6000fd5b505050506040513d60408110156145c657600080fd5b81019080805190602001909291908051906020019092919050505050505b5050505050505050565b60006145fb602c54610ce4565b905090565b6000808314156146135760009050614632565b818302905081838281151561462457fe5b0414151561462e57fe5b8090505b92915050565b60008061464361268d565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156146a657600080fd5b505af11580156146ba573d6000803e3d6000fd5b505050506040513d60208110156146d057600080fd5b81019080805190602001909291905050501415905090565b60006146f5602854610ce4565b905090565b6000614707602354610ce4565b905090565b6102a06040519081016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200161474b614858565b8152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081526020016000151581526020016000151581525090565b608060405190810160405280600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6101e060405190810160405280600081526020016000815260200160008152602001600081526020016147f7614858565b81525090565b6101606040519081016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b61016060405190810160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815250905600a165627a7a72305820ff550355337226cc3524801beeeef6dd722bd4aa3e59d1b31d1d1988398a41990029", + "sourceMap": "390:24052:12:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;1533:1428:12;8:9:-1;5:2;;;30:1;27;20:12;5:2;1533:1428:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1622:45;1627:28;;1657:9;1622:4;;;:45;;;:::i;:::-;1614:54;;;;;;;;1698:11;1678:17;;:31;;;;;;;;;;;;;;;;;;1776:19;:17;;;:19;;;:::i;:::-;:37;;;1827:1;1842:43;1856:28;;1842:13;;;:43;;;:::i;:::-;1899:50;1913:35;;1899:13;;;:50;;;:::i;:::-;1963:53;1977:38;;1963:13;;;:53;;;:::i;:::-;2030:1;2133:53;2147:38;;2133:13;;;:53;;;:::i;:::-;2200:60;2214:45;;2200:13;;;:60;;;:::i;:::-;2274:63;2288:48;;2274:13;;;:63;;;:::i;:::-;2351:1;2789:3;2807:1;2904;1776:1178;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1776:1178:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1776:1178:12;;;;1533:1428;;390:24052;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;6815:199:2:-;6891:27;6964:42;6977:28;;6964:12;;;:42;;;:::i;:::-;6934:73;;6815:199;:::o;7261:189::-;7349:20;7400:19;:17;;;:19;;;:::i;:::-;:31;;;7432:10;7400:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7400:43:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7400:43:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7400:43:2;;;;;;;;;;;;;;;;7385:58;;7261:189;;;:::o;2380:179:67:-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;5398:198:2:-;5474:27;5547:41;5560:27;;5547:12;;;:41;;;:::i;:::-;5517:72;;5398:198;:::o;390:24052:12:-;;;;;;;", + "deployedSourceMap": "390:24052:12:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;827:32:12;;8:9:-1;5:2;;;30:1;27;20:12;5:2;827:32:12;;;;;;;;;;;;;;;;;;;;;;;;;;;3869:1769;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3869:1769:12;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3201:285:12;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3201:285:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5857:268:12;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5857:268:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;4743:147:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4743:147:2;;;;;;;;;;;;;;;;;;;;;;;1759:239;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1759:239:2;;;;;;;;;;;;;;;;;;;;;;;;;;;16324:2104:12;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16324:2104:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1283:201:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1283:201:2;;;;;;;;;;;;;;;;;;;;;;;;;;;3064:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3064:159:2;;;;;;;;;;;;;;;;;;;;;;;7261:189;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7261:189:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;834:173:2;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23;;;;;;;;;;;;;:::o;827:32:12:-;;;;;;;;;;;;;:::o;3869:1769::-;4011:13;4047:21;4515;3935:22;:20;:22::i;:::-;2314:1:2;2297:14;:18;2293:120;;;2400:1;2339:19;:17;:19::i;:::-;:42;;;2382:14;2339:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2339:58:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2339:58:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2339:58:2;;;;;;;;;;;;;;;;:62;2331:71;;;;;;;;2293:120;3981:18:12;:16;:18::i;:::-;3973:27;;;;;;;;4027:10;4011:26;;4170:51;4215:5;4170:44;:51::i;:::-;4150:71;;;;;;4539:311;4843:6;4539:286;4577:19;:17;:19::i;:::-;:42;;;4641:66;4705:1;4641:19;:17;:19::i;:::-;:52;;;4694:5;4641:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4641:59:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4641:59:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4641:59:12;;;;;;;;;;;;;;;;:63;;:66;;;;:::i;:::-;4577:234;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4577:234:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4577:234:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4577:234:12;;;;;;;;;;;;;;;;4539:3;:20;;:286;;;;:::i;:::-;:303;;:311;;;;:::i;:::-;4515:335;;5081:19;:17;:19::i;:::-;:40;;;5122:13;5081:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5081:55:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5081:55:12;;;;5163:149;5194:22;:20;:22::i;:::-;:41;;;5253:13;5284;5194:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5194:117:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5194:117:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5194:117:12;;;;;;;;;;;;;;;;5163:13;:17;;:149;;;;:::i;:::-;5147:165;;5323:19;:17;:19::i;:::-;:38;;;5362:5;5369:1;5323:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5323:48:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5323:48:12;;;;5387:17;;;;;;;;;;;5381:33;;;5415:5;5422:13;5381:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5381:55:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5381:55:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5381:55:12;;;;;;;;;;;;;;;;;3869:1769;;;;:::o;264:18:67:-;;;;:::o;3201:285:12:-;3329:19;3295:23;3305:12;;3295:9;:23::i;:::-;3287:32;;;;;;;;3357:17;;;;;;;;;;;3351:34;;;3394:4;3351:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3351:49:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3351:49:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3351:49:12;;;;;;;;;;;;;;;;3329:71;;3416:17;;;;;;;;;;;3410:33;;;3444:21;3467:11;3410:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3410:69:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3410:69:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3410:69:12;;;;;;;;;;;;;;;;;3201:285;;:::o;2380:179:67:-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;5857:268:12:-;5961:37;5971:26;;5961:9;:37::i;:::-;5953:46;;;;;;;;6010:51;6055:5;6010:44;:51::i;:::-;;;6071:47;6112:5;6071:40;:47::i;:::-;5857:268;:::o;4743:147:2:-;4820:17;4865:18;4879:3;4865:13;:18::i;:::-;4853:30;;4743:147;:::o;1759:239::-;1827:17;1887:18;:16;:18::i;:::-;:104;;;;;1947:44;1961:29;;1947:13;:44::i;:::-;1921:22;:20;:22::i;:::-;:70;;1887:104;1860:131;;1759:239;:::o;16324:2104:12:-;16446:10;16821:30;;:::i;:::-;17065:50;;:::i;:::-;17385:23;412:12:7;:10;:12::i;:::-;404:21;;;;;;;;16480:18:12;:16;:18::i;:::-;16472:27;;;;;;;;16562:1;16517:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16517:41:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16517:41:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16517:41:12;;;;;;;;;;;;;;;;:46;;16509:55;;;;;;;;16635:16;:14;:16::i;:::-;16627:25;;;;;;;;16740:1;16670:19;:17;:19::i;:::-;:42;;;16713:22;:20;:22::i;:::-;16670:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16670:66:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16670:66:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16670:66:12;;;;;;;;;;;;;;;;:71;16662:80;;;;;;;;16884:29;16911:1;16884:22;:20;:22::i;:::-;:26;;:29;;;;:::i;:::-;16861:4;:20;;:52;;;;;16954:1;16931:4;:20;;;:24;16923:33;;;;;;;;17017:37;17033:4;:20;;;17017:15;:37::i;:::-;17004:4;:10;;:50;;;;17230:28;:26;:28::i;:::-;:51;;;17295:69;17336:4;:20;;;17358:5;17295:40;:69::i;:::-;17230:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17230:144:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17230:144:12;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;17230:144:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17125:249;;;;;17139:12;:25;;17180:4;:37;;17125:249;;;;;;;;;;;;;;17411:59;17431:4;17437:5;17444:11;17457:12;17411:19;:59::i;:::-;17385:85;;17670:4;:36;;;17669:37;17665:60;;;17717:5;17710:12;;;;17665:60;17845:28;:26;:28::i;:::-;:51;;;17910:68;17951:4;:20;;;17973:4;17910:40;:68::i;:::-;17845:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17845:143:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17845:143:12;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;17845:143:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17735:253;;;;;17749:12;:25;;17790:4;:42;;17735:253;;;;;;;;;;;;;;17999:62;18019:4;18025;18031:15;18048:12;17999:19;:62::i;:::-;;18164:4;:45;;;18163:46;18159:69;;;18220:5;18213:12;;;;18159:69;18312:32;18339:4;18312:26;:32::i;:::-;18362:4;18354:12;;18398:22;:20;:22::i;:::-;18382:39;;;;;;;;;;435:1:7;16324:2104:12;;;;;;:::o;1283:201:2:-;1354:20;1433:44;1447:29;;1433:13;:44::i;:::-;1408:22;:20;:22::i;:::-;:69;1390:87;;1283:201;:::o;3064:159::-;3140:22;3195:21;3212:3;3195:16;:21::i;:::-;3178:38;;3064:159;:::o;7261:189::-;7349:20;7400:19;:17;:19::i;:::-;:31;;;7432:10;7400:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7400:43:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7400:43:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7400:43:2;;;;;;;;;;;;;;;;7385:58;;7261:189;;;:::o;834:173::-;907:19;960;:17;:19::i;:::-;:38;;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;960:40:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;960:40:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;960:40:2;;;;;;;;;;;;;;;;959:41;942:58;;834:173;:::o;344:31:67:-;;;;;;;;;;;;;:::o;6815:199:2:-;6891:27;6964:42;6977:28;;6964:12;:42::i;:::-;6934:73;;6815:199;:::o;11414:3956:12:-;11517:11;11530:25;11571:23;;:::i;:::-;13041:21;13286:22;14582:32;14624:30;11597:27;11618:5;11597:20;:27::i;:::-;11571:53;;11654:19;:17;:19::i;:::-;:33;;;11688:5;11654:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11654:40:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11654:40:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11654:40:12;;;;;;;;;;;;;;;;11634:60;;12368:4;:28;;;12342:22;:20;:22::i;:::-;:54;12341:143;;;;12446:4;:37;;;12414:4;:28;;;:69;;12341:143;12324:229;;;12517:5;12524:17;12509:33;;;;;;12324:229;13065:211;13269:6;13065:186;13162:19;:17;:19::i;:::-;:42;;;13205:44;13247:1;13205:4;:37;;;:41;;:44;;;;:::i;:::-;13162:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13162:88:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13162:88:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13162:88:12;;;;;;;;;;;;;;;;13065:19;:17;:19::i;:::-;:42;;;13108:35;13141:1;13108:4;:28;;;:32;;:35;;;;:::i;:::-;13065:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13065:79:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13065:79:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13065:79:12;;;;;;;;;;;;;;;;:96;;:186;;;;:::i;:::-;:203;;:211;;;;:::i;:::-;13041:235;;13311:22;:20;:22::i;:::-;:41;;;13366:17;13397:13;13311:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13311:109:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13311:109:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13311:109:12;;;;;;;;;;;;;;;;13286:134;;13450:37;13472:14;13450:17;:21;;:37;;;;:::i;:::-;13430:57;;14515:19;:17;:19::i;:::-;:40;;;14556:14;14515:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14515:56:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14515:56:12;;;;14717:25;:23;:25::i;:::-;:73;;;14791:5;14717:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14717:80:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14717:80:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14717:80:12;;;;;;;;;;;;;;;;;;;;;;;;;14664:133;;;;;;;;14827:75;14879:22;14827:47;14849:24;14827:17;:21;;:47;;;;:::i;:::-;:51;;:75;;;;:::i;:::-;14807:95;;15119:19;:17;:19::i;:::-;:38;;;15158:5;15165:17;15119:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15119:64:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15119:64:12;;;;15245:19;:17;:19::i;:::-;:58;;;15304:5;15311:4;:28;;;15245:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15245:95:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15245:95:12;;;;15359:4;15350:13;;11414:3956;;;;;;;;;:::o;1238:128:84:-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o;1060:116::-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;665:283::-;725:7;941:2;936;:7;;;;;;;;929:14;;665:283;;;;:::o;866:211:12:-;945:30;1024:45;1037:31;;1024:12;:45::i;:::-;991:79;;866:211;:::o;610:160:67:-;671:12;732:8;;;;;;;;;;;715:39;;;755:9;715:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;715:50:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;715:50:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;715:50:67;;;;;;;;;;;;;;;;701:64;;:10;:64;;;691:74;;610:160;;;:::o;6920:3438:12:-;7016:32;7111:44;7230:28;7051:19;:17;:19::i;:::-;:43;;;7095:5;7051:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7051:50:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7051:50:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7051:50:12;;;;;;;;;;;;;;;;7016:85;;7158:19;:17;:19::i;:::-;:55;;;7214:5;7158:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7158:62:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7158:62:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7158:62:12;;;;;;;;;;;;;;;;7111:109;;7445:22;:20;:22::i;:::-;7398:43;7439:1;7398:36;:40;;:43;;;;:::i;:::-;:69;;7381:128;;;7492:7;;7381:128;7901:24;7854:43;7895:1;7854:36;:40;;:43;;;;:::i;:::-;:71;7836:1479;;;7951:399;7983:5;8006:18;:16;:18::i;:::-;:34;;;8041:5;8048:24;8006:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8006:67:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8006:67:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8006:67:12;;;;;;;;;;;;;;;;8091:43;8105:28;;8091:13;:43::i;:::-;8152:50;8166:35;;8152:13;:50::i;:::-;8220:49;8234:34;;8220:13;:49::i;:::-;8287;8301:34;;8287:13;:49::i;:::-;7951:14;:399::i;:::-;8674:17;:15;:17::i;:::-;:36;;;8711:5;8674:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8674:43:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8674:43:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8674:43:12;;;;;;;;;;;;;;;;8670:558;;;8737:476;8773:5;8800:18;:16;:18::i;:::-;:43;;;8844:5;8851:24;8800:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8800:76:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8800:76:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8800:76:12;;;;;;;;;;;;;;;;8898:53;8912:38;;8898:13;:53::i;:::-;8973:60;8987:45;;8973:13;:60::i;:::-;9055:59;9069:44;;9055:13;:59::i;:::-;9136;9150:44;;9136:13;:59::i;:::-;8737:14;:476::i;:::-;8670:558;9280:24;9241:63;;7836:1479;9894:243;10002:121;10074:48;10088:33;;10074:13;:48::i;:::-;10002:50;10016:35;;10002:13;:50::i;:::-;:71;;:121;;;;:::i;:::-;9895:71;9929:36;9895:29;9922:1;9895:22;:20;:22::i;:::-;:26;;:29;;;;:::i;:::-;:33;;:71;;;;:::i;:::-;9894:90;;:243;;;;:::i;:::-;9859:278;;10175:1;10152:20;:24;10148:94;;;10178:18;:16;:18::i;:::-;:35;;;10214:5;10221:20;10178:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10178:64:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10178:64:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10178:64:12;;;;;;;;;;;;;;;;;;;;;;;;;;;10148:94;10252:19;:17;:19::i;:::-;:61;;;10314:5;10321:29;10348:1;10321:22;:20;:22::i;:::-;:26;;:29;;;;:::i;:::-;10252:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10252:99:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10252:99:12;;;;6920:3438;;;;;:::o;3862:332:2:-;3947:22;3993:26;:24;:26::i;:::-;3985:35;;;;;;;;4149:38;4163:23;;4149:13;:38::i;:::-;4082:52;4092:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4092:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4092:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4092:41:2;;;;;;;;;;;;;;;;4082:5;:9;;:52;;;;:::i;:::-;:105;;;;;;;;4053:134;;3862:332;;;:::o;449:186:7:-;518:15;614:14;;;;;;;;;;;562:66;;:18;:16;:18::i;:::-;:36;;;599:10;562:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;562:48:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;562:48:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;562:48:7;;;;;;;;;;;;;;;;:66;549:79;;449:186;:::o;6204:199:2:-;6280:27;6353:42;6366:28;;6353:12;:42::i;:::-;6323:73;;6204:199;:::o;1728:939:4:-;1824:32;;:::i;:::-;2079:19;:17;:19::i;:::-;:46;;;2126:14;2079:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2079:62:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2079:62:4;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2079:62:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1886:6;:32;;1932:6;:32;;1978:6;:35;;2027:6;:39;;1872:269;;;;;;;;;;;;;;;;;;;;2390:19;:17;:19::i;:::-;:44;;;2435:14;2390:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2390:60:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2390:60:4;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2390:60:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2165:6;:41;;2220:6;:41;;2275:6;:44;;2333:6;:44;;2151:299;;;;;;;;;;;;;;;;;;;;2602:19;:17;:19::i;:::-;:42;;;2645:14;2602:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2602:58:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2602:58:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2602:58:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2474:6;:25;;2513:6;:32;;2559:6;:30;;2460:200;;;;;;;;;;;;;;;1728:939;;;:::o;7020:235:2:-;7105:36;7196:51;7209:37;;7196:12;:51::i;:::-;7157:91;;7020:235;:::o;18523:315:12:-;18640:11;18709:13;:83;;18765:27;;18709:83;;;18725:37;;18709:83;18806:14;18679:151;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;18679:151:12;;;18669:162;;;;;;;;;;;;;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;;;18669:162:12;;;;;;;;;;;;;;;;18663:168;;18523:315;;;;:::o;20406:4034::-;20702:20;21835;20757:1;20742:11;:16;20738:40;;;20767:11;20760:18;;;;20738:40;20856:13;;;;;;;;;;;20826:43;;:13;:26;;;:43;;;20822:1003;;;21089:17;:163;;21197:19;:17;:19::i;:::-;:36;;;21234:11;21247:4;21197:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21197:55:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21197:55:12;;;;;;39:16:-1;36:1;17:17;2:54;21197:55:12;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21197:55:12;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;21197:55:12;;;;;;21089:163;;;21125:19;:17;:19::i;:::-;:34;;;21160:11;21173:4;21125:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21125:53:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21125:53:12;;;;;;39:16:-1;36:1;17:17;2:54;21125:53:12;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21125:53:12;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;21125:53:12;;;;;;21089:163;21076:4;:10;;:176;;;;20822:1003;;;21296:17;:227;;21436:19;:17;:19::i;:::-;:40;;;21477:13;:26;;;21505:11;21518:4;21436:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21436:87:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21436:87:12;;;;;;39:16:-1;36:1;17:17;2:54;21436:87:12;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21436:87:12;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;21436:87:12;;;;;;21296:227;;;21332:19;:17;:19::i;:::-;:38;;;21371:13;:26;;;21399:11;21412:4;21332:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21332:85:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21332:85:12;;;;;;39:16:-1;36:1;17:17;2:54;21332:85:12;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21332:85:12;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;21332:85:12;;;;;;21296:227;21283:4;:10;;:240;;;;21700:1;21679:4;:10;;;:17;:22;21675:140;;;21760:4;21721;:36;;:43;;;;;;;;;;;21789:11;21782:18;;;;21675:140;20822:1003;21880:4;:10;;;21911:1;21891:4;:10;;;:17;:21;21880:33;;;;;;;;;;;;;;;;;;21865:48;;21941:4;:10;;;:17;21924:4;:14;;:34;;;;;21980:1;21973:4;:6;;:8;;;;;21968:1635;21989:4;:14;;;21982:4;:6;;;:21;21968:1635;;;22047:4;:10;;;22058:4;:6;;;22047:18;;;;;;;;;;;;;;;;;;22028:4;:16;;:37;;;;;;;;;;;22236:4;:20;;;22171:19;:17;:19::i;:::-;:43;;;22215:4;:16;;;22171:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22171:61:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22171:61:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22171:61:12;;;;;;;;;;;;;;;;:85;;22167:132;;;22276:8;;22167:132;22316:17;22312:1281;;;22398:571;22445:22;:20;:22::i;:::-;:52;;;22519:4;:10;;;:45;;;22586:4;:10;;;:45;;;22653:4;:10;;;:48;;;22723:18;:16;:18::i;:::-;:43;;;22767:4;:16;;;22785:4;:20;;;22723:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22723:83:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22723:83:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22723:83:12;;;;;;;;;;;;;;;;22828:18;:16;:18::i;:::-;:32;;;22861:4;:16;;;22828:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22828:50:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22828:50:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22828:50:12;;;;;;;;;;;;;;;;22900:17;:15;:17::i;:::-;:32;;;22933:4;:16;;;22900:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22900:50:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22900:50:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22900:50:12;;;;;;;;;;;;;;;;22445:523;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22445:523:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22445:523:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22445:523:12;;;;;;;;;;;;;;;;22398:4;:42;;;:46;;:571;;;;:::i;:::-;22353:4;:42;;:616;;;;;22312:1281;;;23048:530;23090:22;:20;:22::i;:::-;:52;;;23164:4;:10;;;:36;;;23222:4;:10;;;:36;;;23280:4;:10;;;:39;;;23341:18;:16;:18::i;:::-;:34;;;23376:4;:16;;;23394:4;:20;;;23341:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23341:74:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23341:74:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23341:74:12;;;;;;;;;;;;;;;;23437:18;:16;:18::i;:::-;:32;;;23470:4;:16;;;23437:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23437:50:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23437:50:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23437:50:12;;;;;;;;;;;;;;;;23509:17;:15;:17::i;:::-;:32;;;23542:4;:16;;;23509:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23509:50:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23509:50:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23509:50:12;;;;;;;;;;;;;;;;23090:487;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23090:487:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23090:487:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23090:487:12;;;;;;;;;;;;;;;;23048:4;:37;;;:41;;:530;;;;:::i;:::-;23008:4;:37;;:570;;;;;22312:1281;21968:1635;22004:4;:6;;:8;;;;;;;;;;;21968:1635;;;23702:17;:15;:17::i;:::-;:35;;;:37;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23702:37:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23702:37:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23702:37:12;;;;;;;;;;;;;;;;23686:53;;:12;:53;;;:74;;;;;23743:17;23686:74;23682:157;;;23824:4;23776;:45;;:52;;;;;;;;;;;23682:157;23868:17;:15;:17::i;:::-;:37;;;:39;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23868:39:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23868:39:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23868:39:12;;;;;;;;;;;;;;;;23852:55;;:12;:55;;;:77;;;;;23912:17;23911:18;23852:77;23848:151;;;23984:4;23945;:36;;:43;;;;;;;;;;;23848:151;24058:28;:26;:28::i;:::-;:51;;;24123:81;24164:4;:20;;;24186:17;24123:40;:81::i;:::-;24218:12;24244:1;24246;24261:17;:102;;24326:4;:37;;;24261:102;;;24281:4;:42;;;24261:102;24058:315;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24058:315:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;24058:315:12;;;;24402:31;24418:4;:14;;;24402:11;:15;;:31;;;;:::i;:::-;24384:49;;20406:4034;;;;;;;;:::o;18966:1300::-;19164:159;19288:4;:10;;;:34;;;19164:106;19231:19;:17;:19::i;:::-;:36;;;:38;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19231:38:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19231:38:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19231:38:12;;;;;;;;;;;;;;;;19170:17;;;;;;;;;;;19164:34;;;19207:4;19164:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19164:49:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19164:49:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19164:49:12;;;;;;;;;;;;;;;;:66;;:106;;;;:::i;:::-;:123;;:159;;;;:::i;:::-;19119:4;:30;;:204;;;;;19393:17;:15;:17::i;:::-;:43;;;19437:1;19393:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19393:46:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19393:46:12;;;;19449:17;:15;:17::i;:::-;:48;;;19498:1;19449:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19449:51:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19449:51:12;;;;19511:19;:17;:19::i;:::-;:37;;;19562:27;19587:1;19562:4;:20;;;:24;;:27;;;;:::i;:::-;19603:43;19617:28;;19603:13;:43::i;:::-;19660:50;19674:35;;19660:13;:50::i;:::-;19724:53;19738:38;;19724:13;:53::i;:::-;19791:4;:37;;;19843:53;19857:38;;19843:13;:53::i;:::-;19910:60;19924:45;;19910:13;:60::i;:::-;19984:63;19998:48;;19984:13;:63::i;:::-;20061:4;:42;;;20118:3;20135:4;:30;;;20179:70;20218:4;:30;;;20179:4;:10;;;:34;;;:38;;:70;;;;:::i;:::-;19511:748;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19511:748:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19511:748:12;;;;18966:1300;:::o;3369:320:2:-;3457:14;3495:26;:24;:26::i;:::-;3487:35;;;;;;;;3553:129;3680:1;3553:109;3623:38;3637:23;;3623:13;:38::i;:::-;3553:52;3563:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3563:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3563:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3563:41:2;;;;;;;;;;;;;;;;3553:5;:9;;:52;;;;:::i;:::-;:69;;:109;;;;:::i;:::-;:126;;:129;;;;:::i;:::-;3532:150;;3369:320;;;:::o;5398:198::-;5474:27;5547:41;5560:27;;5547:12;:41::i;:::-;5517:72;;5398:198;:::o;1262:401:4:-;1354:24;;:::i;:::-;1426:19;:17;:19::i;:::-;:43;;;1470:5;1426:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1426:50:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1426:50:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1426:50:4;;;;;;;;;;;;;;;;1394:5;:29;;:82;;;;;1527:19;:17;:19::i;:::-;:52;;;1580:5;1527:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1527:59:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1527:59:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1527:59:4;;;;;;;;;;;;;;;;1486:5;:38;;:100;;;;;1610:46;1626:5;:29;;;1610:15;:46::i;:::-;1596:5;:11;;:60;;;;1262:401;;;:::o;1083:224:12:-;1165:33;1250:49;1263:35;;1250:12;:49::i;:::-;1214:86;;1083:224;:::o;6614:195:2:-;6689:26;6760:41;6773:27;;6760:12;:41::i;:::-;6731:71;;6614:195;:::o;10469:825:12:-;10698:28;10736:27;10787:10;10777:7;:20;10773:515;;;10852:94;10935:10;10852:61;10897:15;10852:23;10867:7;10852:10;:14;;:23;;;;:::i;:::-;:44;;:61;;;;:::i;:::-;:82;;:94;;;;:::i;:::-;10813:133;;10961:18;:16;:18::i;:::-;:35;;;10997:5;11004:20;10961:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10961:64:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10961:64:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10961:64:12;;;;;;;;;;;;;;;;;;;;;;;;;;;10773:515;;;11094:103;11179:17;11094:63;11139:17;11094:23;11106:10;11094:7;:11;;:23;;;;:::i;:::-;:44;;:63;;;;:::i;:::-;:84;;:103;;;;:::i;:::-;11056:141;;11212:18;:16;:18::i;:::-;:37;;;11250:5;11257:19;11212:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11212:65:12;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11212:65:12;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11212:65:12;;;;;;;;;;;;;;;;;;;;;;;;;;;10773:515;10469:825;;;;;;;;:::o;5602:191:2:-;5676:25;5745:40;5758:26;;5745:12;:40::i;:::-;5717:69;;5602:191;:::o;203:380:84:-;263:9;495:1;489:2;:7;485:36;;;513:1;506:8;;;;485:36;536:2;531;:7;527:11;;561:2;555;551:1;:6;;;;;;;;:12;544:20;;;;;;577:1;570:8;;203:380;;;;;:::o;4343:172:2:-;4426:11;4507:1;4462:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4462:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4462:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4462:41:2;;;;;;;;;;;;;;;;:46;;4453:55;;4343:172;:::o;899:201:7:-;974:28;1049:43;1062:29;;1049:12;:43::i;:::-;1018:75;;899:201;:::o;5193:199:2:-;5269:27;5342:42;5355:28;;5342:12;:42::i;:::-;5312:73;;5193:199;:::o;390:24052:12:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"@digix/cacp-contracts-dao/contracts/ResolverClient.sol\";\nimport \"../common/DaoRewardsManagerCommon.sol\";\nimport \"../lib/DaoStructs.sol\";\nimport \"../service/DaoCalculatorService.sol\";\nimport \"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\";\nimport \"./DaoRewardsManagerExtras.sol\";\n\n/**\n@title Contract to manage DGX rewards\n@author Digix Holdings\n*/\ncontract DaoRewardsManager is DaoRewardsManagerCommon {\n using MathHelper for MathHelper;\n using DaoStructs for DaoStructs.DaoQuarterInfo;\n using DaoStructs for DaoStructs.IntermediateResults;\n\n // is emitted when calculateGlobalRewardsBeforeNewQuarter has been done in the beginning of the quarter\n // after which, all the other DAO activities could happen\n event StartNewQuarter(uint256 indexed _quarterNumber);\n\n address public ADDRESS_DGX_TOKEN;\n\n function daoCalculatorService()\n internal\n view\n returns (DaoCalculatorService _contract)\n {\n _contract = DaoCalculatorService(get_contract(CONTRACT_SERVICE_DAO_CALCULATOR));\n }\n\n function daoRewardsManagerExtras()\n internal\n view\n returns (DaoRewardsManagerExtras _contract)\n {\n _contract = DaoRewardsManagerExtras(get_contract(CONTRACT_DAO_REWARDS_MANAGER_EXTRAS));\n }\n\n /**\n @notice Constructor (set the DaoQuarterInfo struct for the first quarter)\n @param _resolver Address of the Contract Resolver contract\n @param _dgxAddress Address of the Digix Gold Token contract\n */\n constructor(address _resolver, address _dgxAddress)\n public\n {\n require(init(CONTRACT_DAO_REWARDS_MANAGER, _resolver));\n ADDRESS_DGX_TOKEN = _dgxAddress;\n\n // set the DaoQuarterInfo for the first quarter\n daoRewardsStorage().updateQuarterInfo(\n 1,\n getUintConfig(CONFIG_MINIMAL_QUARTER_POINT),\n getUintConfig(CONFIG_QUARTER_POINT_SCALING_FACTOR),\n getUintConfig(CONFIG_REPUTATION_POINT_SCALING_FACTOR),\n 0, // totalEffectiveDGDPreviousQuarter, Not Applicable, this value should not be used ever\n getUintConfig(CONFIG_MODERATOR_MINIMAL_QUARTER_POINT),\n getUintConfig(CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR),\n getUintConfig(CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR),\n 0, // _totalEffectiveModeratorDGDLastQuarter , Not applicable, this value should not be used ever\n\n // _dgxDistributionDay, Not applicable, there shouldnt be any DGX rewards in the DAO now. The actual DGX fees that have been collected\n // before the deployment of DigixDAO contracts would be counted as part of the DGX fees incurred in the first quarter\n // this value should not be used ever\n now,\n\n 0, // _dgxRewardsPoolLastQuarter, not applicable, this value should not be used ever\n 0 // sumRewardsFromBeginning, which is 0\n );\n }\n\n\n /**\n @notice Function to transfer the claimableDGXs to the new DaoRewardsManager\n @dev This is done during the migrateToNewDao procedure\n @param _newDaoRewardsManager Address of the new daoRewardsManager contract\n */\n function moveDGXsToNewDao(address _newDaoRewardsManager)\n public\n {\n require(sender_is(CONTRACT_DAO));\n uint256 _dgxBalance = ERC20(ADDRESS_DGX_TOKEN).balanceOf(address(this));\n ERC20(ADDRESS_DGX_TOKEN).transfer(_newDaoRewardsManager, _dgxBalance);\n }\n\n\n /**\n @notice Function for users to claim the claimable DGX rewards\n @dev Will revert if _claimableDGX < MINIMUM_TRANSFER_AMOUNT of DGX.\n Can only be called after calculateGlobalRewardsBeforeNewQuarter() has been called in the current quarter\n This cannot be called once the current version of Dao contracts have been migrated to newer version\n */\n function claimRewards()\n public\n ifGlobalRewardsSet(currentQuarterNumber())\n {\n require(isDaoNotReplaced());\n\n address _user = msg.sender;\n uint256 _claimableDGX;\n\n // update rewards for the quarter that he last participated in\n (, _claimableDGX) = updateUserRewardsForLastParticipatingQuarter(_user);\n\n // withdraw from his claimableDGXs\n // This has to take into account demurrage\n // Basically, the value of claimableDGXs in the contract is for the dgxDistributionDay of (lastParticipatedQuarter + 1)\n // if now is after that, we need to deduct demurrage\n uint256 _days_elapsed = now\n .sub(\n daoRewardsStorage().readDgxDistributionDay(\n daoRewardsStorage().lastQuarterThatRewardsWasUpdated(_user).add(1) // lastQuarterThatRewardsWasUpdated should be the same as lastParticipatedQuarter now\n )\n )\n .div(1 days);\n\n // similar logic as in the similar step in updateUserRewardsForLastParticipatingQuarter.\n // it is as if the user has withdrawn all _claimableDGX, and the demurrage is paid back into the DAO immediately\n daoRewardsStorage().addToTotalDgxClaimed(_claimableDGX);\n\n _claimableDGX = _claimableDGX.sub(\n daoCalculatorService().calculateDemurrage(\n _claimableDGX,\n _days_elapsed\n ));\n\n daoRewardsStorage().updateClaimableDGX(_user, 0);\n ERC20(ADDRESS_DGX_TOKEN).transfer(_user, _claimableDGX);\n // the _demurrageFees is implicitly \"transfered\" back into the DAO, and would be counted in the dgxRewardsPool of this quarter (in other words, dgxRewardsPoolLastQuarter of next quarter)\n }\n\n\n /**\n @notice Function to update DGX rewards of user. This is only called during locking/withdrawing DGDs, or continuing participation for new quarter\n @param _user Address of the DAO participant\n */\n function updateRewardsAndReputationBeforeNewQuarter(address _user)\n public\n {\n require(sender_is(CONTRACT_DAO_STAKE_LOCKING));\n\n updateUserRewardsForLastParticipatingQuarter(_user);\n updateUserReputationUntilPreviousQuarter(_user);\n }\n\n\n // This function would ALWAYS make sure that the user's Reputation Point is updated for ALL activities that has happened\n // BEFORE this current quarter. These activities include:\n // - Reputation bonus/penalty due to participation in all of the previous quarters\n // - Reputation penalty for not participating for a few quarters, up until and including the previous quarter\n // - Badges redemption and carbon vote reputation redemption (that happens in the first time locking)\n // As such, after this function is called on quarter N, the updated reputation point of the user would tentatively be used to calculate the rewards for quarter N\n // Its tentative because the user can also redeem a badge during the period of quarter N to add to his reputation point.\n function updateUserReputationUntilPreviousQuarter (address _user)\n private\n {\n uint256 _lastParticipatedQuarter = daoRewardsStorage().lastParticipatedQuarter(_user);\n uint256 _lastQuarterThatReputationWasUpdated = daoRewardsStorage().lastQuarterThatReputationWasUpdated(_user);\n uint256 _reputationDeduction;\n\n // If the reputation was already updated until the previous quarter\n // nothing needs to be done\n if (\n _lastQuarterThatReputationWasUpdated.add(1) >= currentQuarterNumber()\n ) {\n return;\n }\n\n // first, we calculate and update the reputation change due to the user's governance activities in lastParticipatedQuarter, if it is not already updated.\n // reputation is not updated for lastParticipatedQuarter yet is equivalent to _lastQuarterThatReputationWasUpdated == _lastParticipatedQuarter - 1\n if (\n (_lastQuarterThatReputationWasUpdated.add(1) == _lastParticipatedQuarter)\n ) {\n updateRPfromQP(\n _user,\n daoPointsStorage().getQuarterPoint(_user, _lastParticipatedQuarter),\n getUintConfig(CONFIG_MINIMAL_QUARTER_POINT),\n getUintConfig(CONFIG_MAXIMUM_REPUTATION_DEDUCTION),\n getUintConfig(CONFIG_REPUTATION_PER_EXTRA_QP_NUM),\n getUintConfig(CONFIG_REPUTATION_PER_EXTRA_QP_DEN)\n );\n\n // this user is not a Moderator for current quarter\n // coz this step is done before updating the refreshModerator.\n // But may have been a Moderator before, and if was moderator in their\n // lastParticipatedQuarter, we will find them in the DoublyLinkedList.\n if (daoStakeStorage().isInModeratorsList(_user)) {\n updateRPfromQP(\n _user,\n daoPointsStorage().getQuarterModeratorPoint(_user, _lastParticipatedQuarter),\n getUintConfig(CONFIG_MODERATOR_MINIMAL_QUARTER_POINT),\n getUintConfig(CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION),\n getUintConfig(CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM),\n getUintConfig(CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN)\n );\n }\n _lastQuarterThatReputationWasUpdated = _lastParticipatedQuarter;\n }\n\n // at this point, the _lastQuarterThatReputationWasUpdated MUST be at least the _lastParticipatedQuarter already\n // Hence, any quarters between the _lastQuarterThatReputationWasUpdated and now must be a non-participating quarter,\n // and this participant should be penalized for those.\n\n // If this is their first ever participation, It is fine as well, as the reputation would be still be 0 after this step.\n // note that the carbon vote's reputation bonus will be added after this, so its fine\n\n _reputationDeduction =\n (currentQuarterNumber().sub(1).sub(_lastQuarterThatReputationWasUpdated))\n .mul(\n getUintConfig(CONFIG_MAXIMUM_REPUTATION_DEDUCTION)\n .add(getUintConfig(CONFIG_PUNISHMENT_FOR_NOT_LOCKING))\n );\n\n if (_reputationDeduction > 0) daoPointsStorage().reduceReputation(_user, _reputationDeduction);\n daoRewardsStorage().updateLastQuarterThatReputationWasUpdated(_user, currentQuarterNumber().sub(1));\n }\n\n\n // update ReputationPoint of a participant based on QuarterPoint/ModeratorQuarterPoint in a quarter\n function updateRPfromQP (\n address _user,\n uint256 _userQP,\n uint256 _minimalQP,\n uint256 _maxRPDeduction,\n uint256 _rpPerExtraQP_num,\n uint256 _rpPerExtraQP_den\n ) internal {\n uint256 _reputationDeduction;\n uint256 _reputationAddition;\n if (_userQP < _minimalQP) {\n _reputationDeduction =\n _minimalQP.sub(_userQP)\n .mul(_maxRPDeduction)\n .div(_minimalQP);\n\n daoPointsStorage().reduceReputation(_user, _reputationDeduction);\n } else {\n _reputationAddition =\n _userQP.sub(_minimalQP)\n .mul(_rpPerExtraQP_num)\n .div(_rpPerExtraQP_den);\n\n daoPointsStorage().increaseReputation(_user, _reputationAddition);\n }\n }\n\n // if the DGX rewards has not been calculated for the user's lastParticipatedQuarter, calculate and update it\n function updateUserRewardsForLastParticipatingQuarter(address _user)\n internal\n returns (bool _valid, uint256 _userClaimableDgx)\n {\n UserRewards memory data = getUserRewardsStruct(_user);\n _userClaimableDgx = daoRewardsStorage().claimableDGXs(_user);\n\n // There is nothing to do if:\n // - The participant is already participating this quarter and hence this function has been called in this quarter\n // - We have updated the rewards to the lastParticipatedQuarter\n // In ANY other cases: it means that the lastParticipatedQuarter is NOT this quarter, and its greater than lastQuarterThatRewardsWasUpdated, hence\n // This also means that this participant has ALREADY PARTICIPATED at least once IN THE PAST, and we have not calculated for this quarter\n // Thus, we need to calculate the Rewards for the lastParticipatedQuarter\n if (\n (currentQuarterNumber() == data.lastParticipatedQuarter) ||\n (data.lastParticipatedQuarter <= data.lastQuarterThatRewardsWasUpdated)\n ) {\n return (false, _userClaimableDgx);\n }\n\n // now we will calculate the user rewards based on info of the data.lastParticipatedQuarter\n\n // first we \"deduct the demurrage\" for the existing claimable DGXs for time period from\n // dgxDistributionDay of (lastQuarterThatRewardsWasUpdated + 1) to dgxDistributionDay of (lastParticipatedQuarter + 1)\n // (note that, when people participate in quarter n, the DGX rewards for quarter n is only released at the dgxDistributionDay of (n+1)th quarter)\n uint256 _days_elapsed = daoRewardsStorage().readDgxDistributionDay(data.lastParticipatedQuarter.add(1))\n .sub(daoRewardsStorage().readDgxDistributionDay(data.lastQuarterThatRewardsWasUpdated.add(1)))\n .div(1 days);\n uint256 _demurrageFees = daoCalculatorService().calculateDemurrage(\n _userClaimableDgx,\n _days_elapsed\n );\n _userClaimableDgx = _userClaimableDgx.sub(_demurrageFees);\n // this demurrage fees will not be accurate to the hours, but we will leave it as this.\n\n // this deducted demurrage is then added to the totalDGXsClaimed\n // This is as if, the user claims exactly _demurrageFees DGXs, which would be used immediately to pay for the demurrage on his claimableDGXs,\n // from dgxDistributionDay of (lastQuarterThatRewardsWasUpdated + 1) to dgxDistributionDay of (lastParticipatedQuarter + 1)\n // This is done as such, so that this _demurrageFees would \"flow back into the DAO\" and be counted in the dgxRewardsPool of this current quarter (in other words, dgxRewardsPoolLastQuarter of the next quarter, as will be calculated in calculateGlobalRewardsBeforeNewQuarter of the next quarter)\n // this is not 100% techinally correct as a demurrage concept, because this demurrage fees could have been incurred for the duration of the quarters in the past, but we will account them this way, as if its demurrage fees for this quarter, for simplicity.\n daoRewardsStorage().addToTotalDgxClaimed(_demurrageFees);\n\n uint256 _dgxRewardsAsParticipant;\n uint256 _dgxRewardsAsModerator;\n (_dgxRewardsAsParticipant, _dgxRewardsAsModerator) = daoRewardsManagerExtras().calculateUserRewardsForLastParticipatingQuarter(_user);\n _userClaimableDgx = _userClaimableDgx.add(_dgxRewardsAsParticipant).add(_dgxRewardsAsModerator);\n\n // update claimableDGXs. The calculation just now should have taken into account demurrage\n // such that the demurrage has been paid until dgxDistributionDay of (lastParticipatedQuarter + 1)\n daoRewardsStorage().updateClaimableDGX(_user, _userClaimableDgx);\n\n // update lastQuarterThatRewardsWasUpdated\n daoRewardsStorage().updateLastQuarterThatRewardsWasUpdated(_user, data.lastParticipatedQuarter);\n _valid = true;\n }\n\n /**\n @notice Function called by the founder after transfering the DGX fees into the DAO at the beginning of the quarter\n @dev This function needs to do lots of calculation, so it might not fit into one transaction\n As such, it could be done in multiple transactions, each time passing _operations which is the number of operations we want to calculate.\n When the value of _done is finally true, that's when the calculation is done.\n Only after this function runs, any other activities in the DAO could happen.\n\n Basically, if there were M participants and N moderators in the previous quarter, it takes M+N \"operations\".\n\n In summary, the function populates the DaoQuarterInfo of this quarter.\n The bulk of the calculation is to go through every participant in the previous quarter to calculate their effectiveDGDBalance and sum them to get the\n totalEffectiveDGDLastQuarter\n */\n function calculateGlobalRewardsBeforeNewQuarter(uint256 _operations)\n public\n if_founder()\n returns (bool _done)\n {\n require(isDaoNotReplaced());\n require(daoUpgradeStorage().startOfFirstQuarter() != 0); // start of first quarter must have been set already\n require(isLockingPhase());\n require(daoRewardsStorage().readDgxDistributionDay(currentQuarterNumber()) == 0); // throw if this function has already finished running this quarter\n\n QuarterRewardsInfo memory info;\n info.previousQuarter = currentQuarterNumber().sub(1);\n require(info.previousQuarter > 0); // throw if this is the first quarter\n info.qInfo = readQuarterInfo(info.previousQuarter);\n\n DaoStructs.IntermediateResults memory interResults;\n (\n interResults.countedUntil,,,\n info.totalEffectiveDGDPreviousQuarter\n ) = intermediateResultsStorage().getIntermediateResults(\n getIntermediateResultsIdForGlobalRewards(info.previousQuarter, false)\n );\n\n uint256 _operationsLeft = sumEffectiveBalance(info, false, _operations, interResults);\n // now we are left with _operationsLeft operations\n // the results is saved in interResults\n\n // if we have not done with calculating the effective balance, quit.\n if (!info.doneCalculatingEffectiveBalance) { return false; }\n\n (\n interResults.countedUntil,,,\n info.totalEffectiveModeratorDGDLastQuarter\n ) = intermediateResultsStorage().getIntermediateResults(\n getIntermediateResultsIdForGlobalRewards(info.previousQuarter, true)\n );\n\n sumEffectiveBalance(info, true, _operationsLeft, interResults);\n\n // if we have not done with calculating the moderator effective balance, quit.\n if (!info.doneCalculatingModeratorEffectiveBalance) { return false; }\n\n // we have done the heavey calculation, now save the quarter info\n processGlobalRewardsUpdate(info);\n _done = true;\n\n emit StartNewQuarter(currentQuarterNumber());\n }\n\n\n // get the Id for the intermediateResult for a quarter's global rewards calculation\n function getIntermediateResultsIdForGlobalRewards(uint256 _quarterNumber, bool _forModerator) internal view returns (bytes32 _id) {\n _id = keccak256(abi.encodePacked(\n _forModerator ? INTERMEDIATE_MODERATOR_DGD_IDENTIFIER : INTERMEDIATE_DGD_IDENTIFIER,\n _quarterNumber\n ));\n }\n\n\n // final step in calculateGlobalRewardsBeforeNewQuarter, which is to save the DaoQuarterInfo struct for this quarter\n function processGlobalRewardsUpdate(QuarterRewardsInfo memory info) internal {\n // calculate how much DGX rewards we got for this quarter\n info.dgxRewardsPoolLastQuarter =\n ERC20(ADDRESS_DGX_TOKEN).balanceOf(address(this))\n .add(daoRewardsStorage().totalDGXsClaimed())\n .sub(info.qInfo.sumRewardsFromBeginning);\n\n // starting new quarter, no one locked in DGDs yet\n daoStakeStorage().updateTotalLockedDGDStake(0);\n daoStakeStorage().updateTotalModeratorLockedDGDs(0);\n\n daoRewardsStorage().updateQuarterInfo(\n info.previousQuarter.add(1),\n getUintConfig(CONFIG_MINIMAL_QUARTER_POINT),\n getUintConfig(CONFIG_QUARTER_POINT_SCALING_FACTOR),\n getUintConfig(CONFIG_REPUTATION_POINT_SCALING_FACTOR),\n info.totalEffectiveDGDPreviousQuarter,\n\n getUintConfig(CONFIG_MODERATOR_MINIMAL_QUARTER_POINT),\n getUintConfig(CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR),\n getUintConfig(CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR),\n info.totalEffectiveModeratorDGDLastQuarter,\n\n now,\n info.dgxRewardsPoolLastQuarter,\n info.qInfo.sumRewardsFromBeginning.add(info.dgxRewardsPoolLastQuarter)\n );\n }\n\n\n // Sum the effective balance (could be effectiveDGDBalance or effectiveModeratorDGDBalance), given that we have _operations left\n function sumEffectiveBalance (\n QuarterRewardsInfo memory info,\n bool _badgeCalculation, // false if this is the first step, true if its the second step\n uint256 _operations,\n DaoStructs.IntermediateResults memory _interResults\n )\n internal\n returns (uint _operationsLeft)\n {\n if (_operations == 0) return _operations; // no more operations left, quit\n\n if (_interResults.countedUntil == EMPTY_ADDRESS) {\n // if this is the first time we are doing this calculation, we need to\n // get the list of the participants to calculate by querying the first _operations participants\n info.users = _badgeCalculation ?\n daoListingService().listModerators(_operations, true)\n : daoListingService().listParticipants(_operations, true);\n } else {\n info.users = _badgeCalculation ?\n daoListingService().listModeratorsFrom(_interResults.countedUntil, _operations, true)\n : daoListingService().listParticipantsFrom(_interResults.countedUntil, _operations, true);\n\n // if this list is the already empty, it means this is the first step (calculating effective balance), and its already done;\n if (info.users.length == 0) {\n info.doneCalculatingEffectiveBalance = true;\n return _operations;\n }\n }\n\n address _lastAddress;\n _lastAddress = info.users[info.users.length - 1];\n\n info.userCount = info.users.length;\n for (info.i=0;info.i=", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3814, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "7445:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 3815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7445:22:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7398:69:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3819, + "nodeType": "IfStatement", + "src": "7381:128:12", + "trueBody": { + "id": 3818, + "nodeType": "Block", + "src": "7478:31:12", + "statements": [ + { + "expression": null, + "functionReturnParameters": 3790, + "id": 3817, + "nodeType": "Return", + "src": "7492:7:12" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 3822, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7895:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 3820, + "name": "_lastQuarterThatReputationWasUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3800, + "src": "7854:36:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "7854:40:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7854:43:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3824, + "name": "_lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "7901:24:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7854:71:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 3826, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7853:73:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3883, + "nodeType": "IfStatement", + "src": "7836:1479:12", + "trueBody": { + "id": 3882, + "nodeType": "Block", + "src": "7937:1378:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3828, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3788, + "src": "7983:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3832, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3788, + "src": "8041:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3833, + "name": "_lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "8048:24:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3829, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "8006:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 3830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8006:18:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 3831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getQuarterPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14708, + "src": "8006:34:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view external returns (uint256)" + } + }, + "id": 3834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8006:67:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3836, + "name": "CONFIG_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1474, + "src": "8105:28:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3835, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "8091:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8091:43:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3839, + "name": "CONFIG_MAXIMUM_REPUTATION_DEDUCTION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1528, + "src": "8166:35:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3838, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "8152:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8152:50:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3842, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1534, + "src": "8234:34:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3841, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "8220:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8220:49:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3845, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1537, + "src": "8301:34:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3844, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "8287:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8287:49:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3827, + "name": "updateRPfromQP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3997, + "src": "7951:14:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256,uint256,uint256,uint256)" + } + }, + "id": 3847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7951:399:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3848, + "nodeType": "ExpressionStatement", + "src": "7951:399:12" + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3852, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3788, + "src": "8711:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3849, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "8674:15:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 3850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8674:17:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 3851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isInModeratorsList", + "nodeType": "MemberAccess", + "referencedDeclaration": 16323, + "src": "8674:36:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 3853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8674:43:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3877, + "nodeType": "IfStatement", + "src": "8670:558:12", + "trueBody": { + "id": 3876, + "nodeType": "Block", + "src": "8719:509:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3855, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3788, + "src": "8773:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3859, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3788, + "src": "8844:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3860, + "name": "_lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "8851:24:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3856, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "8800:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 3857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8800:18:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 3858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getQuarterModeratorPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14727, + "src": "8800:43:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view external returns (uint256)" + } + }, + "id": 3861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8800:76:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3863, + "name": "CONFIG_MODERATOR_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1483, + "src": "8912:38:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3862, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "8898:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8898:53:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3866, + "name": "CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1540, + "src": "8987:45:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3865, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "8973:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8973:60:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3869, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1543, + "src": "9069:44:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3868, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "9055:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9055:59:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3872, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1546, + "src": "9150:44:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3871, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "9136:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9136:59:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3854, + "name": "updateRPfromQP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3997, + "src": "8737:14:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256,uint256,uint256,uint256)" + } + }, + "id": 3874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8737:476:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3875, + "nodeType": "ExpressionStatement", + "src": "8737:476:12" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 3880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3878, + "name": "_lastQuarterThatReputationWasUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3800, + "src": "9241:36:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3879, + "name": "_lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "9280:24:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9241:63:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3881, + "nodeType": "ExpressionStatement", + "src": "9241:63:12" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 3904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3884, + "name": "_reputationDeduction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3808, + "src": "9859:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3900, + "name": "CONFIG_PUNISHMENT_FOR_NOT_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1531, + "src": "10088:33:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3899, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "10074:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10074:48:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3896, + "name": "CONFIG_MAXIMUM_REPUTATION_DEDUCTION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1528, + "src": "10016:35:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3895, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "10002:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10002:50:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "10002:71:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10002:121:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3891, + "name": "_lastQuarterThatReputationWasUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3800, + "src": "9929:36:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 3888, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9922:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3885, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "9895:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 3886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9895:22:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "9895:26:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9895:29:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "9895:33:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9895:71:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3893, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9894:73:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "9894:90:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9894:243:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9859:278:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3905, + "nodeType": "ExpressionStatement", + "src": "9859:278:12" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3906, + "name": "_reputationDeduction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3808, + "src": "10152:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3907, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10175:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10152:24:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3916, + "nodeType": "IfStatement", + "src": "10148:94:12", + "trueBody": { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3912, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3788, + "src": "10214:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3913, + "name": "_reputationDeduction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3808, + "src": "10221:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3909, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "10178:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 3910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10178:18:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 3911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "reduceReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14899, + "src": "10178:35:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address,uint256) external returns (uint256,uint256)" + } + }, + "id": 3914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10178:64:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 3915, + "nodeType": "ExpressionStatement", + "src": "10178:64:12" + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3920, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3788, + "src": "10314:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 3924, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10348:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3921, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "10321:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 3922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10321:22:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "10321:26:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10321:29:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3917, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "10252:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 3918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10252:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 3919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateLastQuarterThatReputationWasUpdated", + "nodeType": "MemberAccess", + "referencedDeclaration": 15243, + "src": "10252:61:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 3926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10252:99:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3927, + "nodeType": "ExpressionStatement", + "src": "10252:99:12" + } + ] + }, + "documentation": null, + "id": 3929, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateUserReputationUntilPreviousQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3789, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3788, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 3929, + "src": "6971:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3787, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6971:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6970:15:12" + }, + "payable": false, + "returnParameters": { + "id": 3790, + "nodeType": "ParameterList", + "parameters": [], + "src": "7006:0:12" + }, + "scope": 4685, + "src": "6920:3438:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 3996, + "nodeType": "Block", + "src": "10688:606:12", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 3945, + "name": "_reputationDeduction", + "nodeType": "VariableDeclaration", + "scope": 3997, + "src": "10698:28:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3944, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10698:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3946, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "10698:28:12" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 3948, + "name": "_reputationAddition", + "nodeType": "VariableDeclaration", + "scope": 3997, + "src": "10736:27:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3947, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10736:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3949, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "10736:27:12" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3950, + "name": "_userQP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3933, + "src": "10777:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 3951, + "name": "_minimalQP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3935, + "src": "10787:10:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10777:20:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3994, + "nodeType": "Block", + "src": "11042:246:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3974, + "name": "_reputationAddition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3948, + "src": "11056:19:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3983, + "name": "_rpPerExtraQP_den", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3941, + "src": "11179:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3980, + "name": "_rpPerExtraQP_num", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3939, + "src": "11139:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3977, + "name": "_minimalQP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3935, + "src": "11106:10:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3975, + "name": "_userQP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3933, + "src": "11094:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "11094:11:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11094:23:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "11094:44:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11094:63:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "11094:84:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11094:103:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11056:141:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3986, + "nodeType": "ExpressionStatement", + "src": "11056:141:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3990, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3931, + "src": "11250:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3991, + "name": "_reputationAddition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3948, + "src": "11257:19:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3987, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "11212:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 3988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11212:18:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 3989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "increaseReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14814, + "src": "11212:37:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address,uint256) external returns (uint256,uint256)" + } + }, + "id": 3992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11212:65:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 3993, + "nodeType": "ExpressionStatement", + "src": "11212:65:12" + } + ] + }, + "id": 3995, + "nodeType": "IfStatement", + "src": "10773:515:12", + "trueBody": { + "id": 3973, + "nodeType": "Block", + "src": "10799:237:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3953, + "name": "_reputationDeduction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3945, + "src": "10813:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3962, + "name": "_minimalQP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3935, + "src": "10935:10:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3959, + "name": "_maxRPDeduction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3937, + "src": "10897:15:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3956, + "name": "_userQP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3933, + "src": "10867:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3954, + "name": "_minimalQP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3935, + "src": "10852:10:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "10852:14:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10852:23:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "10852:44:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10852:61:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "10852:82:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10852:94:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10813:133:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3965, + "nodeType": "ExpressionStatement", + "src": "10813:133:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3969, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3931, + "src": "10997:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3970, + "name": "_reputationDeduction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3945, + "src": "11004:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3966, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "10961:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 3967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10961:18:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 3968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "reduceReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14899, + "src": "10961:35:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address,uint256) external returns (uint256,uint256)" + } + }, + "id": 3971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10961:64:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 3972, + "nodeType": "ExpressionStatement", + "src": "10961:64:12" + } + ] + } + } + ] + }, + "documentation": null, + "id": 3997, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateRPfromQP", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3942, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3931, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 3997, + "src": "10503:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3930, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10503:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3933, + "name": "_userQP", + "nodeType": "VariableDeclaration", + "scope": 3997, + "src": "10526:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3932, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10526:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3935, + "name": "_minimalQP", + "nodeType": "VariableDeclaration", + "scope": 3997, + "src": "10551:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3934, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10551:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3937, + "name": "_maxRPDeduction", + "nodeType": "VariableDeclaration", + "scope": 3997, + "src": "10579:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3936, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10579:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3939, + "name": "_rpPerExtraQP_num", + "nodeType": "VariableDeclaration", + "scope": 3997, + "src": "10612:25:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3938, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10612:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3941, + "name": "_rpPerExtraQP_den", + "nodeType": "VariableDeclaration", + "scope": 3997, + "src": "10647:25:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3940, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10647:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10493:185:12" + }, + "payable": false, + "returnParameters": { + "id": 3943, + "nodeType": "ParameterList", + "parameters": [], + "src": "10688:0:12" + }, + "scope": 4685, + "src": "10469:825:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4132, + "nodeType": "Block", + "src": "11561:3809:12", + "statements": [ + { + "assignments": [ + 4007 + ], + "declarations": [ + { + "constant": false, + "id": 4007, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 4133, + "src": "11571:23:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards" + }, + "typeName": { + "contractScope": null, + "id": 4006, + "name": "UserRewards", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1600, + "src": "11571:11:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_storage_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4011, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4009, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3999, + "src": "11618:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4008, + "name": "getUserRewardsStruct", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1661, + "src": "11597:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_struct$_UserRewards_$1600_memory_ptr_$", + "typeString": "function (address) view returns (struct DaoRewardsManagerCommon.UserRewards memory)" + } + }, + "id": 4010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11597:27:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11571:53:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4012, + "name": "_userClaimableDgx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4004, + "src": "11634:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4016, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3999, + "src": "11688:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4013, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "11654:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11654:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "claimableDGXs", + "nodeType": "MemberAccess", + "referencedDeclaration": 14995, + "src": "11654:33:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 4017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11654:40:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11634:60:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4019, + "nodeType": "ExpressionStatement", + "src": "11634:60:12" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4020, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "12342:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 4021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12342:22:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4022, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4007, + "src": "12368:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4023, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "12368:28:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12342:54:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 4025, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12341:56:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4026, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4007, + "src": "12414:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4027, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "12414:28:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4028, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4007, + "src": "12446:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4029, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastQuarterThatRewardsWasUpdated", + "nodeType": "MemberAccess", + "referencedDeclaration": 1593, + "src": "12446:37:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12414:69:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 4031, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12413:71:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12341:143:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4038, + "nodeType": "IfStatement", + "src": "12324:229:12", + "trueBody": { + "id": 4037, + "nodeType": "Block", + "src": "12495:58:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 4033, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12517:5:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "id": 4034, + "name": "_userClaimableDgx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4004, + "src": "12524:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4035, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12516:26:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "functionReturnParameters": 4005, + "id": 4036, + "nodeType": "Return", + "src": "12509:33:12" + } + ] + } + }, + { + "assignments": [ + 4040 + ], + "declarations": [ + { + "constant": false, + "id": 4040, + "name": "_days_elapsed", + "nodeType": "VariableDeclaration", + "scope": 4133, + "src": "13041:21:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4039, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13041:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4064, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4062, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13269:6:12", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4057, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13247:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4054, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4007, + "src": "13205:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4055, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastQuarterThatRewardsWasUpdated", + "nodeType": "MemberAccess", + "referencedDeclaration": 1593, + "src": "13205:37:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "13205:41:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13205:44:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4051, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "13162:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13162:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readDgxDistributionDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 15499, + "src": "13162:42:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13162:88:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13141:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4044, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4007, + "src": "13108:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4045, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "13108:28:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "13108:32:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13108:35:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4041, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "13065:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13065:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readDgxDistributionDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 15499, + "src": "13065:42:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13065:79:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "13065:96:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13065:186:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "13065:203:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4063, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13065:211:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13041:235:12" + }, + { + "assignments": [ + 4066 + ], + "declarations": [ + { + "constant": false, + "id": 4066, + "name": "_demurrageFees", + "nodeType": "VariableDeclaration", + "scope": 4133, + "src": "13286:22:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4065, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13286:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4073, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4070, + "name": "_userClaimableDgx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4004, + "src": "13366:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4071, + "name": "_days_elapsed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "13397:13:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4067, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3591, + "src": "13311:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 4068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13311:22:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 4069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "calculateDemurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 12493, + "src": "13311:41:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) view external returns (uint256)" + } + }, + "id": 4072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13311:109:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13286:134:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4074, + "name": "_userClaimableDgx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4004, + "src": "13430:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4077, + "name": "_demurrageFees", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4066, + "src": "13472:14:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4075, + "name": "_userClaimableDgx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4004, + "src": "13450:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4076, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "13450:21:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13450:37:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13430:57:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4080, + "nodeType": "ExpressionStatement", + "src": "13430:57:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4084, + "name": "_demurrageFees", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4066, + "src": "14556:14:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4081, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "14515:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14515:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addToTotalDgxClaimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 15262, + "src": "14515:40:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 4085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14515:56:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4086, + "nodeType": "ExpressionStatement", + "src": "14515:56:12" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 4088, + "name": "_dgxRewardsAsParticipant", + "nodeType": "VariableDeclaration", + "scope": 4133, + "src": "14582:32:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4087, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14582:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4089, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "14582:32:12" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 4091, + "name": "_dgxRewardsAsModerator", + "nodeType": "VariableDeclaration", + "scope": 4133, + "src": "14624:30:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4090, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14624:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4092, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "14624:30:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 4093, + "name": "_dgxRewardsAsParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4088, + "src": "14665:24:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4094, + "name": "_dgxRewardsAsModerator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4091, + "src": "14691:22:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4095, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "14664:50:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4099, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3999, + "src": "14791:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4096, + "name": "daoRewardsManagerExtras", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3605, + "src": "14717:23:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsManagerExtras_$4910_$", + "typeString": "function () view returns (contract DaoRewardsManagerExtras)" + } + }, + "id": 4097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14717:25:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManagerExtras_$4910", + "typeString": "contract DaoRewardsManagerExtras" + } + }, + "id": 4098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "calculateUserRewardsForLastParticipatingQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 4909, + "src": "14717:73:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address) view external returns (uint256,uint256)" + } + }, + "id": 4100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14717:80:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "14664:133:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4102, + "nodeType": "ExpressionStatement", + "src": "14664:133:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4103, + "name": "_userClaimableDgx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4004, + "src": "14807:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4109, + "name": "_dgxRewardsAsModerator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4091, + "src": "14879:22:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4106, + "name": "_dgxRewardsAsParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4088, + "src": "14849:24:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4104, + "name": "_userClaimableDgx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4004, + "src": "14827:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "14827:21:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14827:47:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "14827:51:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14827:75:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14807:95:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4112, + "nodeType": "ExpressionStatement", + "src": "14807:95:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4116, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3999, + "src": "15158:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4117, + "name": "_userClaimableDgx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4004, + "src": "15165:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4113, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "15119:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15119:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateClaimableDGX", + "nodeType": "MemberAccess", + "referencedDeclaration": 15157, + "src": "15119:38:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 4118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15119:64:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4119, + "nodeType": "ExpressionStatement", + "src": "15119:64:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4123, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3999, + "src": "15304:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4124, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4007, + "src": "15311:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4125, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "15311:28:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4120, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "15245:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15245:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateLastQuarterThatRewardsWasUpdated", + "nodeType": "MemberAccess", + "referencedDeclaration": 15220, + "src": "15245:58:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 4126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15245:95:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4127, + "nodeType": "ExpressionStatement", + "src": "15245:95:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4128, + "name": "_valid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4002, + "src": "15350:6:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15359:4:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "15350:13:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4131, + "nodeType": "ExpressionStatement", + "src": "15350:13:12" + } + ] + }, + "documentation": null, + "id": 4133, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateUserRewardsForLastParticipatingQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4000, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3999, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 4133, + "src": "11468:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3998, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11468:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11467:15:12" + }, + "payable": false, + "returnParameters": { + "id": 4005, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4002, + "name": "_valid", + "nodeType": "VariableDeclaration", + "scope": 4133, + "src": "11517:11:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4001, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11517:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4004, + "name": "_userClaimableDgx", + "nodeType": "VariableDeclaration", + "scope": 4133, + "src": "11530:25:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4003, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11530:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11516:40:12" + }, + "scope": 4685, + "src": "11414:3956:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4283, + "nodeType": "Block", + "src": "16462:1966:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4143, + "name": "isDaoNotReplaced", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 872, + "src": "16480:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 4144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16480:18:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4142, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16472:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16472:27:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4146, + "nodeType": "ExpressionStatement", + "src": "16472:27:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4148, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "16517:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 4149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16517:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 4150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "startOfFirstQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 18314, + "src": "16517:39:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 4151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16517:41:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 4152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16562:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16517:46:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4147, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16509:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16509:55:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4155, + "nodeType": "ExpressionStatement", + "src": "16509:55:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4157, + "name": "isLockingPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 887, + "src": "16635:14:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 4158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16635:16:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4156, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16627:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16627:25:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4160, + "nodeType": "ExpressionStatement", + "src": "16627:25:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4165, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "16713:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 4166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16713:22:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4162, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "16670:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16670:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readDgxDistributionDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 15499, + "src": "16670:42:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16670:66:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 4168, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16740:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16670:71:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4161, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16662:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16662:80:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4171, + "nodeType": "ExpressionStatement", + "src": "16662:80:12" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 4173, + "name": "info", + "nodeType": "VariableDeclaration", + "scope": 4284, + "src": "16821:30:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo" + }, + "typeName": { + "contractScope": null, + "id": 4172, + "name": "QuarterRewardsInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1624, + "src": "16821:18:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_storage_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4174, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16821:30:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4175, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "16861:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4177, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "previousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1602, + "src": "16861:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16911:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4178, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "16884:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 4179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16884:22:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "16884:26:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16884:29:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16861:52:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4184, + "nodeType": "ExpressionStatement", + "src": "16861:52:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4186, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "16931:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4187, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1602, + "src": "16931:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 4188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16954:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16931:24:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4185, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16923:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16923:33:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4191, + "nodeType": "ExpressionStatement", + "src": "16923:33:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4192, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "17004:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4194, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1614, + "src": "17004:10:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4196, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "17033:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4197, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1602, + "src": "17033:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4195, + "name": "readQuarterInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1718, + "src": "17017:15:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_DaoQuarterInfo_$8481_memory_ptr_$", + "typeString": "function (uint256) view returns (struct DaoStructs.DaoQuarterInfo memory)" + } + }, + "id": 4198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17017:37:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "src": "17004:50:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4200, + "nodeType": "ExpressionStatement", + "src": "17004:50:12" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 4204, + "name": "interResults", + "nodeType": "VariableDeclaration", + "scope": 4284, + "src": "17065:50:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + }, + "typeName": { + "contractScope": null, + "id": 4203, + "name": "DaoStructs.IntermediateResults", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8490, + "src": "17065:30:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4205, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "17065:50:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4206, + "name": "interResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4204, + "src": "17139:12:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 4208, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "17139:25:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + null, + null, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4209, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "17180:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4210, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalEffectiveDGDPreviousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1604, + "src": "17180:37:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4211, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "17125:102:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$__$__$_t_uint256_$", + "typeString": "tuple(address,,,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4216, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "17336:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4217, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1602, + "src": "17336:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 4218, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17358:5:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4215, + "name": "getIntermediateResultsIdForGlobalRewards", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4307, + "src": "17295:40:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_bool_$returns$_t_bytes32_$", + "typeString": "function (uint256,bool) view returns (bytes32)" + } + }, + "id": 4219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17295:69:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4212, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "17230:26:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 4213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17230:28:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 4214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18511, + "src": "17230:51:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (address,uint256,uint256,uint256)" + } + }, + "id": 4220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17230:144:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(address,uint256,uint256,uint256)" + } + }, + "src": "17125:249:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4222, + "nodeType": "ExpressionStatement", + "src": "17125:249:12" + }, + { + "assignments": [ + 4224 + ], + "declarations": [ + { + "constant": false, + "id": 4224, + "name": "_operationsLeft", + "nodeType": "VariableDeclaration", + "scope": 4284, + "src": "17385:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4223, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17385:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4231, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4226, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "17431:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 4227, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17437:5:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "id": 4228, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4135, + "src": "17444:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4229, + "name": "interResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4204, + "src": "17457:12:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + ], + "id": 4225, + "name": "sumEffectiveBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4684, + "src": "17411:19:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_QuarterRewardsInfo_$1624_memory_ptr_$_t_bool_$_t_uint256_$_t_struct$_IntermediateResults_$8490_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DaoRewardsManagerCommon.QuarterRewardsInfo memory,bool,uint256,struct DaoStructs.IntermediateResults memory) returns (uint256)" + } + }, + "id": 4230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17411:59:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17385:85:12" + }, + { + "condition": { + "argumentTypes": null, + "id": 4234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "17669:37:12", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4232, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "17670:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "doneCalculatingEffectiveBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 1621, + "src": "17670:36:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4238, + "nodeType": "IfStatement", + "src": "17665:60:12", + "trueBody": { + "id": 4237, + "nodeType": "Block", + "src": "17708:17:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 4235, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17717:5:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 4141, + "id": 4236, + "nodeType": "Return", + "src": "17710:12:12" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 4254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4239, + "name": "interResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4204, + "src": "17749:12:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 4241, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "17749:25:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + null, + null, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4242, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "17790:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4243, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1606, + "src": "17790:42:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4244, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "17735:107:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$__$__$_t_uint256_$", + "typeString": "tuple(address,,,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4249, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "17951:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4250, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1602, + "src": "17951:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4251, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17973:4:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4248, + "name": "getIntermediateResultsIdForGlobalRewards", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4307, + "src": "17910:40:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_bool_$returns$_t_bytes32_$", + "typeString": "function (uint256,bool) view returns (bytes32)" + } + }, + "id": 4252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17910:68:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4245, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "17845:26:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 4246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17845:28:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 4247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18511, + "src": "17845:51:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (address,uint256,uint256,uint256)" + } + }, + "id": 4253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17845:143:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(address,uint256,uint256,uint256)" + } + }, + "src": "17735:253:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4255, + "nodeType": "ExpressionStatement", + "src": "17735:253:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4257, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "18019:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18025:4:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "id": 4259, + "name": "_operationsLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4224, + "src": "18031:15:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4260, + "name": "interResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4204, + "src": "18048:12:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + ], + "id": 4256, + "name": "sumEffectiveBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4684, + "src": "17999:19:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_QuarterRewardsInfo_$1624_memory_ptr_$_t_bool_$_t_uint256_$_t_struct$_IntermediateResults_$8490_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DaoRewardsManagerCommon.QuarterRewardsInfo memory,bool,uint256,struct DaoStructs.IntermediateResults memory) returns (uint256)" + } + }, + "id": 4261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17999:62:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4262, + "nodeType": "ExpressionStatement", + "src": "17999:62:12" + }, + { + "condition": { + "argumentTypes": null, + "id": 4265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "18163:46:12", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4263, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "18164:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4264, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "doneCalculatingModeratorEffectiveBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 1623, + "src": "18164:45:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4269, + "nodeType": "IfStatement", + "src": "18159:69:12", + "trueBody": { + "id": 4268, + "nodeType": "Block", + "src": "18211:17:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 4266, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18220:5:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 4141, + "id": 4267, + "nodeType": "Return", + "src": "18213:12:12" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4271, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "18339:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + ], + "id": 4270, + "name": "processGlobalRewardsUpdate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4391, + "src": "18312:26:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_QuarterRewardsInfo_$1624_memory_ptr_$returns$__$", + "typeString": "function (struct DaoRewardsManagerCommon.QuarterRewardsInfo memory)" + } + }, + "id": 4272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18312:32:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4273, + "nodeType": "ExpressionStatement", + "src": "18312:32:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4274, + "name": "_done", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4140, + "src": "18354:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18362:4:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "18354:12:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4277, + "nodeType": "ExpressionStatement", + "src": "18354:12:12" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4279, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "18398:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 4280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18398:22:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4278, + "name": "StartNewQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3575, + "src": "18382:15:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 4281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18382:39:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4282, + "nodeType": "EmitStatement", + "src": "18377:44:12" + } + ] + }, + "documentation": "@notice Function called by the founder after transfering the DGX fees into the DAO at the beginning of the quarter\n@dev This function needs to do lots of calculation, so it might not fit into one transaction\nAs such, it could be done in multiple transactions, each time passing _operations which is the number of operations we want to calculate.\nWhen the value of _done is finally true, that's when the calculation is done.\nOnly after this function runs, any other activities in the DAO could happen.\nBasically, if there were M participants and N moderators in the previous quarter, it takes M+N \"operations\".\nIn summary, the function populates the DaoQuarterInfo of this quarter.\nThe bulk of the calculation is to go through every participant in the previous quarter to calculate their effectiveDGDBalance and sum them to get the\ntotalEffectiveDGDLastQuarter", + "id": 4284, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4138, + "modifierName": { + "argumentTypes": null, + "id": 4137, + "name": "if_founder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1849, + "src": "16416:10:12", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "16416:12:12" + } + ], + "name": "calculateGlobalRewardsBeforeNewQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4136, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4135, + "name": "_operations", + "nodeType": "VariableDeclaration", + "scope": 4284, + "src": "16372:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4134, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16372:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16371:21:12" + }, + "payable": false, + "returnParameters": { + "id": 4141, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4140, + "name": "_done", + "nodeType": "VariableDeclaration", + "scope": 4284, + "src": "16446:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4139, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16446:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16445:12:12" + }, + "scope": 4685, + "src": "16324:2104:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4306, + "nodeType": "Block", + "src": "18653:185:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4293, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4291, + "src": "18663:3:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "id": 4297, + "name": "_forModerator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4288, + "src": "18709:13:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 4299, + "name": "INTERMEDIATE_DGD_IDENTIFIER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1288, + "src": "18765:27:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "18709:83:12", + "trueExpression": { + "argumentTypes": null, + "id": 4298, + "name": "INTERMEDIATE_MODERATOR_DGD_IDENTIFIER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1291, + "src": "18725:37:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4301, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4286, + "src": "18806:14:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4295, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26599, + "src": "18679:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4296, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "18679:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 4302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18679:151:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4294, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26606, + "src": "18669:9:12", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 4303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18669:162:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "18663:168:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4305, + "nodeType": "ExpressionStatement", + "src": "18663:168:12" + } + ] + }, + "documentation": null, + "id": 4307, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getIntermediateResultsIdForGlobalRewards", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4289, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4286, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 4307, + "src": "18573:22:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4285, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18573:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4288, + "name": "_forModerator", + "nodeType": "VariableDeclaration", + "scope": 4307, + "src": "18597:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4287, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "18597:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18572:44:12" + }, + "payable": false, + "returnParameters": { + "id": 4292, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4291, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 4307, + "src": "18640:11:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4290, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18640:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18639:13:12" + }, + "scope": 4685, + "src": "18523:315:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4390, + "nodeType": "Block", + "src": "19043:1223:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4312, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4309, + "src": "19119:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4314, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "dgxRewardsPoolLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1608, + "src": "19119:30:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4330, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4309, + "src": "19288:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4331, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1614, + "src": "19288:10:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4332, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sumRewardsFromBeginning", + "nodeType": "MemberAccess", + "referencedDeclaration": 8480, + "src": "19288:34:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4324, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "19231:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19231:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "totalDGXsClaimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 14997, + "src": "19231:36:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 4327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19231:38:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4320, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26709, + "src": "19207:4:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + ], + "id": 4319, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "19199:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19199:13:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4316, + "name": "ADDRESS_DGX_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3577, + "src": "19170:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4315, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26318, + "src": "19164:5:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$26318_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 4317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19164:24:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$26318", + "typeString": "contract ERC20" + } + }, + "id": 4318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 26332, + "src": "19164:34:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 4322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19164:49:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "19164:66:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19164:106:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "19164:123:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19164:159:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19119:204:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4335, + "nodeType": "ExpressionStatement", + "src": "19119:204:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 4339, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19437:1:12", + "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, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4336, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "19393:15:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 4337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19393:17:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 4338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateTotalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16136, + "src": "19393:43:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 4340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19393:46:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4341, + "nodeType": "ExpressionStatement", + "src": "19393:46:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 4345, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19498:1:12", + "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, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4342, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "19449:15:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 4343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19449:17:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 4344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateTotalModeratorLockedDGDs", + "nodeType": "MemberAccess", + "referencedDeclaration": 16155, + "src": "19449:48:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 4346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19449:51:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4347, + "nodeType": "ExpressionStatement", + "src": "19449:51:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4354, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19587:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4351, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4309, + "src": "19562:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4352, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1602, + "src": "19562:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "19562:24:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19562:27:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4357, + "name": "CONFIG_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1474, + "src": "19617:28:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4356, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "19603:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19603:43:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4360, + "name": "CONFIG_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1477, + "src": "19674:35:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4359, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "19660:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19660:50:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4363, + "name": "CONFIG_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1480, + "src": "19738:38:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4362, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "19724:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19724:53:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4365, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4309, + "src": "19791:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4366, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveDGDPreviousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1604, + "src": "19791:37:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4368, + "name": "CONFIG_MODERATOR_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1483, + "src": "19857:38:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4367, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "19843:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19843:53:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4371, + "name": "CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1486, + "src": "19924:45:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4370, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "19910:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19910:60:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4374, + "name": "CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1489, + "src": "19998:48:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4373, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "19984:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19984:63:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4376, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4309, + "src": "20061:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4377, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1606, + "src": "20061:42:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4378, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "20118:3:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4379, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4309, + "src": "20135:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4380, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dgxRewardsPoolLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1608, + "src": "20135:30:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4385, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4309, + "src": "20218:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4386, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dgxRewardsPoolLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1608, + "src": "20218:30:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4381, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4309, + "src": "20179:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4382, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1614, + "src": "20179:10:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4383, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sumRewardsFromBeginning", + "nodeType": "MemberAccess", + "referencedDeclaration": 8480, + "src": "20179:34:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "20179:38:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20179:70:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4348, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "19511:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19511:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateQuarterInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 15137, + "src": "19511:37:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256) external" + } + }, + "id": 4388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19511:748:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4389, + "nodeType": "ExpressionStatement", + "src": "19511:748:12" + } + ] + }, + "documentation": null, + "id": 4391, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "processGlobalRewardsUpdate", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4310, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4309, + "name": "info", + "nodeType": "VariableDeclaration", + "scope": 4391, + "src": "19002:30:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo" + }, + "typeName": { + "contractScope": null, + "id": 4308, + "name": "QuarterRewardsInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1624, + "src": "19002:18:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_storage_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19001:32:12" + }, + "payable": false, + "returnParameters": { + "id": 4311, + "nodeType": "ParameterList", + "parameters": [], + "src": "19043:0:12" + }, + "scope": 4685, + "src": "18966:1300:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4683, + "nodeType": "Block", + "src": "20728:3712:12", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4404, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "20742:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 4405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20757:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "20742:16:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4409, + "nodeType": "IfStatement", + "src": "20738:40:12", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 4407, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "20767:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4403, + "id": 4408, + "nodeType": "Return", + "src": "20760:18:12" + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4410, + "name": "_interResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4399, + "src": "20826:13:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 4411, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "20826:26:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 4412, + "name": "EMPTY_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1249, + "src": "20856:13:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "20826:43:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 4472, + "nodeType": "Block", + "src": "21269:556:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4434, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "21283:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4436, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 1619, + "src": "21283:10:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "id": 4437, + "name": "_badgeCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4395, + "src": "21296:17:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4449, + "name": "_interResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4399, + "src": "21477:13:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 4450, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "21477:26:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4451, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "21505:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21518:4:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4446, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "21436:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 4447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21436:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 4448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listParticipantsFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 12677, + "src": "21436:40:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,bool) view external returns (address[] memory)" + } + }, + "id": 4453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21436:87:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 4454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "21296:227:12", + "trueExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4441, + "name": "_interResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4399, + "src": "21371:13:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 4442, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "21371:26:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4443, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "21399:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4444, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21412:4:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4438, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "21332:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 4439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21332:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 4440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listModeratorsFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 12614, + "src": "21332:38:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,bool) view external returns (address[] memory)" + } + }, + "id": 4445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21332:85:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "21283:240:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "id": 4456, + "nodeType": "ExpressionStatement", + "src": "21283:240:12" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4457, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "21679:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4458, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 1619, + "src": "21679:10:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "id": 4459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "21679:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 4460, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21700:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "21679:22:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4471, + "nodeType": "IfStatement", + "src": "21675:140:12", + "trueBody": { + "id": 4470, + "nodeType": "Block", + "src": "21703:112:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4462, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "21721:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4464, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "doneCalculatingEffectiveBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 1621, + "src": "21721:36:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21760:4:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "21721:43:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4467, + "nodeType": "ExpressionStatement", + "src": "21721:43:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4468, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "21789:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4403, + "id": 4469, + "nodeType": "Return", + "src": "21782:18:12" + } + ] + } + } + ] + }, + "id": 4473, + "nodeType": "IfStatement", + "src": "20822:1003:12", + "trueBody": { + "id": 4433, + "nodeType": "Block", + "src": "20871:392:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4414, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "21076:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4416, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 1619, + "src": "21076:10:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "id": 4417, + "name": "_badgeCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4395, + "src": "21089:17:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4427, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "21234:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4428, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21247:4:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4424, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "21197:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 4425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21197:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 4426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listParticipants", + "nodeType": "MemberAccess", + "referencedDeclaration": 12644, + "src": "21197:36:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (uint256,bool) view external returns (address[] memory)" + } + }, + "id": 4429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21197:55:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 4430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "21089:163:12", + "trueExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4421, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "21160:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4422, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21173:4:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4418, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "21125:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 4419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21125:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 4420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listModerators", + "nodeType": "MemberAccess", + "referencedDeclaration": 12581, + "src": "21125:34:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (uint256,bool) view external returns (address[] memory)" + } + }, + "id": 4423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21125:53:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "21076:176:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "id": 4432, + "nodeType": "ExpressionStatement", + "src": "21076:176:12" + } + ] + } + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 4475, + "name": "_lastAddress", + "nodeType": "VariableDeclaration", + "scope": 4684, + "src": "21835:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4474, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "21835:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4476, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "21835:20:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4477, + "name": "_lastAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4475, + "src": "21865:12:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4478, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "21880:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4479, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 1619, + "src": "21880:10:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "id": 4485, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4480, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "21891:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4481, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 1619, + "src": "21891:10:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "id": 4482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "21891:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 4483, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21911:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "21891:21:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21880:33:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "21865:48:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4487, + "nodeType": "ExpressionStatement", + "src": "21865:48:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4488, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "21924:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4490, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "userCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 1610, + "src": "21924:14:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4491, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "21941:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4492, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 1619, + "src": "21941:10:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "id": 4493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "21941:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21924:34:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4495, + "nodeType": "ExpressionStatement", + "src": "21924:34:12" + }, + { + "body": { + "id": 4621, + "nodeType": "Block", + "src": "22014:1589:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4511, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22028:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4513, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentUser", + "nodeType": "MemberAccess", + "referencedDeclaration": 1616, + "src": "22028:16:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4514, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22047:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4515, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 1619, + "src": "22047:10:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "id": 4518, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4516, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22058:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4517, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "i", + "nodeType": "MemberAccess", + "referencedDeclaration": 1612, + "src": "22058:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22047:18:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "22028:37:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4520, + "nodeType": "ExpressionStatement", + "src": "22028:37:12" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4524, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22215:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4525, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentUser", + "nodeType": "MemberAccess", + "referencedDeclaration": 1616, + "src": "22215:16:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4521, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "22171:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22171:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15001, + "src": "22171:43:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 4526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22171:61:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4527, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22236:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4528, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1602, + "src": "22236:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22171:85:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4532, + "nodeType": "IfStatement", + "src": "22167:132:12", + "trueBody": { + "id": 4531, + "nodeType": "Block", + "src": "22258:41:12", + "statements": [ + { + "id": 4530, + "nodeType": "Continue", + "src": "22276:8:12" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "id": 4533, + "name": "_badgeCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4395, + "src": "22316:17:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 4619, + "nodeType": "Block", + "src": "22990:603:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4577, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "23008:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4579, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalEffectiveDGDPreviousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1604, + "src": "23008:37:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4586, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "23164:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4587, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1614, + "src": "23164:10:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4588, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "minimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8460, + "src": "23164:36:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4589, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "23222:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4590, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1614, + "src": "23222:10:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4591, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "quarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8462, + "src": "23222:36:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4592, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "23280:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4593, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1614, + "src": "23280:10:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4594, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "reputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8464, + "src": "23280:39:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4598, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "23376:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4599, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentUser", + "nodeType": "MemberAccess", + "referencedDeclaration": 1616, + "src": "23376:16:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4600, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "23394:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4601, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1602, + "src": "23394:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4595, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "23341:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 4596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23341:18:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 4597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getQuarterPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14708, + "src": "23341:34:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view external returns (uint256)" + } + }, + "id": 4602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23341:74:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4606, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "23470:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4607, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentUser", + "nodeType": "MemberAccess", + "referencedDeclaration": 1616, + "src": "23470:16:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4603, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "23437:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 4604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23437:18:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 4605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14914, + "src": "23437:32:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 4608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23437:50:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4612, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "23542:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4613, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentUser", + "nodeType": "MemberAccess", + "referencedDeclaration": 1616, + "src": "23542:16:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4609, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "23509:15:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 4610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23509:17:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 4611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16048, + "src": "23509:32:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 4614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23509:50:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4583, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3591, + "src": "23090:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 4584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23090:22:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 4585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "calculateUserEffectiveBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 12472, + "src": "23090:52:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) pure external returns (uint256)" + } + }, + "id": 4615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23090:487:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4580, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "23048:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4581, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveDGDPreviousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1604, + "src": "23048:37:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "23048:41:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23048:530:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23008:570:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4618, + "nodeType": "ExpressionStatement", + "src": "23008:570:12" + } + ] + }, + "id": 4620, + "nodeType": "IfStatement", + "src": "22312:1281:12", + "trueBody": { + "id": 4576, + "nodeType": "Block", + "src": "22335:649:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4534, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22353:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4536, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1606, + "src": "22353:42:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4543, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22519:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4544, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1614, + "src": "22519:10:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4545, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorMinimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8468, + "src": "22519:45:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4546, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22586:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4547, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1614, + "src": "22586:10:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4548, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorQuarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8470, + "src": "22586:45:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4549, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22653:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4550, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1614, + "src": "22653:10:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4551, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorReputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8472, + "src": "22653:48:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4555, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22767:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4556, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentUser", + "nodeType": "MemberAccess", + "referencedDeclaration": 1616, + "src": "22767:16:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4557, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22785:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4558, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1602, + "src": "22785:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4552, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "22723:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 4553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22723:18:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 4554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getQuarterModeratorPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14727, + "src": "22723:43:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view external returns (uint256)" + } + }, + "id": 4559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22723:83:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4563, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22861:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4564, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentUser", + "nodeType": "MemberAccess", + "referencedDeclaration": 1616, + "src": "22861:16:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4560, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "22828:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 4561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22828:18:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 4562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14914, + "src": "22828:32:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 4565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22828:50:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4569, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22933:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4570, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentUser", + "nodeType": "MemberAccess", + "referencedDeclaration": 1616, + "src": "22933:16:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4566, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "22900:15:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 4567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22900:17:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 4568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16048, + "src": "22900:32:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 4571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22900:50:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4540, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3591, + "src": "22445:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 4541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22445:22:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 4542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "calculateUserEffectiveBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 12472, + "src": "22445:52:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) pure external returns (uint256)" + } + }, + "id": 4572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22445:523:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4537, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22398:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4538, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1606, + "src": "22398:42:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "22398:46:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22398:571:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22353:616:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4575, + "nodeType": "ExpressionStatement", + "src": "22353:616:12" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4502, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "21982:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4503, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "i", + "nodeType": "MemberAccess", + "referencedDeclaration": 1612, + "src": "21982:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4504, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "21989:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4505, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 1610, + "src": "21989:14:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21982:21:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4622, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 4500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4496, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "21973:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4498, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "i", + "nodeType": "MemberAccess", + "referencedDeclaration": 1612, + "src": "21973:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 4499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21980:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "21973:8:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4501, + "nodeType": "ExpressionStatement", + "src": "21973:8:12" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 4509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "22004:8:12", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4507, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22004:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4508, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "i", + "nodeType": "MemberAccess", + "referencedDeclaration": 1612, + "src": "22004:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4510, + "nodeType": "ExpressionStatement", + "src": "22004:8:12" + }, + "nodeType": "ForStatement", + "src": "21968:1635:12" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4623, + "name": "_lastAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4475, + "src": "23686:12:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4624, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "23702:15:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 4625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23702:17:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 4626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readLastModerator", + "nodeType": "MemberAccess", + "referencedDeclaration": 16347, + "src": "23702:35:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 4627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23702:37:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "23686:53:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 4629, + "name": "_badgeCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4395, + "src": "23743:17:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "23686:74:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4638, + "nodeType": "IfStatement", + "src": "23682:157:12", + "trueBody": { + "id": 4637, + "nodeType": "Block", + "src": "23762:77:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4631, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "23776:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4633, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "doneCalculatingModeratorEffectiveBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 1623, + "src": "23776:45:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4634, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23824:4:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "23776:52:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4636, + "nodeType": "ExpressionStatement", + "src": "23776:52:12" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4639, + "name": "_lastAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4475, + "src": "23852:12:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4640, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "23868:15:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 4641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23868:17:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 4642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readLastParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16413, + "src": "23868:37:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 4643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23868:39:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "23852:55:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 4646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "23911:18:12", + "subExpression": { + "argumentTypes": null, + "id": 4645, + "name": "_badgeCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4395, + "src": "23912:17:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "23852:77:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4655, + "nodeType": "IfStatement", + "src": "23848:151:12", + "trueBody": { + "id": 4654, + "nodeType": "Block", + "src": "23931:68:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4648, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "23945:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4650, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "doneCalculatingEffectiveBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 1621, + "src": "23945:36:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4651, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23984:4:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "23945:43:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4653, + "nodeType": "ExpressionStatement", + "src": "23945:43:12" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4660, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "24164:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4661, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1602, + "src": "24164:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4662, + "name": "_badgeCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4395, + "src": "24186:17:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4659, + "name": "getIntermediateResultsIdForGlobalRewards", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4307, + "src": "24123:40:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_bool_$returns$_t_bytes32_$", + "typeString": "function (uint256,bool) view returns (bytes32)" + } + }, + "id": 4663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24123:81:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4664, + "name": "_lastAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4475, + "src": "24218:12:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 4665, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24244:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 4666, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24246:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "id": 4667, + "name": "_badgeCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4395, + "src": "24261:17:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4670, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "24326:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4671, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveDGDPreviousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1604, + "src": "24326:37:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "24261:102:12", + "trueExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4668, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "24281:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4669, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1606, + "src": "24281:42:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4656, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "24058:26:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 4657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24058:28:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 4658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18586, + "src": "24058:51:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint256,uint256) external" + } + }, + "id": 4673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24058:315:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4674, + "nodeType": "ExpressionStatement", + "src": "24058:315:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4675, + "name": "_operationsLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4402, + "src": "24384:15:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4678, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "24418:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4679, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 1610, + "src": "24418:14:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4676, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "24402:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4677, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "24402:15:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24402:31:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24384:49:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4682, + "nodeType": "ExpressionStatement", + "src": "24384:49:12" + } + ] + }, + "documentation": null, + "id": 4684, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "sumEffectiveBalance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4400, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4393, + "name": "info", + "nodeType": "VariableDeclaration", + "scope": 4684, + "src": "20445:30:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo" + }, + "typeName": { + "contractScope": null, + "id": 4392, + "name": "QuarterRewardsInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1624, + "src": "20445:18:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_storage_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4395, + "name": "_badgeCalculation", + "nodeType": "VariableDeclaration", + "scope": 4684, + "src": "20485:22:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4394, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "20485:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4397, + "name": "_operations", + "nodeType": "VariableDeclaration", + "scope": 4684, + "src": "20581:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4396, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20581:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4399, + "name": "_interResults", + "nodeType": "VariableDeclaration", + "scope": 4684, + "src": "20610:51:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + }, + "typeName": { + "contractScope": null, + "id": 4398, + "name": "DaoStructs.IntermediateResults", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8490, + "src": "20610:30:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20435:232:12" + }, + "payable": false, + "returnParameters": { + "id": 4403, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4402, + "name": "_operationsLeft", + "nodeType": "VariableDeclaration", + "scope": 4684, + "src": "20702:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4401, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20702:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20701:22:12" + }, + "scope": 4685, + "src": "20406:4034:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 4686, + "src": "390:24052:12" + } + ], + "src": "0:24443:12" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoRewardsManager.sol", + "exportedSymbols": { + "DaoRewardsManager": [ + 4685 + ] + }, + "id": 4686, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3554, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:12" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 3555, + "nodeType": "ImportDirective", + "scope": 4686, + "sourceUnit": 19059, + "src": "26:64:12", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoRewardsManagerCommon.sol", + "file": "../common/DaoRewardsManagerCommon.sol", + "id": 3556, + "nodeType": "ImportDirective", + "scope": 4686, + "sourceUnit": 1720, + "src": "91:47:12", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoStructs.sol", + "file": "../lib/DaoStructs.sol", + "id": 3557, + "nodeType": "ImportDirective", + "scope": 4686, + "sourceUnit": 8492, + "src": "139:31:12", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/service/DaoCalculatorService.sol", + "file": "../service/DaoCalculatorService.sol", + "id": 3558, + "nodeType": "ImportDirective", + "scope": 4686, + "sourceUnit": 12495, + "src": "171:45:12", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", + "file": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", + "id": 3559, + "nodeType": "ImportDirective", + "scope": 4686, + "sourceUnit": 26319, + "src": "217:63:12", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoRewardsManagerExtras.sol", + "file": "./DaoRewardsManagerExtras.sol", + "id": 3560, + "nodeType": "ImportDirective", + "scope": 4686, + "sourceUnit": 4911, + "src": "281:39:12", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 3561, + "name": "DaoRewardsManagerCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1719, + "src": "420:23:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManagerCommon_$1719", + "typeString": "contract DaoRewardsManagerCommon" + } + }, + "id": 3562, + "nodeType": "InheritanceSpecifier", + "src": "420:23:12" + } + ], + "contractDependencies": [ + 1233, + 1580, + 1719, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": "@title Contract to manage DGX rewards\n@author Digix Holdings", + "fullyImplemented": true, + "id": 4685, + "linearizedBaseContracts": [ + 4685, + 1719, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoRewardsManager", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 3565, + "libraryName": { + "contractScope": null, + "id": 3563, + "name": "MathHelper", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8575, + "src": "456:10:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MathHelper_$8575", + "typeString": "library MathHelper" + } + }, + "nodeType": "UsingForDirective", + "src": "450:32:12", + "typeName": { + "contractScope": null, + "id": 3564, + "name": "MathHelper", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8575, + "src": "471:10:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MathHelper_$8575", + "typeString": "library MathHelper" + } + } + }, + { + "id": 3568, + "libraryName": { + "contractScope": null, + "id": 3566, + "name": "DaoStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8491, + "src": "493:10:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStructs_$8491", + "typeString": "library DaoStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "487:47:12", + "typeName": { + "contractScope": null, + "id": 3567, + "name": "DaoStructs.DaoQuarterInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8481, + "src": "508:25:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo" + } + } + }, + { + "id": 3571, + "libraryName": { + "contractScope": null, + "id": 3569, + "name": "DaoStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8491, + "src": "545:10:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStructs_$8491", + "typeString": "library DaoStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "539:52:12", + "typeName": { + "contractScope": null, + "id": 3570, + "name": "DaoStructs.IntermediateResults", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8490, + "src": "560:30:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + } + } + }, + { + "anonymous": false, + "documentation": null, + "id": 3575, + "name": "StartNewQuarter", + "nodeType": "EventDefinition", + "parameters": { + "id": 3574, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3573, + "indexed": true, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 3575, + "src": "789:30:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3572, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "789:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "788:32:12" + }, + "src": "767:54:12" + }, + { + "constant": false, + "id": 3577, + "name": "ADDRESS_DGX_TOKEN", + "nodeType": "VariableDeclaration", + "scope": 4685, + "src": "827:32:12", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3576, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "827:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 3590, + "nodeType": "Block", + "src": "981:96:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3582, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3580, + "src": "991:9:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3585, + "name": "CONTRACT_SERVICE_DAO_CALCULATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1345, + "src": "1037:31:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3584, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "1024:12:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 3586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1024:45:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3583, + "name": "DaoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12494, + "src": "1003:20:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "type(contract DaoCalculatorService)" + } + }, + "id": 3587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1003:67:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "src": "991:79:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 3589, + "nodeType": "ExpressionStatement", + "src": "991:79:12" + } + ] + }, + "documentation": null, + "id": 3591, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoCalculatorService", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3578, + "nodeType": "ParameterList", + "parameters": [], + "src": "895:2:12" + }, + "payable": false, + "returnParameters": { + "id": 3581, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3580, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 3591, + "src": "945:30:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + }, + "typeName": { + "contractScope": null, + "id": 3579, + "name": "DaoCalculatorService", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 12494, + "src": "945:20:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "944:32:12" + }, + "scope": 4685, + "src": "866:211:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3604, + "nodeType": "Block", + "src": "1204:103:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3596, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3594, + "src": "1214:9:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManagerExtras_$4910", + "typeString": "contract DaoRewardsManagerExtras" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3599, + "name": "CONTRACT_DAO_REWARDS_MANAGER_EXTRAS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1321, + "src": "1263:35:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3598, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "1250:12:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 3600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1250:49:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3597, + "name": "DaoRewardsManagerExtras", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4910, + "src": "1226:23:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoRewardsManagerExtras_$4910_$", + "typeString": "type(contract DaoRewardsManagerExtras)" + } + }, + "id": 3601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1226:74:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManagerExtras_$4910", + "typeString": "contract DaoRewardsManagerExtras" + } + }, + "src": "1214:86:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManagerExtras_$4910", + "typeString": "contract DaoRewardsManagerExtras" + } + }, + "id": 3603, + "nodeType": "ExpressionStatement", + "src": "1214:86:12" + } + ] + }, + "documentation": null, + "id": 3605, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoRewardsManagerExtras", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3592, + "nodeType": "ParameterList", + "parameters": [], + "src": "1115:2:12" + }, + "payable": false, + "returnParameters": { + "id": 3595, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3594, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 3605, + "src": "1165:33:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManagerExtras_$4910", + "typeString": "contract DaoRewardsManagerExtras" + }, + "typeName": { + "contractScope": null, + "id": 3593, + "name": "DaoRewardsManagerExtras", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4910, + "src": "1165:23:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManagerExtras_$4910", + "typeString": "contract DaoRewardsManagerExtras" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1164:35:12" + }, + "scope": 4685, + "src": "1083:224:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 3652, + "nodeType": "Block", + "src": "1604:1357:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3614, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "1627:28:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 3615, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3607, + "src": "1657:9:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3613, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "1622:4:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 3616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1622:45:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3612, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1614:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1614:54:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3618, + "nodeType": "ExpressionStatement", + "src": "1614:54:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 3621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3619, + "name": "ADDRESS_DGX_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3577, + "src": "1678:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3620, + "name": "_dgxAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3609, + "src": "1698:11:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1678:31:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3622, + "nodeType": "ExpressionStatement", + "src": "1678:31:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 3626, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1827:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3628, + "name": "CONFIG_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1474, + "src": "1856:28:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3627, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1842:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1842:43:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3631, + "name": "CONFIG_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1477, + "src": "1913:35:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3630, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1899:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1899:50:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3634, + "name": "CONFIG_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1480, + "src": "1977:38:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3633, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1963:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1963:53:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 3636, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2030:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3638, + "name": "CONFIG_MODERATOR_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1483, + "src": "2147:38:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3637, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2133:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2133:53:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3641, + "name": "CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1486, + "src": "2214:45:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3640, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2200:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2200:60:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3644, + "name": "CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1489, + "src": "2288:48:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3643, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2274:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2274:63:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 3646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2351:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "id": 3647, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "2789:3:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 3648, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2807:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 3649, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2904:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3623, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "1776:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 3624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1776:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 3625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateQuarterInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 15137, + "src": "1776:37:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256) external" + } + }, + "id": 3650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1776:1178:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3651, + "nodeType": "ExpressionStatement", + "src": "1776:1178:12" + } + ] + }, + "documentation": "@notice Constructor (set the DaoQuarterInfo struct for the first quarter)\n@param _resolver Address of the Contract Resolver contract\n@param _dgxAddress Address of the Digix Gold Token contract", + "id": 3653, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3610, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3607, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 3653, + "src": "1545:17:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3606, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1545:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3609, + "name": "_dgxAddress", + "nodeType": "VariableDeclaration", + "scope": 3653, + "src": "1564:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3608, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1564:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1544:40:12" + }, + "payable": false, + "returnParameters": { + "id": 3611, + "nodeType": "ParameterList", + "parameters": [], + "src": "1604:0:12" + }, + "scope": 4685, + "src": "1533:1428:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3683, + "nodeType": "Block", + "src": "3277:209:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3660, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "3305:12:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3659, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "3295:9:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3295:23:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3658, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3287:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3287:32:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3663, + "nodeType": "ExpressionStatement", + "src": "3287:32:12" + }, + { + "assignments": [ + 3665 + ], + "declarations": [ + { + "constant": false, + "id": 3665, + "name": "_dgxBalance", + "nodeType": "VariableDeclaration", + "scope": 3684, + "src": "3329:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3664, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3329:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3674, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3671, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26709, + "src": "3394:4:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + ], + "id": 3670, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3386:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 3672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3386:13:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3667, + "name": "ADDRESS_DGX_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3577, + "src": "3357:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3666, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26318, + "src": "3351:5:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$26318_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 3668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3351:24:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$26318", + "typeString": "contract ERC20" + } + }, + "id": 3669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 26332, + "src": "3351:34:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 3673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3351:49:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3329:71:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3679, + "name": "_newDaoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3655, + "src": "3444:21:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3680, + "name": "_dgxBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3665, + "src": "3467:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3676, + "name": "ADDRESS_DGX_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3577, + "src": "3416:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3675, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26318, + "src": "3410:5:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$26318_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 3677, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3410:24:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$26318", + "typeString": "contract ERC20" + } + }, + "id": 3678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 26341, + "src": "3410:33:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 3681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3410:69:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3682, + "nodeType": "ExpressionStatement", + "src": "3410:69:12" + } + ] + }, + "documentation": "@notice Function to transfer the claimableDGXs to the new DaoRewardsManager\n@dev This is done during the migrateToNewDao procedure\n@param _newDaoRewardsManager Address of the new daoRewardsManager contract", + "id": 3684, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "moveDGXsToNewDao", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3656, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3655, + "name": "_newDaoRewardsManager", + "nodeType": "VariableDeclaration", + "scope": 3684, + "src": "3227:29:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3654, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3227:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3226:31:12" + }, + "payable": false, + "returnParameters": { + "id": 3657, + "nodeType": "ParameterList", + "parameters": [], + "src": "3277:0:12" + }, + "scope": 4685, + "src": "3201:285:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3765, + "nodeType": "Block", + "src": "3963:1675:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3692, + "name": "isDaoNotReplaced", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 872, + "src": "3981:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 3693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3981:18:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3691, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3973:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3973:27:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3695, + "nodeType": "ExpressionStatement", + "src": "3973:27:12" + }, + { + "assignments": [ + 3697 + ], + "declarations": [ + { + "constant": false, + "id": 3697, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 3766, + "src": "4011:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3696, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4011:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3700, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 3698, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4027:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4027:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4011:26:12" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 3702, + "name": "_claimableDGX", + "nodeType": "VariableDeclaration", + "scope": 3766, + "src": "4047:21:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3701, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4047:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3703, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4047:21:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 3709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + { + "argumentTypes": null, + "id": 3704, + "name": "_claimableDGX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "4153:13:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3705, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "4150:17:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$_t_uint256_$", + "typeString": "tuple(,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3707, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3697, + "src": "4215:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3706, + "name": "updateUserRewardsForLastParticipatingQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4133, + "src": "4170:44:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (address) returns (bool,uint256)" + } + }, + "id": 3708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4170:51:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "src": "4150:71:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3710, + "nodeType": "ExpressionStatement", + "src": "4150:71:12" + }, + { + "assignments": [ + 3712 + ], + "declarations": [ + { + "constant": false, + "id": 3712, + "name": "_days_elapsed", + "nodeType": "VariableDeclaration", + "scope": 3766, + "src": "4515:21:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3711, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4515:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3731, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 3729, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4843:6:12", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 3724, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4705:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3721, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3697, + "src": "4694:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3718, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "4641:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 3719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4641:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 3720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastQuarterThatRewardsWasUpdated", + "nodeType": "MemberAccess", + "referencedDeclaration": 15009, + "src": "4641:52:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 3722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4641:59:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "4641:63:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4641:66:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3715, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "4577:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 3716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4577:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 3717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readDgxDistributionDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 15499, + "src": "4577:42:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 3726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4577:234:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3713, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "4539:3:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "4539:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4539:286:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "4539:303:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4539:311:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4515:335:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3735, + "name": "_claimableDGX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5122:13:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3732, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "5081:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 3733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5081:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 3734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addToTotalDgxClaimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 15262, + "src": "5081:40:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 3736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5081:55:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3737, + "nodeType": "ExpressionStatement", + "src": "5081:55:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 3748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3738, + "name": "_claimableDGX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5147:13:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3744, + "name": "_claimableDGX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5253:13:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 3745, + "name": "_days_elapsed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3712, + "src": "5284:13:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3741, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3591, + "src": "5194:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 3742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5194:22:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 3743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "calculateDemurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 12493, + "src": "5194:41:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) view external returns (uint256)" + } + }, + "id": 3746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5194:117:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3739, + "name": "_claimableDGX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5163:13:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "5163:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5163:149:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5147:165:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3749, + "nodeType": "ExpressionStatement", + "src": "5147:165:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3753, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3697, + "src": "5362:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 3754, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5369:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3750, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "5323:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 3751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5323:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 3752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateClaimableDGX", + "nodeType": "MemberAccess", + "referencedDeclaration": 15157, + "src": "5323:38:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 3755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5323:48:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3756, + "nodeType": "ExpressionStatement", + "src": "5323:48:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3761, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3697, + "src": "5415:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3762, + "name": "_claimableDGX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3702, + "src": "5422:13:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3758, + "name": "ADDRESS_DGX_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3577, + "src": "5387:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3757, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26318, + "src": "5381:5:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$26318_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 3759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5381:24:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$26318", + "typeString": "contract ERC20" + } + }, + "id": 3760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 26341, + "src": "5381:33:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 3763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5381:55:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3764, + "nodeType": "ExpressionStatement", + "src": "5381:55:12" + } + ] + }, + "documentation": "@notice Function for users to claim the claimable DGX rewards\n@dev Will revert if _claimableDGX < MINIMUM_TRANSFER_AMOUNT of DGX.\nCan only be called after calculateGlobalRewardsBeforeNewQuarter() has been called in the current quarter\nThis cannot be called once the current version of Dao contracts have been migrated to newer version", + "id": 3766, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3687, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "3935:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 3688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3935:22:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3689, + "modifierName": { + "argumentTypes": null, + "id": 3686, + "name": "ifGlobalRewardsSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 926, + "src": "3916:18:12", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$", + "typeString": "modifier (uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3916:42:12" + } + ], + "name": "claimRewards", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3685, + "nodeType": "ParameterList", + "parameters": [], + "src": "3890:2:12" + }, + "payable": false, + "returnParameters": { + "id": 3690, + "nodeType": "ParameterList", + "parameters": [], + "src": "3963:0:12" + }, + "scope": 4685, + "src": "3869:1769:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3785, + "nodeType": "Block", + "src": "5943:182:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3773, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "5971:26:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3772, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "5961:9:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 3774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5961:37:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 3771, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5953:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 3775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5953:46:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3776, + "nodeType": "ExpressionStatement", + "src": "5953:46:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3778, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3768, + "src": "6055:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3777, + "name": "updateUserRewardsForLastParticipatingQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4133, + "src": "6010:44:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (address) returns (bool,uint256)" + } + }, + "id": 3779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6010:51:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "id": 3780, + "nodeType": "ExpressionStatement", + "src": "6010:51:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3782, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3768, + "src": "6112:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3781, + "name": "updateUserReputationUntilPreviousQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3929, + "src": "6071:40:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 3783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6071:47:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3784, + "nodeType": "ExpressionStatement", + "src": "6071:47:12" + } + ] + }, + "documentation": "@notice Function to update DGX rewards of user. This is only called during locking/withdrawing DGDs, or continuing participation for new quarter\n@param _user Address of the DAO participant", + "id": 3786, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateRewardsAndReputationBeforeNewQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3769, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3768, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 3786, + "src": "5909:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3767, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5909:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5908:15:12" + }, + "payable": false, + "returnParameters": { + "id": 3770, + "nodeType": "ParameterList", + "parameters": [], + "src": "5943:0:12" + }, + "scope": 4685, + "src": "5857:268:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 3928, + "nodeType": "Block", + "src": "7006:3352:12", + "statements": [ + { + "assignments": [ + 3792 + ], + "declarations": [ + { + "constant": false, + "id": 3792, + "name": "_lastParticipatedQuarter", + "nodeType": "VariableDeclaration", + "scope": 3929, + "src": "7016:32:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3791, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7016:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3798, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3796, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3788, + "src": "7095:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3793, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "7051:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 3794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7051:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 3795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15001, + "src": "7051:43:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 3797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7051:50:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7016:85:12" + }, + { + "assignments": [ + 3800 + ], + "declarations": [ + { + "constant": false, + "id": 3800, + "name": "_lastQuarterThatReputationWasUpdated", + "nodeType": "VariableDeclaration", + "scope": 3929, + "src": "7111:44:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3799, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7111:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3806, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3804, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3788, + "src": "7214:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3801, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "7158:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 3802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7158:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 3803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastQuarterThatReputationWasUpdated", + "nodeType": "MemberAccess", + "referencedDeclaration": 15013, + "src": "7158:55:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 3805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7158:62:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7111:109:12" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 3808, + "name": "_reputationDeduction", + "nodeType": "VariableDeclaration", + "scope": 3929, + "src": "7230:28:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3807, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7230:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3809, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "7230:28:12" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 3812, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7439:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 3810, + "name": "_lastQuarterThatReputationWasUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3800, + "src": "7398:36:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "7398:40:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7398:43:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3814, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "7445:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 3815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7445:22:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7398:69:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3819, + "nodeType": "IfStatement", + "src": "7381:128:12", + "trueBody": { + "id": 3818, + "nodeType": "Block", + "src": "7478:31:12", + "statements": [ + { + "expression": null, + "functionReturnParameters": 3790, + "id": 3817, + "nodeType": "Return", + "src": "7492:7:12" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 3822, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7895:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 3820, + "name": "_lastQuarterThatReputationWasUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3800, + "src": "7854:36:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "7854:40:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7854:43:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 3824, + "name": "_lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "7901:24:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7854:71:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 3826, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7853:73:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3883, + "nodeType": "IfStatement", + "src": "7836:1479:12", + "trueBody": { + "id": 3882, + "nodeType": "Block", + "src": "7937:1378:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3828, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3788, + "src": "7983:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3832, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3788, + "src": "8041:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3833, + "name": "_lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "8048:24:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3829, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "8006:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 3830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8006:18:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 3831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getQuarterPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14708, + "src": "8006:34:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view external returns (uint256)" + } + }, + "id": 3834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8006:67:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3836, + "name": "CONFIG_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1474, + "src": "8105:28:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3835, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "8091:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8091:43:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3839, + "name": "CONFIG_MAXIMUM_REPUTATION_DEDUCTION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1528, + "src": "8166:35:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3838, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "8152:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8152:50:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3842, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1534, + "src": "8234:34:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3841, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "8220:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8220:49:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3845, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1537, + "src": "8301:34:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3844, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "8287:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8287:49:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3827, + "name": "updateRPfromQP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3997, + "src": "7951:14:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256,uint256,uint256,uint256)" + } + }, + "id": 3847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7951:399:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3848, + "nodeType": "ExpressionStatement", + "src": "7951:399:12" + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3852, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3788, + "src": "8711:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3849, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "8674:15:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 3850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8674:17:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 3851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isInModeratorsList", + "nodeType": "MemberAccess", + "referencedDeclaration": 16323, + "src": "8674:36:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 3853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8674:43:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3877, + "nodeType": "IfStatement", + "src": "8670:558:12", + "trueBody": { + "id": 3876, + "nodeType": "Block", + "src": "8719:509:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3855, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3788, + "src": "8773:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3859, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3788, + "src": "8844:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3860, + "name": "_lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "8851:24:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3856, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "8800:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 3857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8800:18:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 3858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getQuarterModeratorPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14727, + "src": "8800:43:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view external returns (uint256)" + } + }, + "id": 3861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8800:76:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3863, + "name": "CONFIG_MODERATOR_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1483, + "src": "8912:38:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3862, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "8898:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8898:53:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3866, + "name": "CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1540, + "src": "8987:45:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3865, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "8973:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8973:60:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3869, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1543, + "src": "9069:44:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3868, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "9055:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9055:59:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3872, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1546, + "src": "9150:44:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3871, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "9136:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9136:59:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3854, + "name": "updateRPfromQP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3997, + "src": "8737:14:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256,uint256,uint256,uint256)" + } + }, + "id": 3874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8737:476:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3875, + "nodeType": "ExpressionStatement", + "src": "8737:476:12" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 3880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3878, + "name": "_lastQuarterThatReputationWasUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3800, + "src": "9241:36:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3879, + "name": "_lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3792, + "src": "9280:24:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9241:63:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3881, + "nodeType": "ExpressionStatement", + "src": "9241:63:12" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 3904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3884, + "name": "_reputationDeduction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3808, + "src": "9859:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3900, + "name": "CONFIG_PUNISHMENT_FOR_NOT_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1531, + "src": "10088:33:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3899, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "10074:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10074:48:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3896, + "name": "CONFIG_MAXIMUM_REPUTATION_DEDUCTION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1528, + "src": "10016:35:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3895, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "10002:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 3897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10002:50:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "10002:71:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10002:121:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3891, + "name": "_lastQuarterThatReputationWasUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3800, + "src": "9929:36:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 3888, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9922:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3885, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "9895:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 3886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9895:22:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "9895:26:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9895:29:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "9895:33:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9895:71:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3893, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9894:73:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "9894:90:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9894:243:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9859:278:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3905, + "nodeType": "ExpressionStatement", + "src": "9859:278:12" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3906, + "name": "_reputationDeduction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3808, + "src": "10152:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3907, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10175:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10152:24:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 3916, + "nodeType": "IfStatement", + "src": "10148:94:12", + "trueBody": { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3912, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3788, + "src": "10214:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3913, + "name": "_reputationDeduction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3808, + "src": "10221:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3909, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "10178:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 3910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10178:18:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 3911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "reduceReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14899, + "src": "10178:35:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address,uint256) external returns (uint256,uint256)" + } + }, + "id": 3914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10178:64:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 3915, + "nodeType": "ExpressionStatement", + "src": "10178:64:12" + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3920, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3788, + "src": "10314:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 3924, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10348:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3921, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "10321:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 3922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10321:22:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "10321:26:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10321:29:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3917, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "10252:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 3918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10252:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 3919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateLastQuarterThatReputationWasUpdated", + "nodeType": "MemberAccess", + "referencedDeclaration": 15243, + "src": "10252:61:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 3926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10252:99:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3927, + "nodeType": "ExpressionStatement", + "src": "10252:99:12" + } + ] + }, + "documentation": null, + "id": 3929, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateUserReputationUntilPreviousQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3789, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3788, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 3929, + "src": "6971:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3787, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6971:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6970:15:12" + }, + "payable": false, + "returnParameters": { + "id": 3790, + "nodeType": "ParameterList", + "parameters": [], + "src": "7006:0:12" + }, + "scope": 4685, + "src": "6920:3438:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 3996, + "nodeType": "Block", + "src": "10688:606:12", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 3945, + "name": "_reputationDeduction", + "nodeType": "VariableDeclaration", + "scope": 3997, + "src": "10698:28:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3944, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10698:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3946, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "10698:28:12" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 3948, + "name": "_reputationAddition", + "nodeType": "VariableDeclaration", + "scope": 3997, + "src": "10736:27:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3947, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10736:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3949, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "10736:27:12" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3950, + "name": "_userQP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3933, + "src": "10777:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 3951, + "name": "_minimalQP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3935, + "src": "10787:10:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10777:20:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3994, + "nodeType": "Block", + "src": "11042:246:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3974, + "name": "_reputationAddition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3948, + "src": "11056:19:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3983, + "name": "_rpPerExtraQP_den", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3941, + "src": "11179:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3980, + "name": "_rpPerExtraQP_num", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3939, + "src": "11139:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3977, + "name": "_minimalQP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3935, + "src": "11106:10:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3975, + "name": "_userQP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3933, + "src": "11094:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "11094:11:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11094:23:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "11094:44:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11094:63:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "11094:84:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11094:103:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11056:141:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3986, + "nodeType": "ExpressionStatement", + "src": "11056:141:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3990, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3931, + "src": "11250:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3991, + "name": "_reputationAddition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3948, + "src": "11257:19:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3987, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "11212:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 3988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11212:18:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 3989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "increaseReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14814, + "src": "11212:37:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address,uint256) external returns (uint256,uint256)" + } + }, + "id": 3992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11212:65:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 3993, + "nodeType": "ExpressionStatement", + "src": "11212:65:12" + } + ] + }, + "id": 3995, + "nodeType": "IfStatement", + "src": "10773:515:12", + "trueBody": { + "id": 3973, + "nodeType": "Block", + "src": "10799:237:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3953, + "name": "_reputationDeduction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3945, + "src": "10813:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3962, + "name": "_minimalQP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3935, + "src": "10935:10:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3959, + "name": "_maxRPDeduction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3937, + "src": "10897:15:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3956, + "name": "_userQP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3933, + "src": "10867:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 3954, + "name": "_minimalQP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3935, + "src": "10852:10:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "10852:14:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10852:23:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "10852:44:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10852:61:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "10852:82:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 3963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10852:94:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10813:133:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3965, + "nodeType": "ExpressionStatement", + "src": "10813:133:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3969, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3931, + "src": "10997:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 3970, + "name": "_reputationDeduction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3945, + "src": "11004:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3966, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "10961:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 3967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10961:18:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 3968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "reduceReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14899, + "src": "10961:35:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address,uint256) external returns (uint256,uint256)" + } + }, + "id": 3971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10961:64:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 3972, + "nodeType": "ExpressionStatement", + "src": "10961:64:12" + } + ] + } + } + ] + }, + "documentation": null, + "id": 3997, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateRPfromQP", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3942, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3931, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 3997, + "src": "10503:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3930, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10503:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3933, + "name": "_userQP", + "nodeType": "VariableDeclaration", + "scope": 3997, + "src": "10526:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3932, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10526:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3935, + "name": "_minimalQP", + "nodeType": "VariableDeclaration", + "scope": 3997, + "src": "10551:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3934, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10551:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3937, + "name": "_maxRPDeduction", + "nodeType": "VariableDeclaration", + "scope": 3997, + "src": "10579:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3936, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10579:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3939, + "name": "_rpPerExtraQP_num", + "nodeType": "VariableDeclaration", + "scope": 3997, + "src": "10612:25:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3938, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10612:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 3941, + "name": "_rpPerExtraQP_den", + "nodeType": "VariableDeclaration", + "scope": 3997, + "src": "10647:25:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3940, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10647:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10493:185:12" + }, + "payable": false, + "returnParameters": { + "id": 3943, + "nodeType": "ParameterList", + "parameters": [], + "src": "10688:0:12" + }, + "scope": 4685, + "src": "10469:825:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4132, + "nodeType": "Block", + "src": "11561:3809:12", + "statements": [ + { + "assignments": [ + 4007 + ], + "declarations": [ + { + "constant": false, + "id": 4007, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 4133, + "src": "11571:23:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards" + }, + "typeName": { + "contractScope": null, + "id": 4006, + "name": "UserRewards", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1600, + "src": "11571:11:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_storage_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4011, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4009, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3999, + "src": "11618:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4008, + "name": "getUserRewardsStruct", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1661, + "src": "11597:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_struct$_UserRewards_$1600_memory_ptr_$", + "typeString": "function (address) view returns (struct DaoRewardsManagerCommon.UserRewards memory)" + } + }, + "id": 4010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11597:27:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11571:53:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4012, + "name": "_userClaimableDgx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4004, + "src": "11634:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4016, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3999, + "src": "11688:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4013, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "11654:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11654:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "claimableDGXs", + "nodeType": "MemberAccess", + "referencedDeclaration": 14995, + "src": "11654:33:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 4017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11654:40:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11634:60:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4019, + "nodeType": "ExpressionStatement", + "src": "11634:60:12" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4020, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "12342:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 4021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12342:22:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4022, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4007, + "src": "12368:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4023, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "12368:28:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12342:54:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 4025, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12341:56:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4026, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4007, + "src": "12414:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4027, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "12414:28:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4028, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4007, + "src": "12446:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4029, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastQuarterThatRewardsWasUpdated", + "nodeType": "MemberAccess", + "referencedDeclaration": 1593, + "src": "12446:37:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12414:69:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 4031, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12413:71:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12341:143:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4038, + "nodeType": "IfStatement", + "src": "12324:229:12", + "trueBody": { + "id": 4037, + "nodeType": "Block", + "src": "12495:58:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 4033, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12517:5:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "id": 4034, + "name": "_userClaimableDgx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4004, + "src": "12524:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4035, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "12516:26:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "functionReturnParameters": 4005, + "id": 4036, + "nodeType": "Return", + "src": "12509:33:12" + } + ] + } + }, + { + "assignments": [ + 4040 + ], + "declarations": [ + { + "constant": false, + "id": 4040, + "name": "_days_elapsed", + "nodeType": "VariableDeclaration", + "scope": 4133, + "src": "13041:21:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4039, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13041:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4064, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4062, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13269:6:12", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4057, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13247:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4054, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4007, + "src": "13205:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4055, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastQuarterThatRewardsWasUpdated", + "nodeType": "MemberAccess", + "referencedDeclaration": 1593, + "src": "13205:37:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "13205:41:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13205:44:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4051, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "13162:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13162:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readDgxDistributionDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 15499, + "src": "13162:42:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13162:88:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13141:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4044, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4007, + "src": "13108:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4045, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "13108:28:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "13108:32:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13108:35:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4041, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "13065:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13065:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readDgxDistributionDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 15499, + "src": "13065:42:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13065:79:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "13065:96:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13065:186:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "13065:203:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4063, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13065:211:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13041:235:12" + }, + { + "assignments": [ + 4066 + ], + "declarations": [ + { + "constant": false, + "id": 4066, + "name": "_demurrageFees", + "nodeType": "VariableDeclaration", + "scope": 4133, + "src": "13286:22:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4065, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13286:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4073, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4070, + "name": "_userClaimableDgx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4004, + "src": "13366:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4071, + "name": "_days_elapsed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "13397:13:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4067, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3591, + "src": "13311:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 4068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13311:22:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 4069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "calculateDemurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 12493, + "src": "13311:41:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) view external returns (uint256)" + } + }, + "id": 4072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13311:109:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13286:134:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4074, + "name": "_userClaimableDgx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4004, + "src": "13430:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4077, + "name": "_demurrageFees", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4066, + "src": "13472:14:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4075, + "name": "_userClaimableDgx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4004, + "src": "13450:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4076, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "13450:21:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13450:37:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13430:57:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4080, + "nodeType": "ExpressionStatement", + "src": "13430:57:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4084, + "name": "_demurrageFees", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4066, + "src": "14556:14:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4081, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "14515:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14515:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addToTotalDgxClaimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 15262, + "src": "14515:40:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 4085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14515:56:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4086, + "nodeType": "ExpressionStatement", + "src": "14515:56:12" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 4088, + "name": "_dgxRewardsAsParticipant", + "nodeType": "VariableDeclaration", + "scope": 4133, + "src": "14582:32:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4087, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14582:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4089, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "14582:32:12" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 4091, + "name": "_dgxRewardsAsModerator", + "nodeType": "VariableDeclaration", + "scope": 4133, + "src": "14624:30:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4090, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14624:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4092, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "14624:30:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 4093, + "name": "_dgxRewardsAsParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4088, + "src": "14665:24:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4094, + "name": "_dgxRewardsAsModerator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4091, + "src": "14691:22:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4095, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "14664:50:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4099, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3999, + "src": "14791:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4096, + "name": "daoRewardsManagerExtras", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3605, + "src": "14717:23:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsManagerExtras_$4910_$", + "typeString": "function () view returns (contract DaoRewardsManagerExtras)" + } + }, + "id": 4097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14717:25:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManagerExtras_$4910", + "typeString": "contract DaoRewardsManagerExtras" + } + }, + "id": 4098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "calculateUserRewardsForLastParticipatingQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 4909, + "src": "14717:73:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address) view external returns (uint256,uint256)" + } + }, + "id": 4100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14717:80:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "14664:133:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4102, + "nodeType": "ExpressionStatement", + "src": "14664:133:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4103, + "name": "_userClaimableDgx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4004, + "src": "14807:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4109, + "name": "_dgxRewardsAsModerator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4091, + "src": "14879:22:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4106, + "name": "_dgxRewardsAsParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4088, + "src": "14849:24:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4104, + "name": "_userClaimableDgx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4004, + "src": "14827:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "14827:21:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14827:47:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "14827:51:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14827:75:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14807:95:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4112, + "nodeType": "ExpressionStatement", + "src": "14807:95:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4116, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3999, + "src": "15158:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4117, + "name": "_userClaimableDgx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4004, + "src": "15165:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4113, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "15119:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15119:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateClaimableDGX", + "nodeType": "MemberAccess", + "referencedDeclaration": 15157, + "src": "15119:38:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 4118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15119:64:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4119, + "nodeType": "ExpressionStatement", + "src": "15119:64:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4123, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3999, + "src": "15304:5:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4124, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4007, + "src": "15311:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4125, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "15311:28:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4120, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "15245:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15245:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateLastQuarterThatRewardsWasUpdated", + "nodeType": "MemberAccess", + "referencedDeclaration": 15220, + "src": "15245:58:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 4126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15245:95:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4127, + "nodeType": "ExpressionStatement", + "src": "15245:95:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4128, + "name": "_valid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4002, + "src": "15350:6:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15359:4:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "15350:13:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4131, + "nodeType": "ExpressionStatement", + "src": "15350:13:12" + } + ] + }, + "documentation": null, + "id": 4133, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateUserRewardsForLastParticipatingQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4000, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3999, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 4133, + "src": "11468:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3998, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11468:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11467:15:12" + }, + "payable": false, + "returnParameters": { + "id": 4005, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4002, + "name": "_valid", + "nodeType": "VariableDeclaration", + "scope": 4133, + "src": "11517:11:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4001, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11517:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4004, + "name": "_userClaimableDgx", + "nodeType": "VariableDeclaration", + "scope": 4133, + "src": "11530:25:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4003, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11530:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11516:40:12" + }, + "scope": 4685, + "src": "11414:3956:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4283, + "nodeType": "Block", + "src": "16462:1966:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4143, + "name": "isDaoNotReplaced", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 872, + "src": "16480:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 4144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16480:18:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4142, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16472:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16472:27:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4146, + "nodeType": "ExpressionStatement", + "src": "16472:27:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4148, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "16517:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 4149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16517:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 4150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "startOfFirstQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 18314, + "src": "16517:39:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 4151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16517:41:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 4152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16562:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16517:46:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4147, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16509:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16509:55:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4155, + "nodeType": "ExpressionStatement", + "src": "16509:55:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4157, + "name": "isLockingPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 887, + "src": "16635:14:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 4158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16635:16:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4156, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16627:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16627:25:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4160, + "nodeType": "ExpressionStatement", + "src": "16627:25:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4165, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "16713:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 4166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16713:22:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4162, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "16670:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16670:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readDgxDistributionDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 15499, + "src": "16670:42:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16670:66:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 4168, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16740:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16670:71:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4161, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16662:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16662:80:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4171, + "nodeType": "ExpressionStatement", + "src": "16662:80:12" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 4173, + "name": "info", + "nodeType": "VariableDeclaration", + "scope": 4284, + "src": "16821:30:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo" + }, + "typeName": { + "contractScope": null, + "id": 4172, + "name": "QuarterRewardsInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1624, + "src": "16821:18:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_storage_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4174, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16821:30:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4175, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "16861:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4177, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "previousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1602, + "src": "16861:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16911:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4178, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "16884:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 4179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16884:22:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "16884:26:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16884:29:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16861:52:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4184, + "nodeType": "ExpressionStatement", + "src": "16861:52:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4186, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "16931:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4187, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1602, + "src": "16931:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 4188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16954:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "16931:24:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4185, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16923:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16923:33:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4191, + "nodeType": "ExpressionStatement", + "src": "16923:33:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4192, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "17004:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4194, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1614, + "src": "17004:10:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4196, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "17033:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4197, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1602, + "src": "17033:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4195, + "name": "readQuarterInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1718, + "src": "17017:15:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_DaoQuarterInfo_$8481_memory_ptr_$", + "typeString": "function (uint256) view returns (struct DaoStructs.DaoQuarterInfo memory)" + } + }, + "id": 4198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17017:37:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "src": "17004:50:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4200, + "nodeType": "ExpressionStatement", + "src": "17004:50:12" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 4204, + "name": "interResults", + "nodeType": "VariableDeclaration", + "scope": 4284, + "src": "17065:50:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + }, + "typeName": { + "contractScope": null, + "id": 4203, + "name": "DaoStructs.IntermediateResults", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8490, + "src": "17065:30:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4205, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "17065:50:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4206, + "name": "interResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4204, + "src": "17139:12:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 4208, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "17139:25:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + null, + null, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4209, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "17180:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4210, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalEffectiveDGDPreviousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1604, + "src": "17180:37:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4211, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "17125:102:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$__$__$_t_uint256_$", + "typeString": "tuple(address,,,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4216, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "17336:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4217, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1602, + "src": "17336:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 4218, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17358:5:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4215, + "name": "getIntermediateResultsIdForGlobalRewards", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4307, + "src": "17295:40:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_bool_$returns$_t_bytes32_$", + "typeString": "function (uint256,bool) view returns (bytes32)" + } + }, + "id": 4219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17295:69:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4212, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "17230:26:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 4213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17230:28:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 4214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18511, + "src": "17230:51:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (address,uint256,uint256,uint256)" + } + }, + "id": 4220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17230:144:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(address,uint256,uint256,uint256)" + } + }, + "src": "17125:249:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4222, + "nodeType": "ExpressionStatement", + "src": "17125:249:12" + }, + { + "assignments": [ + 4224 + ], + "declarations": [ + { + "constant": false, + "id": 4224, + "name": "_operationsLeft", + "nodeType": "VariableDeclaration", + "scope": 4284, + "src": "17385:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4223, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17385:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4231, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4226, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "17431:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 4227, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17437:5:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "id": 4228, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4135, + "src": "17444:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4229, + "name": "interResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4204, + "src": "17457:12:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + ], + "id": 4225, + "name": "sumEffectiveBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4684, + "src": "17411:19:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_QuarterRewardsInfo_$1624_memory_ptr_$_t_bool_$_t_uint256_$_t_struct$_IntermediateResults_$8490_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DaoRewardsManagerCommon.QuarterRewardsInfo memory,bool,uint256,struct DaoStructs.IntermediateResults memory) returns (uint256)" + } + }, + "id": 4230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17411:59:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17385:85:12" + }, + { + "condition": { + "argumentTypes": null, + "id": 4234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "17669:37:12", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4232, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "17670:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "doneCalculatingEffectiveBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 1621, + "src": "17670:36:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4238, + "nodeType": "IfStatement", + "src": "17665:60:12", + "trueBody": { + "id": 4237, + "nodeType": "Block", + "src": "17708:17:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 4235, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17717:5:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 4141, + "id": 4236, + "nodeType": "Return", + "src": "17710:12:12" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 4254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4239, + "name": "interResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4204, + "src": "17749:12:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 4241, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "17749:25:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + null, + null, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4242, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "17790:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4243, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1606, + "src": "17790:42:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4244, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "17735:107:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$__$__$_t_uint256_$", + "typeString": "tuple(address,,,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4249, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "17951:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4250, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1602, + "src": "17951:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4251, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17973:4:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4248, + "name": "getIntermediateResultsIdForGlobalRewards", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4307, + "src": "17910:40:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_bool_$returns$_t_bytes32_$", + "typeString": "function (uint256,bool) view returns (bytes32)" + } + }, + "id": 4252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17910:68:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4245, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "17845:26:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 4246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17845:28:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 4247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18511, + "src": "17845:51:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (address,uint256,uint256,uint256)" + } + }, + "id": 4253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17845:143:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(address,uint256,uint256,uint256)" + } + }, + "src": "17735:253:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4255, + "nodeType": "ExpressionStatement", + "src": "17735:253:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4257, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "18019:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18025:4:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "id": 4259, + "name": "_operationsLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4224, + "src": "18031:15:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4260, + "name": "interResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4204, + "src": "18048:12:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + ], + "id": 4256, + "name": "sumEffectiveBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4684, + "src": "17999:19:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_QuarterRewardsInfo_$1624_memory_ptr_$_t_bool_$_t_uint256_$_t_struct$_IntermediateResults_$8490_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DaoRewardsManagerCommon.QuarterRewardsInfo memory,bool,uint256,struct DaoStructs.IntermediateResults memory) returns (uint256)" + } + }, + "id": 4261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17999:62:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4262, + "nodeType": "ExpressionStatement", + "src": "17999:62:12" + }, + { + "condition": { + "argumentTypes": null, + "id": 4265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "18163:46:12", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4263, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "18164:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4264, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "doneCalculatingModeratorEffectiveBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 1623, + "src": "18164:45:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4269, + "nodeType": "IfStatement", + "src": "18159:69:12", + "trueBody": { + "id": 4268, + "nodeType": "Block", + "src": "18211:17:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 4266, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18220:5:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 4141, + "id": 4267, + "nodeType": "Return", + "src": "18213:12:12" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4271, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4173, + "src": "18339:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + ], + "id": 4270, + "name": "processGlobalRewardsUpdate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4391, + "src": "18312:26:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_QuarterRewardsInfo_$1624_memory_ptr_$returns$__$", + "typeString": "function (struct DaoRewardsManagerCommon.QuarterRewardsInfo memory)" + } + }, + "id": 4272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18312:32:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4273, + "nodeType": "ExpressionStatement", + "src": "18312:32:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4274, + "name": "_done", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4140, + "src": "18354:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18362:4:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "18354:12:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4277, + "nodeType": "ExpressionStatement", + "src": "18354:12:12" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4279, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "18398:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 4280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18398:22:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4278, + "name": "StartNewQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3575, + "src": "18382:15:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 4281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18382:39:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4282, + "nodeType": "EmitStatement", + "src": "18377:44:12" + } + ] + }, + "documentation": "@notice Function called by the founder after transfering the DGX fees into the DAO at the beginning of the quarter\n@dev This function needs to do lots of calculation, so it might not fit into one transaction\nAs such, it could be done in multiple transactions, each time passing _operations which is the number of operations we want to calculate.\nWhen the value of _done is finally true, that's when the calculation is done.\nOnly after this function runs, any other activities in the DAO could happen.\nBasically, if there were M participants and N moderators in the previous quarter, it takes M+N \"operations\".\nIn summary, the function populates the DaoQuarterInfo of this quarter.\nThe bulk of the calculation is to go through every participant in the previous quarter to calculate their effectiveDGDBalance and sum them to get the\ntotalEffectiveDGDLastQuarter", + "id": 4284, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4138, + "modifierName": { + "argumentTypes": null, + "id": 4137, + "name": "if_founder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1849, + "src": "16416:10:12", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "16416:12:12" + } + ], + "name": "calculateGlobalRewardsBeforeNewQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4136, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4135, + "name": "_operations", + "nodeType": "VariableDeclaration", + "scope": 4284, + "src": "16372:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4134, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16372:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16371:21:12" + }, + "payable": false, + "returnParameters": { + "id": 4141, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4140, + "name": "_done", + "nodeType": "VariableDeclaration", + "scope": 4284, + "src": "16446:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4139, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16446:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16445:12:12" + }, + "scope": 4685, + "src": "16324:2104:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4306, + "nodeType": "Block", + "src": "18653:185:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4293, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4291, + "src": "18663:3:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "id": 4297, + "name": "_forModerator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4288, + "src": "18709:13:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 4299, + "name": "INTERMEDIATE_DGD_IDENTIFIER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1288, + "src": "18765:27:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "18709:83:12", + "trueExpression": { + "argumentTypes": null, + "id": 4298, + "name": "INTERMEDIATE_MODERATOR_DGD_IDENTIFIER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1291, + "src": "18725:37:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4301, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4286, + "src": "18806:14:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4295, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26599, + "src": "18679:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4296, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "18679:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 4302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18679:151:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4294, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26606, + "src": "18669:9:12", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 4303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18669:162:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "18663:168:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4305, + "nodeType": "ExpressionStatement", + "src": "18663:168:12" + } + ] + }, + "documentation": null, + "id": 4307, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getIntermediateResultsIdForGlobalRewards", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4289, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4286, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 4307, + "src": "18573:22:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4285, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18573:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4288, + "name": "_forModerator", + "nodeType": "VariableDeclaration", + "scope": 4307, + "src": "18597:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4287, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "18597:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18572:44:12" + }, + "payable": false, + "returnParameters": { + "id": 4292, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4291, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 4307, + "src": "18640:11:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4290, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18640:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18639:13:12" + }, + "scope": 4685, + "src": "18523:315:12", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4390, + "nodeType": "Block", + "src": "19043:1223:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4312, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4309, + "src": "19119:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4314, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "dgxRewardsPoolLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1608, + "src": "19119:30:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4330, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4309, + "src": "19288:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4331, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1614, + "src": "19288:10:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4332, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sumRewardsFromBeginning", + "nodeType": "MemberAccess", + "referencedDeclaration": 8480, + "src": "19288:34:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4324, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "19231:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19231:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "totalDGXsClaimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 14997, + "src": "19231:36:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 4327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19231:38:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4320, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26709, + "src": "19207:4:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + ], + "id": 4319, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "19199:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 4321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19199:13:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4316, + "name": "ADDRESS_DGX_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3577, + "src": "19170:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4315, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26318, + "src": "19164:5:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$26318_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 4317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19164:24:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$26318", + "typeString": "contract ERC20" + } + }, + "id": 4318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balanceOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 26332, + "src": "19164:34:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 4322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19164:49:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "19164:66:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19164:106:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "19164:123:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19164:159:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19119:204:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4335, + "nodeType": "ExpressionStatement", + "src": "19119:204:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 4339, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19437:1:12", + "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, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4336, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "19393:15:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 4337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19393:17:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 4338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateTotalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16136, + "src": "19393:43:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 4340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19393:46:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4341, + "nodeType": "ExpressionStatement", + "src": "19393:46:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 4345, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19498:1:12", + "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, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4342, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "19449:15:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 4343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19449:17:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 4344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateTotalModeratorLockedDGDs", + "nodeType": "MemberAccess", + "referencedDeclaration": 16155, + "src": "19449:48:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 4346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19449:51:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4347, + "nodeType": "ExpressionStatement", + "src": "19449:51:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4354, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19587:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4351, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4309, + "src": "19562:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4352, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1602, + "src": "19562:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "19562:24:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19562:27:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4357, + "name": "CONFIG_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1474, + "src": "19617:28:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4356, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "19603:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19603:43:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4360, + "name": "CONFIG_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1477, + "src": "19674:35:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4359, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "19660:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19660:50:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4363, + "name": "CONFIG_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1480, + "src": "19738:38:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4362, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "19724:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19724:53:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4365, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4309, + "src": "19791:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4366, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveDGDPreviousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1604, + "src": "19791:37:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4368, + "name": "CONFIG_MODERATOR_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1483, + "src": "19857:38:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4367, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "19843:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19843:53:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4371, + "name": "CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1486, + "src": "19924:45:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4370, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "19910:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19910:60:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4374, + "name": "CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1489, + "src": "19998:48:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4373, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "19984:13:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19984:63:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4376, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4309, + "src": "20061:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4377, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1606, + "src": "20061:42:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4378, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "20118:3:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4379, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4309, + "src": "20135:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4380, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dgxRewardsPoolLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1608, + "src": "20135:30:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4385, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4309, + "src": "20218:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4386, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dgxRewardsPoolLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1608, + "src": "20218:30:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4381, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4309, + "src": "20179:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4382, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1614, + "src": "20179:10:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4383, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sumRewardsFromBeginning", + "nodeType": "MemberAccess", + "referencedDeclaration": 8480, + "src": "20179:34:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "20179:38:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20179:70:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4348, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "19511:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19511:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateQuarterInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 15137, + "src": "19511:37:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256) external" + } + }, + "id": 4388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19511:748:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4389, + "nodeType": "ExpressionStatement", + "src": "19511:748:12" + } + ] + }, + "documentation": null, + "id": 4391, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "processGlobalRewardsUpdate", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4310, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4309, + "name": "info", + "nodeType": "VariableDeclaration", + "scope": 4391, + "src": "19002:30:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo" + }, + "typeName": { + "contractScope": null, + "id": 4308, + "name": "QuarterRewardsInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1624, + "src": "19002:18:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_storage_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19001:32:12" + }, + "payable": false, + "returnParameters": { + "id": 4311, + "nodeType": "ParameterList", + "parameters": [], + "src": "19043:0:12" + }, + "scope": 4685, + "src": "18966:1300:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4683, + "nodeType": "Block", + "src": "20728:3712:12", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4404, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "20742:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 4405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20757:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "20742:16:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4409, + "nodeType": "IfStatement", + "src": "20738:40:12", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 4407, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "20767:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4403, + "id": 4408, + "nodeType": "Return", + "src": "20760:18:12" + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4410, + "name": "_interResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4399, + "src": "20826:13:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 4411, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "20826:26:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 4412, + "name": "EMPTY_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1249, + "src": "20856:13:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "20826:43:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 4472, + "nodeType": "Block", + "src": "21269:556:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4434, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "21283:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4436, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 1619, + "src": "21283:10:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "id": 4437, + "name": "_badgeCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4395, + "src": "21296:17:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4449, + "name": "_interResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4399, + "src": "21477:13:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 4450, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "21477:26:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4451, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "21505:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21518:4:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4446, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "21436:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 4447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21436:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 4448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listParticipantsFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 12677, + "src": "21436:40:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,bool) view external returns (address[] memory)" + } + }, + "id": 4453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21436:87:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 4454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "21296:227:12", + "trueExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4441, + "name": "_interResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4399, + "src": "21371:13:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 4442, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "21371:26:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4443, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "21399:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4444, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21412:4:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4438, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "21332:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 4439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21332:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 4440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listModeratorsFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 12614, + "src": "21332:38:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,bool) view external returns (address[] memory)" + } + }, + "id": 4445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21332:85:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "21283:240:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "id": 4456, + "nodeType": "ExpressionStatement", + "src": "21283:240:12" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4457, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "21679:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4458, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 1619, + "src": "21679:10:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "id": 4459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "21679:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 4460, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21700:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "21679:22:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4471, + "nodeType": "IfStatement", + "src": "21675:140:12", + "trueBody": { + "id": 4470, + "nodeType": "Block", + "src": "21703:112:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4462, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "21721:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4464, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "doneCalculatingEffectiveBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 1621, + "src": "21721:36:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21760:4:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "21721:43:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4467, + "nodeType": "ExpressionStatement", + "src": "21721:43:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4468, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "21789:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4403, + "id": 4469, + "nodeType": "Return", + "src": "21782:18:12" + } + ] + } + } + ] + }, + "id": 4473, + "nodeType": "IfStatement", + "src": "20822:1003:12", + "trueBody": { + "id": 4433, + "nodeType": "Block", + "src": "20871:392:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4414, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "21076:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4416, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 1619, + "src": "21076:10:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "id": 4417, + "name": "_badgeCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4395, + "src": "21089:17:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4427, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "21234:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4428, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21247:4:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4424, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "21197:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 4425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21197:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 4426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listParticipants", + "nodeType": "MemberAccess", + "referencedDeclaration": 12644, + "src": "21197:36:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (uint256,bool) view external returns (address[] memory)" + } + }, + "id": 4429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21197:55:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 4430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "21089:163:12", + "trueExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4421, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "21160:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4422, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21173:4:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4418, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "21125:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 4419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21125:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 4420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listModerators", + "nodeType": "MemberAccess", + "referencedDeclaration": 12581, + "src": "21125:34:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (uint256,bool) view external returns (address[] memory)" + } + }, + "id": 4423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21125:53:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "21076:176:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "id": 4432, + "nodeType": "ExpressionStatement", + "src": "21076:176:12" + } + ] + } + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 4475, + "name": "_lastAddress", + "nodeType": "VariableDeclaration", + "scope": 4684, + "src": "21835:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4474, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "21835:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4476, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "21835:20:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4477, + "name": "_lastAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4475, + "src": "21865:12:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4478, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "21880:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4479, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 1619, + "src": "21880:10:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "id": 4485, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4480, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "21891:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4481, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 1619, + "src": "21891:10:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "id": 4482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "21891:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 4483, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21911:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "21891:21:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21880:33:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "21865:48:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4487, + "nodeType": "ExpressionStatement", + "src": "21865:48:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4488, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "21924:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4490, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "userCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 1610, + "src": "21924:14:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4491, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "21941:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4492, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 1619, + "src": "21941:10:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "id": 4493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "21941:17:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21924:34:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4495, + "nodeType": "ExpressionStatement", + "src": "21924:34:12" + }, + { + "body": { + "id": 4621, + "nodeType": "Block", + "src": "22014:1589:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4511, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22028:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4513, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentUser", + "nodeType": "MemberAccess", + "referencedDeclaration": 1616, + "src": "22028:16:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4514, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22047:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4515, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 1619, + "src": "22047:10:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "id": 4518, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4516, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22058:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4517, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "i", + "nodeType": "MemberAccess", + "referencedDeclaration": 1612, + "src": "22058:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22047:18:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "22028:37:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4520, + "nodeType": "ExpressionStatement", + "src": "22028:37:12" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4524, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22215:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4525, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentUser", + "nodeType": "MemberAccess", + "referencedDeclaration": 1616, + "src": "22215:16:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4521, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "22171:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22171:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15001, + "src": "22171:43:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 4526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22171:61:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4527, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22236:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4528, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1602, + "src": "22236:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22171:85:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4532, + "nodeType": "IfStatement", + "src": "22167:132:12", + "trueBody": { + "id": 4531, + "nodeType": "Block", + "src": "22258:41:12", + "statements": [ + { + "id": 4530, + "nodeType": "Continue", + "src": "22276:8:12" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "id": 4533, + "name": "_badgeCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4395, + "src": "22316:17:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 4619, + "nodeType": "Block", + "src": "22990:603:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4577, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "23008:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4579, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalEffectiveDGDPreviousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1604, + "src": "23008:37:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4586, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "23164:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4587, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1614, + "src": "23164:10:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4588, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "minimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8460, + "src": "23164:36:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4589, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "23222:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4590, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1614, + "src": "23222:10:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4591, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "quarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8462, + "src": "23222:36:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4592, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "23280:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4593, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1614, + "src": "23280:10:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4594, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "reputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8464, + "src": "23280:39:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4598, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "23376:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4599, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentUser", + "nodeType": "MemberAccess", + "referencedDeclaration": 1616, + "src": "23376:16:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4600, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "23394:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4601, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1602, + "src": "23394:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4595, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "23341:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 4596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23341:18:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 4597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getQuarterPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14708, + "src": "23341:34:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view external returns (uint256)" + } + }, + "id": 4602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23341:74:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4606, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "23470:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4607, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentUser", + "nodeType": "MemberAccess", + "referencedDeclaration": 1616, + "src": "23470:16:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4603, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "23437:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 4604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23437:18:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 4605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14914, + "src": "23437:32:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 4608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23437:50:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4612, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "23542:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4613, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentUser", + "nodeType": "MemberAccess", + "referencedDeclaration": 1616, + "src": "23542:16:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4609, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "23509:15:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 4610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23509:17:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 4611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16048, + "src": "23509:32:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 4614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23509:50:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4583, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3591, + "src": "23090:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 4584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23090:22:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 4585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "calculateUserEffectiveBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 12472, + "src": "23090:52:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) pure external returns (uint256)" + } + }, + "id": 4615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23090:487:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4580, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "23048:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4581, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveDGDPreviousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1604, + "src": "23048:37:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "23048:41:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23048:530:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23008:570:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4618, + "nodeType": "ExpressionStatement", + "src": "23008:570:12" + } + ] + }, + "id": 4620, + "nodeType": "IfStatement", + "src": "22312:1281:12", + "trueBody": { + "id": 4576, + "nodeType": "Block", + "src": "22335:649:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4534, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22353:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4536, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1606, + "src": "22353:42:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4543, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22519:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4544, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1614, + "src": "22519:10:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4545, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorMinimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8468, + "src": "22519:45:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4546, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22586:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4547, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1614, + "src": "22586:10:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4548, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorQuarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8470, + "src": "22586:45:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4549, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22653:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4550, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1614, + "src": "22653:10:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4551, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorReputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8472, + "src": "22653:48:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4555, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22767:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4556, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentUser", + "nodeType": "MemberAccess", + "referencedDeclaration": 1616, + "src": "22767:16:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4557, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22785:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4558, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1602, + "src": "22785:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4552, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "22723:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 4553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22723:18:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 4554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getQuarterModeratorPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14727, + "src": "22723:43:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view external returns (uint256)" + } + }, + "id": 4559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22723:83:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4563, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22861:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4564, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentUser", + "nodeType": "MemberAccess", + "referencedDeclaration": 1616, + "src": "22861:16:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4560, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "22828:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 4561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22828:18:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 4562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14914, + "src": "22828:32:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 4565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22828:50:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4569, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22933:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4570, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentUser", + "nodeType": "MemberAccess", + "referencedDeclaration": 1616, + "src": "22933:16:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4566, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "22900:15:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 4567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22900:17:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 4568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16048, + "src": "22900:32:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 4571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22900:50:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4540, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3591, + "src": "22445:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 4541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22445:22:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 4542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "calculateUserEffectiveBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 12472, + "src": "22445:52:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) pure external returns (uint256)" + } + }, + "id": 4572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22445:523:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4537, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22398:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4538, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1606, + "src": "22398:42:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "22398:46:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22398:571:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22353:616:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4575, + "nodeType": "ExpressionStatement", + "src": "22353:616:12" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4502, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "21982:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4503, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "i", + "nodeType": "MemberAccess", + "referencedDeclaration": 1612, + "src": "21982:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4504, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "21989:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4505, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 1610, + "src": "21989:14:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21982:21:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4622, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 4500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4496, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "21973:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4498, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "i", + "nodeType": "MemberAccess", + "referencedDeclaration": 1612, + "src": "21973:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 4499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21980:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "21973:8:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4501, + "nodeType": "ExpressionStatement", + "src": "21973:8:12" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 4509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "22004:8:12", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4507, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "22004:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4508, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "i", + "nodeType": "MemberAccess", + "referencedDeclaration": 1612, + "src": "22004:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4510, + "nodeType": "ExpressionStatement", + "src": "22004:8:12" + }, + "nodeType": "ForStatement", + "src": "21968:1635:12" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4623, + "name": "_lastAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4475, + "src": "23686:12:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4624, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "23702:15:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 4625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23702:17:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 4626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readLastModerator", + "nodeType": "MemberAccess", + "referencedDeclaration": 16347, + "src": "23702:35:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 4627, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23702:37:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "23686:53:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 4629, + "name": "_badgeCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4395, + "src": "23743:17:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "23686:74:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4638, + "nodeType": "IfStatement", + "src": "23682:157:12", + "trueBody": { + "id": 4637, + "nodeType": "Block", + "src": "23762:77:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4631, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "23776:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4633, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "doneCalculatingModeratorEffectiveBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 1623, + "src": "23776:45:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4634, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23824:4:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "23776:52:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4636, + "nodeType": "ExpressionStatement", + "src": "23776:52:12" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 4647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 4639, + "name": "_lastAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4475, + "src": "23852:12:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4640, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "23868:15:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 4641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23868:17:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 4642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readLastParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16413, + "src": "23868:37:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 4643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23868:39:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "23852:55:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 4646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "23911:18:12", + "subExpression": { + "argumentTypes": null, + "id": 4645, + "name": "_badgeCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4395, + "src": "23912:17:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "23852:77:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4655, + "nodeType": "IfStatement", + "src": "23848:151:12", + "trueBody": { + "id": 4654, + "nodeType": "Block", + "src": "23931:68:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4648, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "23945:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4650, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "doneCalculatingEffectiveBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 1621, + "src": "23945:36:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4651, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23984:4:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "23945:43:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4653, + "nodeType": "ExpressionStatement", + "src": "23945:43:12" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4660, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "24164:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4661, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1602, + "src": "24164:20:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 4662, + "name": "_badgeCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4395, + "src": "24186:17:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4659, + "name": "getIntermediateResultsIdForGlobalRewards", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4307, + "src": "24123:40:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_bool_$returns$_t_bytes32_$", + "typeString": "function (uint256,bool) view returns (bytes32)" + } + }, + "id": 4663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24123:81:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4664, + "name": "_lastAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4475, + "src": "24218:12:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 4665, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24244:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 4666, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24246:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "id": 4667, + "name": "_badgeCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4395, + "src": "24261:17:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4670, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "24326:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4671, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveDGDPreviousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1604, + "src": "24326:37:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "24261:102:12", + "trueExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4668, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "24281:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4669, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1606, + "src": "24281:42:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4656, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "24058:26:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 4657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24058:28:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 4658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18586, + "src": "24058:51:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint256,uint256) external" + } + }, + "id": 4673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24058:315:12", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4674, + "nodeType": "ExpressionStatement", + "src": "24058:315:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 4681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4675, + "name": "_operationsLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4402, + "src": "24384:15:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4678, + "name": "info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4393, + "src": "24418:4:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo memory" + } + }, + "id": 4679, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 1610, + "src": "24418:14:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 4676, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4397, + "src": "24402:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4677, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "24402:15:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24402:31:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24384:49:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4682, + "nodeType": "ExpressionStatement", + "src": "24384:49:12" + } + ] + }, + "documentation": null, + "id": 4684, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "sumEffectiveBalance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4400, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4393, + "name": "info", + "nodeType": "VariableDeclaration", + "scope": 4684, + "src": "20445:30:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo" + }, + "typeName": { + "contractScope": null, + "id": 4392, + "name": "QuarterRewardsInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1624, + "src": "20445:18:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_QuarterRewardsInfo_$1624_storage_ptr", + "typeString": "struct DaoRewardsManagerCommon.QuarterRewardsInfo" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4395, + "name": "_badgeCalculation", + "nodeType": "VariableDeclaration", + "scope": 4684, + "src": "20485:22:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4394, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "20485:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4397, + "name": "_operations", + "nodeType": "VariableDeclaration", + "scope": 4684, + "src": "20581:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4396, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20581:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4399, + "name": "_interResults", + "nodeType": "VariableDeclaration", + "scope": 4684, + "src": "20610:51:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + }, + "typeName": { + "contractScope": null, + "id": 4398, + "name": "DaoStructs.IntermediateResults", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8490, + "src": "20610:30:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20435:232:12" + }, + "payable": false, + "returnParameters": { + "id": 4403, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4402, + "name": "_operationsLeft", + "nodeType": "VariableDeclaration", + "scope": 4684, + "src": "20702:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4401, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20702:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20701:22:12" + }, + "scope": 4685, + "src": "20406:4034:12", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 4686, + "src": "390:24052:12" + } + ], + "src": "0:24443:12" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0xcaf4acbd5f531f4ff2788d3b9281fc4ddad310cb", + "transactionHash": "0x2e13668721556ca766d4d9493cf7a4cbd8c11a0567e09f951cc66eb12c55c7bc" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T10:37:27.668Z" +} \ No newline at end of file diff --git a/build/contracts/DaoRewardsManagerCommon.json b/build/contracts/DaoRewardsManagerCommon.json new file mode 100644 index 0000000..db64f8e --- /dev/null +++ b/build/contracts/DaoRewardsManagerCommon.json @@ -0,0 +1,3784 @@ +{ + "contractName": "DaoRewardsManagerCommon", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentTimeInQuarter", + "outputs": [ + { + "name": "_currentT", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isMainPhase", + "outputs": [ + { + "name": "_isMainPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isLockingPhase", + "outputs": [ + { + "name": "_isLockingPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentQuarterNumber", + "outputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getUintConfig", + "outputs": [ + { + "name": "_configValue", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isDaoNotReplaced", + "outputs": [ + { + "name": "_isNotReplaced", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f9060001916905534801561113357600080fd5b5061095e806111436000396000f3006080604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100a95780633943380c146101005780633f83acff14610133578063560a25ea146101a457806368533060146101cf5780637d6fed80146101fe5780637f6a26b61461022d578063b1e2b9dd14610258578063d70d93581461029d578063db4ecbc1146102cc575b600080fd5b3480156100b557600080fd5b506100be610323565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561010c57600080fd5b50610115610348565b60405180826000191660001916815260200191505060405180910390f35b34801561013f57600080fd5b50610162600480360381019080803560001916906020019092919050505061034e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101b057600080fd5b506101b961042a565b6040518082815260200191505060405180910390f35b3480156101db57600080fd5b506101e461043a565b604051808215151515815260200191505060405180910390f35b34801561020a57600080fd5b50610213610466565b604051808215151515815260200191505060405180910390f35b34801561023957600080fd5b50610242610481565b6040518082815260200191505060405180910390f35b34801561026457600080fd5b506102876004803603810190808035600019169060200190929190505050610491565b6040518082815260200191505060405180910390f35b3480156102a957600080fd5b506102b2610553565b604051808215151515815260200191505060405180910390f35b3480156102d857600080fd5b506102e1610601565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156103e857600080fd5b505af11580156103fc573d6000803e3d6000fd5b505050506040513d602081101561041257600080fd5b81019080805190602001909291905050509050919050565b600061043542610627565b905090565b6000610444610553565b80156104615750610456603854610491565b61045e61042a565b10155b905090565b6000610473603854610491565b61047b61042a565b10905090565b600061048c42610710565b905090565b600061049b610813565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561051157600080fd5b505af1158015610525573d6000803e3d6000fd5b505050506040513d602081101561053b57600080fd5b81019080805190602001909291905050509050919050565b600061055d610825565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156105c057600080fd5b505af11580156105d4573d6000803e3d6000fd5b505050506040513d60208110156105ea57600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610631610837565b151561063c57600080fd5b610647603954610491565b6106ff610652610825565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156106b557600080fd5b505af11580156106c9573d6000803e3d6000fd5b505050506040513d60208110156106df57600080fd5b8101908080519060200190929190505050846108e790919063ffffffff16565b81151561070857fe5b069050919050565b600061071a610837565b151561072557600080fd5b61080c60016107fe610738603954610491565b6107f0610743610825565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156107a657600080fd5b505af11580156107ba573d6000803e3d6000fd5b505050506040513d60208110156107d057600080fd5b8101908080519060200190929190505050876108e790919063ffffffff16565b61090090919063ffffffff16565b61091690919063ffffffff16565b9050919050565b6000610820602b5461034e565b905090565b600061083260275461034e565b905090565b600080610842610825565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156108a557600080fd5b505af11580156108b9573d6000803e3d6000fd5b505050506040513d60208110156108cf57600080fd5b81019080805190602001909291905050501415905090565b60008282111515156108f557fe5b818303905092915050565b6000818381151561090d57fe5b04905092915050565b6000818301905082811015151561092957fe5b809050929150505600a165627a7a7230582091908902343457979269f414737ed027bb14fde0718429c56cbae59e9bf63c400029", + "deployedBytecode": "0x6080604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100a95780633943380c146101005780633f83acff14610133578063560a25ea146101a457806368533060146101cf5780637d6fed80146101fe5780637f6a26b61461022d578063b1e2b9dd14610258578063d70d93581461029d578063db4ecbc1146102cc575b600080fd5b3480156100b557600080fd5b506100be610323565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561010c57600080fd5b50610115610348565b60405180826000191660001916815260200191505060405180910390f35b34801561013f57600080fd5b50610162600480360381019080803560001916906020019092919050505061034e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101b057600080fd5b506101b961042a565b6040518082815260200191505060405180910390f35b3480156101db57600080fd5b506101e461043a565b604051808215151515815260200191505060405180910390f35b34801561020a57600080fd5b50610213610466565b604051808215151515815260200191505060405180910390f35b34801561023957600080fd5b50610242610481565b6040518082815260200191505060405180910390f35b34801561026457600080fd5b506102876004803603810190808035600019169060200190929190505050610491565b6040518082815260200191505060405180910390f35b3480156102a957600080fd5b506102b2610553565b604051808215151515815260200191505060405180910390f35b3480156102d857600080fd5b506102e1610601565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156103e857600080fd5b505af11580156103fc573d6000803e3d6000fd5b505050506040513d602081101561041257600080fd5b81019080805190602001909291905050509050919050565b600061043542610627565b905090565b6000610444610553565b80156104615750610456603854610491565b61045e61042a565b10155b905090565b6000610473603854610491565b61047b61042a565b10905090565b600061048c42610710565b905090565b600061049b610813565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561051157600080fd5b505af1158015610525573d6000803e3d6000fd5b505050506040513d602081101561053b57600080fd5b81019080805190602001909291905050509050919050565b600061055d610825565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156105c057600080fd5b505af11580156105d4573d6000803e3d6000fd5b505050506040513d60208110156105ea57600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610631610837565b151561063c57600080fd5b610647603954610491565b6106ff610652610825565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156106b557600080fd5b505af11580156106c9573d6000803e3d6000fd5b505050506040513d60208110156106df57600080fd5b8101908080519060200190929190505050846108e790919063ffffffff16565b81151561070857fe5b069050919050565b600061071a610837565b151561072557600080fd5b61080c60016107fe610738603954610491565b6107f0610743610825565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156107a657600080fd5b505af11580156107ba573d6000803e3d6000fd5b505050506040513d60208110156107d057600080fd5b8101908080519060200190929190505050876108e790919063ffffffff16565b61090090919063ffffffff16565b61091690919063ffffffff16565b9050919050565b6000610820602b5461034e565b905090565b600061083260275461034e565b905090565b600080610842610825565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156108a557600080fd5b505af11580156108b9573d6000803e3d6000fd5b505050506040513d60208110156108cf57600080fd5b81019080805190602001909291905050501415905090565b60008282111515156108f557fe5b818303905092915050565b6000818381151561090d57fe5b04905092915050565b6000818301905082811015151561092957fe5b809050929150505600a165627a7a7230582091908902343457979269f414737ed027bb14fde0718429c56cbae59e9bf63c400029", + "sourceMap": "91:2578:4:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;91:2578:4;8:9:-1;5:2;;;30:1;27;20:12;5:2;91:2578:4;;;;;;;", + "deployedSourceMap": "91:2578:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4743:147:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4743:147:2;;;;;;;;;;;;;;;;;;;;;;;1759:239;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1759:239:2;;;;;;;;;;;;;;;;;;;;;;;;;;;1283:201;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1283:201:2;;;;;;;;;;;;;;;;;;;;;;;;;;;3064:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3064:159:2;;;;;;;;;;;;;;;;;;;;;;;7261:189;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7261:189:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;834:173:2;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23;;;;;;;;;;;;;:::o;264:18::-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;4743:147:2:-;4820:17;4865:18;4879:3;4865:13;:18::i;:::-;4853:30;;4743:147;:::o;1759:239::-;1827:17;1887:18;:16;:18::i;:::-;:104;;;;;1947:44;1961:29;;1947:13;:44::i;:::-;1921:22;:20;:22::i;:::-;:70;;1887:104;1860:131;;1759:239;:::o;1283:201::-;1354:20;1433:44;1447:29;;1433:13;:44::i;:::-;1408:22;:20;:22::i;:::-;:69;1390:87;;1283:201;:::o;3064:159::-;3140:22;3195:21;3212:3;3195:16;:21::i;:::-;3178:38;;3064:159;:::o;7261:189::-;7349:20;7400:19;:17;:19::i;:::-;:31;;;7432:10;7400:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7400:43:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7400:43:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7400:43:2;;;;;;;;;;;;;;;;7385:58;;7261:189;;;:::o;834:173::-;907:19;960;:17;:19::i;:::-;:38;;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;960:40:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;960:40:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;960:40:2;;;;;;;;;;;;;;;;959:41;942:58;;834:173;:::o;344:31:67:-;;;;;;;;;;;;;:::o;3862:332:2:-;3947:22;3993:26;:24;:26::i;:::-;3985:35;;;;;;;;4149:38;4163:23;;4149:13;:38::i;:::-;4082:52;4092:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4092:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4092:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4092:41:2;;;;;;;;;;;;;;;;4082:5;:9;;:52;;;;:::i;:::-;:105;;;;;;;;4053:134;;3862:332;;;:::o;3369:320::-;3457:14;3495:26;:24;:26::i;:::-;3487:35;;;;;;;;3553:129;3680:1;3553:109;3623:38;3637:23;;3623:13;:38::i;:::-;3553:52;3563:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3563:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3563:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3563:41:2;;;;;;;;;;;;;;;;3553:5;:9;;:52;;;;:::i;:::-;:69;;:109;;;;:::i;:::-;:126;;:129;;;;:::i;:::-;3532:150;;3369:320;;;:::o;5398:198::-;5474:27;5547:41;5560:27;;5547:12;:41::i;:::-;5517:72;;5398:198;:::o;6204:199::-;6280:27;6353:42;6366:28;;6353:12;:42::i;:::-;6323:73;;6204:199;:::o;4343:172::-;4426:11;4507:1;4462:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4462:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4462:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4462:41:2;;;;;;;;;;;;;;;;:46;;4453:55;;4343:172;:::o;1060:116:84:-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;665:283::-;725:7;941:2;936;:7;;;;;;;;929:14;;665:283;;;;:::o;1238:128::-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"./DaoCommonMini.sol\";\nimport \"./../lib/DaoStructs.sol\";\n\ncontract DaoRewardsManagerCommon is DaoCommonMini {\n\n using DaoStructs for DaoStructs.DaoQuarterInfo;\n\n // this is a struct that store information relevant for calculating the user rewards\n // for the last participating quarter\n struct UserRewards {\n uint256 lastParticipatedQuarter;\n uint256 lastQuarterThatRewardsWasUpdated;\n uint256 effectiveDGDBalance;\n uint256 effectiveModeratorDGDBalance;\n DaoStructs.DaoQuarterInfo qInfo;\n }\n\n // struct to store variables needed in the execution of calculateGlobalRewardsBeforeNewQuarter\n struct QuarterRewardsInfo {\n uint256 previousQuarter;\n uint256 totalEffectiveDGDPreviousQuarter;\n uint256 totalEffectiveModeratorDGDLastQuarter;\n uint256 dgxRewardsPoolLastQuarter;\n uint256 userCount;\n uint256 i;\n DaoStructs.DaoQuarterInfo qInfo;\n address currentUser;\n address[] users;\n bool doneCalculatingEffectiveBalance;\n bool doneCalculatingModeratorEffectiveBalance;\n }\n\n // get the struct for the relevant information for calculating a user's DGX rewards for the last participated quarter\n function getUserRewardsStruct(address _user)\n internal\n view\n returns (UserRewards memory _data)\n {\n _data.lastParticipatedQuarter = daoRewardsStorage().lastParticipatedQuarter(_user);\n _data.lastQuarterThatRewardsWasUpdated = daoRewardsStorage().lastQuarterThatRewardsWasUpdated(_user);\n _data.qInfo = readQuarterInfo(_data.lastParticipatedQuarter);\n }\n\n // read the DaoQuarterInfo struct of a certain quarter\n function readQuarterInfo(uint256 _quarterNumber)\n internal\n view\n returns (DaoStructs.DaoQuarterInfo _qInfo)\n {\n (\n _qInfo.minimalParticipationPoint,\n _qInfo.quarterPointScalingFactor,\n _qInfo.reputationPointScalingFactor,\n _qInfo.totalEffectiveDGDPreviousQuarter\n ) = daoRewardsStorage().readQuarterParticipantInfo(_quarterNumber);\n (\n _qInfo.moderatorMinimalParticipationPoint,\n _qInfo.moderatorQuarterPointScalingFactor,\n _qInfo.moderatorReputationPointScalingFactor,\n _qInfo.totalEffectiveModeratorDGDLastQuarter\n ) = daoRewardsStorage().readQuarterModeratorInfo(_quarterNumber);\n (\n _qInfo.dgxDistributionDay,\n _qInfo.dgxRewardsPoolLastQuarter,\n _qInfo.sumRewardsFromBeginning\n ) = daoRewardsStorage().readQuarterGeneralInfo(_quarterNumber);\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/common/DaoRewardsManagerCommon.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoRewardsManagerCommon.sol", + "exportedSymbols": { + "DaoRewardsManagerCommon": [ + 1719 + ] + }, + "id": 1720, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1582, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:4" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommonMini.sol", + "file": "./DaoCommonMini.sol", + "id": 1583, + "nodeType": "ImportDirective", + "scope": 1720, + "sourceUnit": 1234, + "src": "26:29:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoStructs.sol", + "file": "./../lib/DaoStructs.sol", + "id": 1584, + "nodeType": "ImportDirective", + "scope": 1720, + "sourceUnit": 8492, + "src": "56:33:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1585, + "name": "DaoCommonMini", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1233, + "src": "127:13:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommonMini_$1233", + "typeString": "contract DaoCommonMini" + } + }, + "id": 1586, + "nodeType": "InheritanceSpecifier", + "src": "127:13:4" + } + ], + "contractDependencies": [ + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1719, + "linearizedBaseContracts": [ + 1719, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoRewardsManagerCommon", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 1589, + "libraryName": { + "contractScope": null, + "id": 1587, + "name": "DaoStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8491, + "src": "154:10:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStructs_$8491", + "typeString": "library DaoStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "148:47:4", + "typeName": { + "contractScope": null, + "id": 1588, + "name": "DaoStructs.DaoQuarterInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8481, + "src": "169:25:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo" + } + } + }, + { + "canonicalName": "DaoRewardsManagerCommon.UserRewards", + "id": 1600, + "members": [ + { + "constant": false, + "id": 1591, + "name": "lastParticipatedQuarter", + "nodeType": "VariableDeclaration", + "scope": 1600, + "src": "361:31:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1590, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "361:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1593, + "name": "lastQuarterThatRewardsWasUpdated", + "nodeType": "VariableDeclaration", + "scope": 1600, + "src": "402:40:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1592, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "402:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1595, + "name": "effectiveDGDBalance", + "nodeType": "VariableDeclaration", + "scope": 1600, + "src": "452:27:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1594, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "452:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1597, + "name": "effectiveModeratorDGDBalance", + "nodeType": "VariableDeclaration", + "scope": 1600, + "src": "489:36:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1596, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "489:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1599, + "name": "qInfo", + "nodeType": "VariableDeclaration", + "scope": 1600, + "src": "535:31:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo" + }, + "typeName": { + "contractScope": null, + "id": 1598, + "name": "DaoStructs.DaoQuarterInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8481, + "src": "535:25:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "UserRewards", + "nodeType": "StructDefinition", + "scope": 1719, + "src": "332:241:4", + "visibility": "public" + }, + { + "canonicalName": "DaoRewardsManagerCommon.QuarterRewardsInfo", + "id": 1624, + "members": [ + { + "constant": false, + "id": 1602, + "name": "previousQuarter", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "714:23:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1601, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "714:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1604, + "name": "totalEffectiveDGDPreviousQuarter", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "747:40:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "747:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1606, + "name": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "797:45:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1605, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "797:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1608, + "name": "dgxRewardsPoolLastQuarter", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "852:33:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1607, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "852:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1610, + "name": "userCount", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "895:17:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1609, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "895:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1612, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "922:9:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1611, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "922:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1614, + "name": "qInfo", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "941:31:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo" + }, + "typeName": { + "contractScope": null, + "id": 1613, + "name": "DaoStructs.DaoQuarterInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8481, + "src": "941:25:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1616, + "name": "currentUser", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "982:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1615, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "982:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1619, + "name": "users", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "1011:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 1617, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1011:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1618, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1011:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1621, + "name": "doneCalculatingEffectiveBalance", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "1036:36:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1620, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1036:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1623, + "name": "doneCalculatingModeratorEffectiveBalance", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "1082:45:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1622, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1082:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "QuarterRewardsInfo", + "nodeType": "StructDefinition", + "scope": 1719, + "src": "678:456:4", + "visibility": "public" + }, + { + "body": { + "id": 1660, + "nodeType": "Block", + "src": "1384:279:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1631, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1629, + "src": "1394:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 1633, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "1394:29:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1637, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1626, + "src": "1470:5:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1634, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "1426:17:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 1635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1426:19:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 1636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15001, + "src": "1426:43:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 1638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1426:50:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1394:82:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1640, + "nodeType": "ExpressionStatement", + "src": "1394:82:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 1649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1641, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1629, + "src": "1486:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 1643, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "lastQuarterThatRewardsWasUpdated", + "nodeType": "MemberAccess", + "referencedDeclaration": 1593, + "src": "1486:38:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1647, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1626, + "src": "1580:5:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1644, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "1527:17:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 1645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1527:19:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 1646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastQuarterThatRewardsWasUpdated", + "nodeType": "MemberAccess", + "referencedDeclaration": 15009, + "src": "1527:52:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 1648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1527:59:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1486:100:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1650, + "nodeType": "ExpressionStatement", + "src": "1486:100:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 1658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1651, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1629, + "src": "1596:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 1653, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1599, + "src": "1596:11:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1655, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1629, + "src": "1626:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 1656, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "1626:29:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1654, + "name": "readQuarterInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1718, + "src": "1610:15:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_DaoQuarterInfo_$8481_memory_ptr_$", + "typeString": "function (uint256) view returns (struct DaoStructs.DaoQuarterInfo memory)" + } + }, + "id": 1657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1610:46:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "src": "1596:60:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1659, + "nodeType": "ExpressionStatement", + "src": "1596:60:4" + } + ] + }, + "documentation": null, + "id": 1661, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getUserRewardsStruct", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1627, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1626, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 1661, + "src": "1292:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1625, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1292:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1291:15:4" + }, + "payable": false, + "returnParameters": { + "id": 1630, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1629, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 1661, + "src": "1354:24:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards" + }, + "typeName": { + "contractScope": null, + "id": 1628, + "name": "UserRewards", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1600, + "src": "1354:11:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_storage_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1353:26:4" + }, + "scope": 1719, + "src": "1262:401:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1717, + "nodeType": "Block", + "src": "1862:805:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1668, + "name": "_qInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "1886:6:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1670, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "minimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8460, + "src": "1886:32:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1671, + "name": "_qInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "1932:6:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1672, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "quarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8462, + "src": "1932:32:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1673, + "name": "_qInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "1978:6:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1674, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "reputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8464, + "src": "1978:35:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1675, + "name": "_qInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "2027:6:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1676, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalEffectiveDGDPreviousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8466, + "src": "2027:39:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1677, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "1872:204:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1681, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1663, + "src": "2126:14:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1678, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "2079:17:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 1679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2079:19:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 1680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readQuarterParticipantInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 15484, + "src": "2079:46:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256,uint256,uint256,uint256)" + } + }, + "id": 1682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2079:62:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256)" + } + }, + "src": "1872:269:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1684, + "nodeType": "ExpressionStatement", + "src": "1872:269:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 1700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1685, + "name": "_qInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "2165:6:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1687, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "moderatorMinimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8468, + "src": "2165:41:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1688, + "name": "_qInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "2220:6:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1689, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "moderatorQuarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8470, + "src": "2220:41:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1690, + "name": "_qInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "2275:6:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1691, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "moderatorReputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8472, + "src": "2275:44:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1692, + "name": "_qInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "2333:6:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1693, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8474, + "src": "2333:44:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1694, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "2151:236:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1698, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1663, + "src": "2435:14:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1695, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "2390:17:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 1696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2390:19:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 1697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readQuarterModeratorInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 15442, + "src": "2390:44:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256,uint256,uint256,uint256)" + } + }, + "id": 1699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2390:60:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256)" + } + }, + "src": "2151:299:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1701, + "nodeType": "ExpressionStatement", + "src": "2151:299:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 1715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1702, + "name": "_qInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "2474:6:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1704, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "dgxDistributionDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 8476, + "src": "2474:25:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1705, + "name": "_qInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "2513:6:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1706, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "dgxRewardsPoolLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8478, + "src": "2513:32:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1707, + "name": "_qInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "2559:6:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1708, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "sumRewardsFromBeginning", + "nodeType": "MemberAccess", + "referencedDeclaration": 8480, + "src": "2559:30:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1709, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "2460:139:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1713, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1663, + "src": "2645:14:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1710, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "2602:17:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 1711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2602:19:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 1712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readQuarterGeneralInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 15400, + "src": "2602:42:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256,uint256,uint256)" + } + }, + "id": 1714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2602:58:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256)" + } + }, + "src": "2460:200:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1716, + "nodeType": "ExpressionStatement", + "src": "2460:200:4" + } + ] + }, + "documentation": null, + "id": 1718, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readQuarterInfo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1664, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1663, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 1718, + "src": "1753:22:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1662, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1753:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1752:24:4" + }, + "payable": false, + "returnParameters": { + "id": 1667, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1666, + "name": "_qInfo", + "nodeType": "VariableDeclaration", + "scope": 1718, + "src": "1824:32:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo" + }, + "typeName": { + "contractScope": null, + "id": 1665, + "name": "DaoStructs.DaoQuarterInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8481, + "src": "1824:25:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1823:34:4" + }, + "scope": 1719, + "src": "1728:939:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 1720, + "src": "91:2578:4" + } + ], + "src": "0:2670:4" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoRewardsManagerCommon.sol", + "exportedSymbols": { + "DaoRewardsManagerCommon": [ + 1719 + ] + }, + "id": 1720, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1582, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:4" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommonMini.sol", + "file": "./DaoCommonMini.sol", + "id": 1583, + "nodeType": "ImportDirective", + "scope": 1720, + "sourceUnit": 1234, + "src": "26:29:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoStructs.sol", + "file": "./../lib/DaoStructs.sol", + "id": 1584, + "nodeType": "ImportDirective", + "scope": 1720, + "sourceUnit": 8492, + "src": "56:33:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1585, + "name": "DaoCommonMini", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1233, + "src": "127:13:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommonMini_$1233", + "typeString": "contract DaoCommonMini" + } + }, + "id": 1586, + "nodeType": "InheritanceSpecifier", + "src": "127:13:4" + } + ], + "contractDependencies": [ + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1719, + "linearizedBaseContracts": [ + 1719, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoRewardsManagerCommon", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 1589, + "libraryName": { + "contractScope": null, + "id": 1587, + "name": "DaoStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8491, + "src": "154:10:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStructs_$8491", + "typeString": "library DaoStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "148:47:4", + "typeName": { + "contractScope": null, + "id": 1588, + "name": "DaoStructs.DaoQuarterInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8481, + "src": "169:25:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo" + } + } + }, + { + "canonicalName": "DaoRewardsManagerCommon.UserRewards", + "id": 1600, + "members": [ + { + "constant": false, + "id": 1591, + "name": "lastParticipatedQuarter", + "nodeType": "VariableDeclaration", + "scope": 1600, + "src": "361:31:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1590, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "361:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1593, + "name": "lastQuarterThatRewardsWasUpdated", + "nodeType": "VariableDeclaration", + "scope": 1600, + "src": "402:40:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1592, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "402:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1595, + "name": "effectiveDGDBalance", + "nodeType": "VariableDeclaration", + "scope": 1600, + "src": "452:27:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1594, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "452:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1597, + "name": "effectiveModeratorDGDBalance", + "nodeType": "VariableDeclaration", + "scope": 1600, + "src": "489:36:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1596, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "489:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1599, + "name": "qInfo", + "nodeType": "VariableDeclaration", + "scope": 1600, + "src": "535:31:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo" + }, + "typeName": { + "contractScope": null, + "id": 1598, + "name": "DaoStructs.DaoQuarterInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8481, + "src": "535:25:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "UserRewards", + "nodeType": "StructDefinition", + "scope": 1719, + "src": "332:241:4", + "visibility": "public" + }, + { + "canonicalName": "DaoRewardsManagerCommon.QuarterRewardsInfo", + "id": 1624, + "members": [ + { + "constant": false, + "id": 1602, + "name": "previousQuarter", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "714:23:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1601, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "714:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1604, + "name": "totalEffectiveDGDPreviousQuarter", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "747:40:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "747:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1606, + "name": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "797:45:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1605, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "797:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1608, + "name": "dgxRewardsPoolLastQuarter", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "852:33:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1607, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "852:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1610, + "name": "userCount", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "895:17:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1609, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "895:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1612, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "922:9:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1611, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "922:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1614, + "name": "qInfo", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "941:31:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo" + }, + "typeName": { + "contractScope": null, + "id": 1613, + "name": "DaoStructs.DaoQuarterInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8481, + "src": "941:25:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1616, + "name": "currentUser", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "982:19:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1615, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "982:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1619, + "name": "users", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "1011:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 1617, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1011:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1618, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1011:9:4", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1621, + "name": "doneCalculatingEffectiveBalance", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "1036:36:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1620, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1036:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1623, + "name": "doneCalculatingModeratorEffectiveBalance", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "1082:45:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1622, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1082:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "QuarterRewardsInfo", + "nodeType": "StructDefinition", + "scope": 1719, + "src": "678:456:4", + "visibility": "public" + }, + { + "body": { + "id": 1660, + "nodeType": "Block", + "src": "1384:279:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1631, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1629, + "src": "1394:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 1633, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "1394:29:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1637, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1626, + "src": "1470:5:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1634, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "1426:17:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 1635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1426:19:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 1636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15001, + "src": "1426:43:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 1638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1426:50:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1394:82:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1640, + "nodeType": "ExpressionStatement", + "src": "1394:82:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 1649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1641, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1629, + "src": "1486:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 1643, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "lastQuarterThatRewardsWasUpdated", + "nodeType": "MemberAccess", + "referencedDeclaration": 1593, + "src": "1486:38:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1647, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1626, + "src": "1580:5:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1644, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "1527:17:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 1645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1527:19:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 1646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastQuarterThatRewardsWasUpdated", + "nodeType": "MemberAccess", + "referencedDeclaration": 15009, + "src": "1527:52:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 1648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1527:59:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1486:100:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1650, + "nodeType": "ExpressionStatement", + "src": "1486:100:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 1658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1651, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1629, + "src": "1596:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 1653, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1599, + "src": "1596:11:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1655, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1629, + "src": "1626:5:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 1656, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "1626:29:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1654, + "name": "readQuarterInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1718, + "src": "1610:15:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_DaoQuarterInfo_$8481_memory_ptr_$", + "typeString": "function (uint256) view returns (struct DaoStructs.DaoQuarterInfo memory)" + } + }, + "id": 1657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1610:46:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "src": "1596:60:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1659, + "nodeType": "ExpressionStatement", + "src": "1596:60:4" + } + ] + }, + "documentation": null, + "id": 1661, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getUserRewardsStruct", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1627, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1626, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 1661, + "src": "1292:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1625, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1292:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1291:15:4" + }, + "payable": false, + "returnParameters": { + "id": 1630, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1629, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 1661, + "src": "1354:24:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards" + }, + "typeName": { + "contractScope": null, + "id": 1628, + "name": "UserRewards", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1600, + "src": "1354:11:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_storage_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1353:26:4" + }, + "scope": 1719, + "src": "1262:401:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1717, + "nodeType": "Block", + "src": "1862:805:4", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1668, + "name": "_qInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "1886:6:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1670, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "minimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8460, + "src": "1886:32:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1671, + "name": "_qInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "1932:6:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1672, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "quarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8462, + "src": "1932:32:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1673, + "name": "_qInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "1978:6:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1674, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "reputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8464, + "src": "1978:35:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1675, + "name": "_qInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "2027:6:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1676, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalEffectiveDGDPreviousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8466, + "src": "2027:39:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1677, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "1872:204:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1681, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1663, + "src": "2126:14:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1678, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "2079:17:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 1679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2079:19:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 1680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readQuarterParticipantInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 15484, + "src": "2079:46:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256,uint256,uint256,uint256)" + } + }, + "id": 1682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2079:62:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256)" + } + }, + "src": "1872:269:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1684, + "nodeType": "ExpressionStatement", + "src": "1872:269:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 1700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1685, + "name": "_qInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "2165:6:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1687, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "moderatorMinimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8468, + "src": "2165:41:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1688, + "name": "_qInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "2220:6:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1689, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "moderatorQuarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8470, + "src": "2220:41:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1690, + "name": "_qInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "2275:6:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1691, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "moderatorReputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8472, + "src": "2275:44:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1692, + "name": "_qInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "2333:6:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1693, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8474, + "src": "2333:44:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1694, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "2151:236:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1698, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1663, + "src": "2435:14:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1695, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "2390:17:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 1696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2390:19:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 1697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readQuarterModeratorInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 15442, + "src": "2390:44:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256,uint256,uint256,uint256)" + } + }, + "id": 1699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2390:60:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,uint256)" + } + }, + "src": "2151:299:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1701, + "nodeType": "ExpressionStatement", + "src": "2151:299:4" + }, + { + "expression": { + "argumentTypes": null, + "id": 1715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1702, + "name": "_qInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "2474:6:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1704, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "dgxDistributionDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 8476, + "src": "2474:25:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1705, + "name": "_qInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "2513:6:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1706, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "dgxRewardsPoolLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8478, + "src": "2513:32:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1707, + "name": "_qInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "2559:6:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 1708, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "sumRewardsFromBeginning", + "nodeType": "MemberAccess", + "referencedDeclaration": 8480, + "src": "2559:30:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1709, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "2460:139:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1713, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1663, + "src": "2645:14:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1710, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "2602:17:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 1711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2602:19:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 1712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readQuarterGeneralInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 15400, + "src": "2602:42:4", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256,uint256,uint256)" + } + }, + "id": 1714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2602:58:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256)" + } + }, + "src": "2460:200:4", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1716, + "nodeType": "ExpressionStatement", + "src": "2460:200:4" + } + ] + }, + "documentation": null, + "id": 1718, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readQuarterInfo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1664, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1663, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 1718, + "src": "1753:22:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1662, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1753:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1752:24:4" + }, + "payable": false, + "returnParameters": { + "id": 1667, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1666, + "name": "_qInfo", + "nodeType": "VariableDeclaration", + "scope": 1718, + "src": "1824:32:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo" + }, + "typeName": { + "contractScope": null, + "id": 1665, + "name": "DaoStructs.DaoQuarterInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8481, + "src": "1824:25:4", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1823:34:4" + }, + "scope": 1719, + "src": "1728:939:4", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 1720, + "src": "91:2578:4" + } + ], + "src": "0:2670:4" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.822Z" +} \ No newline at end of file diff --git a/build/contracts/DaoRewardsManagerExtras.json b/build/contracts/DaoRewardsManagerExtras.json new file mode 100644 index 0000000..f9d3c04 --- /dev/null +++ b/build/contracts/DaoRewardsManagerExtras.json @@ -0,0 +1,7219 @@ +{ + "contractName": "DaoRewardsManagerExtras", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentTimeInQuarter", + "outputs": [ + { + "name": "_currentT", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isMainPhase", + "outputs": [ + { + "name": "_isMainPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isLockingPhase", + "outputs": [ + { + "name": "_isLockingPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentQuarterNumber", + "outputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getUintConfig", + "outputs": [ + { + "name": "_configValue", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isDaoNotReplaced", + "outputs": [ + { + "name": "_isNotReplaced", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "calculateUserRewardsForLastParticipatingQuarter", + "outputs": [ + { + "name": "_dgxRewardsAsParticipant", + "type": "uint256" + }, + { + "name": "_dgxRewardsAsModerator", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b50604051602080620031118339810180604052810190808051906020019092919050505062001175601c548262001188640100000000026401000000009004565b15156200118157600080fd5b5062001419565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f057600080fd5b505af115801562001205573d6000803e3d6000fd5b505050506040513d60208110156200121c57600080fd5b810190808051906020019092919050505090506000151581151514156200140d5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013ba57600080fd5b505af1158015620013cf573d6000803e3d6000fd5b505050506040513d6020811015620013e657600080fd5b810190808051906020019092919050505015156200140357600080fd5b6001915062001412565b600091505b5092915050565b611ce880620014296000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100b45780633943380c1461010b5780633f83acff1461013e578063560a25ea146101af57806368533060146101da5780637d6fed80146102095780637f6a26b614610238578063b1e2b9dd14610263578063d70d9358146102a8578063db4ecbc1146102d7578063fd56ff831461032e575b600080fd5b3480156100c057600080fd5b506100c961038c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561011757600080fd5b506101206103b1565b60405180826000191660001916815260200191505060405180910390f35b34801561014a57600080fd5b5061016d60048036038101908080356000191690602001909291905050506103b7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101bb57600080fd5b506101c4610493565b6040518082815260200191505060405180910390f35b3480156101e657600080fd5b506101ef6104a3565b604051808215151515815260200191505060405180910390f35b34801561021557600080fd5b5061021e6104cf565b604051808215151515815260200191505060405180910390f35b34801561024457600080fd5b5061024d6104ea565b6040518082815260200191505060405180910390f35b34801561026f57600080fd5b5061029260048036038101908080356000191690602001909291905050506104fa565b6040518082815260200191505060405180910390f35b3480156102b457600080fd5b506102bd6105bc565b604051808215151515815260200191505060405180910390f35b3480156102e357600080fd5b506102ec61066a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561033a57600080fd5b5061036f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610690565b604051808381526020018281526020019250505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561045157600080fd5b505af1158015610465573d6000803e3d6000fd5b505050506040513d602081101561047b57600080fd5b81019080805190602001909291905050509050919050565b600061049e42611380565b905090565b60006104ad6105bc565b80156104ca57506104bf6038546104fa565b6104c7610493565b10155b905090565b60006104dc6038546104fa565b6104e4610493565b10905090565b60006104f542611469565b905090565b600061050461156c565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561057a57600080fd5b505af115801561058e573d6000803e3d6000fd5b505050506040513d60208110156105a457600080fd5b81019080805190602001909291905050509050919050565b60006105c661157e565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561062957600080fd5b505af115801561063d573d6000803e3d6000fd5b505050506040513d602081101561065357600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008061069b611bcf565b6106a484611590565b90506106ae61177e565b73ffffffffffffffffffffffffffffffffffffffff166370ae8f5c8260800151600001518360800151602001518460800151604001516106ec611790565b73ffffffffffffffffffffffffffffffffffffffff166393383c518a88600001516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561079257600080fd5b505af11580156107a6573d6000803e3d6000fd5b505050506040513d60208110156107bc57600080fd5b81019080805190602001909291905050506107d5611790565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e28b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561086f57600080fd5b505af1158015610883573d6000803e3d6000fd5b505050506040513d602081101561089957600080fd5b81019080805190602001909291905050506108b26117a2565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a278c6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561094c57600080fd5b505af1158015610960573d6000803e3d6000fd5b505050506040513d602081101561097657600080fd5b81019080805190602001909291905050506040518763ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808781526020018681526020018581526020018481526020018381526020018281526020019650505050505050602060405180830381600087803b1580156109fc57600080fd5b505af1158015610a10573d6000803e3d6000fd5b505050506040513d6020811015610a2657600080fd5b8101908080519060200190929190505050816040018181525050610a4861177e565b73ffffffffffffffffffffffffffffffffffffffff166370ae8f5c826080015160800151836080015160a00151846080015160c00151610a86611790565b73ffffffffffffffffffffffffffffffffffffffff1663a5a9f5bb8a88600001516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610b2c57600080fd5b505af1158015610b40573d6000803e3d6000fd5b505050506040513d6020811015610b5657600080fd5b8101908080519060200190929190505050610b6f611790565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e28b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610c0957600080fd5b505af1158015610c1d573d6000803e3d6000fd5b505050506040513d6020811015610c3357600080fd5b8101908080519060200190929190505050610c4c6117a2565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a278c6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610ce657600080fd5b505af1158015610cfa573d6000803e3d6000fd5b505050506040513d6020811015610d1057600080fd5b81019080805190602001909291905050506040518763ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808781526020018681526020018581526020018481526020018381526020018281526020019650505050505050602060405180830381600087803b158015610d9657600080fd5b505af1158015610daa573d6000803e3d6000fd5b505050506040513d6020811015610dc057600080fd5b81019080805190602001909291905050508160600181815250506000610de46117b4565b73ffffffffffffffffffffffffffffffffffffffff1663fedf9453610e17600185600001516117c690919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015610e6957600080fd5b505af1158015610e7d573d6000803e3d6000fd5b505050506040513d6020811015610e9357600080fd5b810190808051906020019092919050505011156110b8576110b5610eb86066546104fa565b6110a7610ec36117b4565b73ffffffffffffffffffffffffffffffffffffffff1663fedf9453610ef6600187600001516117c690919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015610f4857600080fd5b505af1158015610f5c573d6000803e3d6000fd5b505050506040513d6020811015610f7257600080fd5b8101908080519060200190929190505050611099610fad610f946065546104fa565b610f9f6066546104fa565b6117e290919063ffffffff16565b61108b610fb86117b4565b73ffffffffffffffffffffffffffffffffffffffff1663bb80203e610feb60018b600001516117c690919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561103d57600080fd5b505af1158015611051573d6000803e3d6000fd5b505050506040513d602081101561106757600080fd5b810190808051906020019092919050505088604001516117fb90919063ffffffff16565b6117fb90919063ffffffff16565b61183390919063ffffffff16565b61183390919063ffffffff16565b92505b60006110c26117b4565b73ffffffffffffffffffffffffffffffffffffffff16630f491b116110f5600185600001516117c690919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561114757600080fd5b505af115801561115b573d6000803e3d6000fd5b505050506040513d602081101561117157600080fd5b8101908080519060200190929190505050111561137a576113776111966066546104fa565b6113696111a16117b4565b73ffffffffffffffffffffffffffffffffffffffff16630f491b116111d4600187600001516117c690919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561122657600080fd5b505af115801561123a573d6000803e3d6000fd5b505050506040513d602081101561125057600080fd5b810190808051906020019092919050505061135b61126f6065546104fa565b61134d61127a6117b4565b73ffffffffffffffffffffffffffffffffffffffff1663bb80203e6112ad60018b600001516117c690919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1580156112ff57600080fd5b505af1158015611313573d6000803e3d6000fd5b505050506040513d602081101561132957600080fd5b810190808051906020019092919050505088606001516117fb90919063ffffffff16565b6117fb90919063ffffffff16565b61183390919063ffffffff16565b61183390919063ffffffff16565b91505b50915091565b600061138a611849565b151561139557600080fd5b6113a06039546104fa565b6114586113ab61157e565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561140e57600080fd5b505af1158015611422573d6000803e3d6000fd5b505050506040513d602081101561143857600080fd5b8101908080519060200190929190505050846117e290919063ffffffff16565b81151561146157fe5b069050919050565b6000611473611849565b151561147e57600080fd5b61156560016115576114916039546104fa565b61154961149c61157e565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156114ff57600080fd5b505af1158015611513573d6000803e3d6000fd5b505050506040513d602081101561152957600080fd5b8101908080519060200190929190505050876117e290919063ffffffff16565b61183390919063ffffffff16565b6117c690919063ffffffff16565b9050919050565b6000611579602b546103b7565b905090565b600061158b6027546103b7565b905090565b611598611bcf565b6115a06117b4565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561163a57600080fd5b505af115801561164e573d6000803e3d6000fd5b505050506040513d602081101561166457600080fd5b81019080805190602001909291905050508160000181815250506116866117b4565b73ffffffffffffffffffffffffffffffffffffffff166327ddd3ae836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561172057600080fd5b505af1158015611734573d6000803e3d6000fd5b505050506040513d602081101561174a57600080fd5b810190808051906020019092919050505081602001818152505061177181600001516118f9565b8160800181905250919050565b600061178b6024546103b7565b905090565b600061179d6029546103b7565b905090565b60006117af602c546103b7565b905090565b60006117c1602d546103b7565b905090565b600081830190508281101515156117d957fe5b80905092915050565b60008282111515156117f057fe5b818303905092915050565b60008083141561180e576000905061182d565b818302905081838281151561181f57fe5b0414151561182957fe5b8090505b92915050565b6000818381151561184057fe5b04905092915050565b60008061185461157e565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156118b757600080fd5b505af11580156118cb573d6000803e3d6000fd5b505050506040513d60208110156118e157600080fd5b81019080805190602001909291905050501415905090565b611901611c06565b6119096117b4565b73ffffffffffffffffffffffffffffffffffffffff166362961de9836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050608060405180830381600087803b15801561197757600080fd5b505af115801561198b573d6000803e3d6000fd5b505050506040513d60808110156119a157600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050508460000185602001866040018760600184815250848152508481525084815250505050506119fc6117b4565b73ffffffffffffffffffffffffffffffffffffffff1663a301c0d2836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050608060405180830381600087803b158015611a6a57600080fd5b505af1158015611a7e573d6000803e3d6000fd5b505050506040513d6080811015611a9457600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050846080018560a0018660c0018760e0018481525084815250848152508481525050505050611aef6117b4565b73ffffffffffffffffffffffffffffffffffffffff1663cf542aa9836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050606060405180830381600087803b158015611b5d57600080fd5b505af1158015611b71573d6000803e3d6000fd5b505050506040513d6060811015611b8757600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050836101000184610120018561014001838152508381525083815250505050919050565b6101e06040519081016040528060008152602001600081526020016000815260200160008152602001611c00611c61565b81525090565b6101606040519081016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b61016060405190810160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815250905600a165627a7a723058202e2053b37f0b6a226840c73e07a2f501932c0820c90860db70b1215bbbe25ed00029", + "deployedBytecode": "0x6080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100b45780633943380c1461010b5780633f83acff1461013e578063560a25ea146101af57806368533060146101da5780637d6fed80146102095780637f6a26b614610238578063b1e2b9dd14610263578063d70d9358146102a8578063db4ecbc1146102d7578063fd56ff831461032e575b600080fd5b3480156100c057600080fd5b506100c961038c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561011757600080fd5b506101206103b1565b60405180826000191660001916815260200191505060405180910390f35b34801561014a57600080fd5b5061016d60048036038101908080356000191690602001909291905050506103b7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101bb57600080fd5b506101c4610493565b6040518082815260200191505060405180910390f35b3480156101e657600080fd5b506101ef6104a3565b604051808215151515815260200191505060405180910390f35b34801561021557600080fd5b5061021e6104cf565b604051808215151515815260200191505060405180910390f35b34801561024457600080fd5b5061024d6104ea565b6040518082815260200191505060405180910390f35b34801561026f57600080fd5b5061029260048036038101908080356000191690602001909291905050506104fa565b6040518082815260200191505060405180910390f35b3480156102b457600080fd5b506102bd6105bc565b604051808215151515815260200191505060405180910390f35b3480156102e357600080fd5b506102ec61066a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561033a57600080fd5b5061036f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610690565b604051808381526020018281526020019250505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561045157600080fd5b505af1158015610465573d6000803e3d6000fd5b505050506040513d602081101561047b57600080fd5b81019080805190602001909291905050509050919050565b600061049e42611380565b905090565b60006104ad6105bc565b80156104ca57506104bf6038546104fa565b6104c7610493565b10155b905090565b60006104dc6038546104fa565b6104e4610493565b10905090565b60006104f542611469565b905090565b600061050461156c565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561057a57600080fd5b505af115801561058e573d6000803e3d6000fd5b505050506040513d60208110156105a457600080fd5b81019080805190602001909291905050509050919050565b60006105c661157e565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561062957600080fd5b505af115801561063d573d6000803e3d6000fd5b505050506040513d602081101561065357600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008061069b611bcf565b6106a484611590565b90506106ae61177e565b73ffffffffffffffffffffffffffffffffffffffff166370ae8f5c8260800151600001518360800151602001518460800151604001516106ec611790565b73ffffffffffffffffffffffffffffffffffffffff166393383c518a88600001516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561079257600080fd5b505af11580156107a6573d6000803e3d6000fd5b505050506040513d60208110156107bc57600080fd5b81019080805190602001909291905050506107d5611790565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e28b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561086f57600080fd5b505af1158015610883573d6000803e3d6000fd5b505050506040513d602081101561089957600080fd5b81019080805190602001909291905050506108b26117a2565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a278c6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561094c57600080fd5b505af1158015610960573d6000803e3d6000fd5b505050506040513d602081101561097657600080fd5b81019080805190602001909291905050506040518763ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808781526020018681526020018581526020018481526020018381526020018281526020019650505050505050602060405180830381600087803b1580156109fc57600080fd5b505af1158015610a10573d6000803e3d6000fd5b505050506040513d6020811015610a2657600080fd5b8101908080519060200190929190505050816040018181525050610a4861177e565b73ffffffffffffffffffffffffffffffffffffffff166370ae8f5c826080015160800151836080015160a00151846080015160c00151610a86611790565b73ffffffffffffffffffffffffffffffffffffffff1663a5a9f5bb8a88600001516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610b2c57600080fd5b505af1158015610b40573d6000803e3d6000fd5b505050506040513d6020811015610b5657600080fd5b8101908080519060200190929190505050610b6f611790565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e28b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610c0957600080fd5b505af1158015610c1d573d6000803e3d6000fd5b505050506040513d6020811015610c3357600080fd5b8101908080519060200190929190505050610c4c6117a2565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a278c6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610ce657600080fd5b505af1158015610cfa573d6000803e3d6000fd5b505050506040513d6020811015610d1057600080fd5b81019080805190602001909291905050506040518763ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808781526020018681526020018581526020018481526020018381526020018281526020019650505050505050602060405180830381600087803b158015610d9657600080fd5b505af1158015610daa573d6000803e3d6000fd5b505050506040513d6020811015610dc057600080fd5b81019080805190602001909291905050508160600181815250506000610de46117b4565b73ffffffffffffffffffffffffffffffffffffffff1663fedf9453610e17600185600001516117c690919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015610e6957600080fd5b505af1158015610e7d573d6000803e3d6000fd5b505050506040513d6020811015610e9357600080fd5b810190808051906020019092919050505011156110b8576110b5610eb86066546104fa565b6110a7610ec36117b4565b73ffffffffffffffffffffffffffffffffffffffff1663fedf9453610ef6600187600001516117c690919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015610f4857600080fd5b505af1158015610f5c573d6000803e3d6000fd5b505050506040513d6020811015610f7257600080fd5b8101908080519060200190929190505050611099610fad610f946065546104fa565b610f9f6066546104fa565b6117e290919063ffffffff16565b61108b610fb86117b4565b73ffffffffffffffffffffffffffffffffffffffff1663bb80203e610feb60018b600001516117c690919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561103d57600080fd5b505af1158015611051573d6000803e3d6000fd5b505050506040513d602081101561106757600080fd5b810190808051906020019092919050505088604001516117fb90919063ffffffff16565b6117fb90919063ffffffff16565b61183390919063ffffffff16565b61183390919063ffffffff16565b92505b60006110c26117b4565b73ffffffffffffffffffffffffffffffffffffffff16630f491b116110f5600185600001516117c690919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561114757600080fd5b505af115801561115b573d6000803e3d6000fd5b505050506040513d602081101561117157600080fd5b8101908080519060200190929190505050111561137a576113776111966066546104fa565b6113696111a16117b4565b73ffffffffffffffffffffffffffffffffffffffff16630f491b116111d4600187600001516117c690919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561122657600080fd5b505af115801561123a573d6000803e3d6000fd5b505050506040513d602081101561125057600080fd5b810190808051906020019092919050505061135b61126f6065546104fa565b61134d61127a6117b4565b73ffffffffffffffffffffffffffffffffffffffff1663bb80203e6112ad60018b600001516117c690919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1580156112ff57600080fd5b505af1158015611313573d6000803e3d6000fd5b505050506040513d602081101561132957600080fd5b810190808051906020019092919050505088606001516117fb90919063ffffffff16565b6117fb90919063ffffffff16565b61183390919063ffffffff16565b61183390919063ffffffff16565b91505b50915091565b600061138a611849565b151561139557600080fd5b6113a06039546104fa565b6114586113ab61157e565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561140e57600080fd5b505af1158015611422573d6000803e3d6000fd5b505050506040513d602081101561143857600080fd5b8101908080519060200190929190505050846117e290919063ffffffff16565b81151561146157fe5b069050919050565b6000611473611849565b151561147e57600080fd5b61156560016115576114916039546104fa565b61154961149c61157e565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156114ff57600080fd5b505af1158015611513573d6000803e3d6000fd5b505050506040513d602081101561152957600080fd5b8101908080519060200190929190505050876117e290919063ffffffff16565b61183390919063ffffffff16565b6117c690919063ffffffff16565b9050919050565b6000611579602b546103b7565b905090565b600061158b6027546103b7565b905090565b611598611bcf565b6115a06117b4565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561163a57600080fd5b505af115801561164e573d6000803e3d6000fd5b505050506040513d602081101561166457600080fd5b81019080805190602001909291905050508160000181815250506116866117b4565b73ffffffffffffffffffffffffffffffffffffffff166327ddd3ae836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561172057600080fd5b505af1158015611734573d6000803e3d6000fd5b505050506040513d602081101561174a57600080fd5b810190808051906020019092919050505081602001818152505061177181600001516118f9565b8160800181905250919050565b600061178b6024546103b7565b905090565b600061179d6029546103b7565b905090565b60006117af602c546103b7565b905090565b60006117c1602d546103b7565b905090565b600081830190508281101515156117d957fe5b80905092915050565b60008282111515156117f057fe5b818303905092915050565b60008083141561180e576000905061182d565b818302905081838281151561181f57fe5b0414151561182957fe5b8090505b92915050565b6000818381151561184057fe5b04905092915050565b60008061185461157e565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156118b757600080fd5b505af11580156118cb573d6000803e3d6000fd5b505050506040513d60208110156118e157600080fd5b81019080805190602001909291905050501415905090565b611901611c06565b6119096117b4565b73ffffffffffffffffffffffffffffffffffffffff166362961de9836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050608060405180830381600087803b15801561197757600080fd5b505af115801561198b573d6000803e3d6000fd5b505050506040513d60808110156119a157600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050508460000185602001866040018760600184815250848152508481525084815250505050506119fc6117b4565b73ffffffffffffffffffffffffffffffffffffffff1663a301c0d2836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050608060405180830381600087803b158015611a6a57600080fd5b505af1158015611a7e573d6000803e3d6000fd5b505050506040513d6080811015611a9457600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050846080018560a0018660c0018760e0018481525084815250848152508481525050505050611aef6117b4565b73ffffffffffffffffffffffffffffffffffffffff1663cf542aa9836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050606060405180830381600087803b158015611b5d57600080fd5b505af1158015611b71573d6000803e3d6000fd5b505050506040513d6060811015611b8757600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050836101000184610120018561014001838152508381525083815250505050919050565b6101e06040519081016040528060008152602001600081526020016000815260200160008152602001611c00611c61565b81525090565b6101606040519081016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b61016060405190810160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815250905600a165627a7a723058202e2053b37f0b6a226840c73e07a2f501932c0820c90860db70b1215bbbe25ed00029", + "sourceMap": "121:4620:13:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;188:116:13;8:9:-1;5:2;;;30:1;27;20:12;5:2;188:116:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;244:52;249:35;;286:9;244:4;;;:52;;;:::i;:::-;236:61;;;;;;;;188:116;121:4620;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;121:4620:13:-;;;;;;;", + "deployedSourceMap": "121:4620:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4743:147:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4743:147:2;;;;;;;;;;;;;;;;;;;;;;;1759:239;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1759:239:2;;;;;;;;;;;;;;;;;;;;;;;;;;;1283:201;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1283:201:2;;;;;;;;;;;;;;;;;;;;;;;;;;;3064:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3064:159:2;;;;;;;;;;;;;;;;;;;;;;;7261:189;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7261:189:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;834:173:2;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;836:3903:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;836:3903:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;264:18::-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;4743:147:2:-;4820:17;4865:18;4879:3;4865:13;:18::i;:::-;4853:30;;4743:147;:::o;1759:239::-;1827:17;1887:18;:16;:18::i;:::-;:104;;;;;1947:44;1961:29;;1947:13;:44::i;:::-;1921:22;:20;:22::i;:::-;:70;;1887:104;1860:131;;1759:239;:::o;1283:201::-;1354:20;1433:44;1447:29;;1433:13;:44::i;:::-;1408:22;:20;:22::i;:::-;:69;1390:87;;1283:201;:::o;3064:159::-;3140:22;3195:21;3212:3;3195:16;:21::i;:::-;3178:38;;3064:159;:::o;7261:189::-;7349:20;7400:19;:17;:19::i;:::-;:31;;;7432:10;7400:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7400:43:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7400:43:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7400:43:2;;;;;;;;;;;;;;;;7385:58;;7261:189;;;:::o;834:173::-;907:19;960;:17;:19::i;:::-;:38;;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;960:40:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;960:40:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;960:40:2;;;;;;;;;;;;;;;;959:41;942:58;;834:173;:::o;344:31:67:-;;;;;;;;;;;;;:::o;836:3903:13:-;953:32;987:30;1033:23;;:::i;:::-;1059:27;1080:5;1059:20;:27::i;:::-;1033:53;;1124:22;:20;:22::i;:::-;:52;;;1190:4;:10;;;:36;;;1240:4;:10;;;:36;;;1290:4;:10;;;:39;;;1343:18;:16;:18::i;:::-;:34;;;1378:5;1385:4;:28;;;1343:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1343:71:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1343:71:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1343:71:13;;;;;;;;;;;;;;;;1624:18;:16;:18::i;:::-;:32;;;1657:5;1624:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1624:39:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1624:39:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1624:39:13;;;;;;;;;;;;;;;;2039:17;:15;:17::i;:::-;:32;;;2072:5;2039:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2039:39:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2039:39:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2039:39:13;;;;;;;;;;;;;;;;1124:964;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1124:964:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1124:964:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1124:964:13;;;;;;;;;;;;;;;;1097:4;:24;;:991;;;;;2135:22;:20;:22::i;:::-;:52;;;2201:4;:10;;;:45;;;2260:4;:10;;;:45;;;2319:4;:10;;;:48;;;2381:18;:16;:18::i;:::-;:43;;;2425:5;2432:4;:28;;;2381:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2381:80:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2381:80:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2381:80:13;;;;;;;;;;;;;;;;2633:18;:16;:18::i;:::-;:32;;;2666:5;2633:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2633:39:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2633:39:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2633:39:13;;;;;;;;;;;;;;;;3022:17;:15;:17::i;:::-;:32;;;3055:5;3022:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3022:39:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3022:39:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3022:39:13;;;;;;;;;;;;;;;;2135:936;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2135:936:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2135:936:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2135:936:13;;;;;;;;;;;;;;;;2099:4;:33;;:972;;;;;3279:1;3187:19;:17;:19::i;:::-;:52;;;3240:35;3273:1;3240:4;:28;;;:32;;:35;;;;:::i;:::-;3187:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3187:89:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3187:89:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3187:89:13;;;;;;;;;;;;;;;;:93;3183:739;;;3339:572;3863:47;3877:32;;3863:13;:47::i;:::-;3339:502;3713:19;:17;:19::i;:::-;:52;;;3787:35;3820:1;3787:4;:28;;;:32;;:35;;;;:::i;:::-;3713:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3713:127:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3713:127:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3713:127:13;;;;;;;;;;;;;;;;3339:352;3552:121;3625:47;3639:32;;3625:13;:47::i;:::-;3552;3566:32;;3552:13;:47::i;:::-;:72;;:121;;;;:::i;:::-;3339:170;3385:19;:17;:19::i;:::-;:48;;;3455:35;3488:1;3455:4;:28;;;:32;;:35;;;;:::i;:::-;3385:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3385:123:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3385:123:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3385:123:13;;;;;;;;;;;;;;;;3339:4;:24;;;:45;;:170;;;;:::i;:::-;:191;;:352;;;;:::i;:::-;:373;;:502;;;;:::i;:::-;:523;;:572;;;;:::i;:::-;3296:615;;3183:739;4147:1;4046:19;:17;:19::i;:::-;:61;;;4108:35;4141:1;4108:4;:28;;;:32;;:35;;;;:::i;:::-;4046:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4046:98:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4046:98:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4046:98:13;;;;;;;;;;;;;;;;:102;4042:691;;;4205:517;4674:47;4688:32;;4674:13;:47::i;:::-;4205:447;4515:19;:17;:19::i;:::-;:61;;;4598:35;4631:1;4598:4;:28;;;:32;;:35;;;;:::i;:::-;4515:136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4515:136:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4515:136:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4515:136:13;;;;;;;;;;;;;;;;4205:288;4428:47;4442:32;;4428:13;:47::i;:::-;4205:179;4260:19;:17;:19::i;:::-;:48;;;4330:35;4363:1;4330:4;:28;;;:32;;:35;;;;:::i;:::-;4260:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4260:123:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4260:123:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4260:123:13;;;;;;;;;;;;;;;;4205:4;:33;;;:54;;:179;;;;:::i;:::-;:200;;:288;;;;:::i;:::-;:309;;:447;;;;:::i;:::-;:468;;:517;;;;:::i;:::-;4164:558;;4042:691;836:3903;;;;:::o;3862:332:2:-;3947:22;3993:26;:24;:26::i;:::-;3985:35;;;;;;;;4149:38;4163:23;;4149:13;:38::i;:::-;4082:52;4092:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4092:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4092:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4092:41:2;;;;;;;;;;;;;;;;4082:5;:9;;:52;;;;:::i;:::-;:105;;;;;;;;4053:134;;3862:332;;;:::o;3369:320::-;3457:14;3495:26;:24;:26::i;:::-;3487:35;;;;;;;;3553:129;3680:1;3553:109;3623:38;3637:23;;3623:13;:38::i;:::-;3553:52;3563:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3563:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3563:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3563:41:2;;;;;;;;;;;;;;;;3553:5;:9;;:52;;;;:::i;:::-;:69;;:109;;;;:::i;:::-;:126;;:129;;;;:::i;:::-;3532:150;;3369:320;;;:::o;5398:198::-;5474:27;5547:41;5560:27;;5547:12;:41::i;:::-;5517:72;;5398:198;:::o;6204:199::-;6280:27;6353:42;6366:28;;6353:12;:42::i;:::-;6323:73;;6204:199;:::o;1262:401:4:-;1354:24;;:::i;:::-;1426:19;:17;:19::i;:::-;:43;;;1470:5;1426:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1426:50:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1426:50:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1426:50:4;;;;;;;;;;;;;;;;1394:5;:29;;:82;;;;;1527:19;:17;:19::i;:::-;:52;;;1580:5;1527:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1527:59:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1527:59:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1527:59:4;;;;;;;;;;;;;;;;1486:5;:38;;:100;;;;;1610:46;1626:5;:29;;;1610:15;:46::i;:::-;1596:5;:11;;:60;;;;1262:401;;;:::o;310:211:13:-;389:30;468:45;481:31;;468:12;:45::i;:::-;435:79;;310:211;:::o;6614:195:2:-;6689:26;6760:41;6773:27;;6760:12;:41::i;:::-;6731:71;;6614:195;:::o;5602:191::-;5676:25;5745:40;5758:26;;5745:12;:40::i;:::-;5717:69;;5602:191;:::o;6815:199::-;6891:27;6964:42;6977:28;;6964:12;:42::i;:::-;6934:73;;6815:199;:::o;1238:128:84:-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o;1060:116::-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;203:380::-;263:9;495:1;489:2;:7;485:36;;;513:1;506:8;;;;485:36;536:2;531;:7;527:11;;561:2;555;551:1;:6;;;;;;;;:12;544:20;;;;;;577:1;570:8;;203:380;;;;;:::o;665:283::-;725:7;941:2;936;:7;;;;;;;;929:14;;665:283;;;;:::o;4343:172:2:-;4426:11;4507:1;4462:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4462:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4462:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4462:41:2;;;;;;;;;;;;;;;;:46;;4453:55;;4343:172;:::o;1728:939:4:-;1824:32;;:::i;:::-;2079:19;:17;:19::i;:::-;:46;;;2126:14;2079:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2079:62:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2079:62:4;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2079:62:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1886:6;:32;;1932:6;:32;;1978:6;:35;;2027:6;:39;;1872:269;;;;;;;;;;;;;;;;;;;;2390:19;:17;:19::i;:::-;:44;;;2435:14;2390:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2390:60:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2390:60:4;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2390:60:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2165:6;:41;;2220:6;:41;;2275:6;:44;;2333:6;:44;;2151:299;;;;;;;;;;;;;;;;;;;;2602:19;:17;:19::i;:::-;:42;;;2645:14;2602:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2602:58:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2602:58:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2602:58:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2474:6;:25;;2513:6;:32;;2559:6;:30;;2460:200;;;;;;;;;;;;;;;1728:939;;;:::o;121:4620:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"../common/DaoRewardsManagerCommon.sol\";\nimport \"../service/DaoCalculatorService.sol\";\n\ncontract DaoRewardsManagerExtras is DaoRewardsManagerCommon {\n\n constructor(address _resolver) public {\n require(init(CONTRACT_DAO_REWARDS_MANAGER_EXTRAS, _resolver));\n }\n\n function daoCalculatorService()\n internal\n view\n returns (DaoCalculatorService _contract)\n {\n _contract = DaoCalculatorService(get_contract(CONTRACT_SERVICE_DAO_CALCULATOR));\n }\n\n // done\n // calculate dgx rewards; This is basically the DGXs that user has earned from participating in lastParticipatedQuarter, and can be withdrawn on the dgxDistributionDay of the (lastParticipatedQuarter + 1)\n // when user actually withdraw some time after that, he will be deducted demurrage.\n function calculateUserRewardsForLastParticipatingQuarter(address _user)\n public\n view\n returns (uint256 _dgxRewardsAsParticipant, uint256 _dgxRewardsAsModerator)\n {\n UserRewards memory data = getUserRewardsStruct(_user);\n\n data.effectiveDGDBalance = daoCalculatorService().calculateUserEffectiveBalance(\n data.qInfo.minimalParticipationPoint,\n data.qInfo.quarterPointScalingFactor,\n data.qInfo.reputationPointScalingFactor,\n daoPointsStorage().getQuarterPoint(_user, data.lastParticipatedQuarter),\n\n // RP has been updated at the beginning of the lastParticipatedQuarter in\n // a call to updateRewardsAndReputationBeforeNewQuarter(); It should not have changed since then\n daoPointsStorage().getReputation(_user),\n\n // lockedDGDStake should have stayed the same throughout since the lastParticipatedQuarter\n // if this participant has done anything (lock/unlock/continue) to change the lockedDGDStake,\n // updateUserRewardsForLastParticipatingQuarter, and hence this function, would have been called first before the lockedDGDStake is changed\n daoStakeStorage().lockedDGDStake(_user)\n );\n\n data.effectiveModeratorDGDBalance = daoCalculatorService().calculateUserEffectiveBalance(\n data.qInfo.moderatorMinimalParticipationPoint,\n data.qInfo.moderatorQuarterPointScalingFactor,\n data.qInfo.moderatorReputationPointScalingFactor,\n daoPointsStorage().getQuarterModeratorPoint(_user, data.lastParticipatedQuarter),\n\n // RP has been updated at the beginning of the lastParticipatedQuarter in\n // a call to updateRewardsAndReputationBeforeNewQuarter();\n daoPointsStorage().getReputation(_user),\n\n // lockedDGDStake should have stayed the same throughout since the lastParticipatedQuarter\n // if this participant has done anything (lock/unlock/continue) to change the lockedDGDStake,\n // updateUserRewardsForLastParticipatingQuarter would have been called first before the lockedDGDStake is changed\n daoStakeStorage().lockedDGDStake(_user)\n );\n\n // will not need to calculate if the totalEffectiveDGDLastQuarter is 0 (no one participated)\n if (daoRewardsStorage().readTotalEffectiveDGDLastQuarter(data.lastParticipatedQuarter.add(1)) > 0) {\n _dgxRewardsAsParticipant =\n data.effectiveDGDBalance\n .mul(daoRewardsStorage().readRewardsPoolOfLastQuarter(\n data.lastParticipatedQuarter.add(1)\n ))\n .mul(\n getUintConfig(CONFIG_PORTION_TO_MODERATORS_DEN)\n .sub(getUintConfig(CONFIG_PORTION_TO_MODERATORS_NUM))\n )\n .div(daoRewardsStorage().readTotalEffectiveDGDLastQuarter(\n data.lastParticipatedQuarter.add(1)\n ))\n .div(getUintConfig(CONFIG_PORTION_TO_MODERATORS_DEN));\n }\n\n // will not need to calculate if the totalEffectiveModeratorDGDLastQuarter is 0 (no one participated)\n if (daoRewardsStorage().readTotalEffectiveModeratorDGDLastQuarter(data.lastParticipatedQuarter.add(1)) > 0) {\n _dgxRewardsAsModerator =\n data.effectiveModeratorDGDBalance\n .mul(daoRewardsStorage().readRewardsPoolOfLastQuarter(\n data.lastParticipatedQuarter.add(1)\n ))\n .mul(\n getUintConfig(CONFIG_PORTION_TO_MODERATORS_NUM)\n )\n .div(daoRewardsStorage().readTotalEffectiveModeratorDGDLastQuarter(\n data.lastParticipatedQuarter.add(1)\n ))\n .div(getUintConfig(CONFIG_PORTION_TO_MODERATORS_DEN));\n }\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoRewardsManagerExtras.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoRewardsManagerExtras.sol", + "exportedSymbols": { + "DaoRewardsManagerExtras": [ + 4910 + ] + }, + "id": 4911, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4687, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:13" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoRewardsManagerCommon.sol", + "file": "../common/DaoRewardsManagerCommon.sol", + "id": 4688, + "nodeType": "ImportDirective", + "scope": 4911, + "sourceUnit": 1720, + "src": "26:47:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/service/DaoCalculatorService.sol", + "file": "../service/DaoCalculatorService.sol", + "id": 4689, + "nodeType": "ImportDirective", + "scope": 4911, + "sourceUnit": 12495, + "src": "74:45:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 4690, + "name": "DaoRewardsManagerCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1719, + "src": "157:23:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManagerCommon_$1719", + "typeString": "contract DaoRewardsManagerCommon" + } + }, + "id": 4691, + "nodeType": "InheritanceSpecifier", + "src": "157:23:13" + } + ], + "contractDependencies": [ + 1233, + 1580, + 1719, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 4910, + "linearizedBaseContracts": [ + 4910, + 1719, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoRewardsManagerExtras", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 4703, + "nodeType": "Block", + "src": "226:78:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4698, + "name": "CONTRACT_DAO_REWARDS_MANAGER_EXTRAS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1321, + "src": "249:35:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4699, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4693, + "src": "286:9:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4697, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "244:4:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 4700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "244:52:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4696, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "236:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "236:61:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4702, + "nodeType": "ExpressionStatement", + "src": "236:61:13" + } + ] + }, + "documentation": null, + "id": 4704, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4694, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4693, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 4704, + "src": "200:17:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4692, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "200:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "199:19:13" + }, + "payable": false, + "returnParameters": { + "id": 4695, + "nodeType": "ParameterList", + "parameters": [], + "src": "226:0:13" + }, + "scope": 4910, + "src": "188:116:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4717, + "nodeType": "Block", + "src": "425:96:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4709, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4707, + "src": "435:9:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4712, + "name": "CONTRACT_SERVICE_DAO_CALCULATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1345, + "src": "481:31:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4711, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "468:12:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 4713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "468:45:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4710, + "name": "DaoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12494, + "src": "447:20:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "type(contract DaoCalculatorService)" + } + }, + "id": 4714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "447:67:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "src": "435:79:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 4716, + "nodeType": "ExpressionStatement", + "src": "435:79:13" + } + ] + }, + "documentation": null, + "id": 4718, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoCalculatorService", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4705, + "nodeType": "ParameterList", + "parameters": [], + "src": "339:2:13" + }, + "payable": false, + "returnParameters": { + "id": 4708, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4707, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 4718, + "src": "389:30:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + }, + "typeName": { + "contractScope": null, + "id": 4706, + "name": "DaoCalculatorService", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 12494, + "src": "389:20:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "388:32:13" + }, + "scope": 4910, + "src": "310:211:13", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4908, + "nodeType": "Block", + "src": "1023:3716:13", + "statements": [ + { + "assignments": [ + 4728 + ], + "declarations": [ + { + "constant": false, + "id": 4728, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 4909, + "src": "1033:23:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards" + }, + "typeName": { + "contractScope": null, + "id": 4727, + "name": "UserRewards", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1600, + "src": "1033:11:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_storage_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4732, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4730, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4720, + "src": "1080:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4729, + "name": "getUserRewardsStruct", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1661, + "src": "1059:20:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_struct$_UserRewards_$1600_memory_ptr_$", + "typeString": "function (address) view returns (struct DaoRewardsManagerCommon.UserRewards memory)" + } + }, + "id": 4731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1059:27:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1033:53:13" + }, + { + "expression": { + "argumentTypes": null, + "id": 4766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4733, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "1097:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4735, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "effectiveDGDBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 1595, + "src": "1097:24:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4739, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "1190:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4740, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1599, + "src": "1190:10:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4741, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "minimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8460, + "src": "1190:36:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4742, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "1240:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4743, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1599, + "src": "1240:10:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4744, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "quarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8462, + "src": "1240:36:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4745, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "1290:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4746, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1599, + "src": "1290:10:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4747, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "reputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8464, + "src": "1290:39:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4751, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4720, + "src": "1378:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4752, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "1385:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4753, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "1385:28:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4748, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "1343:16:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 4749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1343:18:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 4750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getQuarterPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14708, + "src": "1343:34:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view external returns (uint256)" + } + }, + "id": 4754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1343:71:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4758, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4720, + "src": "1657:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4755, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "1624:16:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 4756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1624:18:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 4757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14914, + "src": "1624:32:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 4759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1624:39:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4763, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4720, + "src": "2072:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4760, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "2039:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 4761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2039:17:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 4762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16048, + "src": "2039:32:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 4764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2039:39:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4736, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4718, + "src": "1124:20:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 4737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1124:22:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 4738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "calculateUserEffectiveBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 12472, + "src": "1124:52:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) pure external returns (uint256)" + } + }, + "id": 4765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1124:964:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1097:991:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4767, + "nodeType": "ExpressionStatement", + "src": "1097:991:13" + }, + { + "expression": { + "argumentTypes": null, + "id": 4801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4768, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "2099:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4770, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "effectiveModeratorDGDBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 1597, + "src": "2099:33:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4774, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "2201:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4775, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1599, + "src": "2201:10:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4776, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorMinimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8468, + "src": "2201:45:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4777, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "2260:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4778, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1599, + "src": "2260:10:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4779, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorQuarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8470, + "src": "2260:45:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4780, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "2319:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4781, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1599, + "src": "2319:10:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4782, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorReputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8472, + "src": "2319:48:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4786, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4720, + "src": "2425:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4787, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "2432:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4788, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "2432:28:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4783, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "2381:16:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 4784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2381:18:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 4785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getQuarterModeratorPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14727, + "src": "2381:43:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view external returns (uint256)" + } + }, + "id": 4789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2381:80:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4793, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4720, + "src": "2666:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4790, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "2633:16:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 4791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2633:18:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 4792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14914, + "src": "2633:32:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 4794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2633:39:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4798, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4720, + "src": "3055:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4795, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "3022:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 4796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3022:17:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 4797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16048, + "src": "3022:32:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 4799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3022:39:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4771, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4718, + "src": "2135:20:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 4772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2135:22:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 4773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "calculateUserEffectiveBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 12472, + "src": "2135:52:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) pure external returns (uint256)" + } + }, + "id": 4800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2135:936:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2099:972:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4802, + "nodeType": "ExpressionStatement", + "src": "2099:972:13" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4809, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3273:1:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4806, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "3240:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4807, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "3240:28:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "3240:32:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3240:35:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4803, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "3187:17:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3187:19:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readTotalEffectiveDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15514, + "src": "3187:52:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3187:89:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 4812, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3279:1:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3187:93:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4857, + "nodeType": "IfStatement", + "src": "3183:739:13", + "trueBody": { + "id": 4856, + "nodeType": "Block", + "src": "3282:640:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4814, + "name": "_dgxRewardsAsParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4723, + "src": "3296:24:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4851, + "name": "CONFIG_PORTION_TO_MODERATORS_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1552, + "src": "3877:32:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4850, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3863:13:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3863:47:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4845, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3820:1:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4842, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "3787:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4843, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "3787:28:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "3787:32:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3787:35:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4839, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "3713:17:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3713:19:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readTotalEffectiveDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15514, + "src": "3713:52:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3713:127:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4834, + "name": "CONFIG_PORTION_TO_MODERATORS_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1549, + "src": "3639:32:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4833, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3625:13:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3625:47:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4830, + "name": "CONFIG_PORTION_TO_MODERATORS_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1552, + "src": "3566:32:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4829, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3552:13:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3552:47:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "3552:72:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3552:121:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4824, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3488:1:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4821, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "3455:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4822, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "3455:28:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "3455:32:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3455:35:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4818, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "3385:17:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3385:19:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readRewardsPoolOfLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15544, + "src": "3385:48:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3385:123:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4815, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "3339:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4816, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "effectiveDGDBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 1595, + "src": "3339:24:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "3339:45:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3339:170:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "3339:191:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3339:352:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "3339:373:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3339:502:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "3339:523:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3339:572:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3296:615:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4855, + "nodeType": "ExpressionStatement", + "src": "3296:615:13" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4864, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4141:1:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4861, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "4108:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4862, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "4108:28:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "4108:32:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4108:35:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4858, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "4046:17:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4046:19:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readTotalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15529, + "src": "4046:61:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4046:98:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 4867, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4147:1:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4046:102:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4907, + "nodeType": "IfStatement", + "src": "4042:691:13", + "trueBody": { + "id": 4906, + "nodeType": "Block", + "src": "4150:583:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4869, + "name": "_dgxRewardsAsModerator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4725, + "src": "4164:22:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4901, + "name": "CONFIG_PORTION_TO_MODERATORS_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1552, + "src": "4688:32:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4900, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4674:13:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4674:47:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4895, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4631:1:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4892, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "4598:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4893, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "4598:28:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "4598:32:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4598:35:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4889, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "4515:17:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4515:19:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readTotalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15529, + "src": "4515:61:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4515:136:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4885, + "name": "CONFIG_PORTION_TO_MODERATORS_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1549, + "src": "4442:32:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4884, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4428:13:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4428:47:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4879, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4363:1:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4876, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "4330:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4877, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "4330:28:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "4330:32:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4330:35:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4873, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "4260:17:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4260:19:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readRewardsPoolOfLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15544, + "src": "4260:48:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4260:123:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4870, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "4205:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4871, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "effectiveModeratorDGDBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 1597, + "src": "4205:33:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "4205:54:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4205:179:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "4205:200:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4205:288:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "4205:309:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4205:447:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "4205:468:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4205:517:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4164:558:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4905, + "nodeType": "ExpressionStatement", + "src": "4164:558:13" + } + ] + } + } + ] + }, + "documentation": null, + "id": 4909, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "calculateUserRewardsForLastParticipatingQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4721, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4720, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 4909, + "src": "893:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4719, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "893:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "892:15:13" + }, + "payable": false, + "returnParameters": { + "id": 4726, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4723, + "name": "_dgxRewardsAsParticipant", + "nodeType": "VariableDeclaration", + "scope": 4909, + "src": "953:32:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4722, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "953:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4725, + "name": "_dgxRewardsAsModerator", + "nodeType": "VariableDeclaration", + "scope": 4909, + "src": "987:30:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4724, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "987:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "952:66:13" + }, + "scope": 4910, + "src": "836:3903:13", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 4911, + "src": "121:4620:13" + } + ], + "src": "0:4742:13" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoRewardsManagerExtras.sol", + "exportedSymbols": { + "DaoRewardsManagerExtras": [ + 4910 + ] + }, + "id": 4911, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4687, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:13" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoRewardsManagerCommon.sol", + "file": "../common/DaoRewardsManagerCommon.sol", + "id": 4688, + "nodeType": "ImportDirective", + "scope": 4911, + "sourceUnit": 1720, + "src": "26:47:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/service/DaoCalculatorService.sol", + "file": "../service/DaoCalculatorService.sol", + "id": 4689, + "nodeType": "ImportDirective", + "scope": 4911, + "sourceUnit": 12495, + "src": "74:45:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 4690, + "name": "DaoRewardsManagerCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1719, + "src": "157:23:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManagerCommon_$1719", + "typeString": "contract DaoRewardsManagerCommon" + } + }, + "id": 4691, + "nodeType": "InheritanceSpecifier", + "src": "157:23:13" + } + ], + "contractDependencies": [ + 1233, + 1580, + 1719, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 4910, + "linearizedBaseContracts": [ + 4910, + 1719, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoRewardsManagerExtras", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 4703, + "nodeType": "Block", + "src": "226:78:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4698, + "name": "CONTRACT_DAO_REWARDS_MANAGER_EXTRAS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1321, + "src": "249:35:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4699, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4693, + "src": "286:9:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4697, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "244:4:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 4700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "244:52:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4696, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "236:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "236:61:13", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4702, + "nodeType": "ExpressionStatement", + "src": "236:61:13" + } + ] + }, + "documentation": null, + "id": 4704, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4694, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4693, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 4704, + "src": "200:17:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4692, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "200:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "199:19:13" + }, + "payable": false, + "returnParameters": { + "id": 4695, + "nodeType": "ParameterList", + "parameters": [], + "src": "226:0:13" + }, + "scope": 4910, + "src": "188:116:13", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4717, + "nodeType": "Block", + "src": "425:96:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4709, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4707, + "src": "435:9:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4712, + "name": "CONTRACT_SERVICE_DAO_CALCULATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1345, + "src": "481:31:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4711, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "468:12:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 4713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "468:45:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4710, + "name": "DaoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12494, + "src": "447:20:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "type(contract DaoCalculatorService)" + } + }, + "id": 4714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "447:67:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "src": "435:79:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 4716, + "nodeType": "ExpressionStatement", + "src": "435:79:13" + } + ] + }, + "documentation": null, + "id": 4718, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoCalculatorService", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4705, + "nodeType": "ParameterList", + "parameters": [], + "src": "339:2:13" + }, + "payable": false, + "returnParameters": { + "id": 4708, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4707, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 4718, + "src": "389:30:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + }, + "typeName": { + "contractScope": null, + "id": 4706, + "name": "DaoCalculatorService", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 12494, + "src": "389:20:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "388:32:13" + }, + "scope": 4910, + "src": "310:211:13", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 4908, + "nodeType": "Block", + "src": "1023:3716:13", + "statements": [ + { + "assignments": [ + 4728 + ], + "declarations": [ + { + "constant": false, + "id": 4728, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 4909, + "src": "1033:23:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards" + }, + "typeName": { + "contractScope": null, + "id": 4727, + "name": "UserRewards", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1600, + "src": "1033:11:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_storage_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4732, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4730, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4720, + "src": "1080:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4729, + "name": "getUserRewardsStruct", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1661, + "src": "1059:20:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_struct$_UserRewards_$1600_memory_ptr_$", + "typeString": "function (address) view returns (struct DaoRewardsManagerCommon.UserRewards memory)" + } + }, + "id": 4731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1059:27:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1033:53:13" + }, + { + "expression": { + "argumentTypes": null, + "id": 4766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4733, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "1097:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4735, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "effectiveDGDBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 1595, + "src": "1097:24:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4739, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "1190:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4740, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1599, + "src": "1190:10:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4741, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "minimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8460, + "src": "1190:36:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4742, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "1240:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4743, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1599, + "src": "1240:10:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4744, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "quarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8462, + "src": "1240:36:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4745, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "1290:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4746, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1599, + "src": "1290:10:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4747, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "reputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8464, + "src": "1290:39:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4751, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4720, + "src": "1378:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4752, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "1385:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4753, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "1385:28:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4748, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "1343:16:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 4749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1343:18:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 4750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getQuarterPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14708, + "src": "1343:34:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view external returns (uint256)" + } + }, + "id": 4754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1343:71:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4758, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4720, + "src": "1657:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4755, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "1624:16:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 4756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1624:18:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 4757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14914, + "src": "1624:32:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 4759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1624:39:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4763, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4720, + "src": "2072:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4760, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "2039:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 4761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2039:17:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 4762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16048, + "src": "2039:32:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 4764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2039:39:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4736, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4718, + "src": "1124:20:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 4737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1124:22:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 4738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "calculateUserEffectiveBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 12472, + "src": "1124:52:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) pure external returns (uint256)" + } + }, + "id": 4765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1124:964:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1097:991:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4767, + "nodeType": "ExpressionStatement", + "src": "1097:991:13" + }, + { + "expression": { + "argumentTypes": null, + "id": 4801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4768, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "2099:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4770, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "effectiveModeratorDGDBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 1597, + "src": "2099:33:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4774, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "2201:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4775, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1599, + "src": "2201:10:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4776, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorMinimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8468, + "src": "2201:45:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4777, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "2260:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4778, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1599, + "src": "2260:10:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4779, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorQuarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8470, + "src": "2260:45:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4780, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "2319:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4781, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "qInfo", + "nodeType": "MemberAccess", + "referencedDeclaration": 1599, + "src": "2319:10:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_memory", + "typeString": "struct DaoStructs.DaoQuarterInfo memory" + } + }, + "id": 4782, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorReputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8472, + "src": "2319:48:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4786, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4720, + "src": "2425:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4787, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "2432:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4788, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "2432:28:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4783, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "2381:16:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 4784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2381:18:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 4785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getQuarterModeratorPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14727, + "src": "2381:43:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) view external returns (uint256)" + } + }, + "id": 4789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2381:80:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4793, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4720, + "src": "2666:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4790, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "2633:16:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 4791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2633:18:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 4792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14914, + "src": "2633:32:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 4794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2633:39:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4798, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4720, + "src": "3055:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4795, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "3022:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 4796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3022:17:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 4797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16048, + "src": "3022:32:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 4799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3022:39:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4771, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4718, + "src": "2135:20:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 4772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2135:22:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 4773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "calculateUserEffectiveBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 12472, + "src": "2135:52:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256,uint256,uint256,uint256) pure external returns (uint256)" + } + }, + "id": 4800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2135:936:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2099:972:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4802, + "nodeType": "ExpressionStatement", + "src": "2099:972:13" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4809, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3273:1:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4806, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "3240:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4807, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "3240:28:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "3240:32:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3240:35:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4803, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "3187:17:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3187:19:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readTotalEffectiveDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15514, + "src": "3187:52:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3187:89:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 4812, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3279:1:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3187:93:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4857, + "nodeType": "IfStatement", + "src": "3183:739:13", + "trueBody": { + "id": 4856, + "nodeType": "Block", + "src": "3282:640:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4814, + "name": "_dgxRewardsAsParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4723, + "src": "3296:24:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4851, + "name": "CONFIG_PORTION_TO_MODERATORS_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1552, + "src": "3877:32:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4850, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3863:13:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3863:47:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4845, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3820:1:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4842, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "3787:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4843, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "3787:28:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "3787:32:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3787:35:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4839, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "3713:17:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3713:19:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readTotalEffectiveDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15514, + "src": "3713:52:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3713:127:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4834, + "name": "CONFIG_PORTION_TO_MODERATORS_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1549, + "src": "3639:32:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4833, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3625:13:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3625:47:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4830, + "name": "CONFIG_PORTION_TO_MODERATORS_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1552, + "src": "3566:32:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4829, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "3552:13:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3552:47:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "3552:72:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3552:121:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4824, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3488:1:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4821, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "3455:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4822, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "3455:28:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "3455:32:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3455:35:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4818, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "3385:17:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3385:19:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readRewardsPoolOfLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15544, + "src": "3385:48:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3385:123:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4815, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "3339:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4816, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "effectiveDGDBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 1595, + "src": "3339:24:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "3339:45:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3339:170:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "3339:191:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3339:352:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "3339:373:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3339:502:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "3339:523:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3339:572:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3296:615:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4855, + "nodeType": "ExpressionStatement", + "src": "3296:615:13" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4864, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4141:1:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4861, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "4108:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4862, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "4108:28:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "4108:32:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4108:35:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4858, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "4046:17:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4046:19:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readTotalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15529, + "src": "4046:61:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4046:98:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 4867, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4147:1:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4046:102:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 4907, + "nodeType": "IfStatement", + "src": "4042:691:13", + "trueBody": { + "id": 4906, + "nodeType": "Block", + "src": "4150:583:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 4904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4869, + "name": "_dgxRewardsAsModerator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4725, + "src": "4164:22:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4901, + "name": "CONFIG_PORTION_TO_MODERATORS_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1552, + "src": "4688:32:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4900, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4674:13:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4674:47:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4895, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4631:1:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4892, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "4598:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4893, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "4598:28:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "4598:32:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4598:35:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4889, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "4515:17:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4515:19:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readTotalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15529, + "src": "4515:61:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4515:136:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4885, + "name": "CONFIG_PORTION_TO_MODERATORS_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1549, + "src": "4442:32:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 4884, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4428:13:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 4886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4428:47:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 4879, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4363:1:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4876, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "4330:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4877, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 1591, + "src": "4330:28:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "4330:32:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4330:35:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4873, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "4260:17:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 4874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4260:19:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 4875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readRewardsPoolOfLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15544, + "src": "4260:48:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 4881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4260:123:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4870, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4728, + "src": "4205:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserRewards_$1600_memory_ptr", + "typeString": "struct DaoRewardsManagerCommon.UserRewards memory" + } + }, + "id": 4871, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "effectiveModeratorDGDBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 1597, + "src": "4205:33:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "4205:54:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4205:179:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "4205:200:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4205:288:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "4205:309:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4205:447:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "4205:468:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 4903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4205:517:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4164:558:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4905, + "nodeType": "ExpressionStatement", + "src": "4164:558:13" + } + ] + } + } + ] + }, + "documentation": null, + "id": 4909, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "calculateUserRewardsForLastParticipatingQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4721, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4720, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 4909, + "src": "893:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4719, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "893:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "892:15:13" + }, + "payable": false, + "returnParameters": { + "id": 4726, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4723, + "name": "_dgxRewardsAsParticipant", + "nodeType": "VariableDeclaration", + "scope": 4909, + "src": "953:32:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4722, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "953:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4725, + "name": "_dgxRewardsAsModerator", + "nodeType": "VariableDeclaration", + "scope": 4909, + "src": "987:30:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4724, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "987:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "952:66:13" + }, + "scope": 4910, + "src": "836:3903:13", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 4911, + "src": "121:4620:13" + } + ], + "src": "0:4742:13" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0xa9e87d13ed09126b5a07555f737de9f6a478bf19", + "transactionHash": "0xfc30b12f247a2784b47cbef541d7446d3f52911a6fe5b4cea3b53fc8d2cbc043" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T10:37:27.659Z" +} \ No newline at end of file diff --git a/build/contracts/DaoRewardsStorage.json b/build/contracts/DaoRewardsStorage.json new file mode 100644 index 0000000..e40efea --- /dev/null +++ b/build/contracts/DaoRewardsStorage.json @@ -0,0 +1,14927 @@ +{ + "contractName": "DaoRewardsStorage", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "lastQuarterThatRewardsWasUpdated", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "claimableDGXs", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "previousLastParticipatedQuarter", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "lastQuarterThatReputationWasUpdated", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "lastParticipatedQuarter", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalDGXsClaimed", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "allQuartersInfo", + "outputs": [ + { + "name": "minimalParticipationPoint", + "type": "uint256" + }, + { + "name": "quarterPointScalingFactor", + "type": "uint256" + }, + { + "name": "reputationPointScalingFactor", + "type": "uint256" + }, + { + "name": "totalEffectiveDGDPreviousQuarter", + "type": "uint256" + }, + { + "name": "moderatorMinimalParticipationPoint", + "type": "uint256" + }, + { + "name": "moderatorQuarterPointScalingFactor", + "type": "uint256" + }, + { + "name": "moderatorReputationPointScalingFactor", + "type": "uint256" + }, + { + "name": "totalEffectiveModeratorDGDLastQuarter", + "type": "uint256" + }, + { + "name": "dgxDistributionDay", + "type": "uint256" + }, + { + "name": "dgxRewardsPoolLastQuarter", + "type": "uint256" + }, + { + "name": "sumRewardsFromBeginning", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + }, + { + "name": "_minimalParticipationPoint", + "type": "uint256" + }, + { + "name": "_quarterPointScalingFactor", + "type": "uint256" + }, + { + "name": "_reputationPointScalingFactor", + "type": "uint256" + }, + { + "name": "_totalEffectiveDGDPreviousQuarter", + "type": "uint256" + }, + { + "name": "_moderatorMinimalQuarterPoint", + "type": "uint256" + }, + { + "name": "_moderatorQuarterPointScalingFactor", + "type": "uint256" + }, + { + "name": "_moderatorReputationPointScalingFactor", + "type": "uint256" + }, + { + "name": "_totalEffectiveModeratorDGDLastQuarter", + "type": "uint256" + }, + { + "name": "_dgxDistributionDay", + "type": "uint256" + }, + { + "name": "_dgxRewardsPoolLastQuarter", + "type": "uint256" + }, + { + "name": "_sumRewardsFromBeginning", + "type": "uint256" + } + ], + "name": "updateQuarterInfo", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_newClaimableDGX", + "type": "uint256" + } + ], + "name": "updateClaimableDGX", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_lastQuarter", + "type": "uint256" + } + ], + "name": "updateLastParticipatedQuarter", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_lastQuarter", + "type": "uint256" + } + ], + "name": "updatePreviousLastParticipatedQuarter", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_lastQuarter", + "type": "uint256" + } + ], + "name": "updateLastQuarterThatRewardsWasUpdated", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_lastQuarter", + "type": "uint256" + } + ], + "name": "updateLastQuarterThatReputationWasUpdated", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_dgxClaimed", + "type": "uint256" + } + ], + "name": "addToTotalDgxClaimed", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "readQuarterInfo", + "outputs": [ + { + "name": "_minimalParticipationPoint", + "type": "uint256" + }, + { + "name": "_quarterPointScalingFactor", + "type": "uint256" + }, + { + "name": "_reputationPointScalingFactor", + "type": "uint256" + }, + { + "name": "_totalEffectiveDGDPreviousQuarter", + "type": "uint256" + }, + { + "name": "_moderatorMinimalQuarterPoint", + "type": "uint256" + }, + { + "name": "_moderatorQuarterPointScalingFactor", + "type": "uint256" + }, + { + "name": "_moderatorReputationPointScalingFactor", + "type": "uint256" + }, + { + "name": "_totalEffectiveModeratorDGDLastQuarter", + "type": "uint256" + }, + { + "name": "_dgxDistributionDay", + "type": "uint256" + }, + { + "name": "_dgxRewardsPoolLastQuarter", + "type": "uint256" + }, + { + "name": "_sumRewardsFromBeginning", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "readQuarterGeneralInfo", + "outputs": [ + { + "name": "_dgxDistributionDay", + "type": "uint256" + }, + { + "name": "_dgxRewardsPoolLastQuarter", + "type": "uint256" + }, + { + "name": "_sumRewardsFromBeginning", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "readQuarterModeratorInfo", + "outputs": [ + { + "name": "_moderatorMinimalQuarterPoint", + "type": "uint256" + }, + { + "name": "_moderatorQuarterPointScalingFactor", + "type": "uint256" + }, + { + "name": "_moderatorReputationPointScalingFactor", + "type": "uint256" + }, + { + "name": "_totalEffectiveModeratorDGDLastQuarter", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "readQuarterParticipantInfo", + "outputs": [ + { + "name": "_minimalParticipationPoint", + "type": "uint256" + }, + { + "name": "_quarterPointScalingFactor", + "type": "uint256" + }, + { + "name": "_reputationPointScalingFactor", + "type": "uint256" + }, + { + "name": "_totalEffectiveDGDPreviousQuarter", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "readDgxDistributionDay", + "outputs": [ + { + "name": "_distributionDay", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "readTotalEffectiveDGDLastQuarter", + "outputs": [ + { + "name": "_totalEffectiveDGDPreviousQuarter", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "readTotalEffectiveModeratorDGDLastQuarter", + "outputs": [ + { + "name": "_totalEffectiveModeratorDGDLastQuarter", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "readRewardsPoolOfLastQuarter", + "outputs": [ + { + "name": "_rewardsPool", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b50604051602080620029878339810180604052810190808051906020019092919050505062001175602d548262001188640100000000026401000000009004565b15156200118157600080fd5b5062001419565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f057600080fd5b505af115801562001205573d6000803e3d6000fd5b505050506040513d60208110156200121c57600080fd5b810190808051906020019092919050505090506000151581151514156200140d5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013ba57600080fd5b505af1158015620013cf573d6000803e3d6000fd5b505050506040513d6020811015620013e657600080fd5b810190808051906020019092919050505015156200140357600080fd5b6001915062001412565b600091505b5092915050565b61155e80620014296000396000f300608060405260043610610154576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146101595780630f491b11146101b057806312d9b939146101f157806327ddd3ae1461023e5780633943380c146102955780633f83acff146102c8578063521fcb661461033957806356dfd2b7146103d457806362961de91461045b5780636a8cfd09146104b157806378af89ac146104fe578063863eb74a14610555578063927bb668146105a2578063a301c0d2146105ef578063a78e00d614610645578063bb80203e14610686578063bcda6424146106c7578063bd695d211461071e578063cefc2bff14610775578063cf542aa9146107cc578063d715d6f51461081b578063d8048c9d14610848578063db4ecbc114610895578063f03222f0146108ec578063f1dfda7814610917578063fedf94531461099e575b600080fd5b34801561016557600080fd5b5061016e6109df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101bc57600080fd5b506101db60048036038101908080359060200190929190505050610a04565b6040518082815260200191505060405180910390f35b3480156101fd57600080fd5b5061023c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a24565b005b34801561024a57600080fd5b5061027f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ab9565b6040518082815260200191505060405180910390f35b3480156102a157600080fd5b506102aa610ad1565b60405180826000191660001916815260200191505060405180910390f35b3480156102d457600080fd5b506102f76004803603810190808035600019169060200190929190505050610ad7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561034557600080fd5b506103d2600480360381019080803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050610bb3565b005b3480156103e057600080fd5b506103ff60048036038101908080359060200190929190505050610d00565b604051808c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019b50505050505050505050505060405180910390f35b34801561046757600080fd5b5061048660048036038101908080359060200190929190505050610e33565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b3480156104bd57600080fd5b506104fc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ea4565b005b34801561050a57600080fd5b5061053f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f02565b6040518082815260200191505060405180910390f35b34801561056157600080fd5b506105a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f1a565b005b3480156105ae57600080fd5b506105ed600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f78565b005b3480156105fb57600080fd5b5061061a60048036038101908080359060200190929190505050610fd6565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b34801561065157600080fd5b5061067060048036038101908080359060200190929190505050611047565b6040518082815260200191505060405180910390f35b34801561069257600080fd5b506106b160048036038101908080359060200190929190505050611067565b6040518082815260200191505060405180910390f35b3480156106d357600080fd5b50610708600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611087565b6040518082815260200191505060405180910390f35b34801561072a57600080fd5b5061075f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061109f565b6040518082815260200191505060405180910390f35b34801561078157600080fd5b506107b6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110b7565b6040518082815260200191505060405180910390f35b3480156107d857600080fd5b506107f7600480360381019080803590602001909291905050506110cf565b60405180848152602001838152602001828152602001935050505060405180910390f35b34801561082757600080fd5b5061084660048036038101908080359060200190929190505050611126565b005b34801561085457600080fd5b50610893600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061115a565b005b3480156108a157600080fd5b506108aa6111ef565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108f857600080fd5b50610901611215565b6040518082815260200191505060405180910390f35b34801561092357600080fd5b506109426004803603810190808035906020019092919050505061121b565b604051808c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019b50505050505050505050505060405180910390f35b3480156109aa57600080fd5b506109c960048036038101908080359060200190929190505050611275565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060706000838152602001908152602001600020600701549050919050565b610a66606060405190810160405280601b5460001916600019168152602001601654600019166000191681526020016003546000191660001916815250611295565b1515610a7157600080fd5b80607660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60756020528060005260406000206000915090505481565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610b7157600080fd5b505af1158015610b85573d6000803e3d6000fd5b505050506040513d6020811015610b9b57600080fd5b81019080805190602001909291905050509050919050565b610bbe601b5461140c565b1515610bc957600080fd5b8a607060008e81526020019081526020016000206000018190555089607060008e81526020019081526020016000206001018190555088607060008e81526020019081526020016000206002018190555087607060008e81526020019081526020016000206003018190555086607060008e81526020019081526020016000206004018190555085607060008e81526020019081526020016000206005018190555084607060008e81526020019081526020016000206006018190555083607060008e81526020019081526020016000206007018190555082607060008e81526020019081526020016000206008018190555081607060008e81526020019081526020016000206009018190555080607060008e8152602001908152602001600020600a0181905550505050505050505050505050565b6000806000806000806000806000806000607060008d8152602001908152602001600020600001549a50607060008d8152602001908152602001600020600101549950607060008d8152602001908152602001600020600201549850607060008d8152602001908152602001600020600301549750607060008d8152602001908152602001600020600401549650607060008d8152602001908152602001600020600501549550607060008d8152602001908152602001600020600601549450607060008d8152602001908152602001600020600701549350607060008d8152602001908152602001600020600801549250607060008d8152602001908152602001600020600901549150607060008d8152602001908152602001600020600a0154905091939597999b90929496989a50565b600080600080607060008681526020019081526020016000206000015493506070600086815260200190815260200160002060010154925060706000868152602001908152602001600020600201549150607060008681526020019081526020016000206003015490509193509193565b610eaf601b5461140c565b1515610eba57600080fd5b80607160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60716020528060005260406000206000915090505481565b610f2560165461140c565b1515610f3057600080fd5b80607460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b610f8360165461140c565b1515610f8e57600080fd5b80607360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600080600080607060008681526020019081526020016000206004015493506070600086815260200190815260200160002060050154925060706000868152602001908152602001600020600601549150607060008681526020019081526020016000206007015490509193509193565b600060706000838152602001908152602001600020600801549050919050565b600060706000838152602001908152602001600020600901549050919050565b60746020528060005260406000206000915090505481565b60766020528060005260406000206000915090505481565b60736020528060005260406000206000915090505481565b6000806000607060008581526020019081526020016000206008015492506070600085815260200190815260200160002060090154915060706000858152602001908152602001600020600a015490509193909250565b611131601b5461140c565b151561113c57600080fd5b6111518160725461151690919063ffffffff16565b60728190555050565b61119c606060405190810160405280601b5460001916600019168152602001601654600019166000191681526020016003546000191660001916815250611295565b15156111a757600080fd5b80607560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60725481565b607060205280600052604060002060009150905080600001549080600101549080600201549080600301549080600401549080600501549080600601549080600701549080600801549080600901549080600a015490508b565b600060706000838152602001908152602001600020600301549050919050565b600080600060039150600090505b818110156114055760006001026000191684826003811015156112c257fe5b60200201516000191614156112d6576113f8565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff858360038110151561132157fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561138057600080fd5b505af1158015611394573d6000803e3d6000fd5b505050506040513d60208110156113aa57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156113f75760019250611405565b5b80806001019150506112a3565b5050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156114a657600080fd5b505af11580156114ba573d6000803e3d6000fd5b505050506040513d60208110156114d057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b6000818301905082811015151561152957fe5b809050929150505600a165627a7a7230582099a60a4e005a8e4397c43e772d5dde1f495e402a7855e3f94efce84a8a0e374a0029", + "deployedBytecode": "0x608060405260043610610154576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146101595780630f491b11146101b057806312d9b939146101f157806327ddd3ae1461023e5780633943380c146102955780633f83acff146102c8578063521fcb661461033957806356dfd2b7146103d457806362961de91461045b5780636a8cfd09146104b157806378af89ac146104fe578063863eb74a14610555578063927bb668146105a2578063a301c0d2146105ef578063a78e00d614610645578063bb80203e14610686578063bcda6424146106c7578063bd695d211461071e578063cefc2bff14610775578063cf542aa9146107cc578063d715d6f51461081b578063d8048c9d14610848578063db4ecbc114610895578063f03222f0146108ec578063f1dfda7814610917578063fedf94531461099e575b600080fd5b34801561016557600080fd5b5061016e6109df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101bc57600080fd5b506101db60048036038101908080359060200190929190505050610a04565b6040518082815260200191505060405180910390f35b3480156101fd57600080fd5b5061023c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a24565b005b34801561024a57600080fd5b5061027f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ab9565b6040518082815260200191505060405180910390f35b3480156102a157600080fd5b506102aa610ad1565b60405180826000191660001916815260200191505060405180910390f35b3480156102d457600080fd5b506102f76004803603810190808035600019169060200190929190505050610ad7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561034557600080fd5b506103d2600480360381019080803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050610bb3565b005b3480156103e057600080fd5b506103ff60048036038101908080359060200190929190505050610d00565b604051808c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019b50505050505050505050505060405180910390f35b34801561046757600080fd5b5061048660048036038101908080359060200190929190505050610e33565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b3480156104bd57600080fd5b506104fc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ea4565b005b34801561050a57600080fd5b5061053f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f02565b6040518082815260200191505060405180910390f35b34801561056157600080fd5b506105a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f1a565b005b3480156105ae57600080fd5b506105ed600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f78565b005b3480156105fb57600080fd5b5061061a60048036038101908080359060200190929190505050610fd6565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b34801561065157600080fd5b5061067060048036038101908080359060200190929190505050611047565b6040518082815260200191505060405180910390f35b34801561069257600080fd5b506106b160048036038101908080359060200190929190505050611067565b6040518082815260200191505060405180910390f35b3480156106d357600080fd5b50610708600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611087565b6040518082815260200191505060405180910390f35b34801561072a57600080fd5b5061075f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061109f565b6040518082815260200191505060405180910390f35b34801561078157600080fd5b506107b6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110b7565b6040518082815260200191505060405180910390f35b3480156107d857600080fd5b506107f7600480360381019080803590602001909291905050506110cf565b60405180848152602001838152602001828152602001935050505060405180910390f35b34801561082757600080fd5b5061084660048036038101908080359060200190929190505050611126565b005b34801561085457600080fd5b50610893600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061115a565b005b3480156108a157600080fd5b506108aa6111ef565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108f857600080fd5b50610901611215565b6040518082815260200191505060405180910390f35b34801561092357600080fd5b506109426004803603810190808035906020019092919050505061121b565b604051808c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019b50505050505050505050505060405180910390f35b3480156109aa57600080fd5b506109c960048036038101908080359060200190929190505050611275565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060706000838152602001908152602001600020600701549050919050565b610a66606060405190810160405280601b5460001916600019168152602001601654600019166000191681526020016003546000191660001916815250611295565b1515610a7157600080fd5b80607660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60756020528060005260406000206000915090505481565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610b7157600080fd5b505af1158015610b85573d6000803e3d6000fd5b505050506040513d6020811015610b9b57600080fd5b81019080805190602001909291905050509050919050565b610bbe601b5461140c565b1515610bc957600080fd5b8a607060008e81526020019081526020016000206000018190555089607060008e81526020019081526020016000206001018190555088607060008e81526020019081526020016000206002018190555087607060008e81526020019081526020016000206003018190555086607060008e81526020019081526020016000206004018190555085607060008e81526020019081526020016000206005018190555084607060008e81526020019081526020016000206006018190555083607060008e81526020019081526020016000206007018190555082607060008e81526020019081526020016000206008018190555081607060008e81526020019081526020016000206009018190555080607060008e8152602001908152602001600020600a0181905550505050505050505050505050565b6000806000806000806000806000806000607060008d8152602001908152602001600020600001549a50607060008d8152602001908152602001600020600101549950607060008d8152602001908152602001600020600201549850607060008d8152602001908152602001600020600301549750607060008d8152602001908152602001600020600401549650607060008d8152602001908152602001600020600501549550607060008d8152602001908152602001600020600601549450607060008d8152602001908152602001600020600701549350607060008d8152602001908152602001600020600801549250607060008d8152602001908152602001600020600901549150607060008d8152602001908152602001600020600a0154905091939597999b90929496989a50565b600080600080607060008681526020019081526020016000206000015493506070600086815260200190815260200160002060010154925060706000868152602001908152602001600020600201549150607060008681526020019081526020016000206003015490509193509193565b610eaf601b5461140c565b1515610eba57600080fd5b80607160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60716020528060005260406000206000915090505481565b610f2560165461140c565b1515610f3057600080fd5b80607460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b610f8360165461140c565b1515610f8e57600080fd5b80607360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600080600080607060008681526020019081526020016000206004015493506070600086815260200190815260200160002060050154925060706000868152602001908152602001600020600601549150607060008681526020019081526020016000206007015490509193509193565b600060706000838152602001908152602001600020600801549050919050565b600060706000838152602001908152602001600020600901549050919050565b60746020528060005260406000206000915090505481565b60766020528060005260406000206000915090505481565b60736020528060005260406000206000915090505481565b6000806000607060008581526020019081526020016000206008015492506070600085815260200190815260200160002060090154915060706000858152602001908152602001600020600a015490509193909250565b611131601b5461140c565b151561113c57600080fd5b6111518160725461151690919063ffffffff16565b60728190555050565b61119c606060405190810160405280601b5460001916600019168152602001601654600019166000191681526020016003546000191660001916815250611295565b15156111a757600080fd5b80607560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60725481565b607060205280600052604060002060009150905080600001549080600101549080600201549080600301549080600401549080600501549080600601549080600701549080600801549080600901549080600a015490508b565b600060706000838152602001908152602001600020600301549050919050565b600080600060039150600090505b818110156114055760006001026000191684826003811015156112c257fe5b60200201516000191614156112d6576113f8565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff858360038110151561132157fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561138057600080fd5b505af1158015611394573d6000803e3d6000fd5b505050506040513d60208110156113aa57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156113f75760019250611405565b5b80806001019150506112a3565b5050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156114a657600080fd5b505af11580156114ba573d6000803e3d6000fd5b505050506040513d60208110156114d057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b6000818301905082811015151561152957fe5b809050929150505600a165627a7a7230582099a60a4e005a8e4397c43e772d5dde1f495e402a7855e3f94efce84a8a0e374a0029", + "sourceMap": "232:10951:57:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;2844:124:57;8:9:-1;5:2;;;30:1;27;20:12;5:2;2844:124:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2915:45;2920:28;;2950:9;2915:4;;;:45;;;:::i;:::-;2907:54;;;;;;;;2844:124;232:10951;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;232:10951:57:-;;;;;;;", + "deployedSourceMap": "232:10951:57:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;10654:299:57;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10654:299:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5739:287;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5739:287:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2363:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2363:68:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2974:1810:57;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2974:1810:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6235:1818;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6235:1818:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9412:732;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9412:732:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4790:202;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4790:202:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;723:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;723:48:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5217:229;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5217:229:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4998:213;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4998:213:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8592:814;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8592:814:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10150:217;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10150:217:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10959:222;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10959:222:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1910:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1910:67:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2766:71;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2766:71:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1643:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1643:59:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8059:527;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8059:527:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6032:197;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6032:197:57;;;;;;;;;;;;;;;;;;;;;;;;;;5452:281;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5452:281:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;1189::57;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1189:31:57;;;;;;;;;;;;;;;;;;;;;;;533:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;533:68:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10373:275;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10373:275:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;10654:299:57:-;10774:46;10877:15;:31;10893:14;10877:31;;;;;;;;;;;:69;;;10836:110;;10654:299;;;:::o;5739:287::-;5864:87;;;;;;;;;;5880:28;;5864:87;;;;;;;;;;5910:26;;5864:87;;;;;;;;;;5938:11;;5864:87;;;;;;;;;:14;:87::i;:::-;5856:96;;;;;;;;6007:12;5962:35;:42;5998:5;5962:42;;;;;;;;;;;;;;;:57;;;;5739:287;;:::o;2363:68::-;;;;;;;;;;;;;;;;;:::o;264:18:67:-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;2974:1810:57:-;3599:39;3609:28;;3599:9;:39::i;:::-;3591:48;;;;;;;;3709:26;3649:15;:31;3665:14;3649:31;;;;;;;;;;;:57;;:86;;;;3805:26;3745:15;:31;3761:14;3745:31;;;;;;;;;;;:57;;:86;;;;3904:29;3841:15;:31;3857:14;3841:31;;;;;;;;;;;:60;;:92;;;;4010:33;3943:15;:31;3959:14;3943:31;;;;;;;;;;;:64;;:100;;;;4123:29;4054:15;:31;4070:14;4054:31;;;;;;;;;;;:66;;:98;;;;4231:35;4162:15;:31;4178:14;4162:31;;;;;;;;;;;:66;;:104;;;;4348:38;4276:15;:31;4292:14;4276:31;;;;;;;;;;;:69;;:110;;;;4468:38;4396:15;:31;4412:14;4396:31;;;;;;;;;;;:69;;:110;;;;4570:19;4517:15;:31;4533:14;4517:31;;;;;;;;;;;:50;;:72;;;;4659:26;4599:15;:31;4615:14;4599:31;;;;;;;;;;;:57;;:86;;;;4753:24;4695:15;:31;4711:14;4695:31;;;;;;;;;;;:55;;:82;;;;2974:1810;;;;;;;;;;;;:::o;6235:1818::-;6342:34;6390;6438:37;6489:41;6545:37;6596:43;6653:46;6713;6774:27;6815:34;6863:32;6949:15;:31;6965:14;6949:31;;;;;;;;;;;:57;;;6920:86;;7045:15;:31;7061:14;7045:31;;;;;;;;;;;:57;;;7016:86;;7144:15;:31;7160:14;7144:31;;;;;;;;;;;:60;;;7112:92;;7250:15;:31;7266:14;7250:31;;;;;;;;;;;:64;;;7214:100;;7356:15;:31;7372:14;7356:31;;;;;;;;;;;:66;;;7324:98;;7470:15;:31;7486:14;7470:31;;;;;;;;;;;:66;;;7432:104;;7587:15;:31;7603:14;7587:31;;;;;;;;;;;:69;;;7546:110;;7707:15;:31;7723:14;7707:31;;;;;;;;;;;:69;;;7666:110;;7808:15;:31;7824:14;7808:31;;;;;;;;;;;:50;;;7786:72;;7897:15;:31;7913:14;7897:31;;;;;;;;;;;:57;;;7868:86;;7991:15;:31;8007:14;7991:31;;;;;;;;;;;:55;;;7964:82;;6235:1818;;;;;;;;;;;;;:::o;9412:732::-;9530:34;9578;9626:37;9677:41;9772:15;:31;9788:14;9772:31;;;;;;;;;;;:57;;;9743:86;;9868:15;:31;9884:14;9868:31;;;;;;;;;;;:57;;;9839:86;;9967:15;:31;9983:14;9967:31;;;;;;;;;;;:60;;;9935:92;;10073:15;:31;10089:14;10073:31;;;;;;;;;;;:64;;;10037:100;;9412:732;;;;;:::o;4790:202::-;4896:39;4906:28;;4896:9;:39::i;:::-;4888:48;;;;;;;;4969:16;4946:13;:20;4960:5;4946:20;;;;;;;;;;;;;;;:39;;;;4790:202;;:::o;723:48::-;;;;;;;;;;;;;;;;;:::o;5217:229::-;5338:37;5348:26;;5338:9;:37::i;:::-;5330:46;;;;;;;;5427:12;5386:31;:38;5418:5;5386:38;;;;;;;;;;;;;;;:53;;;;5217:229;;:::o;4998:213::-;5111:37;5121:26;;5111:9;:37::i;:::-;5103:46;;;;;;;;5192:12;5159:23;:30;5183:5;5159:30;;;;;;;;;;;;;;;:45;;;;4998:213;;:::o;8592:814::-;8708:37;8759:43;8816:46;8876;8979:15;:31;8995:14;8979:31;;;;;;;;;;;:66;;;8947:98;;9093:15;:31;9109:14;9093:31;;;;;;;;;;;:66;;;9055:104;;9210:15;:31;9226:14;9210:31;;;;;;;;;;;:69;;;9169:110;;9330:15;:31;9346:14;9330:31;;;;;;;;;;;:69;;;9289:110;;8592:814;;;;;:::o;10150:217::-;10251:24;10310:15;:31;10326:14;10310:31;;;;;;;;;;;:50;;;10291:69;;10150:217;;;:::o;10959:222::-;11066:20;11117:15;:31;11133:14;11117:31;;;;;;;;;;;:57;;;11102:72;;10959:222;;;:::o;1910:67::-;;;;;;;;;;;;;;;;;:::o;2766:71::-;;;;;;;;;;;;;;;;;:::o;1643:59::-;;;;;;;;;;;;;;;;;:::o;8059:527::-;8173:27;8214:34;8262:32;8341:15;:31;8357:14;8341:31;;;;;;;;;;;:50;;;8319:72;;8430:15;:31;8446:14;8430:31;;;;;;;;;;;:57;;;8401:86;;8524:15;:31;8540:14;8524:31;;;;;;;;;;;:55;;;8497:82;;8059:527;;;;;:::o;6032:197::-;6120:39;6130:28;;6120:9;:39::i;:::-;6112:48;;;;;;;;6189:33;6210:11;6189:16;;:20;;:33;;;;:::i;:::-;6170:16;:52;;;;6032:197;:::o;5452:281::-;5574:87;;;;;;;;;;5590:28;;5574:87;;;;;;;;;;5620:26;;5574:87;;;;;;;;;;5648:11;;5574:87;;;;;;;;;:14;:87::i;:::-;5566:96;;;;;;;;5714:12;5672:32;:39;5705:5;5672:39;;;;;;;;;;;;;;;:54;;;;5452:281;;:::o;344:31:67:-;;;;;;;;;;;;;:::o;1189::57:-;;;;:::o;533:68::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10373:275::-;10484:41;10577:15;:31;10593:14;10577:31;;;;;;;;;;;:64;;;10541:100;;10373:275;;;:::o;881:350:67:-;951:12;971:10;1012:9;984:17;971:30;;1024:1;1012:13;;1007:220;1031:2;1027:1;:6;1007:220;;;1077:3;1069:12;;1052:29;;;:10;1063:1;1052:13;;;;;;;;;;;;;:29;;;;1048:43;;;1083:8;;1048:43;1134:8;;;;;;;;;;;1117:39;;;1157:10;1168:1;1157:13;;;;;;;;;;;;;1117:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1117:54:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1117:54:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1117:54:67;;;;;;;;;;;;;;;;1103:68;;:10;:68;;;1099:122;;;1193:4;1183:14;;1207:5;;1099:122;1007:220;1035:3;;;;;;;1007:220;;;881:350;;;;;:::o;610:160::-;671:12;732:8;;;;;;;;;;;715:39;;;755:9;715:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;715:50:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;715:50:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;715:50:67;;;;;;;;;;;;;;;;701:64;;:10;:64;;;691:74;;610:160;;;:::o;1238:128:84:-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"@digix/cacp-contracts-dao/contracts/ResolverClient.sol\";\nimport \"../common/DaoConstants.sol\";\nimport \"../lib/DaoStructs.sol\";\n\n// this contract will receive DGXs fees from the DGX fees distributors\ncontract DaoRewardsStorage is ResolverClient, DaoConstants {\n using DaoStructs for DaoStructs.DaoQuarterInfo;\n\n // DaoQuarterInfo is a struct that stores the quarter specific information\n // regarding totalEffectiveDGDs, DGX distribution day, etc. pls check\n // docs in lib/DaoStructs\n mapping(uint256 => DaoStructs.DaoQuarterInfo) public allQuartersInfo;\n\n // Mapping that stores the DGX that can be claimed as rewards by\n // an address (a participant of DigixDAO)\n mapping(address => uint256) public claimableDGXs;\n\n // This stores the total DGX value that has been claimed by participants\n // this can be done by calling the DaoRewardsManager.claimRewards method\n // Note that this value is the only outgoing DGX from DaoRewardsManager contract\n // Note that this value also takes into account the demurrage that has been paid\n // by participants for simply holding their DGXs in the DaoRewardsManager contract\n uint256 public totalDGXsClaimed;\n\n // The Quarter ID in which the user last participated in\n // To participate means they had locked more than CONFIG_MINIMUM_LOCKED_DGD\n // DGD tokens. In addition, they should not have withdrawn those tokens in the same\n // quarter. Basically, in the main phase of the quarter, if DaoCommon.isParticipant(_user)\n // was true, they were participants. And that quarter was their lastParticipatedQuarter\n mapping (address => uint256) public lastParticipatedQuarter;\n\n // This mapping is only used to update the lastParticipatedQuarter to the\n // previousLastParticipatedQuarter in case users lock and withdraw DGDs\n // within the same quarter's locking phase\n mapping (address => uint256) public previousLastParticipatedQuarter;\n\n // This number marks the Quarter in which the rewards were last updated for that user\n // Since the rewards calculation for a specific quarter is only done once that\n // quarter is completed, we need this value to note the last quarter when the rewards were updated\n // We then start adding the rewards for all quarters after that quarter, until the current quarter\n mapping (address => uint256) public lastQuarterThatRewardsWasUpdated;\n\n // Similar as the lastQuarterThatRewardsWasUpdated, but this is for reputation updates\n // Note that reputation can also be deducted for no participation (not locking DGDs)\n // This value is used to update the reputation based on all quarters from the lastQuarterThatReputationWasUpdated\n // to the current quarter\n mapping (address => uint256) public lastQuarterThatReputationWasUpdated;\n\n constructor(address _resolver)\n public\n {\n require(init(CONTRACT_STORAGE_DAO_REWARDS, _resolver));\n }\n\n function updateQuarterInfo(\n uint256 _quarterNumber,\n uint256 _minimalParticipationPoint,\n uint256 _quarterPointScalingFactor,\n uint256 _reputationPointScalingFactor,\n uint256 _totalEffectiveDGDPreviousQuarter,\n\n uint256 _moderatorMinimalQuarterPoint,\n uint256 _moderatorQuarterPointScalingFactor,\n uint256 _moderatorReputationPointScalingFactor,\n uint256 _totalEffectiveModeratorDGDLastQuarter,\n\n uint256 _dgxDistributionDay,\n uint256 _dgxRewardsPoolLastQuarter,\n uint256 _sumRewardsFromBeginning\n )\n public\n {\n require(sender_is(CONTRACT_DAO_REWARDS_MANAGER));\n allQuartersInfo[_quarterNumber].minimalParticipationPoint = _minimalParticipationPoint;\n allQuartersInfo[_quarterNumber].quarterPointScalingFactor = _quarterPointScalingFactor;\n allQuartersInfo[_quarterNumber].reputationPointScalingFactor = _reputationPointScalingFactor;\n allQuartersInfo[_quarterNumber].totalEffectiveDGDPreviousQuarter = _totalEffectiveDGDPreviousQuarter;\n\n allQuartersInfo[_quarterNumber].moderatorMinimalParticipationPoint = _moderatorMinimalQuarterPoint;\n allQuartersInfo[_quarterNumber].moderatorQuarterPointScalingFactor = _moderatorQuarterPointScalingFactor;\n allQuartersInfo[_quarterNumber].moderatorReputationPointScalingFactor = _moderatorReputationPointScalingFactor;\n allQuartersInfo[_quarterNumber].totalEffectiveModeratorDGDLastQuarter = _totalEffectiveModeratorDGDLastQuarter;\n\n allQuartersInfo[_quarterNumber].dgxDistributionDay = _dgxDistributionDay;\n allQuartersInfo[_quarterNumber].dgxRewardsPoolLastQuarter = _dgxRewardsPoolLastQuarter;\n allQuartersInfo[_quarterNumber].sumRewardsFromBeginning = _sumRewardsFromBeginning;\n }\n\n function updateClaimableDGX(address _user, uint256 _newClaimableDGX)\n public\n {\n require(sender_is(CONTRACT_DAO_REWARDS_MANAGER));\n claimableDGXs[_user] = _newClaimableDGX;\n }\n\n function updateLastParticipatedQuarter(address _user, uint256 _lastQuarter)\n public\n {\n require(sender_is(CONTRACT_DAO_STAKE_LOCKING));\n lastParticipatedQuarter[_user] = _lastQuarter;\n }\n\n function updatePreviousLastParticipatedQuarter(address _user, uint256 _lastQuarter)\n public\n {\n require(sender_is(CONTRACT_DAO_STAKE_LOCKING));\n previousLastParticipatedQuarter[_user] = _lastQuarter;\n }\n\n function updateLastQuarterThatRewardsWasUpdated(address _user, uint256 _lastQuarter)\n public\n {\n require(sender_is_from([CONTRACT_DAO_REWARDS_MANAGER, CONTRACT_DAO_STAKE_LOCKING, EMPTY_BYTES]));\n lastQuarterThatRewardsWasUpdated[_user] = _lastQuarter;\n }\n\n function updateLastQuarterThatReputationWasUpdated(address _user, uint256 _lastQuarter)\n public\n {\n require(sender_is_from([CONTRACT_DAO_REWARDS_MANAGER, CONTRACT_DAO_STAKE_LOCKING, EMPTY_BYTES]));\n lastQuarterThatReputationWasUpdated[_user] = _lastQuarter;\n }\n\n function addToTotalDgxClaimed(uint256 _dgxClaimed)\n public\n {\n require(sender_is(CONTRACT_DAO_REWARDS_MANAGER));\n totalDGXsClaimed = totalDGXsClaimed.add(_dgxClaimed);\n }\n\n function readQuarterInfo(uint256 _quarterNumber)\n public\n view\n returns (\n uint256 _minimalParticipationPoint,\n uint256 _quarterPointScalingFactor,\n uint256 _reputationPointScalingFactor,\n uint256 _totalEffectiveDGDPreviousQuarter,\n\n uint256 _moderatorMinimalQuarterPoint,\n uint256 _moderatorQuarterPointScalingFactor,\n uint256 _moderatorReputationPointScalingFactor,\n uint256 _totalEffectiveModeratorDGDLastQuarter,\n\n uint256 _dgxDistributionDay,\n uint256 _dgxRewardsPoolLastQuarter,\n uint256 _sumRewardsFromBeginning\n )\n {\n _minimalParticipationPoint = allQuartersInfo[_quarterNumber].minimalParticipationPoint;\n _quarterPointScalingFactor = allQuartersInfo[_quarterNumber].quarterPointScalingFactor;\n _reputationPointScalingFactor = allQuartersInfo[_quarterNumber].reputationPointScalingFactor;\n _totalEffectiveDGDPreviousQuarter = allQuartersInfo[_quarterNumber].totalEffectiveDGDPreviousQuarter;\n _moderatorMinimalQuarterPoint = allQuartersInfo[_quarterNumber].moderatorMinimalParticipationPoint;\n _moderatorQuarterPointScalingFactor = allQuartersInfo[_quarterNumber].moderatorQuarterPointScalingFactor;\n _moderatorReputationPointScalingFactor = allQuartersInfo[_quarterNumber].moderatorReputationPointScalingFactor;\n _totalEffectiveModeratorDGDLastQuarter = allQuartersInfo[_quarterNumber].totalEffectiveModeratorDGDLastQuarter;\n _dgxDistributionDay = allQuartersInfo[_quarterNumber].dgxDistributionDay;\n _dgxRewardsPoolLastQuarter = allQuartersInfo[_quarterNumber].dgxRewardsPoolLastQuarter;\n _sumRewardsFromBeginning = allQuartersInfo[_quarterNumber].sumRewardsFromBeginning;\n }\n\n function readQuarterGeneralInfo(uint256 _quarterNumber)\n public\n view\n returns (\n uint256 _dgxDistributionDay,\n uint256 _dgxRewardsPoolLastQuarter,\n uint256 _sumRewardsFromBeginning\n )\n {\n _dgxDistributionDay = allQuartersInfo[_quarterNumber].dgxDistributionDay;\n _dgxRewardsPoolLastQuarter = allQuartersInfo[_quarterNumber].dgxRewardsPoolLastQuarter;\n _sumRewardsFromBeginning = allQuartersInfo[_quarterNumber].sumRewardsFromBeginning;\n }\n\n function readQuarterModeratorInfo(uint256 _quarterNumber)\n public\n view\n returns (\n uint256 _moderatorMinimalQuarterPoint,\n uint256 _moderatorQuarterPointScalingFactor,\n uint256 _moderatorReputationPointScalingFactor,\n uint256 _totalEffectiveModeratorDGDLastQuarter\n )\n {\n _moderatorMinimalQuarterPoint = allQuartersInfo[_quarterNumber].moderatorMinimalParticipationPoint;\n _moderatorQuarterPointScalingFactor = allQuartersInfo[_quarterNumber].moderatorQuarterPointScalingFactor;\n _moderatorReputationPointScalingFactor = allQuartersInfo[_quarterNumber].moderatorReputationPointScalingFactor;\n _totalEffectiveModeratorDGDLastQuarter = allQuartersInfo[_quarterNumber].totalEffectiveModeratorDGDLastQuarter;\n }\n\n function readQuarterParticipantInfo(uint256 _quarterNumber)\n public\n view\n returns (\n uint256 _minimalParticipationPoint,\n uint256 _quarterPointScalingFactor,\n uint256 _reputationPointScalingFactor,\n uint256 _totalEffectiveDGDPreviousQuarter\n )\n {\n _minimalParticipationPoint = allQuartersInfo[_quarterNumber].minimalParticipationPoint;\n _quarterPointScalingFactor = allQuartersInfo[_quarterNumber].quarterPointScalingFactor;\n _reputationPointScalingFactor = allQuartersInfo[_quarterNumber].reputationPointScalingFactor;\n _totalEffectiveDGDPreviousQuarter = allQuartersInfo[_quarterNumber].totalEffectiveDGDPreviousQuarter;\n }\n\n function readDgxDistributionDay(uint256 _quarterNumber)\n public\n view\n returns (uint256 _distributionDay)\n {\n _distributionDay = allQuartersInfo[_quarterNumber].dgxDistributionDay;\n }\n\n function readTotalEffectiveDGDLastQuarter(uint256 _quarterNumber)\n public\n view\n returns (uint256 _totalEffectiveDGDPreviousQuarter)\n {\n _totalEffectiveDGDPreviousQuarter = allQuartersInfo[_quarterNumber].totalEffectiveDGDPreviousQuarter;\n }\n\n function readTotalEffectiveModeratorDGDLastQuarter(uint256 _quarterNumber)\n public\n view\n returns (uint256 _totalEffectiveModeratorDGDLastQuarter)\n {\n _totalEffectiveModeratorDGDLastQuarter = allQuartersInfo[_quarterNumber].totalEffectiveModeratorDGDLastQuarter;\n }\n\n function readRewardsPoolOfLastQuarter(uint256 _quarterNumber)\n public\n view\n returns (uint256 _rewardsPool)\n {\n _rewardsPool = allQuartersInfo[_quarterNumber].dgxRewardsPoolLastQuarter;\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoRewardsStorage.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoRewardsStorage.sol", + "exportedSymbols": { + "DaoRewardsStorage": [ + 15545 + ] + }, + "id": 15546, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 14977, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:57" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 14978, + "nodeType": "ImportDirective", + "scope": 15546, + "sourceUnit": 19059, + "src": "26:64:57", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "../common/DaoConstants.sol", + "id": 14979, + "nodeType": "ImportDirective", + "scope": 15546, + "sourceUnit": 1581, + "src": "91:36:57", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoStructs.sol", + "file": "../lib/DaoStructs.sol", + "id": 14980, + "nodeType": "ImportDirective", + "scope": 15546, + "sourceUnit": 8492, + "src": "128:31:57", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 14981, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "262:14:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 14982, + "nodeType": "InheritanceSpecifier", + "src": "262:14:57" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 14983, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "278:12:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 14984, + "nodeType": "InheritanceSpecifier", + "src": "278:12:57" + } + ], + "contractDependencies": [ + 1580, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 15545, + "linearizedBaseContracts": [ + 15545, + 1580, + 19058 + ], + "name": "DaoRewardsStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 14987, + "libraryName": { + "contractScope": null, + "id": 14985, + "name": "DaoStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8491, + "src": "303:10:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStructs_$8491", + "typeString": "library DaoStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "297:47:57", + "typeName": { + "contractScope": null, + "id": 14986, + "name": "DaoStructs.DaoQuarterInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8481, + "src": "318:25:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo" + } + } + }, + { + "constant": false, + "id": 14991, + "name": "allQuartersInfo", + "nodeType": "VariableDeclaration", + "scope": 15545, + "src": "533:68:57", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo)" + }, + "typeName": { + "id": 14990, + "keyType": { + "id": 14988, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "541:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "533:45:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo)" + }, + "valueType": { + "contractScope": null, + "id": 14989, + "name": "DaoStructs.DaoQuarterInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8481, + "src": "552:25:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 14995, + "name": "claimableDGXs", + "nodeType": "VariableDeclaration", + "scope": 15545, + "src": "723:48:57", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 14994, + "keyType": { + "id": 14992, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "731:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "723:27:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 14993, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "742:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 14997, + "name": "totalDGXsClaimed", + "nodeType": "VariableDeclaration", + "scope": 15545, + "src": "1189:31:57", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14996, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1189:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 15001, + "name": "lastParticipatedQuarter", + "nodeType": "VariableDeclaration", + "scope": 15545, + "src": "1643:59:57", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 15000, + "keyType": { + "id": 14998, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1652:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1643:28:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 14999, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1663:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 15005, + "name": "previousLastParticipatedQuarter", + "nodeType": "VariableDeclaration", + "scope": 15545, + "src": "1910:67:57", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 15004, + "keyType": { + "id": 15002, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1919:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1910:28:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 15003, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1930:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 15009, + "name": "lastQuarterThatRewardsWasUpdated", + "nodeType": "VariableDeclaration", + "scope": 15545, + "src": "2363:68:57", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 15008, + "keyType": { + "id": 15006, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2372:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "2363:28:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 15007, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2383:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 15013, + "name": "lastQuarterThatReputationWasUpdated", + "nodeType": "VariableDeclaration", + "scope": 15545, + "src": "2766:71:57", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 15012, + "keyType": { + "id": 15010, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2775:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "2766:28:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 15011, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2786:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 15025, + "nodeType": "Block", + "src": "2897:71:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15020, + "name": "CONTRACT_STORAGE_DAO_REWARDS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1372, + "src": "2920:28:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 15021, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15015, + "src": "2950:9:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 15019, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "2915:4:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 15022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2915:45:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15018, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2907:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2907:54:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15024, + "nodeType": "ExpressionStatement", + "src": "2907:54:57" + } + ] + }, + "documentation": null, + "id": 15026, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15016, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15015, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 15026, + "src": "2856:17:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15014, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2856:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2855:19:57" + }, + "payable": false, + "returnParameters": { + "id": 15017, + "nodeType": "ParameterList", + "parameters": [], + "src": "2897:0:57" + }, + "scope": 15545, + "src": "2844:124:57", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15136, + "nodeType": "Block", + "src": "3581:1203:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15055, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "3609:28:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 15054, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "3599:9:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 15056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3599:39:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15053, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3591:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3591:48:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15058, + "nodeType": "ExpressionStatement", + "src": "3591:48:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15059, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "3649:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15061, + "indexExpression": { + "argumentTypes": null, + "id": 15060, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15028, + "src": "3665:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3649:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15062, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "minimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8460, + "src": "3649:57:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15063, + "name": "_minimalParticipationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15030, + "src": "3709:26:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3649:86:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15065, + "nodeType": "ExpressionStatement", + "src": "3649:86:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15066, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "3745:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15068, + "indexExpression": { + "argumentTypes": null, + "id": 15067, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15028, + "src": "3761:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3745:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15069, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "quarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8462, + "src": "3745:57:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15070, + "name": "_quarterPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15032, + "src": "3805:26:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3745:86:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15072, + "nodeType": "ExpressionStatement", + "src": "3745:86:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15073, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "3841:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15075, + "indexExpression": { + "argumentTypes": null, + "id": 15074, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15028, + "src": "3857:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3841:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15076, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "reputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8464, + "src": "3841:60:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15077, + "name": "_reputationPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15034, + "src": "3904:29:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3841:92:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15079, + "nodeType": "ExpressionStatement", + "src": "3841:92:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15080, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "3943:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15082, + "indexExpression": { + "argumentTypes": null, + "id": 15081, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15028, + "src": "3959:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3943:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15083, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalEffectiveDGDPreviousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8466, + "src": "3943:64:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15084, + "name": "_totalEffectiveDGDPreviousQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15036, + "src": "4010:33:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3943:100:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15086, + "nodeType": "ExpressionStatement", + "src": "3943:100:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15087, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "4054:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15089, + "indexExpression": { + "argumentTypes": null, + "id": 15088, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15028, + "src": "4070:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4054:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15090, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "moderatorMinimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8468, + "src": "4054:66:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15091, + "name": "_moderatorMinimalQuarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15038, + "src": "4123:29:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4054:98:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15093, + "nodeType": "ExpressionStatement", + "src": "4054:98:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15094, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "4162:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15096, + "indexExpression": { + "argumentTypes": null, + "id": 15095, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15028, + "src": "4178:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4162:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15097, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "moderatorQuarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8470, + "src": "4162:66:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15098, + "name": "_moderatorQuarterPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15040, + "src": "4231:35:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4162:104:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15100, + "nodeType": "ExpressionStatement", + "src": "4162:104:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15101, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "4276:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15103, + "indexExpression": { + "argumentTypes": null, + "id": 15102, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15028, + "src": "4292:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4276:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15104, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "moderatorReputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8472, + "src": "4276:69:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15105, + "name": "_moderatorReputationPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15042, + "src": "4348:38:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4276:110:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15107, + "nodeType": "ExpressionStatement", + "src": "4276:110:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15108, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "4396:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15110, + "indexExpression": { + "argumentTypes": null, + "id": 15109, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15028, + "src": "4412:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4396:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15111, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8474, + "src": "4396:69:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15112, + "name": "_totalEffectiveModeratorDGDLastQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15044, + "src": "4468:38:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4396:110:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15114, + "nodeType": "ExpressionStatement", + "src": "4396:110:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15115, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "4517:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15117, + "indexExpression": { + "argumentTypes": null, + "id": 15116, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15028, + "src": "4533:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4517:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15118, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "dgxDistributionDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 8476, + "src": "4517:50:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15119, + "name": "_dgxDistributionDay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15046, + "src": "4570:19:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4517:72:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15121, + "nodeType": "ExpressionStatement", + "src": "4517:72:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15122, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "4599:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15124, + "indexExpression": { + "argumentTypes": null, + "id": 15123, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15028, + "src": "4615:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4599:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15125, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "dgxRewardsPoolLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8478, + "src": "4599:57:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15126, + "name": "_dgxRewardsPoolLastQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15048, + "src": "4659:26:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4599:86:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15128, + "nodeType": "ExpressionStatement", + "src": "4599:86:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15129, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "4695:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15131, + "indexExpression": { + "argumentTypes": null, + "id": 15130, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15028, + "src": "4711:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4695:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15132, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "sumRewardsFromBeginning", + "nodeType": "MemberAccess", + "referencedDeclaration": 8480, + "src": "4695:55:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15133, + "name": "_sumRewardsFromBeginning", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15050, + "src": "4753:24:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4695:82:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15135, + "nodeType": "ExpressionStatement", + "src": "4695:82:57" + } + ] + }, + "documentation": null, + "id": 15137, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateQuarterInfo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15051, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15028, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3010:22:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15027, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3010:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15030, + "name": "_minimalParticipationPoint", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3042:34:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15029, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3042:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15032, + "name": "_quarterPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3086:34:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15031, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3086:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15034, + "name": "_reputationPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3130:37:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15033, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3130:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15036, + "name": "_totalEffectiveDGDPreviousQuarter", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3177:41:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15035, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3177:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15038, + "name": "_moderatorMinimalQuarterPoint", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3229:37:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15037, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3229:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15040, + "name": "_moderatorQuarterPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3276:43:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15039, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3276:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15042, + "name": "_moderatorReputationPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3329:46:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15041, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3329:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15044, + "name": "_totalEffectiveModeratorDGDLastQuarter", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3385:46:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15043, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3385:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15046, + "name": "_dgxDistributionDay", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3442:27:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15045, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3442:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15048, + "name": "_dgxRewardsPoolLastQuarter", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3479:34:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15047, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3479:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15050, + "name": "_sumRewardsFromBeginning", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3523:32:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15049, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3523:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3000:561:57" + }, + "payable": false, + "returnParameters": { + "id": 15052, + "nodeType": "ParameterList", + "parameters": [], + "src": "3581:0:57" + }, + "scope": 15545, + "src": "2974:1810:57", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15156, + "nodeType": "Block", + "src": "4878:114:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15146, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "4906:28:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 15145, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "4896:9:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 15147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4896:39:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15144, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4888:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4888:48:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15149, + "nodeType": "ExpressionStatement", + "src": "4888:48:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15150, + "name": "claimableDGXs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14995, + "src": "4946:13:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 15152, + "indexExpression": { + "argumentTypes": null, + "id": 15151, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15139, + "src": "4960:5:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4946:20:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15153, + "name": "_newClaimableDGX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15141, + "src": "4969:16:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4946:39:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15155, + "nodeType": "ExpressionStatement", + "src": "4946:39:57" + } + ] + }, + "documentation": null, + "id": 15157, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateClaimableDGX", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15142, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15139, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 15157, + "src": "4818:13:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15138, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4818:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15141, + "name": "_newClaimableDGX", + "nodeType": "VariableDeclaration", + "scope": 15157, + "src": "4833:24:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15140, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4833:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4817:41:57" + }, + "payable": false, + "returnParameters": { + "id": 15143, + "nodeType": "ParameterList", + "parameters": [], + "src": "4878:0:57" + }, + "scope": 15545, + "src": "4790:202:57", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15176, + "nodeType": "Block", + "src": "5093:118:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15166, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "5121:26:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 15165, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "5111:9:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 15167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5111:37:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15164, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5103:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5103:46:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15169, + "nodeType": "ExpressionStatement", + "src": "5103:46:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15170, + "name": "lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15001, + "src": "5159:23:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 15172, + "indexExpression": { + "argumentTypes": null, + "id": 15171, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15159, + "src": "5183:5:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5159:30:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15173, + "name": "_lastQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15161, + "src": "5192:12:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5159:45:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15175, + "nodeType": "ExpressionStatement", + "src": "5159:45:57" + } + ] + }, + "documentation": null, + "id": 15177, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateLastParticipatedQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15162, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15159, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 15177, + "src": "5037:13:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15158, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5037:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15161, + "name": "_lastQuarter", + "nodeType": "VariableDeclaration", + "scope": 15177, + "src": "5052:20:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15160, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5052:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5036:37:57" + }, + "payable": false, + "returnParameters": { + "id": 15163, + "nodeType": "ParameterList", + "parameters": [], + "src": "5093:0:57" + }, + "scope": 15545, + "src": "4998:213:57", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15196, + "nodeType": "Block", + "src": "5320:126:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15186, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "5348:26:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 15185, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "5338:9:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 15187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5338:37:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15184, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5330:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5330:46:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15189, + "nodeType": "ExpressionStatement", + "src": "5330:46:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15190, + "name": "previousLastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15005, + "src": "5386:31:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 15192, + "indexExpression": { + "argumentTypes": null, + "id": 15191, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15179, + "src": "5418:5:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5386:38:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15193, + "name": "_lastQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15181, + "src": "5427:12:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5386:53:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15195, + "nodeType": "ExpressionStatement", + "src": "5386:53:57" + } + ] + }, + "documentation": null, + "id": 15197, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updatePreviousLastParticipatedQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15182, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15179, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 15197, + "src": "5264:13:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15178, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5264:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15181, + "name": "_lastQuarter", + "nodeType": "VariableDeclaration", + "scope": 15197, + "src": "5279:20:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15180, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5279:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5263:37:57" + }, + "payable": false, + "returnParameters": { + "id": 15183, + "nodeType": "ParameterList", + "parameters": [], + "src": "5320:0:57" + }, + "scope": 15545, + "src": "5217:229:57", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15219, + "nodeType": "Block", + "src": "5556:177:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 15206, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "5590:28:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 15207, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "5620:26:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 15208, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "5648:11:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 15209, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5589:71:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 15205, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "5574:14:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 15210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5574:87:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15204, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5566:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5566:96:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15212, + "nodeType": "ExpressionStatement", + "src": "5566:96:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15213, + "name": "lastQuarterThatRewardsWasUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15009, + "src": "5672:32:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 15215, + "indexExpression": { + "argumentTypes": null, + "id": 15214, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15199, + "src": "5705:5:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5672:39:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15216, + "name": "_lastQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15201, + "src": "5714:12:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5672:54:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15218, + "nodeType": "ExpressionStatement", + "src": "5672:54:57" + } + ] + }, + "documentation": null, + "id": 15220, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateLastQuarterThatRewardsWasUpdated", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15202, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15199, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 15220, + "src": "5500:13:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15198, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5500:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15201, + "name": "_lastQuarter", + "nodeType": "VariableDeclaration", + "scope": 15220, + "src": "5515:20:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15200, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5515:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5499:37:57" + }, + "payable": false, + "returnParameters": { + "id": 15203, + "nodeType": "ParameterList", + "parameters": [], + "src": "5556:0:57" + }, + "scope": 15545, + "src": "5452:281:57", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15242, + "nodeType": "Block", + "src": "5846:180:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 15229, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "5880:28:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 15230, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "5910:26:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 15231, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "5938:11:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 15232, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5879:71:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 15228, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "5864:14:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 15233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5864:87:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15227, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5856:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5856:96:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15235, + "nodeType": "ExpressionStatement", + "src": "5856:96:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15236, + "name": "lastQuarterThatReputationWasUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15013, + "src": "5962:35:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 15238, + "indexExpression": { + "argumentTypes": null, + "id": 15237, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15222, + "src": "5998:5:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5962:42:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15239, + "name": "_lastQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15224, + "src": "6007:12:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5962:57:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15241, + "nodeType": "ExpressionStatement", + "src": "5962:57:57" + } + ] + }, + "documentation": null, + "id": 15243, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateLastQuarterThatReputationWasUpdated", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15225, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15222, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 15243, + "src": "5790:13:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15221, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5790:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15224, + "name": "_lastQuarter", + "nodeType": "VariableDeclaration", + "scope": 15243, + "src": "5805:20:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15223, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5805:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5789:37:57" + }, + "payable": false, + "returnParameters": { + "id": 15226, + "nodeType": "ParameterList", + "parameters": [], + "src": "5846:0:57" + }, + "scope": 15545, + "src": "5739:287:57", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15261, + "nodeType": "Block", + "src": "6102:127:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15250, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "6130:28:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 15249, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "6120:9:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 15251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6120:39:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15248, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "6112:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6112:48:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15253, + "nodeType": "ExpressionStatement", + "src": "6112:48:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15254, + "name": "totalDGXsClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14997, + "src": "6170:16:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15257, + "name": "_dgxClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15245, + "src": "6210:11:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 15255, + "name": "totalDGXsClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14997, + "src": "6189:16:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "6189:20:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 15258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6189:33:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6170:52:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15260, + "nodeType": "ExpressionStatement", + "src": "6170:52:57" + } + ] + }, + "documentation": null, + "id": 15262, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addToTotalDgxClaimed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15246, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15245, + "name": "_dgxClaimed", + "nodeType": "VariableDeclaration", + "scope": 15262, + "src": "6062:19:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15244, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6062:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6061:21:57" + }, + "payable": false, + "returnParameters": { + "id": 15247, + "nodeType": "ParameterList", + "parameters": [], + "src": "6102:0:57" + }, + "scope": 15545, + "src": "6032:197:57", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15366, + "nodeType": "Block", + "src": "6910:1143:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 15294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15289, + "name": "_minimalParticipationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15267, + "src": "6920:26:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15290, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "6949:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15292, + "indexExpression": { + "argumentTypes": null, + "id": 15291, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15264, + "src": "6965:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6949:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15293, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "minimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8460, + "src": "6949:57:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6920:86:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15295, + "nodeType": "ExpressionStatement", + "src": "6920:86:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15296, + "name": "_quarterPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15269, + "src": "7016:26:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15297, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "7045:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15299, + "indexExpression": { + "argumentTypes": null, + "id": 15298, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15264, + "src": "7061:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7045:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15300, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "quarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8462, + "src": "7045:57:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7016:86:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15302, + "nodeType": "ExpressionStatement", + "src": "7016:86:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15303, + "name": "_reputationPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15271, + "src": "7112:29:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15304, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "7144:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15306, + "indexExpression": { + "argumentTypes": null, + "id": 15305, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15264, + "src": "7160:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7144:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15307, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "reputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8464, + "src": "7144:60:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7112:92:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15309, + "nodeType": "ExpressionStatement", + "src": "7112:92:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15310, + "name": "_totalEffectiveDGDPreviousQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15273, + "src": "7214:33:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15311, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "7250:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15313, + "indexExpression": { + "argumentTypes": null, + "id": 15312, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15264, + "src": "7266:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7250:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15314, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveDGDPreviousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8466, + "src": "7250:64:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7214:100:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15316, + "nodeType": "ExpressionStatement", + "src": "7214:100:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15317, + "name": "_moderatorMinimalQuarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15275, + "src": "7324:29:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15318, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "7356:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15320, + "indexExpression": { + "argumentTypes": null, + "id": 15319, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15264, + "src": "7372:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7356:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15321, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorMinimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8468, + "src": "7356:66:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7324:98:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15323, + "nodeType": "ExpressionStatement", + "src": "7324:98:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15324, + "name": "_moderatorQuarterPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15277, + "src": "7432:35:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15325, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "7470:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15327, + "indexExpression": { + "argumentTypes": null, + "id": 15326, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15264, + "src": "7486:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7470:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15328, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorQuarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8470, + "src": "7470:66:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7432:104:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15330, + "nodeType": "ExpressionStatement", + "src": "7432:104:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15331, + "name": "_moderatorReputationPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15279, + "src": "7546:38:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15332, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "7587:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15334, + "indexExpression": { + "argumentTypes": null, + "id": 15333, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15264, + "src": "7603:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7587:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15335, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorReputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8472, + "src": "7587:69:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7546:110:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15337, + "nodeType": "ExpressionStatement", + "src": "7546:110:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15338, + "name": "_totalEffectiveModeratorDGDLastQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15281, + "src": "7666:38:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15339, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "7707:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15341, + "indexExpression": { + "argumentTypes": null, + "id": 15340, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15264, + "src": "7723:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7707:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15342, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8474, + "src": "7707:69:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7666:110:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15344, + "nodeType": "ExpressionStatement", + "src": "7666:110:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15345, + "name": "_dgxDistributionDay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15283, + "src": "7786:19:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15346, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "7808:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15348, + "indexExpression": { + "argumentTypes": null, + "id": 15347, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15264, + "src": "7824:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7808:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15349, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dgxDistributionDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 8476, + "src": "7808:50:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7786:72:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15351, + "nodeType": "ExpressionStatement", + "src": "7786:72:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15352, + "name": "_dgxRewardsPoolLastQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15285, + "src": "7868:26:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15353, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "7897:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15355, + "indexExpression": { + "argumentTypes": null, + "id": 15354, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15264, + "src": "7913:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7897:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15356, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dgxRewardsPoolLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8478, + "src": "7897:57:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7868:86:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15358, + "nodeType": "ExpressionStatement", + "src": "7868:86:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15359, + "name": "_sumRewardsFromBeginning", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15287, + "src": "7964:24:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15360, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "7991:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15362, + "indexExpression": { + "argumentTypes": null, + "id": 15361, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15264, + "src": "8007:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7991:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15363, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sumRewardsFromBeginning", + "nodeType": "MemberAccess", + "referencedDeclaration": 8480, + "src": "7991:55:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7964:82:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15365, + "nodeType": "ExpressionStatement", + "src": "7964:82:57" + } + ] + }, + "documentation": null, + "id": 15367, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readQuarterInfo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15265, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15264, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6260:22:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15263, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6260:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6259:24:57" + }, + "payable": false, + "returnParameters": { + "id": 15288, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15267, + "name": "_minimalParticipationPoint", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6342:34:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15266, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6342:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15269, + "name": "_quarterPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6390:34:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6390:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15271, + "name": "_reputationPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6438:37:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15270, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6438:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15273, + "name": "_totalEffectiveDGDPreviousQuarter", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6489:41:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15272, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6489:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15275, + "name": "_moderatorMinimalQuarterPoint", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6545:37:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15274, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6545:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15277, + "name": "_moderatorQuarterPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6596:43:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15276, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6596:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15279, + "name": "_moderatorReputationPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6653:46:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15278, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6653:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15281, + "name": "_totalEffectiveModeratorDGDLastQuarter", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6713:46:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15280, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6713:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15283, + "name": "_dgxDistributionDay", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6774:27:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15282, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6774:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15285, + "name": "_dgxRewardsPoolLastQuarter", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6815:34:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15284, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6815:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15287, + "name": "_sumRewardsFromBeginning", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6863:32:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15286, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6863:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6328:577:57" + }, + "scope": 15545, + "src": "6235:1818:57", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15399, + "nodeType": "Block", + "src": "8309:277:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 15383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15378, + "name": "_dgxDistributionDay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15372, + "src": "8319:19:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15379, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "8341:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15381, + "indexExpression": { + "argumentTypes": null, + "id": 15380, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15369, + "src": "8357:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8341:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15382, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dgxDistributionDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 8476, + "src": "8341:50:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8319:72:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15384, + "nodeType": "ExpressionStatement", + "src": "8319:72:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15385, + "name": "_dgxRewardsPoolLastQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15374, + "src": "8401:26:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15386, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "8430:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15388, + "indexExpression": { + "argumentTypes": null, + "id": 15387, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15369, + "src": "8446:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8430:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15389, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dgxRewardsPoolLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8478, + "src": "8430:57:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8401:86:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15391, + "nodeType": "ExpressionStatement", + "src": "8401:86:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15392, + "name": "_sumRewardsFromBeginning", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15376, + "src": "8497:24:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15393, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "8524:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15395, + "indexExpression": { + "argumentTypes": null, + "id": 15394, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15369, + "src": "8540:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8524:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15396, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sumRewardsFromBeginning", + "nodeType": "MemberAccess", + "referencedDeclaration": 8480, + "src": "8524:55:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8497:82:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15398, + "nodeType": "ExpressionStatement", + "src": "8497:82:57" + } + ] + }, + "documentation": null, + "id": 15400, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readQuarterGeneralInfo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15370, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15369, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 15400, + "src": "8091:22:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15368, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8091:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8090:24:57" + }, + "payable": false, + "returnParameters": { + "id": 15377, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15372, + "name": "_dgxDistributionDay", + "nodeType": "VariableDeclaration", + "scope": 15400, + "src": "8173:27:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15371, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8173:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15374, + "name": "_dgxRewardsPoolLastQuarter", + "nodeType": "VariableDeclaration", + "scope": 15400, + "src": "8214:34:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15373, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8214:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15376, + "name": "_sumRewardsFromBeginning", + "nodeType": "VariableDeclaration", + "scope": 15400, + "src": "8262:32:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15375, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8262:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8159:145:57" + }, + "scope": 15545, + "src": "8059:527:57", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15441, + "nodeType": "Block", + "src": "8937:469:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 15418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15413, + "name": "_moderatorMinimalQuarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15405, + "src": "8947:29:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15414, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "8979:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15416, + "indexExpression": { + "argumentTypes": null, + "id": 15415, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15402, + "src": "8995:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8979:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15417, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorMinimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8468, + "src": "8979:66:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8947:98:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15419, + "nodeType": "ExpressionStatement", + "src": "8947:98:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15420, + "name": "_moderatorQuarterPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15407, + "src": "9055:35:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15421, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "9093:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15423, + "indexExpression": { + "argumentTypes": null, + "id": 15422, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15402, + "src": "9109:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9093:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15424, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorQuarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8470, + "src": "9093:66:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9055:104:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15426, + "nodeType": "ExpressionStatement", + "src": "9055:104:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15427, + "name": "_moderatorReputationPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15409, + "src": "9169:38:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15428, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "9210:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15430, + "indexExpression": { + "argumentTypes": null, + "id": 15429, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15402, + "src": "9226:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9210:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15431, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorReputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8472, + "src": "9210:69:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9169:110:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15433, + "nodeType": "ExpressionStatement", + "src": "9169:110:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15434, + "name": "_totalEffectiveModeratorDGDLastQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15411, + "src": "9289:38:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15435, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "9330:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15437, + "indexExpression": { + "argumentTypes": null, + "id": 15436, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15402, + "src": "9346:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9330:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15438, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8474, + "src": "9330:69:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9289:110:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15440, + "nodeType": "ExpressionStatement", + "src": "9289:110:57" + } + ] + }, + "documentation": null, + "id": 15442, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readQuarterModeratorInfo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15403, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15402, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 15442, + "src": "8626:22:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15401, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8626:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8625:24:57" + }, + "payable": false, + "returnParameters": { + "id": 15412, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15405, + "name": "_moderatorMinimalQuarterPoint", + "nodeType": "VariableDeclaration", + "scope": 15442, + "src": "8708:37:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15404, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8708:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15407, + "name": "_moderatorQuarterPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15442, + "src": "8759:43:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15406, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8759:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15409, + "name": "_moderatorReputationPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15442, + "src": "8816:46:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15408, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8816:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15411, + "name": "_totalEffectiveModeratorDGDLastQuarter", + "nodeType": "VariableDeclaration", + "scope": 15442, + "src": "8876:46:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15410, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8876:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8694:238:57" + }, + "scope": 15545, + "src": "8592:814:57", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15483, + "nodeType": "Block", + "src": "9733:411:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 15460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15455, + "name": "_minimalParticipationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15447, + "src": "9743:26:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15456, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "9772:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15458, + "indexExpression": { + "argumentTypes": null, + "id": 15457, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15444, + "src": "9788:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9772:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15459, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "minimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8460, + "src": "9772:57:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9743:86:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15461, + "nodeType": "ExpressionStatement", + "src": "9743:86:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15462, + "name": "_quarterPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15449, + "src": "9839:26:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15463, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "9868:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15465, + "indexExpression": { + "argumentTypes": null, + "id": 15464, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15444, + "src": "9884:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9868:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15466, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "quarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8462, + "src": "9868:57:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9839:86:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15468, + "nodeType": "ExpressionStatement", + "src": "9839:86:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15469, + "name": "_reputationPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15451, + "src": "9935:29:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15470, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "9967:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15472, + "indexExpression": { + "argumentTypes": null, + "id": 15471, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15444, + "src": "9983:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9967:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15473, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "reputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8464, + "src": "9967:60:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9935:92:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15475, + "nodeType": "ExpressionStatement", + "src": "9935:92:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15481, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15476, + "name": "_totalEffectiveDGDPreviousQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15453, + "src": "10037:33:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15477, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "10073:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15479, + "indexExpression": { + "argumentTypes": null, + "id": 15478, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15444, + "src": "10089:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10073:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15480, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveDGDPreviousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8466, + "src": "10073:64:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10037:100:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15482, + "nodeType": "ExpressionStatement", + "src": "10037:100:57" + } + ] + }, + "documentation": null, + "id": 15484, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readQuarterParticipantInfo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15445, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15444, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 15484, + "src": "9448:22:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15443, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9448:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9447:24:57" + }, + "payable": false, + "returnParameters": { + "id": 15454, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15447, + "name": "_minimalParticipationPoint", + "nodeType": "VariableDeclaration", + "scope": 15484, + "src": "9530:34:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15446, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9530:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15449, + "name": "_quarterPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15484, + "src": "9578:34:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15448, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9578:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15451, + "name": "_reputationPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15484, + "src": "9626:37:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9626:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15453, + "name": "_totalEffectiveDGDPreviousQuarter", + "nodeType": "VariableDeclaration", + "scope": 15484, + "src": "9677:41:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15452, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9677:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9516:212:57" + }, + "scope": 15545, + "src": "9412:732:57", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15498, + "nodeType": "Block", + "src": "10281:86:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 15496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15491, + "name": "_distributionDay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15489, + "src": "10291:16:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15492, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "10310:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15494, + "indexExpression": { + "argumentTypes": null, + "id": 15493, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15486, + "src": "10326:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10310:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15495, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dgxDistributionDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 8476, + "src": "10310:50:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10291:69:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15497, + "nodeType": "ExpressionStatement", + "src": "10291:69:57" + } + ] + }, + "documentation": null, + "id": 15499, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readDgxDistributionDay", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15487, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15486, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 15499, + "src": "10182:22:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15485, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10182:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10181:24:57" + }, + "payable": false, + "returnParameters": { + "id": 15490, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15489, + "name": "_distributionDay", + "nodeType": "VariableDeclaration", + "scope": 15499, + "src": "10251:24:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15488, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10251:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10250:26:57" + }, + "scope": 15545, + "src": "10150:217:57", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15513, + "nodeType": "Block", + "src": "10531:117:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 15511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15506, + "name": "_totalEffectiveDGDPreviousQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15504, + "src": "10541:33:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15507, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "10577:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15509, + "indexExpression": { + "argumentTypes": null, + "id": 15508, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15501, + "src": "10593:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10577:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15510, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveDGDPreviousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8466, + "src": "10577:64:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10541:100:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15512, + "nodeType": "ExpressionStatement", + "src": "10541:100:57" + } + ] + }, + "documentation": null, + "id": 15514, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readTotalEffectiveDGDLastQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15502, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15501, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 15514, + "src": "10415:22:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15500, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10415:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10414:24:57" + }, + "payable": false, + "returnParameters": { + "id": 15505, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15504, + "name": "_totalEffectiveDGDPreviousQuarter", + "nodeType": "VariableDeclaration", + "scope": 15514, + "src": "10484:41:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15503, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10484:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10483:43:57" + }, + "scope": 15545, + "src": "10373:275:57", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15528, + "nodeType": "Block", + "src": "10826:127:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 15526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15521, + "name": "_totalEffectiveModeratorDGDLastQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15519, + "src": "10836:38:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15522, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "10877:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15524, + "indexExpression": { + "argumentTypes": null, + "id": 15523, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15516, + "src": "10893:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10877:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15525, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8474, + "src": "10877:69:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10836:110:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15527, + "nodeType": "ExpressionStatement", + "src": "10836:110:57" + } + ] + }, + "documentation": null, + "id": 15529, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readTotalEffectiveModeratorDGDLastQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15517, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15516, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 15529, + "src": "10705:22:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15515, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10705:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10704:24:57" + }, + "payable": false, + "returnParameters": { + "id": 15520, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15519, + "name": "_totalEffectiveModeratorDGDLastQuarter", + "nodeType": "VariableDeclaration", + "scope": 15529, + "src": "10774:46:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15518, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10774:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10773:48:57" + }, + "scope": 15545, + "src": "10654:299:57", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15543, + "nodeType": "Block", + "src": "11092:89:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 15541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15536, + "name": "_rewardsPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15534, + "src": "11102:12:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15537, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "11117:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15539, + "indexExpression": { + "argumentTypes": null, + "id": 15538, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15531, + "src": "11133:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11117:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15540, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dgxRewardsPoolLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8478, + "src": "11117:57:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11102:72:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15542, + "nodeType": "ExpressionStatement", + "src": "11102:72:57" + } + ] + }, + "documentation": null, + "id": 15544, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readRewardsPoolOfLastQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15532, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15531, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 15544, + "src": "10997:22:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15530, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10997:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10996:24:57" + }, + "payable": false, + "returnParameters": { + "id": 15535, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15534, + "name": "_rewardsPool", + "nodeType": "VariableDeclaration", + "scope": 15544, + "src": "11066:20:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15533, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11066:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11065:22:57" + }, + "scope": 15545, + "src": "10959:222:57", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 15546, + "src": "232:10951:57" + } + ], + "src": "0:11184:57" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoRewardsStorage.sol", + "exportedSymbols": { + "DaoRewardsStorage": [ + 15545 + ] + }, + "id": 15546, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 14977, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:57" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 14978, + "nodeType": "ImportDirective", + "scope": 15546, + "sourceUnit": 19059, + "src": "26:64:57", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "../common/DaoConstants.sol", + "id": 14979, + "nodeType": "ImportDirective", + "scope": 15546, + "sourceUnit": 1581, + "src": "91:36:57", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoStructs.sol", + "file": "../lib/DaoStructs.sol", + "id": 14980, + "nodeType": "ImportDirective", + "scope": 15546, + "sourceUnit": 8492, + "src": "128:31:57", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 14981, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "262:14:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 14982, + "nodeType": "InheritanceSpecifier", + "src": "262:14:57" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 14983, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "278:12:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 14984, + "nodeType": "InheritanceSpecifier", + "src": "278:12:57" + } + ], + "contractDependencies": [ + 1580, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 15545, + "linearizedBaseContracts": [ + 15545, + 1580, + 19058 + ], + "name": "DaoRewardsStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 14987, + "libraryName": { + "contractScope": null, + "id": 14985, + "name": "DaoStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8491, + "src": "303:10:57", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStructs_$8491", + "typeString": "library DaoStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "297:47:57", + "typeName": { + "contractScope": null, + "id": 14986, + "name": "DaoStructs.DaoQuarterInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8481, + "src": "318:25:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo" + } + } + }, + { + "constant": false, + "id": 14991, + "name": "allQuartersInfo", + "nodeType": "VariableDeclaration", + "scope": 15545, + "src": "533:68:57", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo)" + }, + "typeName": { + "id": 14990, + "keyType": { + "id": 14988, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "541:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "533:45:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo)" + }, + "valueType": { + "contractScope": null, + "id": 14989, + "name": "DaoStructs.DaoQuarterInfo", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8481, + "src": "552:25:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage_ptr", + "typeString": "struct DaoStructs.DaoQuarterInfo" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 14995, + "name": "claimableDGXs", + "nodeType": "VariableDeclaration", + "scope": 15545, + "src": "723:48:57", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 14994, + "keyType": { + "id": 14992, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "731:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "723:27:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 14993, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "742:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 14997, + "name": "totalDGXsClaimed", + "nodeType": "VariableDeclaration", + "scope": 15545, + "src": "1189:31:57", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 14996, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1189:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 15001, + "name": "lastParticipatedQuarter", + "nodeType": "VariableDeclaration", + "scope": 15545, + "src": "1643:59:57", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 15000, + "keyType": { + "id": 14998, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1652:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1643:28:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 14999, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1663:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 15005, + "name": "previousLastParticipatedQuarter", + "nodeType": "VariableDeclaration", + "scope": 15545, + "src": "1910:67:57", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 15004, + "keyType": { + "id": 15002, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1919:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1910:28:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 15003, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1930:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 15009, + "name": "lastQuarterThatRewardsWasUpdated", + "nodeType": "VariableDeclaration", + "scope": 15545, + "src": "2363:68:57", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 15008, + "keyType": { + "id": 15006, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2372:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "2363:28:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 15007, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2383:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 15013, + "name": "lastQuarterThatReputationWasUpdated", + "nodeType": "VariableDeclaration", + "scope": 15545, + "src": "2766:71:57", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 15012, + "keyType": { + "id": 15010, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2775:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "2766:28:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 15011, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2786:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 15025, + "nodeType": "Block", + "src": "2897:71:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15020, + "name": "CONTRACT_STORAGE_DAO_REWARDS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1372, + "src": "2920:28:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 15021, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15015, + "src": "2950:9:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 15019, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "2915:4:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 15022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2915:45:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15018, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2907:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2907:54:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15024, + "nodeType": "ExpressionStatement", + "src": "2907:54:57" + } + ] + }, + "documentation": null, + "id": 15026, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15016, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15015, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 15026, + "src": "2856:17:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15014, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2856:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2855:19:57" + }, + "payable": false, + "returnParameters": { + "id": 15017, + "nodeType": "ParameterList", + "parameters": [], + "src": "2897:0:57" + }, + "scope": 15545, + "src": "2844:124:57", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15136, + "nodeType": "Block", + "src": "3581:1203:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15055, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "3609:28:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 15054, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "3599:9:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 15056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3599:39:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15053, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3591:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3591:48:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15058, + "nodeType": "ExpressionStatement", + "src": "3591:48:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15059, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "3649:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15061, + "indexExpression": { + "argumentTypes": null, + "id": 15060, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15028, + "src": "3665:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3649:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15062, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "minimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8460, + "src": "3649:57:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15063, + "name": "_minimalParticipationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15030, + "src": "3709:26:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3649:86:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15065, + "nodeType": "ExpressionStatement", + "src": "3649:86:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15066, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "3745:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15068, + "indexExpression": { + "argumentTypes": null, + "id": 15067, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15028, + "src": "3761:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3745:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15069, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "quarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8462, + "src": "3745:57:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15070, + "name": "_quarterPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15032, + "src": "3805:26:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3745:86:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15072, + "nodeType": "ExpressionStatement", + "src": "3745:86:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15073, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "3841:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15075, + "indexExpression": { + "argumentTypes": null, + "id": 15074, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15028, + "src": "3857:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3841:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15076, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "reputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8464, + "src": "3841:60:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15077, + "name": "_reputationPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15034, + "src": "3904:29:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3841:92:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15079, + "nodeType": "ExpressionStatement", + "src": "3841:92:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15080, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "3943:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15082, + "indexExpression": { + "argumentTypes": null, + "id": 15081, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15028, + "src": "3959:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3943:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15083, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalEffectiveDGDPreviousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8466, + "src": "3943:64:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15084, + "name": "_totalEffectiveDGDPreviousQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15036, + "src": "4010:33:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3943:100:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15086, + "nodeType": "ExpressionStatement", + "src": "3943:100:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15087, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "4054:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15089, + "indexExpression": { + "argumentTypes": null, + "id": 15088, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15028, + "src": "4070:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4054:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15090, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "moderatorMinimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8468, + "src": "4054:66:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15091, + "name": "_moderatorMinimalQuarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15038, + "src": "4123:29:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4054:98:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15093, + "nodeType": "ExpressionStatement", + "src": "4054:98:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15099, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15094, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "4162:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15096, + "indexExpression": { + "argumentTypes": null, + "id": 15095, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15028, + "src": "4178:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4162:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15097, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "moderatorQuarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8470, + "src": "4162:66:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15098, + "name": "_moderatorQuarterPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15040, + "src": "4231:35:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4162:104:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15100, + "nodeType": "ExpressionStatement", + "src": "4162:104:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15101, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "4276:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15103, + "indexExpression": { + "argumentTypes": null, + "id": 15102, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15028, + "src": "4292:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4276:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15104, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "moderatorReputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8472, + "src": "4276:69:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15105, + "name": "_moderatorReputationPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15042, + "src": "4348:38:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4276:110:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15107, + "nodeType": "ExpressionStatement", + "src": "4276:110:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15108, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "4396:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15110, + "indexExpression": { + "argumentTypes": null, + "id": 15109, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15028, + "src": "4412:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4396:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15111, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8474, + "src": "4396:69:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15112, + "name": "_totalEffectiveModeratorDGDLastQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15044, + "src": "4468:38:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4396:110:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15114, + "nodeType": "ExpressionStatement", + "src": "4396:110:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15115, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "4517:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15117, + "indexExpression": { + "argumentTypes": null, + "id": 15116, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15028, + "src": "4533:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4517:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15118, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "dgxDistributionDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 8476, + "src": "4517:50:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15119, + "name": "_dgxDistributionDay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15046, + "src": "4570:19:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4517:72:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15121, + "nodeType": "ExpressionStatement", + "src": "4517:72:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15122, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "4599:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15124, + "indexExpression": { + "argumentTypes": null, + "id": 15123, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15028, + "src": "4615:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4599:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15125, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "dgxRewardsPoolLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8478, + "src": "4599:57:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15126, + "name": "_dgxRewardsPoolLastQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15048, + "src": "4659:26:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4599:86:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15128, + "nodeType": "ExpressionStatement", + "src": "4599:86:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15129, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "4695:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15131, + "indexExpression": { + "argumentTypes": null, + "id": 15130, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15028, + "src": "4711:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4695:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15132, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "sumRewardsFromBeginning", + "nodeType": "MemberAccess", + "referencedDeclaration": 8480, + "src": "4695:55:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15133, + "name": "_sumRewardsFromBeginning", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15050, + "src": "4753:24:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4695:82:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15135, + "nodeType": "ExpressionStatement", + "src": "4695:82:57" + } + ] + }, + "documentation": null, + "id": 15137, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateQuarterInfo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15051, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15028, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3010:22:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15027, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3010:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15030, + "name": "_minimalParticipationPoint", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3042:34:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15029, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3042:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15032, + "name": "_quarterPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3086:34:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15031, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3086:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15034, + "name": "_reputationPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3130:37:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15033, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3130:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15036, + "name": "_totalEffectiveDGDPreviousQuarter", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3177:41:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15035, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3177:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15038, + "name": "_moderatorMinimalQuarterPoint", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3229:37:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15037, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3229:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15040, + "name": "_moderatorQuarterPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3276:43:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15039, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3276:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15042, + "name": "_moderatorReputationPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3329:46:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15041, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3329:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15044, + "name": "_totalEffectiveModeratorDGDLastQuarter", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3385:46:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15043, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3385:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15046, + "name": "_dgxDistributionDay", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3442:27:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15045, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3442:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15048, + "name": "_dgxRewardsPoolLastQuarter", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3479:34:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15047, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3479:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15050, + "name": "_sumRewardsFromBeginning", + "nodeType": "VariableDeclaration", + "scope": 15137, + "src": "3523:32:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15049, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3523:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3000:561:57" + }, + "payable": false, + "returnParameters": { + "id": 15052, + "nodeType": "ParameterList", + "parameters": [], + "src": "3581:0:57" + }, + "scope": 15545, + "src": "2974:1810:57", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15156, + "nodeType": "Block", + "src": "4878:114:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15146, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "4906:28:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 15145, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "4896:9:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 15147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4896:39:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15144, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4888:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4888:48:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15149, + "nodeType": "ExpressionStatement", + "src": "4888:48:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15150, + "name": "claimableDGXs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14995, + "src": "4946:13:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 15152, + "indexExpression": { + "argumentTypes": null, + "id": 15151, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15139, + "src": "4960:5:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4946:20:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15153, + "name": "_newClaimableDGX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15141, + "src": "4969:16:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4946:39:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15155, + "nodeType": "ExpressionStatement", + "src": "4946:39:57" + } + ] + }, + "documentation": null, + "id": 15157, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateClaimableDGX", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15142, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15139, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 15157, + "src": "4818:13:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15138, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4818:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15141, + "name": "_newClaimableDGX", + "nodeType": "VariableDeclaration", + "scope": 15157, + "src": "4833:24:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15140, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4833:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4817:41:57" + }, + "payable": false, + "returnParameters": { + "id": 15143, + "nodeType": "ParameterList", + "parameters": [], + "src": "4878:0:57" + }, + "scope": 15545, + "src": "4790:202:57", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15176, + "nodeType": "Block", + "src": "5093:118:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15166, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "5121:26:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 15165, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "5111:9:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 15167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5111:37:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15164, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5103:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5103:46:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15169, + "nodeType": "ExpressionStatement", + "src": "5103:46:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15170, + "name": "lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15001, + "src": "5159:23:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 15172, + "indexExpression": { + "argumentTypes": null, + "id": 15171, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15159, + "src": "5183:5:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5159:30:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15173, + "name": "_lastQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15161, + "src": "5192:12:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5159:45:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15175, + "nodeType": "ExpressionStatement", + "src": "5159:45:57" + } + ] + }, + "documentation": null, + "id": 15177, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateLastParticipatedQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15162, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15159, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 15177, + "src": "5037:13:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15158, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5037:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15161, + "name": "_lastQuarter", + "nodeType": "VariableDeclaration", + "scope": 15177, + "src": "5052:20:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15160, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5052:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5036:37:57" + }, + "payable": false, + "returnParameters": { + "id": 15163, + "nodeType": "ParameterList", + "parameters": [], + "src": "5093:0:57" + }, + "scope": 15545, + "src": "4998:213:57", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15196, + "nodeType": "Block", + "src": "5320:126:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15186, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "5348:26:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 15185, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "5338:9:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 15187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5338:37:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15184, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5330:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5330:46:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15189, + "nodeType": "ExpressionStatement", + "src": "5330:46:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15190, + "name": "previousLastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15005, + "src": "5386:31:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 15192, + "indexExpression": { + "argumentTypes": null, + "id": 15191, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15179, + "src": "5418:5:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5386:38:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15193, + "name": "_lastQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15181, + "src": "5427:12:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5386:53:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15195, + "nodeType": "ExpressionStatement", + "src": "5386:53:57" + } + ] + }, + "documentation": null, + "id": 15197, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updatePreviousLastParticipatedQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15182, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15179, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 15197, + "src": "5264:13:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15178, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5264:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15181, + "name": "_lastQuarter", + "nodeType": "VariableDeclaration", + "scope": 15197, + "src": "5279:20:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15180, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5279:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5263:37:57" + }, + "payable": false, + "returnParameters": { + "id": 15183, + "nodeType": "ParameterList", + "parameters": [], + "src": "5320:0:57" + }, + "scope": 15545, + "src": "5217:229:57", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15219, + "nodeType": "Block", + "src": "5556:177:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 15206, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "5590:28:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 15207, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "5620:26:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 15208, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "5648:11:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 15209, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5589:71:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 15205, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "5574:14:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 15210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5574:87:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15204, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5566:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5566:96:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15212, + "nodeType": "ExpressionStatement", + "src": "5566:96:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15213, + "name": "lastQuarterThatRewardsWasUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15009, + "src": "5672:32:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 15215, + "indexExpression": { + "argumentTypes": null, + "id": 15214, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15199, + "src": "5705:5:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5672:39:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15216, + "name": "_lastQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15201, + "src": "5714:12:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5672:54:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15218, + "nodeType": "ExpressionStatement", + "src": "5672:54:57" + } + ] + }, + "documentation": null, + "id": 15220, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateLastQuarterThatRewardsWasUpdated", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15202, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15199, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 15220, + "src": "5500:13:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15198, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5500:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15201, + "name": "_lastQuarter", + "nodeType": "VariableDeclaration", + "scope": 15220, + "src": "5515:20:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15200, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5515:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5499:37:57" + }, + "payable": false, + "returnParameters": { + "id": 15203, + "nodeType": "ParameterList", + "parameters": [], + "src": "5556:0:57" + }, + "scope": 15545, + "src": "5452:281:57", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15242, + "nodeType": "Block", + "src": "5846:180:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 15229, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "5880:28:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 15230, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "5910:26:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 15231, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "5938:11:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 15232, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5879:71:57", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 15228, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "5864:14:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 15233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5864:87:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15227, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5856:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5856:96:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15235, + "nodeType": "ExpressionStatement", + "src": "5856:96:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15236, + "name": "lastQuarterThatReputationWasUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15013, + "src": "5962:35:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 15238, + "indexExpression": { + "argumentTypes": null, + "id": 15237, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15222, + "src": "5998:5:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5962:42:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15239, + "name": "_lastQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15224, + "src": "6007:12:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5962:57:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15241, + "nodeType": "ExpressionStatement", + "src": "5962:57:57" + } + ] + }, + "documentation": null, + "id": 15243, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateLastQuarterThatReputationWasUpdated", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15225, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15222, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 15243, + "src": "5790:13:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15221, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5790:7:57", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15224, + "name": "_lastQuarter", + "nodeType": "VariableDeclaration", + "scope": 15243, + "src": "5805:20:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15223, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5805:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5789:37:57" + }, + "payable": false, + "returnParameters": { + "id": 15226, + "nodeType": "ParameterList", + "parameters": [], + "src": "5846:0:57" + }, + "scope": 15545, + "src": "5739:287:57", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15261, + "nodeType": "Block", + "src": "6102:127:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15250, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "6130:28:57", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 15249, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "6120:9:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 15251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6120:39:57", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15248, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "6112:7:57", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6112:48:57", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15253, + "nodeType": "ExpressionStatement", + "src": "6112:48:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15254, + "name": "totalDGXsClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14997, + "src": "6170:16:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15257, + "name": "_dgxClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15245, + "src": "6210:11:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 15255, + "name": "totalDGXsClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14997, + "src": "6189:16:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "6189:20:57", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 15258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6189:33:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6170:52:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15260, + "nodeType": "ExpressionStatement", + "src": "6170:52:57" + } + ] + }, + "documentation": null, + "id": 15262, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addToTotalDgxClaimed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15246, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15245, + "name": "_dgxClaimed", + "nodeType": "VariableDeclaration", + "scope": 15262, + "src": "6062:19:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15244, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6062:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6061:21:57" + }, + "payable": false, + "returnParameters": { + "id": 15247, + "nodeType": "ParameterList", + "parameters": [], + "src": "6102:0:57" + }, + "scope": 15545, + "src": "6032:197:57", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15366, + "nodeType": "Block", + "src": "6910:1143:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 15294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15289, + "name": "_minimalParticipationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15267, + "src": "6920:26:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15290, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "6949:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15292, + "indexExpression": { + "argumentTypes": null, + "id": 15291, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15264, + "src": "6965:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6949:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15293, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "minimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8460, + "src": "6949:57:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6920:86:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15295, + "nodeType": "ExpressionStatement", + "src": "6920:86:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15296, + "name": "_quarterPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15269, + "src": "7016:26:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15297, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "7045:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15299, + "indexExpression": { + "argumentTypes": null, + "id": 15298, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15264, + "src": "7061:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7045:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15300, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "quarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8462, + "src": "7045:57:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7016:86:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15302, + "nodeType": "ExpressionStatement", + "src": "7016:86:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15303, + "name": "_reputationPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15271, + "src": "7112:29:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15304, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "7144:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15306, + "indexExpression": { + "argumentTypes": null, + "id": 15305, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15264, + "src": "7160:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7144:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15307, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "reputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8464, + "src": "7144:60:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7112:92:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15309, + "nodeType": "ExpressionStatement", + "src": "7112:92:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15310, + "name": "_totalEffectiveDGDPreviousQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15273, + "src": "7214:33:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15311, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "7250:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15313, + "indexExpression": { + "argumentTypes": null, + "id": 15312, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15264, + "src": "7266:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7250:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15314, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveDGDPreviousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8466, + "src": "7250:64:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7214:100:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15316, + "nodeType": "ExpressionStatement", + "src": "7214:100:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15317, + "name": "_moderatorMinimalQuarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15275, + "src": "7324:29:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15318, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "7356:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15320, + "indexExpression": { + "argumentTypes": null, + "id": 15319, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15264, + "src": "7372:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7356:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15321, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorMinimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8468, + "src": "7356:66:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7324:98:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15323, + "nodeType": "ExpressionStatement", + "src": "7324:98:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15324, + "name": "_moderatorQuarterPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15277, + "src": "7432:35:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15325, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "7470:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15327, + "indexExpression": { + "argumentTypes": null, + "id": 15326, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15264, + "src": "7486:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7470:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15328, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorQuarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8470, + "src": "7470:66:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7432:104:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15330, + "nodeType": "ExpressionStatement", + "src": "7432:104:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15331, + "name": "_moderatorReputationPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15279, + "src": "7546:38:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15332, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "7587:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15334, + "indexExpression": { + "argumentTypes": null, + "id": 15333, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15264, + "src": "7603:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7587:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15335, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorReputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8472, + "src": "7587:69:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7546:110:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15337, + "nodeType": "ExpressionStatement", + "src": "7546:110:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15338, + "name": "_totalEffectiveModeratorDGDLastQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15281, + "src": "7666:38:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15339, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "7707:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15341, + "indexExpression": { + "argumentTypes": null, + "id": 15340, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15264, + "src": "7723:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7707:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15342, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8474, + "src": "7707:69:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7666:110:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15344, + "nodeType": "ExpressionStatement", + "src": "7666:110:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15345, + "name": "_dgxDistributionDay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15283, + "src": "7786:19:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15346, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "7808:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15348, + "indexExpression": { + "argumentTypes": null, + "id": 15347, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15264, + "src": "7824:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7808:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15349, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dgxDistributionDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 8476, + "src": "7808:50:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7786:72:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15351, + "nodeType": "ExpressionStatement", + "src": "7786:72:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15352, + "name": "_dgxRewardsPoolLastQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15285, + "src": "7868:26:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15353, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "7897:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15355, + "indexExpression": { + "argumentTypes": null, + "id": 15354, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15264, + "src": "7913:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7897:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15356, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dgxRewardsPoolLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8478, + "src": "7897:57:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7868:86:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15358, + "nodeType": "ExpressionStatement", + "src": "7868:86:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15359, + "name": "_sumRewardsFromBeginning", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15287, + "src": "7964:24:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15360, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "7991:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15362, + "indexExpression": { + "argumentTypes": null, + "id": 15361, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15264, + "src": "8007:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7991:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15363, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sumRewardsFromBeginning", + "nodeType": "MemberAccess", + "referencedDeclaration": 8480, + "src": "7991:55:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7964:82:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15365, + "nodeType": "ExpressionStatement", + "src": "7964:82:57" + } + ] + }, + "documentation": null, + "id": 15367, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readQuarterInfo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15265, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15264, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6260:22:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15263, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6260:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6259:24:57" + }, + "payable": false, + "returnParameters": { + "id": 15288, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15267, + "name": "_minimalParticipationPoint", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6342:34:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15266, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6342:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15269, + "name": "_quarterPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6390:34:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6390:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15271, + "name": "_reputationPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6438:37:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15270, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6438:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15273, + "name": "_totalEffectiveDGDPreviousQuarter", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6489:41:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15272, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6489:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15275, + "name": "_moderatorMinimalQuarterPoint", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6545:37:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15274, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6545:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15277, + "name": "_moderatorQuarterPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6596:43:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15276, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6596:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15279, + "name": "_moderatorReputationPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6653:46:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15278, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6653:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15281, + "name": "_totalEffectiveModeratorDGDLastQuarter", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6713:46:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15280, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6713:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15283, + "name": "_dgxDistributionDay", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6774:27:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15282, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6774:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15285, + "name": "_dgxRewardsPoolLastQuarter", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6815:34:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15284, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6815:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15287, + "name": "_sumRewardsFromBeginning", + "nodeType": "VariableDeclaration", + "scope": 15367, + "src": "6863:32:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15286, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6863:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6328:577:57" + }, + "scope": 15545, + "src": "6235:1818:57", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15399, + "nodeType": "Block", + "src": "8309:277:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 15383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15378, + "name": "_dgxDistributionDay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15372, + "src": "8319:19:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15379, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "8341:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15381, + "indexExpression": { + "argumentTypes": null, + "id": 15380, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15369, + "src": "8357:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8341:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15382, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dgxDistributionDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 8476, + "src": "8341:50:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8319:72:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15384, + "nodeType": "ExpressionStatement", + "src": "8319:72:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15385, + "name": "_dgxRewardsPoolLastQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15374, + "src": "8401:26:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15386, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "8430:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15388, + "indexExpression": { + "argumentTypes": null, + "id": 15387, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15369, + "src": "8446:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8430:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15389, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dgxRewardsPoolLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8478, + "src": "8430:57:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8401:86:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15391, + "nodeType": "ExpressionStatement", + "src": "8401:86:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15392, + "name": "_sumRewardsFromBeginning", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15376, + "src": "8497:24:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15393, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "8524:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15395, + "indexExpression": { + "argumentTypes": null, + "id": 15394, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15369, + "src": "8540:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8524:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15396, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sumRewardsFromBeginning", + "nodeType": "MemberAccess", + "referencedDeclaration": 8480, + "src": "8524:55:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8497:82:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15398, + "nodeType": "ExpressionStatement", + "src": "8497:82:57" + } + ] + }, + "documentation": null, + "id": 15400, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readQuarterGeneralInfo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15370, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15369, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 15400, + "src": "8091:22:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15368, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8091:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8090:24:57" + }, + "payable": false, + "returnParameters": { + "id": 15377, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15372, + "name": "_dgxDistributionDay", + "nodeType": "VariableDeclaration", + "scope": 15400, + "src": "8173:27:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15371, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8173:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15374, + "name": "_dgxRewardsPoolLastQuarter", + "nodeType": "VariableDeclaration", + "scope": 15400, + "src": "8214:34:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15373, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8214:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15376, + "name": "_sumRewardsFromBeginning", + "nodeType": "VariableDeclaration", + "scope": 15400, + "src": "8262:32:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15375, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8262:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8159:145:57" + }, + "scope": 15545, + "src": "8059:527:57", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15441, + "nodeType": "Block", + "src": "8937:469:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 15418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15413, + "name": "_moderatorMinimalQuarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15405, + "src": "8947:29:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15414, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "8979:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15416, + "indexExpression": { + "argumentTypes": null, + "id": 15415, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15402, + "src": "8995:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8979:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15417, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorMinimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8468, + "src": "8979:66:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8947:98:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15419, + "nodeType": "ExpressionStatement", + "src": "8947:98:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15420, + "name": "_moderatorQuarterPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15407, + "src": "9055:35:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15421, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "9093:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15423, + "indexExpression": { + "argumentTypes": null, + "id": 15422, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15402, + "src": "9109:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9093:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15424, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorQuarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8470, + "src": "9093:66:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9055:104:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15426, + "nodeType": "ExpressionStatement", + "src": "9055:104:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15427, + "name": "_moderatorReputationPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15409, + "src": "9169:38:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15428, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "9210:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15430, + "indexExpression": { + "argumentTypes": null, + "id": 15429, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15402, + "src": "9226:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9210:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15431, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moderatorReputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8472, + "src": "9210:69:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9169:110:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15433, + "nodeType": "ExpressionStatement", + "src": "9169:110:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15434, + "name": "_totalEffectiveModeratorDGDLastQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15411, + "src": "9289:38:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15435, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "9330:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15437, + "indexExpression": { + "argumentTypes": null, + "id": 15436, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15402, + "src": "9346:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9330:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15438, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8474, + "src": "9330:69:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9289:110:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15440, + "nodeType": "ExpressionStatement", + "src": "9289:110:57" + } + ] + }, + "documentation": null, + "id": 15442, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readQuarterModeratorInfo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15403, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15402, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 15442, + "src": "8626:22:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15401, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8626:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8625:24:57" + }, + "payable": false, + "returnParameters": { + "id": 15412, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15405, + "name": "_moderatorMinimalQuarterPoint", + "nodeType": "VariableDeclaration", + "scope": 15442, + "src": "8708:37:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15404, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8708:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15407, + "name": "_moderatorQuarterPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15442, + "src": "8759:43:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15406, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8759:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15409, + "name": "_moderatorReputationPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15442, + "src": "8816:46:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15408, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8816:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15411, + "name": "_totalEffectiveModeratorDGDLastQuarter", + "nodeType": "VariableDeclaration", + "scope": 15442, + "src": "8876:46:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15410, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8876:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8694:238:57" + }, + "scope": 15545, + "src": "8592:814:57", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15483, + "nodeType": "Block", + "src": "9733:411:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 15460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15455, + "name": "_minimalParticipationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15447, + "src": "9743:26:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15456, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "9772:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15458, + "indexExpression": { + "argumentTypes": null, + "id": 15457, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15444, + "src": "9788:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9772:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15459, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "minimalParticipationPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 8460, + "src": "9772:57:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9743:86:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15461, + "nodeType": "ExpressionStatement", + "src": "9743:86:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15462, + "name": "_quarterPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15449, + "src": "9839:26:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15463, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "9868:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15465, + "indexExpression": { + "argumentTypes": null, + "id": 15464, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15444, + "src": "9884:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9868:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15466, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "quarterPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8462, + "src": "9868:57:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9839:86:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15468, + "nodeType": "ExpressionStatement", + "src": "9839:86:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15469, + "name": "_reputationPointScalingFactor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15451, + "src": "9935:29:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15470, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "9967:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15472, + "indexExpression": { + "argumentTypes": null, + "id": 15471, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15444, + "src": "9983:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9967:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15473, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "reputationPointScalingFactor", + "nodeType": "MemberAccess", + "referencedDeclaration": 8464, + "src": "9967:60:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9935:92:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15475, + "nodeType": "ExpressionStatement", + "src": "9935:92:57" + }, + { + "expression": { + "argumentTypes": null, + "id": 15481, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15476, + "name": "_totalEffectiveDGDPreviousQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15453, + "src": "10037:33:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15477, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "10073:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15479, + "indexExpression": { + "argumentTypes": null, + "id": 15478, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15444, + "src": "10089:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10073:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15480, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveDGDPreviousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8466, + "src": "10073:64:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10037:100:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15482, + "nodeType": "ExpressionStatement", + "src": "10037:100:57" + } + ] + }, + "documentation": null, + "id": 15484, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readQuarterParticipantInfo", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15445, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15444, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 15484, + "src": "9448:22:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15443, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9448:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9447:24:57" + }, + "payable": false, + "returnParameters": { + "id": 15454, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15447, + "name": "_minimalParticipationPoint", + "nodeType": "VariableDeclaration", + "scope": 15484, + "src": "9530:34:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15446, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9530:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15449, + "name": "_quarterPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15484, + "src": "9578:34:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15448, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9578:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15451, + "name": "_reputationPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 15484, + "src": "9626:37:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9626:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15453, + "name": "_totalEffectiveDGDPreviousQuarter", + "nodeType": "VariableDeclaration", + "scope": 15484, + "src": "9677:41:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15452, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9677:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9516:212:57" + }, + "scope": 15545, + "src": "9412:732:57", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15498, + "nodeType": "Block", + "src": "10281:86:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 15496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15491, + "name": "_distributionDay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15489, + "src": "10291:16:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15492, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "10310:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15494, + "indexExpression": { + "argumentTypes": null, + "id": 15493, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15486, + "src": "10326:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10310:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15495, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dgxDistributionDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 8476, + "src": "10310:50:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10291:69:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15497, + "nodeType": "ExpressionStatement", + "src": "10291:69:57" + } + ] + }, + "documentation": null, + "id": 15499, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readDgxDistributionDay", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15487, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15486, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 15499, + "src": "10182:22:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15485, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10182:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10181:24:57" + }, + "payable": false, + "returnParameters": { + "id": 15490, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15489, + "name": "_distributionDay", + "nodeType": "VariableDeclaration", + "scope": 15499, + "src": "10251:24:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15488, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10251:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10250:26:57" + }, + "scope": 15545, + "src": "10150:217:57", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15513, + "nodeType": "Block", + "src": "10531:117:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 15511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15506, + "name": "_totalEffectiveDGDPreviousQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15504, + "src": "10541:33:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15507, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "10577:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15509, + "indexExpression": { + "argumentTypes": null, + "id": 15508, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15501, + "src": "10593:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10577:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15510, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveDGDPreviousQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8466, + "src": "10577:64:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10541:100:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15512, + "nodeType": "ExpressionStatement", + "src": "10541:100:57" + } + ] + }, + "documentation": null, + "id": 15514, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readTotalEffectiveDGDLastQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15502, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15501, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 15514, + "src": "10415:22:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15500, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10415:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10414:24:57" + }, + "payable": false, + "returnParameters": { + "id": 15505, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15504, + "name": "_totalEffectiveDGDPreviousQuarter", + "nodeType": "VariableDeclaration", + "scope": 15514, + "src": "10484:41:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15503, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10484:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10483:43:57" + }, + "scope": 15545, + "src": "10373:275:57", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15528, + "nodeType": "Block", + "src": "10826:127:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 15526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15521, + "name": "_totalEffectiveModeratorDGDLastQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15519, + "src": "10836:38:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15522, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "10877:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15524, + "indexExpression": { + "argumentTypes": null, + "id": 15523, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15516, + "src": "10893:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10877:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15525, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8474, + "src": "10877:69:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10836:110:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15527, + "nodeType": "ExpressionStatement", + "src": "10836:110:57" + } + ] + }, + "documentation": null, + "id": 15529, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readTotalEffectiveModeratorDGDLastQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15517, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15516, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 15529, + "src": "10705:22:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15515, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10705:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10704:24:57" + }, + "payable": false, + "returnParameters": { + "id": 15520, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15519, + "name": "_totalEffectiveModeratorDGDLastQuarter", + "nodeType": "VariableDeclaration", + "scope": 15529, + "src": "10774:46:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15518, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10774:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10773:48:57" + }, + "scope": 15545, + "src": "10654:299:57", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15543, + "nodeType": "Block", + "src": "11092:89:57", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 15541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15536, + "name": "_rewardsPool", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15534, + "src": "11102:12:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15537, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "11117:15:57", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 15539, + "indexExpression": { + "argumentTypes": null, + "id": 15538, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15531, + "src": "11133:14:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11117:31:57", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 15540, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "dgxRewardsPoolLastQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 8478, + "src": "11117:57:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11102:72:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15542, + "nodeType": "ExpressionStatement", + "src": "11102:72:57" + } + ] + }, + "documentation": null, + "id": 15544, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readRewardsPoolOfLastQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15532, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15531, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 15544, + "src": "10997:22:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15530, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10997:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10996:24:57" + }, + "payable": false, + "returnParameters": { + "id": 15535, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15534, + "name": "_rewardsPool", + "nodeType": "VariableDeclaration", + "scope": 15544, + "src": "11066:20:57", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15533, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11066:7:57", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11065:22:57" + }, + "scope": 15545, + "src": "10959:222:57", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 15546, + "src": "232:10951:57" + } + ], + "src": "0:11184:57" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0x02b592e6b5d98fcf1e7d170271f222ae20382d79", + "transactionHash": "0xff66d2f0fab76909843ee061e92cbb1375b5de0a8ba083086a5b65a20fafd8c3" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T09:39:55.016Z" +} \ No newline at end of file diff --git a/build/contracts/DaoServiceCommon.json b/build/contracts/DaoServiceCommon.json new file mode 100644 index 0000000..87ec540 --- /dev/null +++ b/build/contracts/DaoServiceCommon.json @@ -0,0 +1,1447 @@ +{ + "contractName": "DaoServiceCommon", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026000906000191690556000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006002906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006003906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006004906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006005906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600790600019169055600160085560026009556003600a556001600b556002600c556003600d557f696e7465725f6467645f69640000000000000000000000000000000000000000600e906000191690557f696e7465725f6d6f645f6467645f696400000000000000000000000000000000600f906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006010906000191690557f64616f00000000000000000000000000000000000000000000000000000000006011906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006012906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006013906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006014906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006015906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006016906000191690557f64616f3a6964656e7469747900000000000000000000000000000000000000006017906000191690557f64616f3a726577617264732d6d616e61676572000000000000000000000000006018906000191690557f64616f3a726577617264732d65787472617300000000000000000000000000006019906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601a906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601c906000191690557f64616f3a696e666f726d6174696f6e0000000000000000000000000000000000601d906000191690557f736572766963653a726f6c650000000000000000000000000000000000000000601e906000191690557f736572766963653a64616f3a696e666f00000000000000000000000000000000601f906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006020906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006021906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006022906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006023906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006024906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006025906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006026906000191690557f73746f726167653a64616f3a7370656369616c000000000000000000000000006027906000191690557f73746f726167653a64616f3a636f6e66696700000000000000000000000000006028906000191690557f73746f726167653a64616f3a7374616b650000000000000000000000000000006029906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602a906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602b906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602c906000191690557f743a646764000000000000000000000000000000000000000000000000000000602d906000191690557f743a646778000000000000000000000000000000000000000000000000000000602e906000191690557f743a626164676500000000000000000000000000000000000000000000000000602f906000191690556001603060006101000a81548160ff021916908360ff1602179055506002603060016101000a81548160ff021916908360ff1602179055506003603060026101000a81548160ff021916908360ff1602179055506004603060036101000a81548160ff021916908360ff1602179055506276a7006031557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006032906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006033906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006034906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006035906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006036906000191690557f766f74696e675f636f6d6d69745f7068617365000000000000000000000000006037906000191690557f766f74696e675f70686173655f746f74616c00000000000000000000000000006038906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f706861736500000000006039906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603a906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603b906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603c906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f720000603d906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f72603e906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f720000000000603f906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006040906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006041906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006042906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006043906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726044906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006045906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006046906000191690557f766f74696e675f71756f74615f6e756d657261746f72000000000000000000006047906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f7200000000000000006048906000191690557f6d696e696d616c5f7170000000000000000000000000000000000000000000006049906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604a906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604b906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604c906000191690557f6d6f645f71705f7363616c696e675f666163746f720000000000000000000000604d906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f7200000000604e906000191690557f717561727465725f706f696e745f64726166745f766f74650000000000000000604f906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006050906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006051906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006052906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006053906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006054906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006055906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006056906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f7200006057906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f726058906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f7200000000000000006059906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605a906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605b906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605c906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d0000000000605d906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e0000000000605e906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e00000000000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006061906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006062906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006063906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006064906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006065906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006066906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c0000006067906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e446967697800000000006068906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e446967697800006069906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606a906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606b906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606c9060001916905534801561113357600080fd5b50610314806111436000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100675780633943380c146100be5780633f83acff146100f1578063db4ecbc114610162575b600080fd5b34801561007357600080fd5b5061007c6101b9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100ca57600080fd5b506100d36101df565b60405180826000191660001916815260200191505060405180910390f35b3480156100fd57600080fd5b5061012060048036038101908080356000191690602001909291905050506101e5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016e57600080fd5b506101776102c2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b606d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606e5481565b6000606d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561028057600080fd5b505af1158015610294573d6000803e3d6000fd5b505050506040513d60208110156102aa57600080fd5b81019080805190602001909291905050509050919050565b606f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815600a165627a7a723058204372d12b72f4a80ebe4acfe7a7140d09868a42f934f7ecc2d5755f09d2b73e5a0029", + "deployedBytecode": "0x608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100675780633943380c146100be5780633f83acff146100f1578063db4ecbc114610162575b600080fd5b34801561007357600080fd5b5061007c6101b9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100ca57600080fd5b506100d36101df565b60405180826000191660001916815260200191505060405180910390f35b3480156100fd57600080fd5b5061012060048036038101908080356000191690602001909291905050506101e5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016e57600080fd5b506101776102c2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b606d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606e5481565b6000606d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561028057600080fd5b505af1158015610294573d6000803e3d6000fd5b505050506040513d60208110156102aa57600080fd5b81019080805190602001909291905050509050919050565b606f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815600a165627a7a723058204372d12b72f4a80ebe4acfe7a7140d09868a42f934f7ecc2d5755f09d2b73e5a0029", + "sourceMap": "258:638:5:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;258:638:5;8:9:-1;5:2;;;30:1;27;20:12;5:2;258:638:5;;;;;;;", + "deployedSourceMap": "258:638:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23;;;;;;;;;;;;;:::o;264:18::-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;344:31::-;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"@digix/cacp-contracts-dao/contracts/ResolverClient.sol\";\nimport \"./../common/DaoConstants.sol\";\nimport \"./../storage/DaoConfigsStorage.sol\";\nimport \"./../storage/DaoStakeStorage.sol\";\nimport \"./../storage/DaoStorage.sol\";\n\n\ncontract DaoServiceCommon is DaoConstants, ResolverClient {\n\n function daoConfigsStorage()\n internal\n view\n returns (DaoConfigsStorage _contract)\n {\n _contract = DaoConfigsStorage(get_contract(CONTRACT_STORAGE_DAO_CONFIG));\n }\n\n function daoStakeStorage()\n internal\n view\n returns (DaoStakeStorage _contract)\n {\n _contract = DaoStakeStorage(get_contract(CONTRACT_STORAGE_DAO_STAKE));\n }\n\n function daoStorage()\n internal\n view\n returns (DaoStorage _contract)\n {\n _contract = DaoStorage(get_contract(CONTRACT_STORAGE_DAO));\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/common/DaoServiceCommon.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoServiceCommon.sol", + "exportedSymbols": { + "DaoServiceCommon": [ + 1773 + ] + }, + "id": 1774, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1721, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:5" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 1722, + "nodeType": "ImportDirective", + "scope": 1774, + "sourceUnit": 19059, + "src": "26:64:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "./../common/DaoConstants.sol", + "id": 1723, + "nodeType": "ImportDirective", + "scope": 1774, + "sourceUnit": 1581, + "src": "91:38:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoConfigsStorage.sol", + "file": "./../storage/DaoConfigsStorage.sol", + "id": 1724, + "nodeType": "ImportDirective", + "scope": 1774, + "sourceUnit": 14282, + "src": "130:44:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStakeStorage.sol", + "file": "./../storage/DaoStakeStorage.sol", + "id": 1725, + "nodeType": "ImportDirective", + "scope": 1774, + "sourceUnit": 16457, + "src": "175:42:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStorage.sol", + "file": "./../storage/DaoStorage.sol", + "id": 1726, + "nodeType": "ImportDirective", + "scope": 1774, + "sourceUnit": 18305, + "src": "218:37:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1727, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "287:12:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 1728, + "nodeType": "InheritanceSpecifier", + "src": "287:12:5" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1729, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "301:14:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 1730, + "nodeType": "InheritanceSpecifier", + "src": "301:14:5" + } + ], + "contractDependencies": [ + 1580, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1773, + "linearizedBaseContracts": [ + 1773, + 19058, + 1580 + ], + "name": "DaoServiceCommon", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1743, + "nodeType": "Block", + "src": "432:89:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1735, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1733, + "src": "442:9:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1738, + "name": "CONTRACT_STORAGE_DAO_CONFIG", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1366, + "src": "485:27:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1737, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "472:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "472:41:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1736, + "name": "DaoConfigsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14281, + "src": "454:17:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoConfigsStorage_$14281_$", + "typeString": "type(contract DaoConfigsStorage)" + } + }, + "id": 1740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "454:60:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "src": "442:72:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "id": 1742, + "nodeType": "ExpressionStatement", + "src": "442:72:5" + } + ] + }, + "documentation": null, + "id": 1744, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoConfigsStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1731, + "nodeType": "ParameterList", + "parameters": [], + "src": "349:2:5" + }, + "payable": false, + "returnParameters": { + "id": 1734, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1733, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1744, + "src": "399:27:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + }, + "typeName": { + "contractScope": null, + "id": 1732, + "name": "DaoConfigsStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14281, + "src": "399:17:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "398:29:5" + }, + "scope": 1773, + "src": "323:198:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1757, + "nodeType": "Block", + "src": "632:86:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1749, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1747, + "src": "642:9:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1752, + "name": "CONTRACT_STORAGE_DAO_STAKE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "683:26:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1751, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "670:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "670:40:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1750, + "name": "DaoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16456, + "src": "654:15:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "type(contract DaoStakeStorage)" + } + }, + "id": 1754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "654:57:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "src": "642:69:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 1756, + "nodeType": "ExpressionStatement", + "src": "642:69:5" + } + ] + }, + "documentation": null, + "id": 1758, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoStakeStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1745, + "nodeType": "ParameterList", + "parameters": [], + "src": "551:2:5" + }, + "payable": false, + "returnParameters": { + "id": 1748, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1747, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1758, + "src": "601:25:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + }, + "typeName": { + "contractScope": null, + "id": 1746, + "name": "DaoStakeStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 16456, + "src": "601:15:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "600:27:5" + }, + "scope": 1773, + "src": "527:191:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1771, + "nodeType": "Block", + "src": "819:75:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1763, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1761, + "src": "829:9:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1766, + "name": "CONTRACT_STORAGE_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1348, + "src": "865:20:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1765, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "852:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "852:34:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1764, + "name": "DaoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18304, + "src": "841:10:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStorage_$18304_$", + "typeString": "type(contract DaoStorage)" + } + }, + "id": 1768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "841:46:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "src": "829:58:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 1770, + "nodeType": "ExpressionStatement", + "src": "829:58:5" + } + ] + }, + "documentation": null, + "id": 1772, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1759, + "nodeType": "ParameterList", + "parameters": [], + "src": "743:2:5" + }, + "payable": false, + "returnParameters": { + "id": 1762, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1761, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1772, + "src": "793:20:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + }, + "typeName": { + "contractScope": null, + "id": 1760, + "name": "DaoStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18304, + "src": "793:10:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "792:22:5" + }, + "scope": 1773, + "src": "724:170:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 1774, + "src": "258:638:5" + } + ], + "src": "0:897:5" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoServiceCommon.sol", + "exportedSymbols": { + "DaoServiceCommon": [ + 1773 + ] + }, + "id": 1774, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1721, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:5" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 1722, + "nodeType": "ImportDirective", + "scope": 1774, + "sourceUnit": 19059, + "src": "26:64:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "./../common/DaoConstants.sol", + "id": 1723, + "nodeType": "ImportDirective", + "scope": 1774, + "sourceUnit": 1581, + "src": "91:38:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoConfigsStorage.sol", + "file": "./../storage/DaoConfigsStorage.sol", + "id": 1724, + "nodeType": "ImportDirective", + "scope": 1774, + "sourceUnit": 14282, + "src": "130:44:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStakeStorage.sol", + "file": "./../storage/DaoStakeStorage.sol", + "id": 1725, + "nodeType": "ImportDirective", + "scope": 1774, + "sourceUnit": 16457, + "src": "175:42:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStorage.sol", + "file": "./../storage/DaoStorage.sol", + "id": 1726, + "nodeType": "ImportDirective", + "scope": 1774, + "sourceUnit": 18305, + "src": "218:37:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1727, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "287:12:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 1728, + "nodeType": "InheritanceSpecifier", + "src": "287:12:5" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1729, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "301:14:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 1730, + "nodeType": "InheritanceSpecifier", + "src": "301:14:5" + } + ], + "contractDependencies": [ + 1580, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1773, + "linearizedBaseContracts": [ + 1773, + 19058, + 1580 + ], + "name": "DaoServiceCommon", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1743, + "nodeType": "Block", + "src": "432:89:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1735, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1733, + "src": "442:9:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1738, + "name": "CONTRACT_STORAGE_DAO_CONFIG", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1366, + "src": "485:27:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1737, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "472:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "472:41:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1736, + "name": "DaoConfigsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14281, + "src": "454:17:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoConfigsStorage_$14281_$", + "typeString": "type(contract DaoConfigsStorage)" + } + }, + "id": 1740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "454:60:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "src": "442:72:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "id": 1742, + "nodeType": "ExpressionStatement", + "src": "442:72:5" + } + ] + }, + "documentation": null, + "id": 1744, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoConfigsStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1731, + "nodeType": "ParameterList", + "parameters": [], + "src": "349:2:5" + }, + "payable": false, + "returnParameters": { + "id": 1734, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1733, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1744, + "src": "399:27:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + }, + "typeName": { + "contractScope": null, + "id": 1732, + "name": "DaoConfigsStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14281, + "src": "399:17:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "398:29:5" + }, + "scope": 1773, + "src": "323:198:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1757, + "nodeType": "Block", + "src": "632:86:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1749, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1747, + "src": "642:9:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1752, + "name": "CONTRACT_STORAGE_DAO_STAKE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "683:26:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1751, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "670:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "670:40:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1750, + "name": "DaoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16456, + "src": "654:15:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "type(contract DaoStakeStorage)" + } + }, + "id": 1754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "654:57:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "src": "642:69:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 1756, + "nodeType": "ExpressionStatement", + "src": "642:69:5" + } + ] + }, + "documentation": null, + "id": 1758, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoStakeStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1745, + "nodeType": "ParameterList", + "parameters": [], + "src": "551:2:5" + }, + "payable": false, + "returnParameters": { + "id": 1748, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1747, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1758, + "src": "601:25:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + }, + "typeName": { + "contractScope": null, + "id": 1746, + "name": "DaoStakeStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 16456, + "src": "601:15:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "600:27:5" + }, + "scope": 1773, + "src": "527:191:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1771, + "nodeType": "Block", + "src": "819:75:5", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1763, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1761, + "src": "829:9:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1766, + "name": "CONTRACT_STORAGE_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1348, + "src": "865:20:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1765, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "852:12:5", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "852:34:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1764, + "name": "DaoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18304, + "src": "841:10:5", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStorage_$18304_$", + "typeString": "type(contract DaoStorage)" + } + }, + "id": 1768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "841:46:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "src": "829:58:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 1770, + "nodeType": "ExpressionStatement", + "src": "829:58:5" + } + ] + }, + "documentation": null, + "id": 1772, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1759, + "nodeType": "ParameterList", + "parameters": [], + "src": "743:2:5" + }, + "payable": false, + "returnParameters": { + "id": 1762, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1761, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1772, + "src": "793:20:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + }, + "typeName": { + "contractScope": null, + "id": 1760, + "name": "DaoStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18304, + "src": "793:10:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "792:22:5" + }, + "scope": 1773, + "src": "724:170:5", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 1774, + "src": "258:638:5" + } + ], + "src": "0:897:5" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.822Z" +} \ No newline at end of file diff --git a/build/contracts/DaoSpecialProposal.json b/build/contracts/DaoSpecialProposal.json new file mode 100644 index 0000000..adeb704 --- /dev/null +++ b/build/contracts/DaoSpecialProposal.json @@ -0,0 +1,3799 @@ +{ + "contractName": "DaoSpecialProposal", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getAddressConfig", + "outputs": [ + { + "name": "_configValue", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentTimeInQuarter", + "outputs": [ + { + "name": "_currentT", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isMainPhase", + "outputs": [ + { + "name": "_isMainPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isLockingPhase", + "outputs": [ + { + "name": "_isLockingPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentQuarterNumber", + "outputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isParticipant", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getBytesConfig", + "outputs": [ + { + "name": "_configValue", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getUintConfig", + "outputs": [ + { + "name": "_configValue", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isDaoNotReplaced", + "outputs": [ + { + "name": "_isNotReplaced", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isModerator", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_specialProposalId", + "type": "bytes32" + } + ], + "name": "StartSpecialProposal", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_doc", + "type": "bytes32" + }, + { + "name": "_uintConfigs", + "type": "uint256[]" + }, + { + "name": "_addressConfigs", + "type": "address[]" + }, + { + "name": "_bytesConfigs", + "type": "bytes32[]" + } + ], + "name": "createSpecialProposal", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "startSpecialProposalVoting", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b5060405160208062002c0683398101806040528101908080519060200190929190505050620011756015548262001188640100000000026401000000009004565b15156200118157600080fd5b5062001419565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f057600080fd5b505af115801562001205573d6000803e3d6000fd5b505050506040513d60208110156200121c57600080fd5b810190808051906020019092919050505090506000151581151514156200140d5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013ba57600080fd5b505af1158015620013cf573d6000803e3d6000fd5b505050506040513d6020811015620013e657600080fd5b810190808051906020019092919050505015156200140357600080fd5b6001915062001412565b600091505b5092915050565b6117dd80620014296000396000f3006080604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100eb5780631d8ccd041461014257806325505bfa146101b35780633943380c146102445780633f83acff14610277578063517f4a80146102e8578063560a25ea1461031957806368533060146103445780637d6fed80146103735780637f6a26b6146103a2578063929066f5146103cd57806393ddad0814610428578063b1e2b9dd14610475578063d70d9358146104ba578063db4ecbc1146104e9578063fa6f393614610540575b600080fd5b3480156100f757600080fd5b5061010061059b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014e57600080fd5b5061017160048036038101908080356000191690602001909291905050506105c0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101bf57600080fd5b5061022a6004803603810190808035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050610682565b604051808215151515815260200191505060405180910390f35b34801561025057600080fd5b506102596107f7565b60405180826000191660001916815260200191505060405180910390f35b34801561028357600080fd5b506102a660048036038101908080356000191690602001909291905050506107fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102f457600080fd5b5061031760048036038101908080356000191690602001909291905050506108d9565b005b34801561032557600080fd5b5061032e610bb3565b6040518082815260200191505060405180910390f35b34801561035057600080fd5b50610359610bc3565b604051808215151515815260200191505060405180910390f35b34801561037f57600080fd5b50610388610bef565b604051808215151515815260200191505060405180910390f35b3480156103ae57600080fd5b506103b7610c0a565b6040518082815260200191505060405180910390f35b3480156103d957600080fd5b5061040e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c1a565b604051808215151515815260200191505060405180910390f35b34801561043457600080fd5b506104576004803603810190808035600019169060200190929190505050610dfb565b60405180826000191660001916815260200191505060405180910390f35b34801561048157600080fd5b506104a46004803603810190808035600019169060200190929190505050610ebd565b6040518082815260200191505060405180910390f35b3480156104c657600080fd5b506104cf610f7f565b604051808215151515815260200191505060405180910390f35b3480156104f557600080fd5b506104fe61102d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561054c57600080fd5b50610581600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611053565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006105ca611326565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561064057600080fd5b505af1158015610654573d6000803e3d6000fd5b505050506040513d602081101561066a57600080fd5b81019080805190602001909291905050509050919050565b60008061068d611338565b151561069857600080fd5b6106a0610bc3565b15156106ab57600080fd5b3390506106b6611430565b73ffffffffffffffffffffffffffffffffffffffff16638b8a75938a838b8b8b8b8b8b6040518963ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018089600019166000191681526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018060200184810384528a8a82818152602001925060200280828437820191505084810383528888828181526020019250602002808284378201915050848103825286868281815260200192506020028082843782019150509b505050505050505050505050600060405180830381600087803b1580156107cf57600080fd5b505af11580156107e3573d6000803e3d6000fd5b505050506001915050979650505050505050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561089757600080fd5b505af11580156108ab573d6000803e3d6000fd5b505050506040513d60208110156108c157600080fd5b81019080805190602001909291905050509050919050565b6108e1610bc3565b15156108ec57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1661090b611430565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561098157600080fd5b505af1158015610995573d6000803e3d6000fd5b505050506040513d60208110156109ab57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161415156109de57600080fd5b60006109e8611430565b73ffffffffffffffffffffffffffffffffffffffff16638839a29d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610a5e57600080fd5b505af1158015610a72573d6000803e3d6000fd5b505050506040513d6020811015610a8857600080fd5b8101908080519060200190929190505050141515610aa557600080fd5b610acc610ab3606954610ebd565b610abe605954610ebd565b61144290919063ffffffff16565b610ad54261145e565b111515610ae157600080fd5b610ae9611430565b73ffffffffffffffffffffffffffffffffffffffff16636999b93f82426040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015610b6757600080fd5b505af1158015610b7b573d6000803e3d6000fd5b5050505080600019167f9d3e9e6558b8d0d71a8d5c19850eaf0f4d9618fa82afeccddb24563f6308dcca60405160405180910390a250565b6000610bbe4261148c565b905090565b6000610bcd610f7f565b8015610bea5750610bdf603854610ebd565b610be7610bb3565b10155b905090565b6000610bfc603854610ebd565b610c04610bb3565b10905090565b6000610c1542611575565b905090565b6000610c24610c0a565b610c2c611678565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610cc657600080fd5b505af1158015610cda573d6000803e3d6000fd5b505050506040513d6020811015610cf057600080fd5b8101908080519060200190929190505050148015610df45750610d14603554610ebd565b610d1c61168a565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610db657600080fd5b505af1158015610dca573d6000803e3d6000fd5b505050506040513d6020811015610de057600080fd5b810190808051906020019092919050505010155b9050919050565b6000610e05611326565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610e7b57600080fd5b505af1158015610e8f573d6000803e3d6000fd5b505050506040513d6020811015610ea557600080fd5b81019080805190602001909291905050509050919050565b6000610ec7611326565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610f3d57600080fd5b505af1158015610f51573d6000803e3d6000fd5b505050506040513d6020811015610f6757600080fd5b81019080805190602001909291905050509050919050565b6000610f8961169c565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610fec57600080fd5b505af1158015611000573d6000803e3d6000fd5b505050506040513d602081101561101657600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061105d610c0a565b611065611678565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156110ff57600080fd5b505af1158015611113573d6000803e3d6000fd5b505050506040513d602081101561112957600080fd5b810190808051906020019092919050505014801561122d575061114d603654610ebd565b61115561168a565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156111ef57600080fd5b505af1158015611203573d6000803e3d6000fd5b505050506040513d602081101561121957600080fd5b810190808051906020019092919050505010155b801561131f575061123f603754610ebd565b6112476116ae565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156112e157600080fd5b505af11580156112f5573d6000803e3d6000fd5b505050506040513d602081101561130b57600080fd5b810190808051906020019092919050505010155b9050919050565b6000611333602b546107fd565b905090565b6000603360019054906101000a900460ff1660ff166113556116c0565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156113ef57600080fd5b505af1158015611403573d6000803e3d6000fd5b505050506040513d602081101561141957600080fd5b810190808051906020019092919050505014905090565b600061143d602a546107fd565b905090565b6000818301905082811015151561145557fe5b80905092915050565b600061148561146c8361148c565b611477603954610ebd565b6116d290919063ffffffff16565b9050919050565b60006114966116eb565b15156114a157600080fd5b6114ac603954610ebd565b6115646114b761169c565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561151a57600080fd5b505af115801561152e573d6000803e3d6000fd5b505050506040513d602081101561154457600080fd5b8101908080519060200190929190505050846116d290919063ffffffff16565b81151561156d57fe5b069050919050565b600061157f6116eb565b151561158a57600080fd5b611671600161166361159d603954610ebd565b6116556115a861169c565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561160b57600080fd5b505af115801561161f573d6000803e3d6000fd5b505050506040513d602081101561163557600080fd5b8101908080519060200190929190505050876116d290919063ffffffff16565b61179b90919063ffffffff16565b61144290919063ffffffff16565b9050919050565b6000611685602d546107fd565b905090565b6000611697602c546107fd565b905090565b60006116a96027546107fd565b905090565b60006116bb6029546107fd565b905090565b60006116cd6028546107fd565b905090565b60008282111515156116e057fe5b818303905092915050565b6000806116f661169c565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561175957600080fd5b505af115801561176d573d6000803e3d6000fd5b505050506040513d602081101561178357600080fd5b81019080805190602001909291905050501415905090565b600081838115156117a857fe5b049050929150505600a165627a7a7230582006ca7d72838845a347f4283998f1a0d1973e24865cd011266c3ebe67a17bc97d0029", + "deployedBytecode": "0x6080604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100eb5780631d8ccd041461014257806325505bfa146101b35780633943380c146102445780633f83acff14610277578063517f4a80146102e8578063560a25ea1461031957806368533060146103445780637d6fed80146103735780637f6a26b6146103a2578063929066f5146103cd57806393ddad0814610428578063b1e2b9dd14610475578063d70d9358146104ba578063db4ecbc1146104e9578063fa6f393614610540575b600080fd5b3480156100f757600080fd5b5061010061059b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014e57600080fd5b5061017160048036038101908080356000191690602001909291905050506105c0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101bf57600080fd5b5061022a6004803603810190808035600019169060200190929190803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050610682565b604051808215151515815260200191505060405180910390f35b34801561025057600080fd5b506102596107f7565b60405180826000191660001916815260200191505060405180910390f35b34801561028357600080fd5b506102a660048036038101908080356000191690602001909291905050506107fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102f457600080fd5b5061031760048036038101908080356000191690602001909291905050506108d9565b005b34801561032557600080fd5b5061032e610bb3565b6040518082815260200191505060405180910390f35b34801561035057600080fd5b50610359610bc3565b604051808215151515815260200191505060405180910390f35b34801561037f57600080fd5b50610388610bef565b604051808215151515815260200191505060405180910390f35b3480156103ae57600080fd5b506103b7610c0a565b6040518082815260200191505060405180910390f35b3480156103d957600080fd5b5061040e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c1a565b604051808215151515815260200191505060405180910390f35b34801561043457600080fd5b506104576004803603810190808035600019169060200190929190505050610dfb565b60405180826000191660001916815260200191505060405180910390f35b34801561048157600080fd5b506104a46004803603810190808035600019169060200190929190505050610ebd565b6040518082815260200191505060405180910390f35b3480156104c657600080fd5b506104cf610f7f565b604051808215151515815260200191505060405180910390f35b3480156104f557600080fd5b506104fe61102d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561054c57600080fd5b50610581600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611053565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006105ca611326565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561064057600080fd5b505af1158015610654573d6000803e3d6000fd5b505050506040513d602081101561066a57600080fd5b81019080805190602001909291905050509050919050565b60008061068d611338565b151561069857600080fd5b6106a0610bc3565b15156106ab57600080fd5b3390506106b6611430565b73ffffffffffffffffffffffffffffffffffffffff16638b8a75938a838b8b8b8b8b8b6040518963ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018089600019166000191681526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018060200184810384528a8a82818152602001925060200280828437820191505084810383528888828181526020019250602002808284378201915050848103825286868281815260200192506020028082843782019150509b505050505050505050505050600060405180830381600087803b1580156107cf57600080fd5b505af11580156107e3573d6000803e3d6000fd5b505050506001915050979650505050505050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561089757600080fd5b505af11580156108ab573d6000803e3d6000fd5b505050506040513d60208110156108c157600080fd5b81019080805190602001909291905050509050919050565b6108e1610bc3565b15156108ec57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1661090b611430565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561098157600080fd5b505af1158015610995573d6000803e3d6000fd5b505050506040513d60208110156109ab57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161415156109de57600080fd5b60006109e8611430565b73ffffffffffffffffffffffffffffffffffffffff16638839a29d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610a5e57600080fd5b505af1158015610a72573d6000803e3d6000fd5b505050506040513d6020811015610a8857600080fd5b8101908080519060200190929190505050141515610aa557600080fd5b610acc610ab3606954610ebd565b610abe605954610ebd565b61144290919063ffffffff16565b610ad54261145e565b111515610ae157600080fd5b610ae9611430565b73ffffffffffffffffffffffffffffffffffffffff16636999b93f82426040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015610b6757600080fd5b505af1158015610b7b573d6000803e3d6000fd5b5050505080600019167f9d3e9e6558b8d0d71a8d5c19850eaf0f4d9618fa82afeccddb24563f6308dcca60405160405180910390a250565b6000610bbe4261148c565b905090565b6000610bcd610f7f565b8015610bea5750610bdf603854610ebd565b610be7610bb3565b10155b905090565b6000610bfc603854610ebd565b610c04610bb3565b10905090565b6000610c1542611575565b905090565b6000610c24610c0a565b610c2c611678565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610cc657600080fd5b505af1158015610cda573d6000803e3d6000fd5b505050506040513d6020811015610cf057600080fd5b8101908080519060200190929190505050148015610df45750610d14603554610ebd565b610d1c61168a565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610db657600080fd5b505af1158015610dca573d6000803e3d6000fd5b505050506040513d6020811015610de057600080fd5b810190808051906020019092919050505010155b9050919050565b6000610e05611326565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610e7b57600080fd5b505af1158015610e8f573d6000803e3d6000fd5b505050506040513d6020811015610ea557600080fd5b81019080805190602001909291905050509050919050565b6000610ec7611326565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610f3d57600080fd5b505af1158015610f51573d6000803e3d6000fd5b505050506040513d6020811015610f6757600080fd5b81019080805190602001909291905050509050919050565b6000610f8961169c565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610fec57600080fd5b505af1158015611000573d6000803e3d6000fd5b505050506040513d602081101561101657600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061105d610c0a565b611065611678565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156110ff57600080fd5b505af1158015611113573d6000803e3d6000fd5b505050506040513d602081101561112957600080fd5b810190808051906020019092919050505014801561122d575061114d603654610ebd565b61115561168a565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156111ef57600080fd5b505af1158015611203573d6000803e3d6000fd5b505050506040513d602081101561121957600080fd5b810190808051906020019092919050505010155b801561131f575061123f603754610ebd565b6112476116ae565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156112e157600080fd5b505af11580156112f5573d6000803e3d6000fd5b505050506040513d602081101561130b57600080fd5b810190808051906020019092919050505010155b9050919050565b6000611333602b546107fd565b905090565b6000603360019054906101000a900460ff1660ff166113556116c0565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156113ef57600080fd5b505af1158015611403573d6000803e3d6000fd5b505050506040513d602081101561141957600080fd5b810190808051906020019092919050505014905090565b600061143d602a546107fd565b905090565b6000818301905082811015151561145557fe5b80905092915050565b600061148561146c8361148c565b611477603954610ebd565b6116d290919063ffffffff16565b9050919050565b60006114966116eb565b15156114a157600080fd5b6114ac603954610ebd565b6115646114b761169c565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561151a57600080fd5b505af115801561152e573d6000803e3d6000fd5b505050506040513d602081101561154457600080fd5b8101908080519060200190929190505050846116d290919063ffffffff16565b81151561156d57fe5b069050919050565b600061157f6116eb565b151561158a57600080fd5b611671600161166361159d603954610ebd565b6116556115a861169c565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561160b57600080fd5b505af115801561161f573d6000803e3d6000fd5b505050506040513d602081101561163557600080fd5b8101908080519060200190929190505050876116d290919063ffffffff16565b61179b90919063ffffffff16565b61144290919063ffffffff16565b9050919050565b6000611685602d546107fd565b905090565b6000611697602c546107fd565b905090565b60006116a96027546107fd565b905090565b60006116bb6029546107fd565b905090565b60006116cd6028546107fd565b905090565b60008282111515156116e057fe5b818303905092915050565b6000806116f661169c565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561175957600080fd5b505af115801561176d573d6000803e3d6000fd5b505050506040513d602081101561178357600080fd5b81019080805190602001909291905050501415905090565b600081838115156117a857fe5b049050929150505600a165627a7a7230582006ca7d72838845a347f4283998f1a0d1973e24865cd011266c3ebe67a17bc97d0029", + "sourceMap": "63:1890:14:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;180:110:14;8:9:-1;5:2;;;30:1;27;20:12;5:2;180:110:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;236:46;241:29;;272:9;236:4;;;:46;;;:::i;:::-;228:55;;;;;;;;180:110;63:1890;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;63:1890:14:-;;;;;;;", + "deployedSourceMap": "63:1890:14:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;5244:195:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5244:195:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;720:518:14;;8:9:-1;5:2;;;30:1;27;20:12;5:2;720:518:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1380:571:14;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1380:571:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4743:147:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4743:147:2;;;;;;;;;;;;;;;;;;;;;;;1759:239;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1759:239:2;;;;;;;;;;;;;;;;;;;;;;;;;;;1283:201;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1283:201:2;;;;;;;;;;;;;;;;;;;;;;;;;;;3064:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3064:159:2;;;;;;;;;;;;;;;;;;;;;;;5725:311:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5725:311:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5445:191:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7261:189:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7261:189:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;834:173:2;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;6123:431:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6123:431:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;5244:195:1:-;5335:20;5386:19;:17;:19::i;:::-;:34;;;5421:10;5386:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5386:46:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5386:46:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5386:46:1;;;;;;;;;;;;;;;;5371:61;;5244:195;;;:::o;720:518:14:-;934:13;995:17;412:12:7;:10;:12::i;:::-;404:21;;;;;;;;971:13:14;:11;:13::i;:::-;963:22;;;;;;;;1015:10;995:30;;1035:19;:17;:19::i;:::-;:38;;;1087:4;1105:9;1128:12;;1154:15;;1183:13;;1035:171;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1035:171:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1035:171:14;;;;1227:4;1216:15;;720:518;;;;;;;;;;:::o;264:18:67:-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;1380:571:14:-;1488:13;:11;:13::i;:::-;1480:22;;;;;;;;1577:10;1520:67;;:19;:17;:19::i;:::-;:40;;;1561:11;1520:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1520:53:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1520:53:14;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1520:53:14;;;;;;;;;;;;;;;;:67;;;1512:76;;;;;;;;1657:1;1606:19;:17;:19::i;:::-;:34;;;1641:11;1606:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1606:47:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1606:47:14;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1606:47:14;;;;;;;;;;;;;;;;:52;1598:61;;;;;;;;1733:100;1788:44;1802:29;;1788:13;:44::i;:::-;1733:50;1747:35;;1733:13;:50::i;:::-;:54;;:100;;;;:::i;:::-;1705:25;1726:3;1705:20;:25::i;:::-;:128;1697:137;;;;;;;;1844:19;:17;:19::i;:::-;:33;;;1878:11;1891:3;1844:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1844:51:14;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1844:51:14;;;;1932:11;1911:33;;;;;;;;;;;;;1380:571;:::o;4743:147:2:-;4820:17;4865:18;4879:3;4865:13;:18::i;:::-;4853:30;;4743:147;:::o;1759:239::-;1827:17;1887:18;:16;:18::i;:::-;:104;;;;;1947:44;1961:29;;1947:13;:44::i;:::-;1921:22;:20;:22::i;:::-;:70;;1887:104;1860:131;;1759:239;:::o;1283:201::-;1354:20;1433:44;1447:29;;1433:13;:44::i;:::-;1408:22;:20;:22::i;:::-;:69;1390:87;;1283:201;:::o;3064:159::-;3140:22;3195:21;3212:3;3195:16;:21::i;:::-;3178:38;;3064:159;:::o;5725:311:1:-;5808:8;5905:22;:20;:22::i;:::-;5851:19;:17;:19::i;:::-;:43;;;5895:5;5851:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5851:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5851:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5851:50:1;;;;;;;;;;;;;;;;:76;5850:179;;;;;5988:40;6002:25;;5988:13;:40::i;:::-;5945:17;:15;:17::i;:::-;:32;;;5978:5;5945:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5945:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5945:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5945:39:1;;;;;;;;;;;;;;;;:83;;5850:179;5832:197;;5725:311;;;:::o;5445:191::-;5534:20;5585:19;:17;:19::i;:::-;:32;;;5618:10;5585:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5585:44:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5585:44:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5585:44:1;;;;;;;;;;;;;;;;5570:59;;5445:191;;;:::o;7261:189:2:-;7349:20;7400:19;:17;:19::i;:::-;:31;;;7432:10;7400:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7400:43:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7400:43:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7400:43:2;;;;;;;;;;;;;;;;7385:58;;7261:189;;;:::o;834:173::-;907:19;960;:17;:19::i;:::-;:38;;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;960:40:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;960:40:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;960:40:2;;;;;;;;;;;;;;;;959:41;942:58;;834:173;:::o;344:31:67:-;;;;;;;;;;;;;:::o;6123:431:1:-;6204:8;6301:22;:20;:22::i;:::-;6247:19;:17;:19::i;:::-;:43;;;6291:5;6247:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6247:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6247:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6247:50:1;;;;;;;;;;;;;;;;:76;6246:186;;;;;6384:47;6398:32;;6384:13;:47::i;:::-;6341:17;:15;:17::i;:::-;:32;;;6374:5;6341:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6341:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6341:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6341:39:1;;;;;;;;;;;;;;;;:90;;6246:186;:301;;;;;6492:54;6506:39;;6492:13;:54::i;:::-;6449:18;:16;:18::i;:::-;:32;;;6482:5;6449:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6449:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6449:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6449:39:1;;;;;;;;;;;;;;;;:97;;6246:301;6228:319;;6123:431;;;:::o;5398:198:2:-;5474:27;5547:41;5560:27;;5547:12;:41::i;:::-;5517:72;;5398:198;:::o;449:186:7:-;518:15;614:14;;;;;;;;;;;562:66;;:18;:16;:18::i;:::-;:36;;;599:10;562:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;562:48:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;562:48:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;562:48:7;;;;;;;;;;;;;;;;:66;549:79;;449:186;:::o;6409:199:2:-;6485:27;6558:42;6571:28;;6558:12;:42::i;:::-;6528:73;;6409:199;:::o;1238:128:84:-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o;4961:226:2:-;5053:26;5116:64;5159:20;5173:5;5159:13;:20::i;:::-;5116:38;5130:23;;5116:13;:38::i;:::-;:42;;:64;;;;:::i;:::-;5095:85;;4961:226;;;:::o;3862:332::-;3947:22;3993:26;:24;:26::i;:::-;3985:35;;;;;;;;4149:38;4163:23;;4149:13;:38::i;:::-;4082:52;4092:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4092:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4092:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4092:41:2;;;;;;;;;;;;;;;;4082:5;:9;;:52;;;;:::i;:::-;:105;;;;;;;;4053:134;;3862:332;;;:::o;3369:320::-;3457:14;3495:26;:24;:26::i;:::-;3487:35;;;;;;;;3553:129;3680:1;3553:109;3623:38;3637:23;;3623:13;:38::i;:::-;3553:52;3563:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3563:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3563:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3563:41:2;;;;;;;;;;;;;;;;3553:5;:9;;:52;;;;:::i;:::-;:69;;:109;;;;:::i;:::-;:126;;:129;;;;:::i;:::-;3532:150;;3369:320;;;:::o;6815:199::-;6891:27;6964:42;6977:28;;6964:12;:42::i;:::-;6934:73;;6815:199;:::o;5602:191::-;5676:25;5745:40;5758:26;;5745:12;:40::i;:::-;5717:69;;5602:191;:::o;6204:199::-;6280:27;6353:42;6366:28;;6353:12;:42::i;:::-;6323:73;;6204:199;:::o;6614:195::-;6689:26;6760:41;6773:27;;6760:12;:41::i;:::-;6731:71;;6614:195;:::o;899:201:7:-;974:28;1049:43;1062:29;;1049:12;:43::i;:::-;1018:75;;899:201;:::o;1060:116:84:-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;4343:172:2:-;4426:11;4507:1;4462:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4462:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4462:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4462:41:2;;;;;;;;;;;;;;;;:46;;4453:55;;4343:172;:::o;665:283:84:-;725:7;941:2;936;:7;;;;;;;;929:14;;665:283;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"./../common/DaoCommon.sol\";\n\ncontract DaoSpecialProposal is DaoCommon {\n\n event StartSpecialProposal(bytes32 indexed _specialProposalId);\n\n constructor(address _resolver) public {\n require(init(CONTRACT_DAO_SPECIAL_PROPOSAL, _resolver));\n }\n\n /**\n @notice Function to create a Special Proposal (can only be created by the founders)\n @param _doc hash of the IPFS doc of the special proposal details\n @param _uintConfigs Array of the new UINT256 configs\n @param _addressConfigs Array of the new Address configs\n @param _bytesConfigs Array of the new Bytes32 configs\n @return {\n \"_success\": \"true if created special successfully\"\n }\n */\n function createSpecialProposal(\n bytes32 _doc,\n uint256[] _uintConfigs,\n address[] _addressConfigs,\n bytes32[] _bytesConfigs\n )\n external\n if_founder()\n returns (bool _success)\n {\n require(isMainPhase());\n address _proposer = msg.sender;\n daoSpecialStorage().addSpecialProposal(\n _doc,\n _proposer,\n _uintConfigs,\n _addressConfigs,\n _bytesConfigs\n );\n _success = true;\n }\n\n /**\n @notice Function to set start of voting round for special proposal\n @param _proposalId ID of the special proposal\n */\n function startSpecialProposalVoting(\n bytes32 _proposalId\n )\n public\n {\n require(isMainPhase());\n require(daoSpecialStorage().readProposalProposer(_proposalId) == msg.sender);\n require(daoSpecialStorage().readVotingTime(_proposalId) == 0); // voting hasnt started yet\n require(getTimeLeftInQuarter(now) > getUintConfig(CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL).add(getUintConfig(CONFIG_VOTE_CLAIMING_DEADLINE)));\n daoSpecialStorage().setVotingTime(_proposalId, now);\n\n emit StartSpecialProposal(_proposalId);\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoSpecialProposal.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoSpecialProposal.sol", + "exportedSymbols": { + "DaoSpecialProposal": [ + 5034 + ] + }, + "id": 5035, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4912, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:14" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommon.sol", + "file": "./../common/DaoCommon.sol", + "id": 4913, + "nodeType": "ImportDirective", + "scope": 5035, + "sourceUnit": 839, + "src": "26:35:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 4914, + "name": "DaoCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 838, + "src": "94:9:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommon_$838", + "typeString": "contract DaoCommon" + } + }, + "id": 4915, + "nodeType": "InheritanceSpecifier", + "src": "94:9:14" + } + ], + "contractDependencies": [ + 838, + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 5034, + "linearizedBaseContracts": [ + 5034, + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoSpecialProposal", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 4919, + "name": "StartSpecialProposal", + "nodeType": "EventDefinition", + "parameters": { + "id": 4918, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4917, + "indexed": true, + "name": "_specialProposalId", + "nodeType": "VariableDeclaration", + "scope": 4919, + "src": "138:34:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4916, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "138:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "137:36:14" + }, + "src": "111:63:14" + }, + { + "body": { + "id": 4931, + "nodeType": "Block", + "src": "218:72:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4926, + "name": "CONTRACT_DAO_SPECIAL_PROPOSAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "241:29:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4927, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4921, + "src": "272:9:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4925, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "236:4:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 4928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "236:46:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4924, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "228:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "228:55:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4930, + "nodeType": "ExpressionStatement", + "src": "228:55:14" + } + ] + }, + "documentation": null, + "id": 4932, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4922, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4921, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 4932, + "src": "192:17:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4920, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "192:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "191:19:14" + }, + "payable": false, + "returnParameters": { + "id": 4923, + "nodeType": "ParameterList", + "parameters": [], + "src": "218:0:14" + }, + "scope": 5034, + "src": "180:110:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4974, + "nodeType": "Block", + "src": "953:285:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4951, + "name": "isMainPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "971:11:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 4952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "971:13:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4950, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "963:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "963:22:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4954, + "nodeType": "ExpressionStatement", + "src": "963:22:14" + }, + { + "assignments": [ + 4956 + ], + "declarations": [ + { + "constant": false, + "id": 4956, + "name": "_proposer", + "nodeType": "VariableDeclaration", + "scope": 4975, + "src": "995:17:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4955, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "995:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4959, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4957, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1015:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1015:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "995:30:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4963, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4934, + "src": "1087:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4964, + "name": "_proposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4956, + "src": "1105:9:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4965, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4937, + "src": "1128:12:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "argumentTypes": null, + "id": 4966, + "name": "_addressConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4940, + "src": "1154:15:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + { + "argumentTypes": null, + "id": 4967, + "name": "_bytesConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4943, + "src": "1183:13:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4960, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "1035:17:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 4961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1035:19:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 4962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addSpecialProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 15667, + "src": "1035:38:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$", + "typeString": "function (bytes32,address,uint256[] memory,address[] memory,bytes32[] memory) external" + } + }, + "id": 4968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1035:171:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4969, + "nodeType": "ExpressionStatement", + "src": "1035:171:14" + }, + { + "expression": { + "argumentTypes": null, + "id": 4972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4970, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4948, + "src": "1216:8:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4971, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1227:4:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1216:15:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4973, + "nodeType": "ExpressionStatement", + "src": "1216:15:14" + } + ] + }, + "documentation": "@notice Function to create a Special Proposal (can only be created by the founders)\n@param _doc hash of the IPFS doc of the special proposal details\n@param _uintConfigs Array of the new UINT256 configs\n@param _addressConfigs Array of the new Address configs\n@param _bytesConfigs Array of the new Bytes32 configs\n@return {\n\"_success\": \"true if created special successfully\"\n}", + "id": 4975, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4946, + "modifierName": { + "argumentTypes": null, + "id": 4945, + "name": "if_founder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1849, + "src": "904:10:14", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "904:12:14" + } + ], + "name": "createSpecialProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4944, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4934, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 4975, + "src": "760:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4933, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "760:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4937, + "name": "_uintConfigs", + "nodeType": "VariableDeclaration", + "scope": 4975, + "src": "782:22:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 4935, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "782:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4936, + "length": null, + "nodeType": "ArrayTypeName", + "src": "782:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4940, + "name": "_addressConfigs", + "nodeType": "VariableDeclaration", + "scope": 4975, + "src": "814:25:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 4938, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "814:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4939, + "length": null, + "nodeType": "ArrayTypeName", + "src": "814:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4943, + "name": "_bytesConfigs", + "nodeType": "VariableDeclaration", + "scope": 4975, + "src": "849:23:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 4941, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "849:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4942, + "length": null, + "nodeType": "ArrayTypeName", + "src": "849:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "750:128:14" + }, + "payable": false, + "returnParameters": { + "id": 4949, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4948, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 4975, + "src": "934:13:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4947, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "934:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "933:15:14" + }, + "scope": 5034, + "src": "720:518:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 5032, + "nodeType": "Block", + "src": "1470:481:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4981, + "name": "isMainPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "1488:11:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 4982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1488:13:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4980, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1480:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1480:22:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4984, + "nodeType": "ExpressionStatement", + "src": "1480:22:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4989, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4977, + "src": "1561:11:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4986, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "1520:17:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 4987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1520:19:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 4988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalProposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 15725, + "src": "1520:40:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 4990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1520:53:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4991, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1577:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1577:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1520:67:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4985, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1512:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1512:76:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4995, + "nodeType": "ExpressionStatement", + "src": "1512:76:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5000, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4977, + "src": "1641:11:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4997, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "1606:17:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 4998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1606:19:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 4999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 15808, + "src": "1606:34:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 5001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1606:47:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5002, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1657:1:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1606:52:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4996, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1598:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1598:61:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5005, + "nodeType": "ExpressionStatement", + "src": "1598:61:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5008, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "1726:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5007, + "name": "getTimeLeftInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1076, + "src": "1705:20:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 5009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1705:25:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5015, + "name": "CONFIG_VOTE_CLAIMING_DEADLINE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "1802:29:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5014, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1788:13:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 5016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1788:44:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5011, + "name": "CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "1747:35:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5010, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1733:13:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 5012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1733:50:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "1733:54:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1733:100:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1705:128:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5006, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1697:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1697:137:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5020, + "nodeType": "ExpressionStatement", + "src": "1697:137:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5024, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4977, + "src": "1878:11:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5025, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "1891:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5021, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "1844:17:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 5022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1844:19:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 5023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 15881, + "src": "1844:33:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256) external" + } + }, + "id": 5026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1844:51:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5027, + "nodeType": "ExpressionStatement", + "src": "1844:51:14" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5029, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4977, + "src": "1932:11:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5028, + "name": "StartSpecialProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4919, + "src": "1911:20:14", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 5030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1911:33:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5031, + "nodeType": "EmitStatement", + "src": "1906:38:14" + } + ] + }, + "documentation": "@notice Function to set start of voting round for special proposal\n@param _proposalId ID of the special proposal", + "id": 5033, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "startSpecialProposalVoting", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4978, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4977, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 5033, + "src": "1425:19:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4976, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1425:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1415:35:14" + }, + "payable": false, + "returnParameters": { + "id": 4979, + "nodeType": "ParameterList", + "parameters": [], + "src": "1470:0:14" + }, + "scope": 5034, + "src": "1380:571:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 5035, + "src": "63:1890:14" + } + ], + "src": "0:1954:14" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoSpecialProposal.sol", + "exportedSymbols": { + "DaoSpecialProposal": [ + 5034 + ] + }, + "id": 5035, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4912, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:14" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommon.sol", + "file": "./../common/DaoCommon.sol", + "id": 4913, + "nodeType": "ImportDirective", + "scope": 5035, + "sourceUnit": 839, + "src": "26:35:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 4914, + "name": "DaoCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 838, + "src": "94:9:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommon_$838", + "typeString": "contract DaoCommon" + } + }, + "id": 4915, + "nodeType": "InheritanceSpecifier", + "src": "94:9:14" + } + ], + "contractDependencies": [ + 838, + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 5034, + "linearizedBaseContracts": [ + 5034, + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoSpecialProposal", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 4919, + "name": "StartSpecialProposal", + "nodeType": "EventDefinition", + "parameters": { + "id": 4918, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4917, + "indexed": true, + "name": "_specialProposalId", + "nodeType": "VariableDeclaration", + "scope": 4919, + "src": "138:34:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4916, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "138:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "137:36:14" + }, + "src": "111:63:14" + }, + { + "body": { + "id": 4931, + "nodeType": "Block", + "src": "218:72:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4926, + "name": "CONTRACT_DAO_SPECIAL_PROPOSAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "241:29:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4927, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4921, + "src": "272:9:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 4925, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "236:4:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 4928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "236:46:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4924, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "228:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "228:55:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4930, + "nodeType": "ExpressionStatement", + "src": "228:55:14" + } + ] + }, + "documentation": null, + "id": 4932, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4922, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4921, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 4932, + "src": "192:17:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4920, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "192:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "191:19:14" + }, + "payable": false, + "returnParameters": { + "id": 4923, + "nodeType": "ParameterList", + "parameters": [], + "src": "218:0:14" + }, + "scope": 5034, + "src": "180:110:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 4974, + "nodeType": "Block", + "src": "953:285:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4951, + "name": "isMainPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "971:11:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 4952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "971:13:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4950, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "963:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "963:22:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4954, + "nodeType": "ExpressionStatement", + "src": "963:22:14" + }, + { + "assignments": [ + 4956 + ], + "declarations": [ + { + "constant": false, + "id": 4956, + "name": "_proposer", + "nodeType": "VariableDeclaration", + "scope": 4975, + "src": "995:17:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4955, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "995:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 4959, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4957, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1015:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1015:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "995:30:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4963, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4934, + "src": "1087:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 4964, + "name": "_proposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4956, + "src": "1105:9:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 4965, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4937, + "src": "1128:12:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "argumentTypes": null, + "id": 4966, + "name": "_addressConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4940, + "src": "1154:15:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + { + "argumentTypes": null, + "id": 4967, + "name": "_bytesConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4943, + "src": "1183:13:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[] calldata" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4960, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "1035:17:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 4961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1035:19:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 4962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addSpecialProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 15667, + "src": "1035:38:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$__$", + "typeString": "function (bytes32,address,uint256[] memory,address[] memory,bytes32[] memory) external" + } + }, + "id": 4968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1035:171:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4969, + "nodeType": "ExpressionStatement", + "src": "1035:171:14" + }, + { + "expression": { + "argumentTypes": null, + "id": 4972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 4970, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4948, + "src": "1216:8:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 4971, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1227:4:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1216:15:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4973, + "nodeType": "ExpressionStatement", + "src": "1216:15:14" + } + ] + }, + "documentation": "@notice Function to create a Special Proposal (can only be created by the founders)\n@param _doc hash of the IPFS doc of the special proposal details\n@param _uintConfigs Array of the new UINT256 configs\n@param _addressConfigs Array of the new Address configs\n@param _bytesConfigs Array of the new Bytes32 configs\n@return {\n\"_success\": \"true if created special successfully\"\n}", + "id": 4975, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 4946, + "modifierName": { + "argumentTypes": null, + "id": 4945, + "name": "if_founder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1849, + "src": "904:10:14", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "904:12:14" + } + ], + "name": "createSpecialProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4944, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4934, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 4975, + "src": "760:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4933, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "760:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4937, + "name": "_uintConfigs", + "nodeType": "VariableDeclaration", + "scope": 4975, + "src": "782:22:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 4935, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "782:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4936, + "length": null, + "nodeType": "ArrayTypeName", + "src": "782:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4940, + "name": "_addressConfigs", + "nodeType": "VariableDeclaration", + "scope": 4975, + "src": "814:25:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 4938, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "814:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4939, + "length": null, + "nodeType": "ArrayTypeName", + "src": "814:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 4943, + "name": "_bytesConfigs", + "nodeType": "VariableDeclaration", + "scope": 4975, + "src": "849:23:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_calldata_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 4941, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "849:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4942, + "length": null, + "nodeType": "ArrayTypeName", + "src": "849:9:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "750:128:14" + }, + "payable": false, + "returnParameters": { + "id": 4949, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4948, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 4975, + "src": "934:13:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4947, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "934:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "933:15:14" + }, + "scope": 5034, + "src": "720:518:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 5032, + "nodeType": "Block", + "src": "1470:481:14", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4981, + "name": "isMainPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "1488:11:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 4982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1488:13:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4980, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1480:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1480:22:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4984, + "nodeType": "ExpressionStatement", + "src": "1480:22:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 4989, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4977, + "src": "1561:11:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4986, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "1520:17:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 4987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1520:19:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 4988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalProposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 15725, + "src": "1520:40:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 4990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1520:53:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 4991, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1577:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1577:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1520:67:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4985, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1512:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1512:76:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4995, + "nodeType": "ExpressionStatement", + "src": "1512:76:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5000, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4977, + "src": "1641:11:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4997, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "1606:17:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 4998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1606:19:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 4999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 15808, + "src": "1606:34:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 5001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1606:47:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5002, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1657:1:14", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1606:52:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4996, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1598:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1598:61:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5005, + "nodeType": "ExpressionStatement", + "src": "1598:61:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5008, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "1726:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5007, + "name": "getTimeLeftInQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1076, + "src": "1705:20:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 5009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1705:25:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5015, + "name": "CONFIG_VOTE_CLAIMING_DEADLINE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "1802:29:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5014, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1788:13:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 5016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1788:44:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5011, + "name": "CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "1747:35:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5010, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1733:13:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 5012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1733:50:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "1733:54:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1733:100:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1705:128:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5006, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1697:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1697:137:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5020, + "nodeType": "ExpressionStatement", + "src": "1697:137:14" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5024, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4977, + "src": "1878:11:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5025, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "1891:3:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5021, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "1844:17:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 5022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1844:19:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 5023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 15881, + "src": "1844:33:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256) external" + } + }, + "id": 5026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1844:51:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5027, + "nodeType": "ExpressionStatement", + "src": "1844:51:14" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5029, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4977, + "src": "1932:11:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5028, + "name": "StartSpecialProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4919, + "src": "1911:20:14", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 5030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1911:33:14", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5031, + "nodeType": "EmitStatement", + "src": "1906:38:14" + } + ] + }, + "documentation": "@notice Function to set start of voting round for special proposal\n@param _proposalId ID of the special proposal", + "id": 5033, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "startSpecialProposalVoting", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4978, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4977, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 5033, + "src": "1425:19:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4976, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1425:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1415:35:14" + }, + "payable": false, + "returnParameters": { + "id": 4979, + "nodeType": "ParameterList", + "parameters": [], + "src": "1470:0:14" + }, + "scope": 5034, + "src": "1380:571:14", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 5035, + "src": "63:1890:14" + } + ], + "src": "0:1954:14" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0xae7befe4e0ee04660b78153c5486c7d2c9b3f95f", + "transactionHash": "0xe3fe2553e57391aad4019b395ae2f87ab08a53f71fc59b80817b15a0319d24cf" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T10:37:27.537Z" +} \ No newline at end of file diff --git a/build/contracts/DaoSpecialStorage.json b/build/contracts/DaoSpecialStorage.json new file mode 100644 index 0000000..efc0f37 --- /dev/null +++ b/build/contracts/DaoSpecialStorage.json @@ -0,0 +1,12731 @@ +{ + "contractName": "DaoSpecialStorage", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_proposer", + "type": "address" + }, + { + "name": "_uintConfigs", + "type": "uint256[]" + }, + { + "name": "_addressConfigs", + "type": "address[]" + }, + { + "name": "_bytesConfigs", + "type": "bytes32[]" + } + ], + "name": "addSpecialProposal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readProposal", + "outputs": [ + { + "name": "_id", + "type": "bytes32" + }, + { + "name": "_proposer", + "type": "address" + }, + { + "name": "_timeCreated", + "type": "uint256" + }, + { + "name": "_timeVotingStarted", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readProposalProposer", + "outputs": [ + { + "name": "_proposer", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readConfigs", + "outputs": [ + { + "name": "_uintConfigs", + "type": "uint256[]" + }, + { + "name": "_addressConfigs", + "type": "address[]" + }, + { + "name": "_bytesConfigs", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_allUsers", + "type": "address[]" + } + ], + "name": "readVotingCount", + "outputs": [ + { + "name": "_for", + "type": "uint256" + }, + { + "name": "_against", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readVotingTime", + "outputs": [ + { + "name": "_start", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_hash", + "type": "bytes32" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "commitVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "readComittedVote", + "outputs": [ + { + "name": "_commitHash", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_time", + "type": "uint256" + } + ], + "name": "setVotingTime", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readVotingResult", + "outputs": [ + { + "name": "_result", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_result", + "type": "bool" + } + ], + "name": "setPass", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_claimed", + "type": "bool" + } + ], + "name": "setVotingClaim", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "isClaimed", + "outputs": [ + { + "name": "_claimed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "readVote", + "outputs": [ + { + "name": "_vote", + "type": "bool" + }, + { + "name": "_weight", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_voter", + "type": "address" + }, + { + "name": "_vote", + "type": "bool" + }, + { + "name": "_weight", + "type": "uint256" + } + ], + "name": "revealVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b5060405160208062002d7d8339810180604052810190808051906020019092919050505062001175602a548262001188640100000000026401000000009004565b15156200118157600080fd5b5062001419565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f057600080fd5b505af115801562001205573d6000803e3d6000fd5b505050506040513d60208110156200121c57600080fd5b810190808051906020019092919050505090506000151581151514156200140d5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013ba57600080fd5b505af1158015620013cf573d6000803e3d6000fd5b505050506040513d6020811015620013e657600080fd5b810190808051906020019092919050505015156200140357600080fd5b6001915062001412565b600091505b5092915050565b61195480620014296000396000f300608060405260043610610107576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec1461010c5780630d92dfb2146101635780632e278bf9146101a05780633943380c146101ff5780633f83acff14610232578063462d701f146102a357806356ecd6571461030a5780635b712eb6146104205780636999b93f1461049157806373758c22146104cc57806379e4ce9d146105305780638839a29d146105795780638b8a7593146105be578063b89c3952146106d8578063d6ae87bf14610721578063d8d501791461075e578063db4ecbc1146107ec578063e5c2654e14610843578063f31a1ba2146108b3575b600080fd5b34801561011857600080fd5b50610121610920565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016f57600080fd5b5061019e6004803603810190808035600019169060200190929190803515159060200190929190505050610945565b005b3480156101ac57600080fd5b506101fd60048036038101908080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610998565b005b34801561020b57600080fd5b50610214610a1a565b60405180826000191660001916815260200191505060405180910390f35b34801561023e57600080fd5b506102616004803603810190808035600019169060200190929190505050610a20565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102af57600080fd5b506103086004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919080359060200190929190505050610afc565b005b34801561031657600080fd5b506103396004803603810190808035600019169060200190929190505050610c02565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015610384578082015181840152602081019050610369565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156103c65780820151818401526020810190506103ab565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156104085780820151818401526020810190506103ed565b50505050905001965050505050505060405180910390f35b34801561042c57600080fd5b5061044f6004803603810190808035600019169060200190929190505050610d95565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561049d57600080fd5b506104ca600480360381019080803560001916906020019092919080359060200190929190505050610ddd565b005b3480156104d857600080fd5b506105136004803603810190808035600019169060200190929190803590602001908201803590602001919091929391929390505050610e1d565b604051808381526020018281526020019250505060405180910390f35b34801561053c57600080fd5b5061055f6004803603810190808035600019169060200190929190505050610f32565b604051808215151515815260200191505060405180910390f35b34801561058557600080fd5b506105a86004803603810190808035600019169060200190929190505050610f7d565b6040518082815260200191505060405180910390f35b3480156105ca57600080fd5b506106d66004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050610fbb565b005b3480156106e457600080fd5b50610707600480360381019080803560001916906020019092919050505061121e565b604051808215151515815260200191505060405180910390f35b34801561072d57600080fd5b5061075c6004803603810190808035600019169060200190929190803515159060200190929190505050611269565b005b34801561076a57600080fd5b5061078d60048036038101908080356000191690602001909291905050506112c2565b6040518085600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390f35b3480156107f857600080fd5b50610801611376565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561084f57600080fd5b506108926004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061139c565b60405180831515151581526020018281526020019250505060405180910390f35b3480156108bf57600080fd5b506109026004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114bf565b60405180826000191660001916815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61095060195461153b565b151561095b57600080fd5b8060766000846000191660001916815260200190815260200160002060020160050160006101000a81548160ff0219169083151502179055505050565b6109a360175461153b565b15156109ae57600080fd5b8160766000856000191660001916815260200190815260200160002060020160020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208160001916905550505050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610aba57600080fd5b505af1158015610ace573d6000803e3d6000fd5b505050506040513d6020811015610ae457600080fd5b81019080805190602001909291905050509050919050565b610b0760175461153b565b1515610b1257600080fd5b60766000856000191660001916815260200190815260200160002060020173__DaoStructs____________________________631a14c51b90918585856040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018315151515815260200182815260200194505050505060006040518083038186803b158015610be457600080fd5b505af4158015610bf8573d6000803e3d6000fd5b5050505050505050565b6060806060607660008560001916600019168152602001908152602001600020600801805480602002602001604051908101604052809291908181526020018280548015610c6f57602002820191906000526020600020905b815481526020019060010190808311610c5b575b50505050509250607660008560001916600019168152602001908152602001600020600901805480602002602001604051908101604052809291908181526020018280548015610d1457602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610cca575b50505050509150607660008560001916600019168152602001908152602001600020600a01805480602002602001604051908101604052809291908181526020018280548015610d8757602002820191906000526020600020905b81546000191681526020019060010190808311610d6f575b505050505090509193909250565b6000607660008360001916600019168152602001908152602001600020600b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610de860155461153b565b1515610df357600080fd5b80607660008460001916600019168152602001908152602001600020600201600001819055505050565b600080610e28611645565b1515610e3357600080fd5b60766000866000191660001916815260200190815260200160002060020173__DaoStructs____________________________63b31ee28c909186866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018060200182810382528484828181526020019250602002808284378201915050945050505050604080518083038186803b158015610ee157600080fd5b505af4158015610ef5573d6000803e3d6000fd5b505050506040513d6040811015610f0b57600080fd5b81019080805190602001909291908051906020019092919050505091509150935093915050565b6000610f3c611645565b1515610f4757600080fd5b60766000836000191660001916815260200190815260200160002060020160050160009054906101000a900460ff169050919050565b6000610f87611645565b1515610f9257600080fd5b607660008360001916600019168152602001908152602001600020600201600001549050919050565b610fc660155461153b565b1515610fd157600080fd5b600354600019166076600087600019166000191681526020019081526020016000206000015460001916148015611012575060035460001916856000191614155b151561101d57600080fd5b607073__DoublyLinkedList______________________63582f30b49091876040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561109b57600080fd5b505af41580156110af573d6000803e3d6000fd5b505050506040513d60208110156110c557600080fd5b81019080805190602001909291905050505084607660008760001916600019168152602001908152602001600020600001816000191690555083607660008760001916600019168152602001908152602001600020600b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042607660008760001916600019168152602001908152602001600020600101819055508260766000876000191660001916815260200190815260200160002060080190805190602001906111b0929190611771565b508160766000876000191660001916815260200190815260200160002060090190805190602001906111e39291906117be565b5080607660008760001916600019168152602001908152602001600020600a019080519060200190611216929190611848565b505050505050565b6000611228611645565b151561123357600080fd5b60766000836000191660001916815260200190815260200160002060020160050160019054906101000a900460ff169050919050565b600061127660195461153b565b151561128157600080fd5b6076600084600019166000191681526020019081526020016000209050818160020160050160016101000a81548160ff021916908315150217905550505050565b600080600080607660008660001916600019168152602001908152602001600020600001549350607660008660001916600019168152602001908152602001600020600b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692506076600086600019166000191681526020019081526020016000206001015491506076600086600019166000191681526020019081526020016000206002016000015490509193509193565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806113a7611645565b15156113b257600080fd5b60766000856000191660001916815260200190815260200160002060020173__DaoStructs____________________________634bf150b99091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050604080518083038186803b15801561146f57600080fd5b505af4158015611483573d6000803e3d6000fd5b505050506040513d604081101561149957600080fd5b810190808051906020019092919080519060200190929190505050915091509250929050565b60006114c9611645565b15156114d457600080fd5b60766000846000191660001916815260200190815260200160002060020160020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156115d557600080fd5b505af11580156115e9573d6000803e3d6000fd5b505050506040513d60208110156115ff57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b60003273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061175a575061168461175f565b73ffffffffffffffffffffffffffffffffffffffff16639b19251a336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561171e57600080fd5b505af1158015611732573d6000803e3d6000fd5b505050506040513d602081101561174857600080fd5b81019080805190602001909291905050505b905090565b600061176c602e54610a20565b905090565b8280548282559060005260206000209081019282156117ad579160200282015b828111156117ac578251825591602001919060010190611791565b5b5090506117ba919061189b565b5090565b828054828255906000526020600020908101928215611837579160200282015b828111156118365782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906117de565b5b50905061184491906118c0565b5090565b82805482825590600052602060002090810192821561188a579160200282015b82811115611889578251829060001916905591602001919060010190611868565b5b5090506118979190611903565b5090565b6118bd91905b808211156118b95760008160009055506001016118a1565b5090565b90565b61190091905b808211156118fc57600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055506001016118c6565b5090565b90565b61192591905b80821115611921576000816000905550600101611909565b5090565b905600a165627a7a72305820f2a4c13472545c23daaa112ad50e6c50df98fe3996ccf978090b608d5942f7040029", + "deployedBytecode": "0x608060405260043610610107576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec1461010c5780630d92dfb2146101635780632e278bf9146101a05780633943380c146101ff5780633f83acff14610232578063462d701f146102a357806356ecd6571461030a5780635b712eb6146104205780636999b93f1461049157806373758c22146104cc57806379e4ce9d146105305780638839a29d146105795780638b8a7593146105be578063b89c3952146106d8578063d6ae87bf14610721578063d8d501791461075e578063db4ecbc1146107ec578063e5c2654e14610843578063f31a1ba2146108b3575b600080fd5b34801561011857600080fd5b50610121610920565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016f57600080fd5b5061019e6004803603810190808035600019169060200190929190803515159060200190929190505050610945565b005b3480156101ac57600080fd5b506101fd60048036038101908080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610998565b005b34801561020b57600080fd5b50610214610a1a565b60405180826000191660001916815260200191505060405180910390f35b34801561023e57600080fd5b506102616004803603810190808035600019169060200190929190505050610a20565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102af57600080fd5b506103086004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919080359060200190929190505050610afc565b005b34801561031657600080fd5b506103396004803603810190808035600019169060200190929190505050610c02565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015610384578082015181840152602081019050610369565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156103c65780820151818401526020810190506103ab565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156104085780820151818401526020810190506103ed565b50505050905001965050505050505060405180910390f35b34801561042c57600080fd5b5061044f6004803603810190808035600019169060200190929190505050610d95565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561049d57600080fd5b506104ca600480360381019080803560001916906020019092919080359060200190929190505050610ddd565b005b3480156104d857600080fd5b506105136004803603810190808035600019169060200190929190803590602001908201803590602001919091929391929390505050610e1d565b604051808381526020018281526020019250505060405180910390f35b34801561053c57600080fd5b5061055f6004803603810190808035600019169060200190929190505050610f32565b604051808215151515815260200191505060405180910390f35b34801561058557600080fd5b506105a86004803603810190808035600019169060200190929190505050610f7d565b6040518082815260200191505060405180910390f35b3480156105ca57600080fd5b506106d66004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050610fbb565b005b3480156106e457600080fd5b50610707600480360381019080803560001916906020019092919050505061121e565b604051808215151515815260200191505060405180910390f35b34801561072d57600080fd5b5061075c6004803603810190808035600019169060200190929190803515159060200190929190505050611269565b005b34801561076a57600080fd5b5061078d60048036038101908080356000191690602001909291905050506112c2565b6040518085600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390f35b3480156107f857600080fd5b50610801611376565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561084f57600080fd5b506108926004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061139c565b60405180831515151581526020018281526020019250505060405180910390f35b3480156108bf57600080fd5b506109026004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114bf565b60405180826000191660001916815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61095060195461153b565b151561095b57600080fd5b8060766000846000191660001916815260200190815260200160002060020160050160006101000a81548160ff0219169083151502179055505050565b6109a360175461153b565b15156109ae57600080fd5b8160766000856000191660001916815260200190815260200160002060020160020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208160001916905550505050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610aba57600080fd5b505af1158015610ace573d6000803e3d6000fd5b505050506040513d6020811015610ae457600080fd5b81019080805190602001909291905050509050919050565b610b0760175461153b565b1515610b1257600080fd5b60766000856000191660001916815260200190815260200160002060020173__DaoStructs____________________________631a14c51b90918585856040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018315151515815260200182815260200194505050505060006040518083038186803b158015610be457600080fd5b505af4158015610bf8573d6000803e3d6000fd5b5050505050505050565b6060806060607660008560001916600019168152602001908152602001600020600801805480602002602001604051908101604052809291908181526020018280548015610c6f57602002820191906000526020600020905b815481526020019060010190808311610c5b575b50505050509250607660008560001916600019168152602001908152602001600020600901805480602002602001604051908101604052809291908181526020018280548015610d1457602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610cca575b50505050509150607660008560001916600019168152602001908152602001600020600a01805480602002602001604051908101604052809291908181526020018280548015610d8757602002820191906000526020600020905b81546000191681526020019060010190808311610d6f575b505050505090509193909250565b6000607660008360001916600019168152602001908152602001600020600b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610de860155461153b565b1515610df357600080fd5b80607660008460001916600019168152602001908152602001600020600201600001819055505050565b600080610e28611645565b1515610e3357600080fd5b60766000866000191660001916815260200190815260200160002060020173__DaoStructs____________________________63b31ee28c909186866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018060200182810382528484828181526020019250602002808284378201915050945050505050604080518083038186803b158015610ee157600080fd5b505af4158015610ef5573d6000803e3d6000fd5b505050506040513d6040811015610f0b57600080fd5b81019080805190602001909291908051906020019092919050505091509150935093915050565b6000610f3c611645565b1515610f4757600080fd5b60766000836000191660001916815260200190815260200160002060020160050160009054906101000a900460ff169050919050565b6000610f87611645565b1515610f9257600080fd5b607660008360001916600019168152602001908152602001600020600201600001549050919050565b610fc660155461153b565b1515610fd157600080fd5b600354600019166076600087600019166000191681526020019081526020016000206000015460001916148015611012575060035460001916856000191614155b151561101d57600080fd5b607073__DoublyLinkedList______________________63582f30b49091876040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561109b57600080fd5b505af41580156110af573d6000803e3d6000fd5b505050506040513d60208110156110c557600080fd5b81019080805190602001909291905050505084607660008760001916600019168152602001908152602001600020600001816000191690555083607660008760001916600019168152602001908152602001600020600b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042607660008760001916600019168152602001908152602001600020600101819055508260766000876000191660001916815260200190815260200160002060080190805190602001906111b0929190611771565b508160766000876000191660001916815260200190815260200160002060090190805190602001906111e39291906117be565b5080607660008760001916600019168152602001908152602001600020600a019080519060200190611216929190611848565b505050505050565b6000611228611645565b151561123357600080fd5b60766000836000191660001916815260200190815260200160002060020160050160019054906101000a900460ff169050919050565b600061127660195461153b565b151561128157600080fd5b6076600084600019166000191681526020019081526020016000209050818160020160050160016101000a81548160ff021916908315150217905550505050565b600080600080607660008660001916600019168152602001908152602001600020600001549350607660008660001916600019168152602001908152602001600020600b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692506076600086600019166000191681526020019081526020016000206001015491506076600086600019166000191681526020019081526020016000206002016000015490509193509193565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806113a7611645565b15156113b257600080fd5b60766000856000191660001916815260200190815260200160002060020173__DaoStructs____________________________634bf150b99091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050604080518083038186803b15801561146f57600080fd5b505af4158015611483573d6000803e3d6000fd5b505050506040513d604081101561149957600080fd5b810190808051906020019092919080519060200190929190505050915091509250929050565b60006114c9611645565b15156114d457600080fd5b60766000846000191660001916815260200190815260200160002060020160020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156115d557600080fd5b505af11580156115e9573d6000803e3d6000fd5b505050506040513d60208110156115ff57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b60003273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061175a575061168461175f565b73ffffffffffffffffffffffffffffffffffffffff16639b19251a336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561171e57600080fd5b505af1158015611732573d6000803e3d6000fd5b505050506040513d602081101561174857600080fd5b81019080805190602001909291905050505b905090565b600061176c602e54610a20565b905090565b8280548282559060005260206000209081019282156117ad579160200282015b828111156117ac578251825591602001919060010190611791565b5b5090506117ba919061189b565b5090565b828054828255906000526020600020908101928215611837579160200282015b828111156118365782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906117de565b5b50905061184491906118c0565b5090565b82805482825590600052602060002090810192821561188a579160200282015b82811115611889578251829060001916905591602001919060010190611868565b5b5090506118979190611903565b5090565b6118bd91905b808211156118b95760008160009055506001016118a1565b5090565b90565b61190091905b808211156118fc57600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055506001016118c6565b5090565b90565b61192591905b80821115611921576000816000905550600101611909565b5090565b905600a165627a7a72305820f2a4c13472545c23daaa112ad50e6c50df98fe3996ccf978090b608d5942f7040029", + "sourceMap": "217:5253:58:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;708:109:58;8:9:-1;5:2;;;30:1;27;20:12;5:2;708:109:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;764:45;769:28;;799:9;764:4;;;:45;;;:::i;:::-;756:54;;;;;;;;708:109;217:5253;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;217:5253:58:-;;;;;;;", + "deployedSourceMap": "217:5253:58:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;4223:202:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4223:202:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3276:244;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3276:244:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5191:277:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5191:277:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2328:438;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2328:438:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2328:438:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2328:438:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2328:438:58;;;;;;;;;;;;;;;;;;;;;2139:183;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2139:183:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3787:205;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3787:205:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2772:271;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2772:271:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3998:219;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3998:219:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3049:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3049:221:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;823:818;;8:9:-1;5:2;;;30:1;27;20:12;5:2;823:818:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4715:215;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4715:215:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4431:278;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4431:278:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1647:486;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1647:486:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;4936:249:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4936:249:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3526:255;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3526:255:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;4223:202:58:-;4312:45;4322:34;;4312:9;:45::i;:::-;4304:54;;;;;;;;4411:7;4368:13;:26;4382:11;4368:26;;;;;;;;;;;;;;;;;:33;;:40;;;:50;;;;;;;;;;;;;;;;;;4223:202;;:::o;3276:244::-;3415:30;3425:19;;3415:9;:30::i;:::-;3407:39;;;;;;;;3508:5;3456:13;:26;3470:11;3456:26;;;;;;;;;;;;;;;;;:33;;:41;;:49;3498:6;3456:49;;;;;;;;;;;;;;;:57;;;;;;;3276:244;;;:::o;264:18:67:-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;5191:277:58:-;5352:30;5362:19;;5352:9;:30::i;:::-;5344:39;;;;;;;;5393:13;:26;5407:11;5393:26;;;;;;;;;;;;;;;;;:33;;:44;;;;5438:6;5446:5;5453:7;5393:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5393:68:58;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5393:68:58;;;;5191:277;;;;:::o;2328:438::-;2428:29;2471:32;2517:30;2587:13;:26;2601:11;2587:26;;;;;;;;;;;;;;;;;:38;;2572:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2653:13;:26;2667:11;2653:26;;;;;;;;;;;;;;;;;:41;;2635:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2720:13;:26;2734:11;2720:26;;;;;;;;;;;;;;;;;:39;;2704:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2328:438;;;;;:::o;2139:183::-;2235:17;2280:13;:26;2294:11;2280:26;;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;2268:47;;2139:183;;;:::o;3787:205::-;3883:40;3893:29;;3883:9;:40::i;:::-;3875:49;;;;;;;;3980:5;3934:13;:26;3948:11;3934:26;;;;;;;;;;;;;;;;;:33;;:43;;:51;;;;3787:205;;:::o;2772:271::-;2886:12;2900:16;2940:23;:21;:23::i;:::-;2932:32;;;;;;;;2981:13;:26;2995:11;2981:26;;;;;;;;;;;;;;;;;:33;;:44;;;;3026:9;;2981:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2981:55:58;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2981:55:58;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2981:55:58;;;;;;;;;;;;;;;;;;;;;;;;;2974:62;;;;2772:271;;;;;;:::o;3998:219::-;4090:12;4126:23;:21;:23::i;:::-;4118:32;;;;;;;;4170:13;:26;4184:11;4170:26;;;;;;;;;;;;;;;;;:33;;:40;;;;;;;;;;;;4160:50;;3998:219;;;:::o;3049:221::-;3139:14;3177:23;:21;:23::i;:::-;3169:32;;;;;;;;3220:13;:26;3234:11;3220:26;;;;;;;;;;;;;;;;;:33;;:43;;;3211:52;;3049:221;;;:::o;823:818::-;1050:40;1060:29;;1050:9;:40::i;:::-;1042:49;;;;;;;;1162:11;;1121:52;;;:13;:26;1135:11;1121:26;;;;;;;;;;;;;;;;;:37;;;:52;;;;1120:96;;;;;1204:11;;1189:26;;;:11;:26;;;;;1120:96;1101:125;;;;;;;;1236:9;:16;;;;1253:11;1236:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1236:29:58;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1236:29:58;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1236:29:58;;;;;;;;;;;;;;;;;1315:11;1275:13;:26;1289:11;1275:26;;;;;;;;;;;;;;;;;:37;;:51;;;;;;;1374:9;1336:13;:26;1350:11;1336:26;;;;;;;;;;;;;;;;;:35;;;:47;;;;;;;;;;;;;;;;;;1434:3;1393:13;:26;1407:11;1393:26;;;;;;;;;;;;;;;;;:38;;:44;;;;1488:12;1447:13;:26;1461:11;1447:26;;;;;;;;;;;;;;;;;:38;;:53;;;;;;;;;;;;:::i;:::-;;1554:15;1510:13;:26;1524:11;1510:26;;;;;;;;;;;;;;;;;:41;;:59;;;;;;;;;;;;:::i;:::-;;1621:13;1579;:26;1593:11;1579:26;;;;;;;;;;;;;;;;;:39;;:55;;;;;;;;;;;;:::i;:::-;;823:818;;;;;:::o;4715:215::-;4800:13;4837:23;:21;:23::i;:::-;4829:32;;;;;;;;4882:13;:26;4896:11;4882:26;;;;;;;;;;;;;;;;;:33;;:41;;;;;;;;;;;;4871:52;;4715:215;;;:::o;4431:278::-;4584:44;4528:45;4538:34;;4528:9;:45::i;:::-;4520:54;;;;;;;;4631:13;:26;4645:11;4631:26;;;;;;;;;;;;;;;;;4584:73;;4694:8;4667:9;:16;;:24;;;:35;;;;;;;;;;;;;;;;;;4431:278;;;:::o;1647:486::-;1748:11;1773:17;1804:20;1838:26;1895:13;:26;1909:11;1895:26;;;;;;;;;;;;;;;;;:37;;;1889:43;;1954:13;:26;1968:11;1954:26;;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;1942:47;;2014:13;:26;2028:11;2014:26;;;;;;;;;;;;;;;;;:38;;;1999:53;;2083:13;:26;2097:11;2083:26;;;;;;;;;;;;;;;;;:33;;:43;;;2062:64;;1647:486;;;;;:::o;344:31:67:-;;;;;;;;;;;;;:::o;4936:249:58:-;5036:10;5048:15;5087:23;:21;:23::i;:::-;5079:32;;;;;;;;5128:13;:26;5142:11;5128:26;;;;;;;;;;;;;;;;;:33;;:42;;;;5171:6;5128:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5128:50:58;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5128:50:58;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5128:50:58;;;;;;;;;;;;;;;;;;;;;;;;;5121:57;;;;4936:249;;;;;:::o;3526:255::-;3634:19;3677:23;:21;:23::i;:::-;3669:32;;;;;;;;3725:13;:26;3739:11;3725:26;;;;;;;;;;;;;;;;;:33;;:41;;:49;3767:6;3725:49;;;;;;;;;;;;;;;;3711:63;;3526:255;;;;:::o;610:160:67:-;671:12;732:8;;;;;;;;;;;715:39;;;755:9;715:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;715:50:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;715:50:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;715:50:67;;;;;;;;;;;;;;;;701:64;;:10;:64;;;691:74;;610:160;;;:::o;707:316:6:-;787:27;956:9;942:23;;:10;:23;;;941:75;;;;970:24;:22;:24::i;:::-;:34;;;1005:10;970:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;970:46:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;970:46:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;970:46:6;;;;;;;;;;;;;;;;941:75;916:100;;707:316;:::o;240:219::-;321:32;404:47;417:33;;404:12;:47::i;:::-;369:83;;240:219;:::o;217:5253:58:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol\";\nimport \"../common/DaoWhitelistingCommon.sol\";\nimport \"../lib/DaoStructs.sol\";\nimport \"./DaoWhitelistingStorage.sol\";\n\ncontract DaoSpecialStorage is DaoWhitelistingCommon {\n using DoublyLinkedList for DoublyLinkedList.Bytes;\n using DaoStructs for DaoStructs.SpecialProposal;\n using DaoStructs for DaoStructs.Voting;\n\n // List of all the special proposals ever created in DigixDAO\n DoublyLinkedList.Bytes proposals;\n\n // mapping of the SpecialProposal struct by its ID\n // ID is also the IPFS doc hash of the proposal\n mapping (bytes32 => DaoStructs.SpecialProposal) proposalsById;\n\n constructor(address _resolver) public {\n require(init(CONTRACT_STORAGE_DAO_SPECIAL, _resolver));\n }\n\n function addSpecialProposal(\n bytes32 _proposalId,\n address _proposer,\n uint256[] _uintConfigs,\n address[] _addressConfigs,\n bytes32[] _bytesConfigs\n )\n public\n {\n require(sender_is(CONTRACT_DAO_SPECIAL_PROPOSAL));\n require(\n (proposalsById[_proposalId].proposalId == EMPTY_BYTES) &&\n (_proposalId != EMPTY_BYTES)\n );\n proposals.append(_proposalId);\n proposalsById[_proposalId].proposalId = _proposalId;\n proposalsById[_proposalId].proposer = _proposer;\n proposalsById[_proposalId].timeCreated = now;\n proposalsById[_proposalId].uintConfigs = _uintConfigs;\n proposalsById[_proposalId].addressConfigs = _addressConfigs;\n proposalsById[_proposalId].bytesConfigs = _bytesConfigs;\n }\n\n function readProposal(bytes32 _proposalId)\n public\n view\n returns (\n bytes32 _id,\n address _proposer,\n uint256 _timeCreated,\n uint256 _timeVotingStarted\n )\n {\n _id = proposalsById[_proposalId].proposalId;\n _proposer = proposalsById[_proposalId].proposer;\n _timeCreated = proposalsById[_proposalId].timeCreated;\n _timeVotingStarted = proposalsById[_proposalId].voting.startTime;\n }\n\n function readProposalProposer(bytes32 _proposalId)\n public\n view\n returns (address _proposer)\n {\n _proposer = proposalsById[_proposalId].proposer;\n }\n\n function readConfigs(bytes32 _proposalId)\n public\n view\n returns (\n uint256[] memory _uintConfigs,\n address[] memory _addressConfigs,\n bytes32[] memory _bytesConfigs\n )\n {\n _uintConfigs = proposalsById[_proposalId].uintConfigs;\n _addressConfigs = proposalsById[_proposalId].addressConfigs;\n _bytesConfigs = proposalsById[_proposalId].bytesConfigs;\n }\n\n function readVotingCount(bytes32 _proposalId, address[] _allUsers)\n external\n view\n returns (uint256 _for, uint256 _against)\n {\n require(senderIsAllowedToRead());\n return proposalsById[_proposalId].voting.countVotes(_allUsers);\n }\n\n function readVotingTime(bytes32 _proposalId)\n public\n view\n returns (uint256 _start)\n {\n require(senderIsAllowedToRead());\n _start = proposalsById[_proposalId].voting.startTime;\n }\n\n function commitVote(\n bytes32 _proposalId,\n bytes32 _hash,\n address _voter\n )\n public\n {\n require(sender_is(CONTRACT_DAO_VOTING));\n proposalsById[_proposalId].voting.commits[_voter] = _hash;\n }\n\n function readComittedVote(bytes32 _proposalId, address _voter)\n public\n view\n returns (bytes32 _commitHash)\n {\n require(senderIsAllowedToRead());\n _commitHash = proposalsById[_proposalId].voting.commits[_voter];\n }\n\n function setVotingTime(bytes32 _proposalId, uint256 _time)\n public\n {\n require(sender_is(CONTRACT_DAO_SPECIAL_PROPOSAL));\n proposalsById[_proposalId].voting.startTime = _time;\n }\n\n function readVotingResult(bytes32 _proposalId)\n public\n view\n returns (bool _result)\n {\n require(senderIsAllowedToRead());\n _result = proposalsById[_proposalId].voting.passed;\n }\n\n function setPass(bytes32 _proposalId, bool _result)\n public\n {\n require(sender_is(CONTRACT_DAO_SPECIAL_VOTING_CLAIMS));\n proposalsById[_proposalId].voting.passed = _result;\n }\n\n function setVotingClaim(bytes32 _proposalId, bool _claimed)\n public\n {\n require(sender_is(CONTRACT_DAO_SPECIAL_VOTING_CLAIMS));\n DaoStructs.SpecialProposal storage _proposal = proposalsById[_proposalId];\n _proposal.voting.claimed = _claimed;\n }\n\n function isClaimed(bytes32 _proposalId)\n public\n view\n returns (bool _claimed)\n {\n require(senderIsAllowedToRead());\n _claimed = proposalsById[_proposalId].voting.claimed;\n }\n\n function readVote(bytes32 _proposalId, address _voter)\n public\n view\n returns (bool _vote, uint256 _weight)\n {\n require(senderIsAllowedToRead());\n return proposalsById[_proposalId].voting.readVote(_voter);\n }\n\n function revealVote(\n bytes32 _proposalId,\n address _voter,\n bool _vote,\n uint256 _weight\n )\n public\n {\n require(sender_is(CONTRACT_DAO_VOTING));\n proposalsById[_proposalId].voting.revealVote(_voter, _vote, _weight);\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoSpecialStorage.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoSpecialStorage.sol", + "exportedSymbols": { + "DaoSpecialStorage": [ + 16029 + ] + }, + "id": 16030, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 15547, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:58" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "file": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "id": 15548, + "nodeType": "ImportDirective", + "scope": 16030, + "sourceUnit": 25547, + "src": "26:72:58", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoWhitelistingCommon.sol", + "file": "../common/DaoWhitelistingCommon.sol", + "id": 15549, + "nodeType": "ImportDirective", + "scope": 16030, + "sourceUnit": 1820, + "src": "99:45:58", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoStructs.sol", + "file": "../lib/DaoStructs.sol", + "id": 15550, + "nodeType": "ImportDirective", + "scope": 16030, + "sourceUnit": 8492, + "src": "145:31:58", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoWhitelistingStorage.sol", + "file": "./DaoWhitelistingStorage.sol", + "id": 15551, + "nodeType": "ImportDirective", + "scope": 16030, + "sourceUnit": 18441, + "src": "177:38:58", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 15552, + "name": "DaoWhitelistingCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1819, + "src": "247:21:58", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingCommon_$1819", + "typeString": "contract DaoWhitelistingCommon" + } + }, + "id": 15553, + "nodeType": "InheritanceSpecifier", + "src": "247:21:58" + } + ], + "contractDependencies": [ + 1580, + 1819, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 16029, + "linearizedBaseContracts": [ + 16029, + 1819, + 1580, + 19058 + ], + "name": "DaoSpecialStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 15556, + "libraryName": { + "contractScope": null, + "id": 15554, + "name": "DoublyLinkedList", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25546, + "src": "281:16:58", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DoublyLinkedList_$25546", + "typeString": "library DoublyLinkedList" + } + }, + "nodeType": "UsingForDirective", + "src": "275:50:58", + "typeName": { + "contractScope": null, + "id": 15555, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "302:22:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + } + }, + { + "id": 15559, + "libraryName": { + "contractScope": null, + "id": 15557, + "name": "DaoStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8491, + "src": "336:10:58", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStructs_$8491", + "typeString": "library DaoStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "330:48:58", + "typeName": { + "contractScope": null, + "id": 15558, + "name": "DaoStructs.SpecialProposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8458, + "src": "351:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage_ptr", + "typeString": "struct DaoStructs.SpecialProposal" + } + } + }, + { + "id": 15562, + "libraryName": { + "contractScope": null, + "id": 15560, + "name": "DaoStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8491, + "src": "389:10:58", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStructs_$8491", + "typeString": "library DaoStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "383:39:58", + "typeName": { + "contractScope": null, + "id": 15561, + "name": "DaoStructs.Voting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7970, + "src": "404:17:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + } + } + }, + { + "constant": false, + "id": 15564, + "name": "proposals", + "nodeType": "VariableDeclaration", + "scope": 16029, + "src": "494:32:58", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 15563, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "494:22:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15568, + "name": "proposalsById", + "nodeType": "VariableDeclaration", + "scope": 16029, + "src": "640:61:58", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal)" + }, + "typeName": { + "id": 15567, + "keyType": { + "id": 15565, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "649:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "640:47:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal)" + }, + "valueType": { + "contractScope": null, + "id": 15566, + "name": "DaoStructs.SpecialProposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8458, + "src": "660:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage_ptr", + "typeString": "struct DaoStructs.SpecialProposal" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 15580, + "nodeType": "Block", + "src": "746:71:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15575, + "name": "CONTRACT_STORAGE_DAO_SPECIAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "769:28:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 15576, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15570, + "src": "799:9:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 15574, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "764:4:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 15577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "764:45:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15573, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "756:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "756:54:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15579, + "nodeType": "ExpressionStatement", + "src": "756:54:58" + } + ] + }, + "documentation": null, + "id": 15581, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15571, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15570, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 15581, + "src": "720:17:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15569, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "720:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "719:19:58" + }, + "payable": false, + "returnParameters": { + "id": 15572, + "nodeType": "ParameterList", + "parameters": [], + "src": "746:0:58" + }, + "scope": 16029, + "src": "708:109:58", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15666, + "nodeType": "Block", + "src": "1032:609:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15599, + "name": "CONTRACT_DAO_SPECIAL_PROPOSAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "1060:29:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 15598, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "1050:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 15600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1050:40:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15597, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1042:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1042:49:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15602, + "nodeType": "ExpressionStatement", + "src": "1042:49:58" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 15615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 15609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15604, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "1121:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15606, + "indexExpression": { + "argumentTypes": null, + "id": 15605, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15583, + "src": "1135:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1121:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15607, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 8442, + "src": "1121:37:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 15608, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "1162:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1121:52:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 15610, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1120:54:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 15613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 15611, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15583, + "src": "1189:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 15612, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "1204:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1189:26:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 15614, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1188:28:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1120:96:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15603, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1101:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1101:125:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15617, + "nodeType": "ExpressionStatement", + "src": "1101:125:58" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15621, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15583, + "src": "1253:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 15618, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15564, + "src": "1236:9:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 15620, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "1236:16:58", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 15622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1236:29:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 15623, + "nodeType": "ExpressionStatement", + "src": "1236:29:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15624, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "1275:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15626, + "indexExpression": { + "argumentTypes": null, + "id": 15625, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15583, + "src": "1289:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1275:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15627, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "proposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 8442, + "src": "1275:37:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15628, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15583, + "src": "1315:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1275:51:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 15630, + "nodeType": "ExpressionStatement", + "src": "1275:51:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15631, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "1336:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15633, + "indexExpression": { + "argumentTypes": null, + "id": 15632, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15583, + "src": "1350:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1336:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15634, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "proposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 8457, + "src": "1336:35:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15635, + "name": "_proposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15585, + "src": "1374:9:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1336:47:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 15637, + "nodeType": "ExpressionStatement", + "src": "1336:47:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15638, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "1393:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15640, + "indexExpression": { + "argumentTypes": null, + "id": 15639, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15583, + "src": "1407:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1393:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15641, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "timeCreated", + "nodeType": "MemberAccess", + "referencedDeclaration": 8444, + "src": "1393:38:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15642, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "1434:3:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1393:44:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15644, + "nodeType": "ExpressionStatement", + "src": "1393:44:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15645, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "1447:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15647, + "indexExpression": { + "argumentTypes": null, + "id": 15646, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15583, + "src": "1461:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1447:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15648, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "uintConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 8449, + "src": "1447:38:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15649, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15588, + "src": "1488:12:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "1447:53:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 15651, + "nodeType": "ExpressionStatement", + "src": "1447:53:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15652, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "1510:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15654, + "indexExpression": { + "argumentTypes": null, + "id": 15653, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15583, + "src": "1524:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1510:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15655, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "addressConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 8452, + "src": "1510:41:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15656, + "name": "_addressConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15591, + "src": "1554:15:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "1510:59:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 15658, + "nodeType": "ExpressionStatement", + "src": "1510:59:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15659, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "1579:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15661, + "indexExpression": { + "argumentTypes": null, + "id": 15660, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15583, + "src": "1593:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1579:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15662, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "bytesConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 8455, + "src": "1579:39:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15663, + "name": "_bytesConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15594, + "src": "1621:13:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "1579:55:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "id": 15665, + "nodeType": "ExpressionStatement", + "src": "1579:55:58" + } + ] + }, + "documentation": null, + "id": 15667, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addSpecialProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15595, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15583, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15667, + "src": "860:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15582, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "860:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15585, + "name": "_proposer", + "nodeType": "VariableDeclaration", + "scope": 15667, + "src": "889:17:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15584, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "889:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15588, + "name": "_uintConfigs", + "nodeType": "VariableDeclaration", + "scope": 15667, + "src": "916:22:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 15586, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "916:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15587, + "length": null, + "nodeType": "ArrayTypeName", + "src": "916:9:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15591, + "name": "_addressConfigs", + "nodeType": "VariableDeclaration", + "scope": 15667, + "src": "948:25:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 15589, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "948:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 15590, + "length": null, + "nodeType": "ArrayTypeName", + "src": "948:9:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15594, + "name": "_bytesConfigs", + "nodeType": "VariableDeclaration", + "scope": 15667, + "src": "983:23:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 15592, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "983:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 15593, + "length": null, + "nodeType": "ArrayTypeName", + "src": "983:9:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "850:162:58" + }, + "payable": false, + "returnParameters": { + "id": 15596, + "nodeType": "ParameterList", + "parameters": [], + "src": "1032:0:58" + }, + "scope": 16029, + "src": "823:818:58", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15709, + "nodeType": "Block", + "src": "1879:254:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 15685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15680, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15672, + "src": "1889:3:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15681, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "1895:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15683, + "indexExpression": { + "argumentTypes": null, + "id": 15682, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15669, + "src": "1909:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1895:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15684, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 8442, + "src": "1895:37:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1889:43:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 15686, + "nodeType": "ExpressionStatement", + "src": "1889:43:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15687, + "name": "_proposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15674, + "src": "1942:9:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15688, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "1954:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15690, + "indexExpression": { + "argumentTypes": null, + "id": 15689, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15669, + "src": "1968:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1954:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15691, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 8457, + "src": "1954:35:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1942:47:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 15693, + "nodeType": "ExpressionStatement", + "src": "1942:47:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15694, + "name": "_timeCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15676, + "src": "1999:12:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15695, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "2014:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15697, + "indexExpression": { + "argumentTypes": null, + "id": 15696, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15669, + "src": "2028:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2014:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15698, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "timeCreated", + "nodeType": "MemberAccess", + "referencedDeclaration": 8444, + "src": "2014:38:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1999:53:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15700, + "nodeType": "ExpressionStatement", + "src": "1999:53:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15701, + "name": "_timeVotingStarted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15678, + "src": "2062:18:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15702, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "2083:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15704, + "indexExpression": { + "argumentTypes": null, + "id": 15703, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15669, + "src": "2097:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2083:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15705, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "2083:33:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 15706, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "2083:43:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2062:64:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15708, + "nodeType": "ExpressionStatement", + "src": "2062:64:58" + } + ] + }, + "documentation": null, + "id": 15710, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15670, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15669, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15710, + "src": "1669:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15668, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1669:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1668:21:58" + }, + "payable": false, + "returnParameters": { + "id": 15679, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15672, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 15710, + "src": "1748:11:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15671, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1748:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15674, + "name": "_proposer", + "nodeType": "VariableDeclaration", + "scope": 15710, + "src": "1773:17:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15673, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1773:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15676, + "name": "_timeCreated", + "nodeType": "VariableDeclaration", + "scope": 15710, + "src": "1804:20:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15675, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1804:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15678, + "name": "_timeVotingStarted", + "nodeType": "VariableDeclaration", + "scope": 15710, + "src": "1838:26:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15677, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1838:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1734:140:58" + }, + "scope": 16029, + "src": "1647:486:58", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15724, + "nodeType": "Block", + "src": "2258:64:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 15722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15717, + "name": "_proposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15715, + "src": "2268:9:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15718, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "2280:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15720, + "indexExpression": { + "argumentTypes": null, + "id": 15719, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15712, + "src": "2294:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2280:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15721, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 8457, + "src": "2280:35:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2268:47:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 15723, + "nodeType": "ExpressionStatement", + "src": "2268:47:58" + } + ] + }, + "documentation": null, + "id": 15725, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalProposer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15713, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15712, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15725, + "src": "2169:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15711, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2169:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2168:21:58" + }, + "payable": false, + "returnParameters": { + "id": 15716, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15715, + "name": "_proposer", + "nodeType": "VariableDeclaration", + "scope": 15725, + "src": "2235:17:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15714, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2235:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2234:19:58" + }, + "scope": 16029, + "src": "2139:183:58", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15760, + "nodeType": "Block", + "src": "2562:204:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 15744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15739, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15731, + "src": "2572:12:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15740, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "2587:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15742, + "indexExpression": { + "argumentTypes": null, + "id": 15741, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15727, + "src": "2601:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2587:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15743, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "uintConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 8449, + "src": "2587:38:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "src": "2572:53:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 15745, + "nodeType": "ExpressionStatement", + "src": "2572:53:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15746, + "name": "_addressConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15734, + "src": "2635:15:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15747, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "2653:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15749, + "indexExpression": { + "argumentTypes": null, + "id": 15748, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15727, + "src": "2667:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2653:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15750, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "addressConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 8452, + "src": "2653:41:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "src": "2635:59:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 15752, + "nodeType": "ExpressionStatement", + "src": "2635:59:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15753, + "name": "_bytesConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15737, + "src": "2704:13:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15754, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "2720:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15756, + "indexExpression": { + "argumentTypes": null, + "id": 15755, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15727, + "src": "2734:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2720:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15757, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "bytesConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 8455, + "src": "2720:39:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "src": "2704:55:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 15759, + "nodeType": "ExpressionStatement", + "src": "2704:55:58" + } + ] + }, + "documentation": null, + "id": 15761, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readConfigs", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15728, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15727, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15761, + "src": "2349:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15726, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2349:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2348:21:58" + }, + "payable": false, + "returnParameters": { + "id": 15738, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15731, + "name": "_uintConfigs", + "nodeType": "VariableDeclaration", + "scope": 15761, + "src": "2428:29:58", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 15729, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2428:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15730, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2428:9:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15734, + "name": "_addressConfigs", + "nodeType": "VariableDeclaration", + "scope": 15761, + "src": "2471:32:58", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 15732, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2471:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 15733, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2471:9:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15737, + "name": "_bytesConfigs", + "nodeType": "VariableDeclaration", + "scope": 15761, + "src": "2517:30:58", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 15735, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2517:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 15736, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2517:9:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2414:143:58" + }, + "scope": 16029, + "src": "2328:438:58", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15786, + "nodeType": "Block", + "src": "2922:121:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 15774, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "2940:21:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 15775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2940:23:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15773, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2932:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2932:32:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15777, + "nodeType": "ExpressionStatement", + "src": "2932:32:58" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15783, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15766, + "src": "3026:9:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15778, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "2981:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15780, + "indexExpression": { + "argumentTypes": null, + "id": 15779, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15763, + "src": "2995:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2981:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15781, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "2981:33:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 15782, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 8095, + "src": "2981:44:58", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Voting_$7970_storage_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$_t_uint256_$bound_to$_t_struct$_Voting_$7970_storage_ptr_$", + "typeString": "function (struct DaoStructs.Voting storage pointer,address[] memory) view returns (uint256,uint256)" + } + }, + "id": 15784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2981:55:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "functionReturnParameters": 15772, + "id": 15785, + "nodeType": "Return", + "src": "2974:62:58" + } + ] + }, + "documentation": null, + "id": 15787, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVotingCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15767, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15763, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15787, + "src": "2797:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15762, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2797:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15766, + "name": "_allUsers", + "nodeType": "VariableDeclaration", + "scope": 15787, + "src": "2818:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 15764, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2818:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 15765, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2818:9:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2796:42:58" + }, + "payable": false, + "returnParameters": { + "id": 15772, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15769, + "name": "_for", + "nodeType": "VariableDeclaration", + "scope": 15787, + "src": "2886:12:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15768, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2886:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15771, + "name": "_against", + "nodeType": "VariableDeclaration", + "scope": 15787, + "src": "2900:16:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15770, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2900:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2885:32:58" + }, + "scope": 16029, + "src": "2772:271:58", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 15807, + "nodeType": "Block", + "src": "3159:111:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 15795, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "3177:21:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 15796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3177:23:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15794, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3169:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3169:32:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15798, + "nodeType": "ExpressionStatement", + "src": "3169:32:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15799, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15792, + "src": "3211:6:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15800, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "3220:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15802, + "indexExpression": { + "argumentTypes": null, + "id": 15801, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15789, + "src": "3234:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3220:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15803, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "3220:33:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 15804, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "3220:43:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3211:52:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15806, + "nodeType": "ExpressionStatement", + "src": "3211:52:58" + } + ] + }, + "documentation": null, + "id": 15808, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVotingTime", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15790, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15789, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15808, + "src": "3073:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15788, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3073:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3072:21:58" + }, + "payable": false, + "returnParameters": { + "id": 15793, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15792, + "name": "_start", + "nodeType": "VariableDeclaration", + "scope": 15808, + "src": "3139:14:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15791, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3139:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3138:16:58" + }, + "scope": 16029, + "src": "3049:221:58", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15833, + "nodeType": "Block", + "src": "3397:123:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15819, + "name": "CONTRACT_DAO_VOTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1306, + "src": "3425:19:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 15818, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "3415:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 15820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3415:30:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15817, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3407:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3407:39:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15822, + "nodeType": "ExpressionStatement", + "src": "3407:39:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15823, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "3456:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15825, + "indexExpression": { + "argumentTypes": null, + "id": 15824, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15810, + "src": "3470:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3456:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15826, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "3456:33:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 15827, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "commits", + "nodeType": "MemberAccess", + "referencedDeclaration": 7955, + "src": "3456:41:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$", + "typeString": "mapping(address => bytes32)" + } + }, + "id": 15829, + "indexExpression": { + "argumentTypes": null, + "id": 15828, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15814, + "src": "3498:6:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3456:49:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15830, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15812, + "src": "3508:5:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3456:57:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 15832, + "nodeType": "ExpressionStatement", + "src": "3456:57:58" + } + ] + }, + "documentation": null, + "id": 15834, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "commitVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15815, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15810, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15834, + "src": "3305:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15809, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3305:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15812, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 15834, + "src": "3334:13:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15811, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3334:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15814, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 15834, + "src": "3357:14:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15813, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3357:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3295:82:58" + }, + "payable": false, + "returnParameters": { + "id": 15816, + "nodeType": "ParameterList", + "parameters": [], + "src": "3397:0:58" + }, + "scope": 16029, + "src": "3276:244:58", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15858, + "nodeType": "Block", + "src": "3659:122:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 15844, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "3677:21:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 15845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3677:23:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15843, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3669:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3669:32:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15847, + "nodeType": "ExpressionStatement", + "src": "3669:32:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15848, + "name": "_commitHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15841, + "src": "3711:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15849, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "3725:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15851, + "indexExpression": { + "argumentTypes": null, + "id": 15850, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15836, + "src": "3739:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3725:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15852, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "3725:33:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 15853, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "commits", + "nodeType": "MemberAccess", + "referencedDeclaration": 7955, + "src": "3725:41:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$", + "typeString": "mapping(address => bytes32)" + } + }, + "id": 15855, + "indexExpression": { + "argumentTypes": null, + "id": 15854, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15838, + "src": "3767:6:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3725:49:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3711:63:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 15857, + "nodeType": "ExpressionStatement", + "src": "3711:63:58" + } + ] + }, + "documentation": null, + "id": 15859, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readComittedVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15839, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15836, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15859, + "src": "3552:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15835, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3552:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15838, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 15859, + "src": "3573:14:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15837, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3573:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3551:37:58" + }, + "payable": false, + "returnParameters": { + "id": 15842, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15841, + "name": "_commitHash", + "nodeType": "VariableDeclaration", + "scope": 15859, + "src": "3634:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15840, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3634:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3633:21:58" + }, + "scope": 16029, + "src": "3526:255:58", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15880, + "nodeType": "Block", + "src": "3865:127:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15868, + "name": "CONTRACT_DAO_SPECIAL_PROPOSAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "3893:29:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 15867, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "3883:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 15869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3883:40:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15866, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3875:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3875:49:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15871, + "nodeType": "ExpressionStatement", + "src": "3875:49:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15872, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "3934:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15874, + "indexExpression": { + "argumentTypes": null, + "id": 15873, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15861, + "src": "3948:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3934:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15875, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "3934:33:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 15876, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "3934:43:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15877, + "name": "_time", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15863, + "src": "3980:5:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3934:51:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15879, + "nodeType": "ExpressionStatement", + "src": "3934:51:58" + } + ] + }, + "documentation": null, + "id": 15881, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setVotingTime", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15864, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15861, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15881, + "src": "3810:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15860, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3810:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15863, + "name": "_time", + "nodeType": "VariableDeclaration", + "scope": 15881, + "src": "3831:13:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15862, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3831:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3809:36:58" + }, + "payable": false, + "returnParameters": { + "id": 15865, + "nodeType": "ParameterList", + "parameters": [], + "src": "3865:0:58" + }, + "scope": 16029, + "src": "3787:205:58", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15901, + "nodeType": "Block", + "src": "4108:109:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 15889, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "4126:21:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 15890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4126:23:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15888, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4118:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4118:32:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15892, + "nodeType": "ExpressionStatement", + "src": "4118:32:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15893, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15886, + "src": "4160:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15894, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "4170:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15896, + "indexExpression": { + "argumentTypes": null, + "id": 15895, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15883, + "src": "4184:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4170:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15897, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "4170:33:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 15898, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "passed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7965, + "src": "4170:40:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4160:50:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 15900, + "nodeType": "ExpressionStatement", + "src": "4160:50:58" + } + ] + }, + "documentation": null, + "id": 15902, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVotingResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15884, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15883, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15902, + "src": "4024:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15882, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4024:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4023:21:58" + }, + "payable": false, + "returnParameters": { + "id": 15887, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15886, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 15902, + "src": "4090:12:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15885, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4090:4:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4089:14:58" + }, + "scope": 16029, + "src": "3998:219:58", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15923, + "nodeType": "Block", + "src": "4294:131:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15911, + "name": "CONTRACT_DAO_SPECIAL_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1312, + "src": "4322:34:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 15910, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "4312:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 15912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4312:45:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15909, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4304:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4304:54:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15914, + "nodeType": "ExpressionStatement", + "src": "4304:54:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15915, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "4368:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15917, + "indexExpression": { + "argumentTypes": null, + "id": 15916, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15904, + "src": "4382:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4368:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15918, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "4368:33:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 15919, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "passed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7965, + "src": "4368:40:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15920, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15906, + "src": "4411:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4368:50:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 15922, + "nodeType": "ExpressionStatement", + "src": "4368:50:58" + } + ] + }, + "documentation": null, + "id": 15924, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setPass", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15907, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15904, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15924, + "src": "4240:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15903, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4240:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15906, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 15924, + "src": "4261:12:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15905, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4261:4:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4239:35:58" + }, + "payable": false, + "returnParameters": { + "id": 15908, + "nodeType": "ParameterList", + "parameters": [], + "src": "4294:0:58" + }, + "scope": 16029, + "src": "4223:202:58", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15953, + "nodeType": "Block", + "src": "4510:199:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15933, + "name": "CONTRACT_DAO_SPECIAL_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1312, + "src": "4538:34:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 15932, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "4528:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 15934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4528:45:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15931, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4520:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4520:54:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15936, + "nodeType": "ExpressionStatement", + "src": "4520:54:58" + }, + { + "assignments": [ + 15940 + ], + "declarations": [ + { + "constant": false, + "id": 15940, + "name": "_proposal", + "nodeType": "VariableDeclaration", + "scope": 15954, + "src": "4584:44:58", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage_ptr", + "typeString": "struct DaoStructs.SpecialProposal" + }, + "typeName": { + "contractScope": null, + "id": 15939, + "name": "DaoStructs.SpecialProposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8458, + "src": "4584:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage_ptr", + "typeString": "struct DaoStructs.SpecialProposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 15944, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15941, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "4631:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15943, + "indexExpression": { + "argumentTypes": null, + "id": 15942, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15926, + "src": "4645:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4631:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4584:73:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 15945, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15940, + "src": "4667:9:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage_ptr", + "typeString": "struct DaoStructs.SpecialProposal storage pointer" + } + }, + "id": 15948, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "4667:16:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 15949, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "claimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7967, + "src": "4667:24:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15950, + "name": "_claimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15928, + "src": "4694:8:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4667:35:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 15952, + "nodeType": "ExpressionStatement", + "src": "4667:35:58" + } + ] + }, + "documentation": null, + "id": 15954, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setVotingClaim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15929, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15926, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15954, + "src": "4455:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15925, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4455:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15928, + "name": "_claimed", + "nodeType": "VariableDeclaration", + "scope": 15954, + "src": "4476:13:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15927, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4476:4:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4454:36:58" + }, + "payable": false, + "returnParameters": { + "id": 15930, + "nodeType": "ParameterList", + "parameters": [], + "src": "4510:0:58" + }, + "scope": 16029, + "src": "4431:278:58", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15974, + "nodeType": "Block", + "src": "4819:111:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 15962, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "4837:21:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 15963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4837:23:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15961, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4829:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4829:32:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15965, + "nodeType": "ExpressionStatement", + "src": "4829:32:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15966, + "name": "_claimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15959, + "src": "4871:8:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15967, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "4882:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15969, + "indexExpression": { + "argumentTypes": null, + "id": 15968, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15956, + "src": "4896:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4882:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15970, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "4882:33:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 15971, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "claimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7967, + "src": "4882:41:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4871:52:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 15973, + "nodeType": "ExpressionStatement", + "src": "4871:52:58" + } + ] + }, + "documentation": null, + "id": 15975, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isClaimed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15957, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15956, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15975, + "src": "4734:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15955, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4734:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4733:21:58" + }, + "payable": false, + "returnParameters": { + "id": 15960, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15959, + "name": "_claimed", + "nodeType": "VariableDeclaration", + "scope": 15975, + "src": "4800:13:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15958, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4800:4:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4799:15:58" + }, + "scope": 16029, + "src": "4715:215:58", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15999, + "nodeType": "Block", + "src": "5069:116:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 15987, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "5087:21:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 15988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5087:23:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15986, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5079:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5079:32:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15990, + "nodeType": "ExpressionStatement", + "src": "5079:32:58" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15996, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15979, + "src": "5171:6:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15991, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "5128:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15993, + "indexExpression": { + "argumentTypes": null, + "id": 15992, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15977, + "src": "5142:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5128:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15994, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "5128:33:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 15995, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "readVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 8246, + "src": "5128:42:58", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Voting_$7970_storage_ptr_$_t_address_$returns$_t_bool_$_t_uint256_$bound_to$_t_struct$_Voting_$7970_storage_ptr_$", + "typeString": "function (struct DaoStructs.Voting storage pointer,address) view returns (bool,uint256)" + } + }, + "id": 15997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5128:50:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "functionReturnParameters": 15985, + "id": 15998, + "nodeType": "Return", + "src": "5121:57:58" + } + ] + }, + "documentation": null, + "id": 16000, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15980, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15977, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16000, + "src": "4954:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15976, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4954:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15979, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 16000, + "src": "4975:14:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15978, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4975:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4953:37:58" + }, + "payable": false, + "returnParameters": { + "id": 15985, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15982, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 16000, + "src": "5036:10:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15981, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5036:4:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15984, + "name": "_weight", + "nodeType": "VariableDeclaration", + "scope": 16000, + "src": "5048:15:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15983, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5048:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5035:29:58" + }, + "scope": 16029, + "src": "4936:249:58", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16027, + "nodeType": "Block", + "src": "5334:134:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16013, + "name": "CONTRACT_DAO_VOTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1306, + "src": "5362:19:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 16012, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "5352:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 16014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5352:30:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16011, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5344:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5344:39:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16016, + "nodeType": "ExpressionStatement", + "src": "5344:39:58" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16022, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16004, + "src": "5438:6:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 16023, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16006, + "src": "5446:5:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 16024, + "name": "_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16008, + "src": "5453:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16017, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "5393:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 16019, + "indexExpression": { + "argumentTypes": null, + "id": 16018, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16002, + "src": "5407:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5393:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 16020, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "5393:33:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 16021, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 8278, + "src": "5393:44:58", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Voting_$7970_storage_ptr_$_t_address_$_t_bool_$_t_uint256_$returns$__$bound_to$_t_struct$_Voting_$7970_storage_ptr_$", + "typeString": "function (struct DaoStructs.Voting storage pointer,address,bool,uint256)" + } + }, + "id": 16025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5393:68:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16026, + "nodeType": "ExpressionStatement", + "src": "5393:68:58" + } + ] + }, + "documentation": null, + "id": 16028, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "revealVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16009, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16002, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16028, + "src": "5220:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16001, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5220:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16004, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 16028, + "src": "5249:14:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16003, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5249:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16006, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 16028, + "src": "5273:10:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16005, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5273:4:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16008, + "name": "_weight", + "nodeType": "VariableDeclaration", + "scope": 16028, + "src": "5293:15:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16007, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5293:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5210:104:58" + }, + "payable": false, + "returnParameters": { + "id": 16010, + "nodeType": "ParameterList", + "parameters": [], + "src": "5334:0:58" + }, + "scope": 16029, + "src": "5191:277:58", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 16030, + "src": "217:5253:58" + } + ], + "src": "0:5471:58" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoSpecialStorage.sol", + "exportedSymbols": { + "DaoSpecialStorage": [ + 16029 + ] + }, + "id": 16030, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 15547, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:58" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "file": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "id": 15548, + "nodeType": "ImportDirective", + "scope": 16030, + "sourceUnit": 25547, + "src": "26:72:58", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoWhitelistingCommon.sol", + "file": "../common/DaoWhitelistingCommon.sol", + "id": 15549, + "nodeType": "ImportDirective", + "scope": 16030, + "sourceUnit": 1820, + "src": "99:45:58", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoStructs.sol", + "file": "../lib/DaoStructs.sol", + "id": 15550, + "nodeType": "ImportDirective", + "scope": 16030, + "sourceUnit": 8492, + "src": "145:31:58", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoWhitelistingStorage.sol", + "file": "./DaoWhitelistingStorage.sol", + "id": 15551, + "nodeType": "ImportDirective", + "scope": 16030, + "sourceUnit": 18441, + "src": "177:38:58", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 15552, + "name": "DaoWhitelistingCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1819, + "src": "247:21:58", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingCommon_$1819", + "typeString": "contract DaoWhitelistingCommon" + } + }, + "id": 15553, + "nodeType": "InheritanceSpecifier", + "src": "247:21:58" + } + ], + "contractDependencies": [ + 1580, + 1819, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 16029, + "linearizedBaseContracts": [ + 16029, + 1819, + 1580, + 19058 + ], + "name": "DaoSpecialStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 15556, + "libraryName": { + "contractScope": null, + "id": 15554, + "name": "DoublyLinkedList", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25546, + "src": "281:16:58", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DoublyLinkedList_$25546", + "typeString": "library DoublyLinkedList" + } + }, + "nodeType": "UsingForDirective", + "src": "275:50:58", + "typeName": { + "contractScope": null, + "id": 15555, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "302:22:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + } + }, + { + "id": 15559, + "libraryName": { + "contractScope": null, + "id": 15557, + "name": "DaoStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8491, + "src": "336:10:58", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStructs_$8491", + "typeString": "library DaoStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "330:48:58", + "typeName": { + "contractScope": null, + "id": 15558, + "name": "DaoStructs.SpecialProposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8458, + "src": "351:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage_ptr", + "typeString": "struct DaoStructs.SpecialProposal" + } + } + }, + { + "id": 15562, + "libraryName": { + "contractScope": null, + "id": 15560, + "name": "DaoStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8491, + "src": "389:10:58", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStructs_$8491", + "typeString": "library DaoStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "383:39:58", + "typeName": { + "contractScope": null, + "id": 15561, + "name": "DaoStructs.Voting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7970, + "src": "404:17:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + } + } + }, + { + "constant": false, + "id": 15564, + "name": "proposals", + "nodeType": "VariableDeclaration", + "scope": 16029, + "src": "494:32:58", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 15563, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "494:22:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15568, + "name": "proposalsById", + "nodeType": "VariableDeclaration", + "scope": 16029, + "src": "640:61:58", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal)" + }, + "typeName": { + "id": 15567, + "keyType": { + "id": 15565, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "649:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "640:47:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal)" + }, + "valueType": { + "contractScope": null, + "id": 15566, + "name": "DaoStructs.SpecialProposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8458, + "src": "660:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage_ptr", + "typeString": "struct DaoStructs.SpecialProposal" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 15580, + "nodeType": "Block", + "src": "746:71:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15575, + "name": "CONTRACT_STORAGE_DAO_SPECIAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1363, + "src": "769:28:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 15576, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15570, + "src": "799:9:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 15574, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "764:4:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 15577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "764:45:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15573, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "756:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "756:54:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15579, + "nodeType": "ExpressionStatement", + "src": "756:54:58" + } + ] + }, + "documentation": null, + "id": 15581, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15571, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15570, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 15581, + "src": "720:17:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15569, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "720:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "719:19:58" + }, + "payable": false, + "returnParameters": { + "id": 15572, + "nodeType": "ParameterList", + "parameters": [], + "src": "746:0:58" + }, + "scope": 16029, + "src": "708:109:58", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15666, + "nodeType": "Block", + "src": "1032:609:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15599, + "name": "CONTRACT_DAO_SPECIAL_PROPOSAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "1060:29:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 15598, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "1050:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 15600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1050:40:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15597, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1042:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1042:49:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15602, + "nodeType": "ExpressionStatement", + "src": "1042:49:58" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 15615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 15609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15604, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "1121:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15606, + "indexExpression": { + "argumentTypes": null, + "id": 15605, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15583, + "src": "1135:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1121:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15607, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 8442, + "src": "1121:37:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 15608, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "1162:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1121:52:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 15610, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1120:54:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 15613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 15611, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15583, + "src": "1189:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 15612, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "1204:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1189:26:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 15614, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1188:28:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1120:96:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15603, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1101:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1101:125:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15617, + "nodeType": "ExpressionStatement", + "src": "1101:125:58" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15621, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15583, + "src": "1253:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 15618, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15564, + "src": "1236:9:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 15620, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "1236:16:58", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 15622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1236:29:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 15623, + "nodeType": "ExpressionStatement", + "src": "1236:29:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15624, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "1275:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15626, + "indexExpression": { + "argumentTypes": null, + "id": 15625, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15583, + "src": "1289:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1275:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15627, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "proposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 8442, + "src": "1275:37:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15628, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15583, + "src": "1315:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1275:51:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 15630, + "nodeType": "ExpressionStatement", + "src": "1275:51:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15631, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "1336:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15633, + "indexExpression": { + "argumentTypes": null, + "id": 15632, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15583, + "src": "1350:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1336:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15634, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "proposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 8457, + "src": "1336:35:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15635, + "name": "_proposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15585, + "src": "1374:9:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1336:47:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 15637, + "nodeType": "ExpressionStatement", + "src": "1336:47:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15638, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "1393:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15640, + "indexExpression": { + "argumentTypes": null, + "id": 15639, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15583, + "src": "1407:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1393:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15641, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "timeCreated", + "nodeType": "MemberAccess", + "referencedDeclaration": 8444, + "src": "1393:38:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15642, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "1434:3:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1393:44:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15644, + "nodeType": "ExpressionStatement", + "src": "1393:44:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15645, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "1447:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15647, + "indexExpression": { + "argumentTypes": null, + "id": 15646, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15583, + "src": "1461:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1447:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15648, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "uintConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 8449, + "src": "1447:38:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15649, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15588, + "src": "1488:12:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "1447:53:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 15651, + "nodeType": "ExpressionStatement", + "src": "1447:53:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15652, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "1510:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15654, + "indexExpression": { + "argumentTypes": null, + "id": 15653, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15583, + "src": "1524:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1510:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15655, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "addressConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 8452, + "src": "1510:41:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15656, + "name": "_addressConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15591, + "src": "1554:15:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "1510:59:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 15658, + "nodeType": "ExpressionStatement", + "src": "1510:59:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15659, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "1579:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15661, + "indexExpression": { + "argumentTypes": null, + "id": 15660, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15583, + "src": "1593:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1579:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15662, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "bytesConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 8455, + "src": "1579:39:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15663, + "name": "_bytesConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15594, + "src": "1621:13:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "1579:55:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "id": 15665, + "nodeType": "ExpressionStatement", + "src": "1579:55:58" + } + ] + }, + "documentation": null, + "id": 15667, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addSpecialProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15595, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15583, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15667, + "src": "860:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15582, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "860:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15585, + "name": "_proposer", + "nodeType": "VariableDeclaration", + "scope": 15667, + "src": "889:17:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15584, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "889:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15588, + "name": "_uintConfigs", + "nodeType": "VariableDeclaration", + "scope": 15667, + "src": "916:22:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 15586, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "916:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15587, + "length": null, + "nodeType": "ArrayTypeName", + "src": "916:9:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15591, + "name": "_addressConfigs", + "nodeType": "VariableDeclaration", + "scope": 15667, + "src": "948:25:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 15589, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "948:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 15590, + "length": null, + "nodeType": "ArrayTypeName", + "src": "948:9:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15594, + "name": "_bytesConfigs", + "nodeType": "VariableDeclaration", + "scope": 15667, + "src": "983:23:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 15592, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "983:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 15593, + "length": null, + "nodeType": "ArrayTypeName", + "src": "983:9:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "850:162:58" + }, + "payable": false, + "returnParameters": { + "id": 15596, + "nodeType": "ParameterList", + "parameters": [], + "src": "1032:0:58" + }, + "scope": 16029, + "src": "823:818:58", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15709, + "nodeType": "Block", + "src": "1879:254:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 15685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15680, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15672, + "src": "1889:3:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15681, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "1895:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15683, + "indexExpression": { + "argumentTypes": null, + "id": 15682, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15669, + "src": "1909:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1895:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15684, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 8442, + "src": "1895:37:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1889:43:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 15686, + "nodeType": "ExpressionStatement", + "src": "1889:43:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15687, + "name": "_proposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15674, + "src": "1942:9:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15688, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "1954:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15690, + "indexExpression": { + "argumentTypes": null, + "id": 15689, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15669, + "src": "1968:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1954:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15691, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 8457, + "src": "1954:35:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1942:47:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 15693, + "nodeType": "ExpressionStatement", + "src": "1942:47:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15694, + "name": "_timeCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15676, + "src": "1999:12:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15695, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "2014:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15697, + "indexExpression": { + "argumentTypes": null, + "id": 15696, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15669, + "src": "2028:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2014:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15698, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "timeCreated", + "nodeType": "MemberAccess", + "referencedDeclaration": 8444, + "src": "2014:38:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1999:53:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15700, + "nodeType": "ExpressionStatement", + "src": "1999:53:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15701, + "name": "_timeVotingStarted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15678, + "src": "2062:18:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15702, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "2083:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15704, + "indexExpression": { + "argumentTypes": null, + "id": 15703, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15669, + "src": "2097:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2083:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15705, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "2083:33:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 15706, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "2083:43:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2062:64:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15708, + "nodeType": "ExpressionStatement", + "src": "2062:64:58" + } + ] + }, + "documentation": null, + "id": 15710, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15670, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15669, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15710, + "src": "1669:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15668, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1669:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1668:21:58" + }, + "payable": false, + "returnParameters": { + "id": 15679, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15672, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 15710, + "src": "1748:11:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15671, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1748:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15674, + "name": "_proposer", + "nodeType": "VariableDeclaration", + "scope": 15710, + "src": "1773:17:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15673, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1773:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15676, + "name": "_timeCreated", + "nodeType": "VariableDeclaration", + "scope": 15710, + "src": "1804:20:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15675, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1804:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15678, + "name": "_timeVotingStarted", + "nodeType": "VariableDeclaration", + "scope": 15710, + "src": "1838:26:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15677, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1838:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1734:140:58" + }, + "scope": 16029, + "src": "1647:486:58", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15724, + "nodeType": "Block", + "src": "2258:64:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 15722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15717, + "name": "_proposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15715, + "src": "2268:9:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15718, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "2280:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15720, + "indexExpression": { + "argumentTypes": null, + "id": 15719, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15712, + "src": "2294:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2280:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15721, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 8457, + "src": "2280:35:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2268:47:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 15723, + "nodeType": "ExpressionStatement", + "src": "2268:47:58" + } + ] + }, + "documentation": null, + "id": 15725, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalProposer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15713, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15712, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15725, + "src": "2169:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15711, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2169:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2168:21:58" + }, + "payable": false, + "returnParameters": { + "id": 15716, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15715, + "name": "_proposer", + "nodeType": "VariableDeclaration", + "scope": 15725, + "src": "2235:17:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15714, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2235:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2234:19:58" + }, + "scope": 16029, + "src": "2139:183:58", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15760, + "nodeType": "Block", + "src": "2562:204:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 15744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15739, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15731, + "src": "2572:12:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15740, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "2587:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15742, + "indexExpression": { + "argumentTypes": null, + "id": 15741, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15727, + "src": "2601:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2587:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15743, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "uintConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 8449, + "src": "2587:38:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "src": "2572:53:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 15745, + "nodeType": "ExpressionStatement", + "src": "2572:53:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15746, + "name": "_addressConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15734, + "src": "2635:15:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15747, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "2653:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15749, + "indexExpression": { + "argumentTypes": null, + "id": 15748, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15727, + "src": "2667:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2653:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15750, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "addressConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 8452, + "src": "2653:41:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "src": "2635:59:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 15752, + "nodeType": "ExpressionStatement", + "src": "2635:59:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15753, + "name": "_bytesConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15737, + "src": "2704:13:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15754, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "2720:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15756, + "indexExpression": { + "argumentTypes": null, + "id": 15755, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15727, + "src": "2734:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2720:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15757, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "bytesConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 8455, + "src": "2720:39:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "src": "2704:55:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 15759, + "nodeType": "ExpressionStatement", + "src": "2704:55:58" + } + ] + }, + "documentation": null, + "id": 15761, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readConfigs", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15728, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15727, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15761, + "src": "2349:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15726, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2349:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2348:21:58" + }, + "payable": false, + "returnParameters": { + "id": 15738, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15731, + "name": "_uintConfigs", + "nodeType": "VariableDeclaration", + "scope": 15761, + "src": "2428:29:58", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 15729, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2428:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15730, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2428:9:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15734, + "name": "_addressConfigs", + "nodeType": "VariableDeclaration", + "scope": 15761, + "src": "2471:32:58", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 15732, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2471:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 15733, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2471:9:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15737, + "name": "_bytesConfigs", + "nodeType": "VariableDeclaration", + "scope": 15761, + "src": "2517:30:58", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 15735, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2517:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 15736, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2517:9:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2414:143:58" + }, + "scope": 16029, + "src": "2328:438:58", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15786, + "nodeType": "Block", + "src": "2922:121:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 15774, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "2940:21:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 15775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2940:23:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15773, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2932:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2932:32:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15777, + "nodeType": "ExpressionStatement", + "src": "2932:32:58" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15783, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15766, + "src": "3026:9:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15778, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "2981:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15780, + "indexExpression": { + "argumentTypes": null, + "id": 15779, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15763, + "src": "2995:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2981:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15781, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "2981:33:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 15782, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 8095, + "src": "2981:44:58", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Voting_$7970_storage_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$_t_uint256_$bound_to$_t_struct$_Voting_$7970_storage_ptr_$", + "typeString": "function (struct DaoStructs.Voting storage pointer,address[] memory) view returns (uint256,uint256)" + } + }, + "id": 15784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2981:55:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "functionReturnParameters": 15772, + "id": 15785, + "nodeType": "Return", + "src": "2974:62:58" + } + ] + }, + "documentation": null, + "id": 15787, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVotingCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15767, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15763, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15787, + "src": "2797:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15762, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2797:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15766, + "name": "_allUsers", + "nodeType": "VariableDeclaration", + "scope": 15787, + "src": "2818:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 15764, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2818:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 15765, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2818:9:58", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2796:42:58" + }, + "payable": false, + "returnParameters": { + "id": 15772, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15769, + "name": "_for", + "nodeType": "VariableDeclaration", + "scope": 15787, + "src": "2886:12:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15768, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2886:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15771, + "name": "_against", + "nodeType": "VariableDeclaration", + "scope": 15787, + "src": "2900:16:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15770, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2900:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2885:32:58" + }, + "scope": 16029, + "src": "2772:271:58", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 15807, + "nodeType": "Block", + "src": "3159:111:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 15795, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "3177:21:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 15796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3177:23:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15794, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3169:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3169:32:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15798, + "nodeType": "ExpressionStatement", + "src": "3169:32:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15799, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15792, + "src": "3211:6:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15800, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "3220:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15802, + "indexExpression": { + "argumentTypes": null, + "id": 15801, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15789, + "src": "3234:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3220:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15803, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "3220:33:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 15804, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "3220:43:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3211:52:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15806, + "nodeType": "ExpressionStatement", + "src": "3211:52:58" + } + ] + }, + "documentation": null, + "id": 15808, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVotingTime", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15790, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15789, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15808, + "src": "3073:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15788, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3073:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3072:21:58" + }, + "payable": false, + "returnParameters": { + "id": 15793, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15792, + "name": "_start", + "nodeType": "VariableDeclaration", + "scope": 15808, + "src": "3139:14:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15791, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3139:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3138:16:58" + }, + "scope": 16029, + "src": "3049:221:58", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15833, + "nodeType": "Block", + "src": "3397:123:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15819, + "name": "CONTRACT_DAO_VOTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1306, + "src": "3425:19:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 15818, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "3415:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 15820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3415:30:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15817, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3407:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3407:39:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15822, + "nodeType": "ExpressionStatement", + "src": "3407:39:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15823, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "3456:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15825, + "indexExpression": { + "argumentTypes": null, + "id": 15824, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15810, + "src": "3470:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3456:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15826, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "3456:33:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 15827, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "commits", + "nodeType": "MemberAccess", + "referencedDeclaration": 7955, + "src": "3456:41:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$", + "typeString": "mapping(address => bytes32)" + } + }, + "id": 15829, + "indexExpression": { + "argumentTypes": null, + "id": 15828, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15814, + "src": "3498:6:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3456:49:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15830, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15812, + "src": "3508:5:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3456:57:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 15832, + "nodeType": "ExpressionStatement", + "src": "3456:57:58" + } + ] + }, + "documentation": null, + "id": 15834, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "commitVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15815, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15810, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15834, + "src": "3305:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15809, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3305:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15812, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 15834, + "src": "3334:13:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15811, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3334:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15814, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 15834, + "src": "3357:14:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15813, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3357:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3295:82:58" + }, + "payable": false, + "returnParameters": { + "id": 15816, + "nodeType": "ParameterList", + "parameters": [], + "src": "3397:0:58" + }, + "scope": 16029, + "src": "3276:244:58", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15858, + "nodeType": "Block", + "src": "3659:122:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 15844, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "3677:21:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 15845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3677:23:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15843, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3669:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3669:32:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15847, + "nodeType": "ExpressionStatement", + "src": "3669:32:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15848, + "name": "_commitHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15841, + "src": "3711:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15849, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "3725:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15851, + "indexExpression": { + "argumentTypes": null, + "id": 15850, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15836, + "src": "3739:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3725:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15852, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "3725:33:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 15853, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "commits", + "nodeType": "MemberAccess", + "referencedDeclaration": 7955, + "src": "3725:41:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$", + "typeString": "mapping(address => bytes32)" + } + }, + "id": 15855, + "indexExpression": { + "argumentTypes": null, + "id": 15854, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15838, + "src": "3767:6:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3725:49:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3711:63:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 15857, + "nodeType": "ExpressionStatement", + "src": "3711:63:58" + } + ] + }, + "documentation": null, + "id": 15859, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readComittedVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15839, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15836, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15859, + "src": "3552:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15835, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3552:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15838, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 15859, + "src": "3573:14:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15837, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3573:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3551:37:58" + }, + "payable": false, + "returnParameters": { + "id": 15842, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15841, + "name": "_commitHash", + "nodeType": "VariableDeclaration", + "scope": 15859, + "src": "3634:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15840, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3634:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3633:21:58" + }, + "scope": 16029, + "src": "3526:255:58", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15880, + "nodeType": "Block", + "src": "3865:127:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15868, + "name": "CONTRACT_DAO_SPECIAL_PROPOSAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1300, + "src": "3893:29:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 15867, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "3883:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 15869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3883:40:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15866, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3875:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3875:49:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15871, + "nodeType": "ExpressionStatement", + "src": "3875:49:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15872, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "3934:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15874, + "indexExpression": { + "argumentTypes": null, + "id": 15873, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15861, + "src": "3948:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3934:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15875, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "3934:33:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 15876, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "3934:43:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15877, + "name": "_time", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15863, + "src": "3980:5:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3934:51:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 15879, + "nodeType": "ExpressionStatement", + "src": "3934:51:58" + } + ] + }, + "documentation": null, + "id": 15881, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setVotingTime", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15864, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15861, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15881, + "src": "3810:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15860, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3810:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15863, + "name": "_time", + "nodeType": "VariableDeclaration", + "scope": 15881, + "src": "3831:13:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15862, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3831:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3809:36:58" + }, + "payable": false, + "returnParameters": { + "id": 15865, + "nodeType": "ParameterList", + "parameters": [], + "src": "3865:0:58" + }, + "scope": 16029, + "src": "3787:205:58", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15901, + "nodeType": "Block", + "src": "4108:109:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 15889, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "4126:21:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 15890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4126:23:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15888, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4118:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4118:32:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15892, + "nodeType": "ExpressionStatement", + "src": "4118:32:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15893, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15886, + "src": "4160:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15894, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "4170:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15896, + "indexExpression": { + "argumentTypes": null, + "id": 15895, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15883, + "src": "4184:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4170:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15897, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "4170:33:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 15898, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "passed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7965, + "src": "4170:40:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4160:50:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 15900, + "nodeType": "ExpressionStatement", + "src": "4160:50:58" + } + ] + }, + "documentation": null, + "id": 15902, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVotingResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15884, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15883, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15902, + "src": "4024:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15882, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4024:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4023:21:58" + }, + "payable": false, + "returnParameters": { + "id": 15887, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15886, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 15902, + "src": "4090:12:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15885, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4090:4:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4089:14:58" + }, + "scope": 16029, + "src": "3998:219:58", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15923, + "nodeType": "Block", + "src": "4294:131:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15911, + "name": "CONTRACT_DAO_SPECIAL_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1312, + "src": "4322:34:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 15910, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "4312:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 15912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4312:45:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15909, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4304:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4304:54:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15914, + "nodeType": "ExpressionStatement", + "src": "4304:54:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15915, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "4368:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15917, + "indexExpression": { + "argumentTypes": null, + "id": 15916, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15904, + "src": "4382:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4368:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15918, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "4368:33:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 15919, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "passed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7965, + "src": "4368:40:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15920, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15906, + "src": "4411:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4368:50:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 15922, + "nodeType": "ExpressionStatement", + "src": "4368:50:58" + } + ] + }, + "documentation": null, + "id": 15924, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setPass", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15907, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15904, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15924, + "src": "4240:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15903, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4240:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15906, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 15924, + "src": "4261:12:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15905, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4261:4:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4239:35:58" + }, + "payable": false, + "returnParameters": { + "id": 15908, + "nodeType": "ParameterList", + "parameters": [], + "src": "4294:0:58" + }, + "scope": 16029, + "src": "4223:202:58", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15953, + "nodeType": "Block", + "src": "4510:199:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15933, + "name": "CONTRACT_DAO_SPECIAL_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1312, + "src": "4538:34:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 15932, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "4528:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 15934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4528:45:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15931, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4520:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4520:54:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15936, + "nodeType": "ExpressionStatement", + "src": "4520:54:58" + }, + { + "assignments": [ + 15940 + ], + "declarations": [ + { + "constant": false, + "id": 15940, + "name": "_proposal", + "nodeType": "VariableDeclaration", + "scope": 15954, + "src": "4584:44:58", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage_ptr", + "typeString": "struct DaoStructs.SpecialProposal" + }, + "typeName": { + "contractScope": null, + "id": 15939, + "name": "DaoStructs.SpecialProposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8458, + "src": "4584:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage_ptr", + "typeString": "struct DaoStructs.SpecialProposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 15944, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15941, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "4631:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15943, + "indexExpression": { + "argumentTypes": null, + "id": 15942, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15926, + "src": "4645:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4631:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4584:73:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 15945, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15940, + "src": "4667:9:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage_ptr", + "typeString": "struct DaoStructs.SpecialProposal storage pointer" + } + }, + "id": 15948, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "4667:16:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 15949, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "claimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7967, + "src": "4667:24:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 15950, + "name": "_claimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15928, + "src": "4694:8:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4667:35:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 15952, + "nodeType": "ExpressionStatement", + "src": "4667:35:58" + } + ] + }, + "documentation": null, + "id": 15954, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setVotingClaim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15929, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15926, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15954, + "src": "4455:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15925, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4455:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15928, + "name": "_claimed", + "nodeType": "VariableDeclaration", + "scope": 15954, + "src": "4476:13:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15927, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4476:4:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4454:36:58" + }, + "payable": false, + "returnParameters": { + "id": 15930, + "nodeType": "ParameterList", + "parameters": [], + "src": "4510:0:58" + }, + "scope": 16029, + "src": "4431:278:58", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15974, + "nodeType": "Block", + "src": "4819:111:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 15962, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "4837:21:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 15963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4837:23:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15961, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4829:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4829:32:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15965, + "nodeType": "ExpressionStatement", + "src": "4829:32:58" + }, + { + "expression": { + "argumentTypes": null, + "id": 15972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 15966, + "name": "_claimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15959, + "src": "4871:8:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15967, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "4882:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15969, + "indexExpression": { + "argumentTypes": null, + "id": 15968, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15956, + "src": "4896:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4882:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15970, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "4882:33:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 15971, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "claimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7967, + "src": "4882:41:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4871:52:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 15973, + "nodeType": "ExpressionStatement", + "src": "4871:52:58" + } + ] + }, + "documentation": null, + "id": 15975, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isClaimed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15957, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15956, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 15975, + "src": "4734:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15955, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4734:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4733:21:58" + }, + "payable": false, + "returnParameters": { + "id": 15960, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15959, + "name": "_claimed", + "nodeType": "VariableDeclaration", + "scope": 15975, + "src": "4800:13:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15958, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4800:4:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4799:15:58" + }, + "scope": 16029, + "src": "4715:215:58", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 15999, + "nodeType": "Block", + "src": "5069:116:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 15987, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "5087:21:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 15988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5087:23:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 15986, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5079:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 15989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5079:32:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 15990, + "nodeType": "ExpressionStatement", + "src": "5079:32:58" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 15996, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15979, + "src": "5171:6:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 15991, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "5128:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 15993, + "indexExpression": { + "argumentTypes": null, + "id": 15992, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15977, + "src": "5142:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5128:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 15994, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "5128:33:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 15995, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "readVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 8246, + "src": "5128:42:58", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Voting_$7970_storage_ptr_$_t_address_$returns$_t_bool_$_t_uint256_$bound_to$_t_struct$_Voting_$7970_storage_ptr_$", + "typeString": "function (struct DaoStructs.Voting storage pointer,address) view returns (bool,uint256)" + } + }, + "id": 15997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5128:50:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "functionReturnParameters": 15985, + "id": 15998, + "nodeType": "Return", + "src": "5121:57:58" + } + ] + }, + "documentation": null, + "id": 16000, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15980, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15977, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16000, + "src": "4954:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15976, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4954:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15979, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 16000, + "src": "4975:14:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15978, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4975:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4953:37:58" + }, + "payable": false, + "returnParameters": { + "id": 15985, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15982, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 16000, + "src": "5036:10:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 15981, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5036:4:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 15984, + "name": "_weight", + "nodeType": "VariableDeclaration", + "scope": 16000, + "src": "5048:15:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 15983, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5048:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5035:29:58" + }, + "scope": 16029, + "src": "4936:249:58", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16027, + "nodeType": "Block", + "src": "5334:134:58", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16013, + "name": "CONTRACT_DAO_VOTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1306, + "src": "5362:19:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 16012, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "5352:9:58", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 16014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5352:30:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16011, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5344:7:58", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5344:39:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16016, + "nodeType": "ExpressionStatement", + "src": "5344:39:58" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16022, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16004, + "src": "5438:6:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 16023, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16006, + "src": "5446:5:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 16024, + "name": "_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16008, + "src": "5453:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16017, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "5393:13:58", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 16019, + "indexExpression": { + "argumentTypes": null, + "id": 16018, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16002, + "src": "5407:11:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5393:26:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 16020, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "5393:33:58", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 16021, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 8278, + "src": "5393:44:58", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Voting_$7970_storage_ptr_$_t_address_$_t_bool_$_t_uint256_$returns$__$bound_to$_t_struct$_Voting_$7970_storage_ptr_$", + "typeString": "function (struct DaoStructs.Voting storage pointer,address,bool,uint256)" + } + }, + "id": 16025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5393:68:58", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16026, + "nodeType": "ExpressionStatement", + "src": "5393:68:58" + } + ] + }, + "documentation": null, + "id": 16028, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "revealVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16009, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16002, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16028, + "src": "5220:19:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16001, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5220:7:58", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16004, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 16028, + "src": "5249:14:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16003, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5249:7:58", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16006, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 16028, + "src": "5273:10:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16005, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5273:4:58", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16008, + "name": "_weight", + "nodeType": "VariableDeclaration", + "scope": 16028, + "src": "5293:15:58", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16007, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5293:7:58", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5210:104:58" + }, + "payable": false, + "returnParameters": { + "id": 16010, + "nodeType": "ParameterList", + "parameters": [], + "src": "5334:0:58" + }, + "scope": 16029, + "src": "5191:277:58", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 16030, + "src": "217:5253:58" + } + ], + "src": "0:5471:58" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": { + "DaoStructs": "0xfbee614dcfa54c561e532eff217c2e0c63dcd64f", + "DoublyLinkedList": "0x5dcbac109092766a169a82b9add3551bac7068f6" + }, + "address": "0x64bddd88bda7b27a11f26ab10d41954f89321425", + "transactionHash": "0xfd81ac9fc8f7739ece48177c531c44d7f9083b16dc26cb2b832271adb6e25a02" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T09:18:32.972Z" +} \ No newline at end of file diff --git a/build/contracts/DaoSpecialStorageInterface.json b/build/contracts/DaoSpecialStorageInterface.json new file mode 100644 index 0000000..4138d3e --- /dev/null +++ b/build/contracts/DaoSpecialStorageInterface.json @@ -0,0 +1,638 @@ +{ + "contractName": "DaoSpecialStorageInterface", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + }, + { + "name": "", + "type": "address" + } + ], + "name": "readComittedVote", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + }, + { + "name": "", + "type": "address" + } + ], + "name": "readVote", + "outputs": [ + { + "name": "", + "type": "bool" + }, + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.4.25;\n\ncontract DaoSpecialStorageInterface {\n function readComittedVote(bytes32, address) public view returns (bytes32);\n function readVote(bytes32, address) public view returns (bool, uint256);\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/mock/interface/DaoSpecialStorageInterface.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/interface/DaoSpecialStorageInterface.sol", + "exportedSymbols": { + "DaoSpecialStorageInterface": [ + 9338 + ] + }, + "id": 9339, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9317, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:35" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 9338, + "linearizedBaseContracts": [ + 9338 + ], + "name": "DaoSpecialStorageInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 9326, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readComittedVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9322, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9319, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9326, + "src": "94:7:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9318, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "94:7:35", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9321, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9326, + "src": "103:7:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9320, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "103:7:35", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "93:18:35" + }, + "payable": false, + "returnParameters": { + "id": 9325, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9324, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9326, + "src": "133:7:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9323, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "133:7:35", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "132:9:35" + }, + "scope": 9338, + "src": "68:74:35", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 9337, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9328, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9337, + "src": "165:7:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9327, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "165:7:35", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9330, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9337, + "src": "174:7:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9329, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "174:7:35", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "164:18:35" + }, + "payable": false, + "returnParameters": { + "id": 9336, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9333, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9337, + "src": "204:4:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9332, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "204:4:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9335, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9337, + "src": "210:7:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9334, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "210:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "203:15:35" + }, + "scope": 9338, + "src": "147:72:35", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 9339, + "src": "26:195:35" + } + ], + "src": "0:222:35" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/interface/DaoSpecialStorageInterface.sol", + "exportedSymbols": { + "DaoSpecialStorageInterface": [ + 9338 + ] + }, + "id": 9339, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9317, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:35" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 9338, + "linearizedBaseContracts": [ + 9338 + ], + "name": "DaoSpecialStorageInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 9326, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readComittedVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9322, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9319, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9326, + "src": "94:7:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9318, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "94:7:35", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9321, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9326, + "src": "103:7:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9320, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "103:7:35", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "93:18:35" + }, + "payable": false, + "returnParameters": { + "id": 9325, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9324, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9326, + "src": "133:7:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9323, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "133:7:35", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "132:9:35" + }, + "scope": 9338, + "src": "68:74:35", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 9337, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9328, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9337, + "src": "165:7:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9327, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "165:7:35", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9330, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9337, + "src": "174:7:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9329, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "174:7:35", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "164:18:35" + }, + "payable": false, + "returnParameters": { + "id": 9336, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9333, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9337, + "src": "204:4:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9332, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "204:4:35", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9335, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9337, + "src": "210:7:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9334, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "210:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "203:15:35" + }, + "scope": 9338, + "src": "147:72:35", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 9339, + "src": "26:195:35" + } + ], + "src": "0:222:35" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.867Z" +} \ No newline at end of file diff --git a/build/contracts/DaoSpecialVotingClaims.json b/build/contracts/DaoSpecialVotingClaims.json new file mode 100644 index 0000000..d8ad040 --- /dev/null +++ b/build/contracts/DaoSpecialVotingClaims.json @@ -0,0 +1,10048 @@ +{ + "contractName": "DaoSpecialVotingClaims", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getAddressConfig", + "outputs": [ + { + "name": "_configValue", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentTimeInQuarter", + "outputs": [ + { + "name": "_currentT", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isMainPhase", + "outputs": [ + { + "name": "_isMainPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isLockingPhase", + "outputs": [ + { + "name": "_isLockingPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentQuarterNumber", + "outputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isParticipant", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getBytesConfig", + "outputs": [ + { + "name": "_configValue", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getUintConfig", + "outputs": [ + { + "name": "_configValue", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isDaoNotReplaced", + "outputs": [ + { + "name": "_isNotReplaced", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isModerator", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": false, + "name": "_result", + "type": "bool" + } + ], + "name": "SpecialProposalClaim", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_operations", + "type": "uint256" + } + ], + "name": "claimSpecialProposalVotingResult", + "outputs": [ + { + "name": "_passed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b506040516020806200385983398101806040528101908080519060200190929190505050620011756019548262001188640100000000026401000000009004565b15156200118157600080fd5b5062001419565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f057600080fd5b505af115801562001205573d6000803e3d6000fd5b505050506040513d60208110156200121c57600080fd5b810190808051906020019092919050505090506000151581151514156200140d5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013ba57600080fd5b505af1158015620013cf573d6000803e3d6000fd5b505050506040513d6020811015620013e657600080fd5b810190808051906020019092919050505015156200140357600080fd5b6001915062001412565b600091505b5092915050565b61243080620014296000396000f3006080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100e05780631d8ccd04146101375780633943380c146101a85780633f83acff146101db578063560a25ea1461024c5780635932470b1461027757806368533060146102ca5780637d6fed80146102f95780637f6a26b614610328578063929066f51461035357806393ddad08146103ae578063b1e2b9dd146103fb578063d70d935814610440578063db4ecbc11461046f578063fa6f3936146104c6575b600080fd5b3480156100ec57600080fd5b506100f5610521565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014357600080fd5b506101666004803603810190808035600019169060200190929190505050610546565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101b457600080fd5b506101bd610608565b60405180826000191660001916815260200191505060405180910390f35b3480156101e757600080fd5b5061020a600480360381019080803560001916906020019092919050505061060e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561025857600080fd5b506102616106ea565b6040518082815260200191505060405180910390f35b34801561028357600080fd5b506102b06004803603810190808035600019169060200190929190803590602001909291905050506106fa565b604051808215151515815260200191505060405180910390f35b3480156102d657600080fd5b506102df61162c565b604051808215151515815260200191505060405180910390f35b34801561030557600080fd5b5061030e611658565b604051808215151515815260200191505060405180910390f35b34801561033457600080fd5b5061033d611673565b6040518082815260200191505060405180910390f35b34801561035f57600080fd5b50610394600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611683565b604051808215151515815260200191505060405180910390f35b3480156103ba57600080fd5b506103dd6004803603810190808035600019169060200190929190505050611864565b60405180826000191660001916815260200191505060405180910390f35b34801561040757600080fd5b5061042a6004803603810190808035600019169060200190929190505050611926565b6040518082815260200191505060405180910390f35b34801561044c57600080fd5b506104556119e8565b604051808215151515815260200191505060405180910390f35b34801561047b57600080fd5b50610484611a96565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104d257600080fd5b50610507600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611abc565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610550611d8f565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156105c657600080fd5b505af11580156105da573d6000803e3d6000fd5b505050506040513d60208110156105f057600080fd5b81019080805190602001909291905050509050919050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156106a857600080fd5b505af11580156106bc573d6000803e3d6000fd5b505050506040513d60208110156106d257600080fd5b81019080805190602001909291905050509050919050565b60006106f542611da1565b905090565b60006107046123ab565b606060006107106123ea565b866000151561071d611e8a565b73ffffffffffffffffffffffffffffffffffffffff1663b89c3952836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561079357600080fd5b505af11580156107a7573d6000803e3d6000fd5b505050506040513d60208110156107bd57600080fd5b810190808051906020019092919050505015151415156107dc57600080fd5b8760006107e7611e8a565b73ffffffffffffffffffffffffffffffffffffffff16638839a29d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561085d57600080fd5b505af1158015610871573d6000803e3d6000fd5b505050506040513d602081101561088757600080fd5b810190808051906020019092919050505090506000811115156108a957600080fd5b6108b4605954611926565b6108c78242611e9c90919063ffffffff16565b101515156108d457600080fd5b6108dc61162c565b15156108e757600080fd5b6109d86108f5606954611926565b6109ca610903605954611926565b61090b611e8a565b73ffffffffffffffffffffffffffffffffffffffff16638839a29d8f6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561098157600080fd5b505af1158015610995573d6000803e3d6000fd5b505050506040513d60208110156109ab57600080fd5b8101908080519060200190929190505050611eb590919063ffffffff16565b611eb590919063ffffffff16565b421115610a8b576109e7611e8a565b73ffffffffffffffffffffffffffffffffffffffff16630d92dfb28b60006040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b158015610a6a57600080fd5b505af1158015610a7e573d6000803e3d6000fd5b505050506000975061161f565b610a93611e8a565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb68b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610b0957600080fd5b505af1158015610b1d573d6000803e3d6000fd5b505050506040513d6020811015610b3357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b7d57600080fd5b6000891415610b8f576000975061161f565b610b97611ed1565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b158015610c0d57600080fd5b505af1158015610c21573d6000803e3d6000fd5b505050506040513d6080811015610c3757600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505050896060018a6000018b60200183815250838152508373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16876060015173ffffffffffffffffffffffffffffffffffffffff161415610e2357610d10611ee3565b73ffffffffffffffffffffffffffffffffffffffff1663f4f9fadc8a60016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b158015610d8b57600080fd5b505af1158015610d9f573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015610dc957600080fd5b810190808051640100000000811115610de157600080fd5b82810190506020810184811115610df757600080fd5b8151856020820283011164010000000082111715610e1457600080fd5b50509291905050509550610f72565b610e2b611ee3565b73ffffffffffffffffffffffffffffffffffffffff166396fe8e6588606001518b60016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015610ede57600080fd5b505af1158015610ef2573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015610f1c57600080fd5b810190808051640100000000811115610f3457600080fd5b82810190506020810184811115610f4a57600080fd5b8151856020820283011164010000000082111715610f6757600080fd5b505092919050505095505b856001875103815181101515610f8457fe5b906020019060200201519450610f98611e8a565b73ffffffffffffffffffffffffffffffffffffffff166373758c228b886040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015611031578082015181840152602081019050611016565b5050505090500193505050506040805180830381600087803b15801561105657600080fd5b505af115801561106a573d6000803e3d6000fd5b505050506040513d604081101561108057600080fd5b81019080805190602001909291908051906020019092919050505085600001866020018281525082815250505084876060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061110084600001518860000151611eb590919063ffffffff16565b87600001818152505061112484602001518860200151611eb590919063ffffffff16565b876020018181525050611135611ef5565b73ffffffffffffffffffffffffffffffffffffffff166382624a2e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561119857600080fd5b505af11580156111ac573d6000803e3d6000fd5b505050506040513d60208110156111c257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561152e5761120e611f07565b73ffffffffffffffffffffffffffffffffffffffff16632850568f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561127157600080fd5b505af1158015611285573d6000803e3d6000fd5b505050506040513d602081101561129b57600080fd5b81019080805190602001909291905050506112c788602001518960000151611eb590919063ffffffff16565b11801561139157506112d7611f07565b73ffffffffffffffffffffffffffffffffffffffff1663a27c834c886000015189602001516040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050602060405180830381600087803b15801561135557600080fd5b505af1158015611369573d6000803e3d6000fd5b505050506040513d602081101561137f57600080fd5b81019080805190602001909291905050505b156113a457600197506113a38a611f19565b5b6113ac611e8a565b73ffffffffffffffffffffffffffffffffffffffff16630d92dfb28b8a6040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561142e57600080fd5b505af1158015611442573d6000803e3d6000fd5b5050505061144e611e8a565b73ffffffffffffffffffffffffffffffffffffffff1663d6ae87bf8b60016040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b1580156114d157600080fd5b505af11580156114e5573d6000803e3d6000fd5b5050505089600019167f46d648587884573d7eb9ac356d8a439b4e07e29d401bea0839e76769915adeee89604051808215151515815260200191505060405180910390a261161e565b611536611ed1565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c8b89606001518a600001518b6020015160006040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b15801561160557600080fd5b505af1158015611619573d6000803e3d6000fd5b505050505b5b5050505050505092915050565b60006116366119e8565b80156116535750611648603854611926565b6116506106ea565b10155b905090565b6000611665603854611926565b61166d6106ea565b10905090565b600061167e426121ac565b905090565b600061168d611673565b6116956122af565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561172f57600080fd5b505af1158015611743573d6000803e3d6000fd5b505050506040513d602081101561175957600080fd5b810190808051906020019092919050505014801561185d575061177d603554611926565b611785611ef5565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561181f57600080fd5b505af1158015611833573d6000803e3d6000fd5b505050506040513d602081101561184957600080fd5b810190808051906020019092919050505010155b9050919050565b600061186e611d8f565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156118e457600080fd5b505af11580156118f8573d6000803e3d6000fd5b505050506040513d602081101561190e57600080fd5b81019080805190602001909291905050509050919050565b6000611930611d8f565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156119a657600080fd5b505af11580156119ba573d6000803e3d6000fd5b505050506040513d60208110156119d057600080fd5b81019080805190602001909291905050509050919050565b60006119f26122c1565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611a5557600080fd5b505af1158015611a69573d6000803e3d6000fd5b505050506040513d6020811015611a7f57600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611ac6611673565b611ace6122af565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611b6857600080fd5b505af1158015611b7c573d6000803e3d6000fd5b505050506040513d6020811015611b9257600080fd5b8101908080519060200190929190505050148015611c965750611bb6603654611926565b611bbe611ef5565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611c5857600080fd5b505af1158015611c6c573d6000803e3d6000fd5b505050506040513d6020811015611c8257600080fd5b810190808051906020019092919050505010155b8015611d885750611ca8603754611926565b611cb06122d3565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611d4a57600080fd5b505af1158015611d5e573d6000803e3d6000fd5b505050506040513d6020811015611d7457600080fd5b810190808051906020019092919050505010155b9050919050565b6000611d9c602b5461060e565b905090565b6000611dab6122e5565b1515611db657600080fd5b611dc1603954611926565b611e79611dcc6122c1565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611e2f57600080fd5b505af1158015611e43573d6000803e3d6000fd5b505050506040513d6020811015611e5957600080fd5b810190808051906020019092919050505084611e9c90919063ffffffff16565b811515611e8257fe5b069050919050565b6000611e97602a5461060e565b905090565b6000828211151515611eaa57fe5b818303905092915050565b60008183019050828110151515611ec857fe5b80905092915050565b6000611ede602f5461060e565b905090565b6000611ef060235461060e565b905090565b6000611f02602c5461060e565b905090565b6000611f1460245461060e565b905090565b6060806060611f26611e8a565b73ffffffffffffffffffffffffffffffffffffffff166356ecd657856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015611f9c57600080fd5b505af1158015611fb0573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506060811015611fda57600080fd5b810190808051640100000000811115611ff257600080fd5b8281019050602081018481111561200857600080fd5b815185602082028301116401000000008211171561202557600080fd5b5050929190602001805164010000000081111561204157600080fd5b8281019050602081018481111561205757600080fd5b815185602082028301116401000000008211171561207457600080fd5b5050929190602001805164010000000081111561209057600080fd5b828101905060208101848111156120a657600080fd5b81518560208202830111640100000000821117156120c357600080fd5b50509291905050508093508194508295505050506120df611d8f565b73ffffffffffffffffffffffffffffffffffffffff1663aecbca67846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019060200280838360005b8381101561216957808201518184015260208101905061214e565b5050505090500192505050600060405180830381600087803b15801561218e57600080fd5b505af11580156121a2573d6000803e3d6000fd5b5050505050505050565b60006121b66122e5565b15156121c157600080fd5b6122a8600161229a6121d4603954611926565b61228c6121df6122c1565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561224257600080fd5b505af1158015612256573d6000803e3d6000fd5b505050506040513d602081101561226c57600080fd5b810190808051906020019092919050505087611e9c90919063ffffffff16565b61239590919063ffffffff16565b611eb590919063ffffffff16565b9050919050565b60006122bc602d5461060e565b905090565b60006122ce60275461060e565b905090565b60006122e060295461060e565b905090565b6000806122f06122c1565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561235357600080fd5b505af1158015612367573d6000803e3d6000fd5b505050506040513d602081101561237d57600080fd5b81019080805190602001909291905050501415905090565b600081838115156123a257fe5b04905092915050565b608060405190810160405280600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6040805190810160405280600081526020016000815250905600a165627a7a723058204706d231c2c6a52213767e30053f91795bbefd0359d30989fdad89547b615edd0029", + "deployedBytecode": "0x6080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100e05780631d8ccd04146101375780633943380c146101a85780633f83acff146101db578063560a25ea1461024c5780635932470b1461027757806368533060146102ca5780637d6fed80146102f95780637f6a26b614610328578063929066f51461035357806393ddad08146103ae578063b1e2b9dd146103fb578063d70d935814610440578063db4ecbc11461046f578063fa6f3936146104c6575b600080fd5b3480156100ec57600080fd5b506100f5610521565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014357600080fd5b506101666004803603810190808035600019169060200190929190505050610546565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101b457600080fd5b506101bd610608565b60405180826000191660001916815260200191505060405180910390f35b3480156101e757600080fd5b5061020a600480360381019080803560001916906020019092919050505061060e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561025857600080fd5b506102616106ea565b6040518082815260200191505060405180910390f35b34801561028357600080fd5b506102b06004803603810190808035600019169060200190929190803590602001909291905050506106fa565b604051808215151515815260200191505060405180910390f35b3480156102d657600080fd5b506102df61162c565b604051808215151515815260200191505060405180910390f35b34801561030557600080fd5b5061030e611658565b604051808215151515815260200191505060405180910390f35b34801561033457600080fd5b5061033d611673565b6040518082815260200191505060405180910390f35b34801561035f57600080fd5b50610394600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611683565b604051808215151515815260200191505060405180910390f35b3480156103ba57600080fd5b506103dd6004803603810190808035600019169060200190929190505050611864565b60405180826000191660001916815260200191505060405180910390f35b34801561040757600080fd5b5061042a6004803603810190808035600019169060200190929190505050611926565b6040518082815260200191505060405180910390f35b34801561044c57600080fd5b506104556119e8565b604051808215151515815260200191505060405180910390f35b34801561047b57600080fd5b50610484611a96565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104d257600080fd5b50610507600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611abc565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610550611d8f565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156105c657600080fd5b505af11580156105da573d6000803e3d6000fd5b505050506040513d60208110156105f057600080fd5b81019080805190602001909291905050509050919050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156106a857600080fd5b505af11580156106bc573d6000803e3d6000fd5b505050506040513d60208110156106d257600080fd5b81019080805190602001909291905050509050919050565b60006106f542611da1565b905090565b60006107046123ab565b606060006107106123ea565b866000151561071d611e8a565b73ffffffffffffffffffffffffffffffffffffffff1663b89c3952836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561079357600080fd5b505af11580156107a7573d6000803e3d6000fd5b505050506040513d60208110156107bd57600080fd5b810190808051906020019092919050505015151415156107dc57600080fd5b8760006107e7611e8a565b73ffffffffffffffffffffffffffffffffffffffff16638839a29d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561085d57600080fd5b505af1158015610871573d6000803e3d6000fd5b505050506040513d602081101561088757600080fd5b810190808051906020019092919050505090506000811115156108a957600080fd5b6108b4605954611926565b6108c78242611e9c90919063ffffffff16565b101515156108d457600080fd5b6108dc61162c565b15156108e757600080fd5b6109d86108f5606954611926565b6109ca610903605954611926565b61090b611e8a565b73ffffffffffffffffffffffffffffffffffffffff16638839a29d8f6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561098157600080fd5b505af1158015610995573d6000803e3d6000fd5b505050506040513d60208110156109ab57600080fd5b8101908080519060200190929190505050611eb590919063ffffffff16565b611eb590919063ffffffff16565b421115610a8b576109e7611e8a565b73ffffffffffffffffffffffffffffffffffffffff16630d92dfb28b60006040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b158015610a6a57600080fd5b505af1158015610a7e573d6000803e3d6000fd5b505050506000975061161f565b610a93611e8a565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb68b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610b0957600080fd5b505af1158015610b1d573d6000803e3d6000fd5b505050506040513d6020811015610b3357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b7d57600080fd5b6000891415610b8f576000975061161f565b610b97611ed1565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b158015610c0d57600080fd5b505af1158015610c21573d6000803e3d6000fd5b505050506040513d6080811015610c3757600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505050896060018a6000018b60200183815250838152508373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16876060015173ffffffffffffffffffffffffffffffffffffffff161415610e2357610d10611ee3565b73ffffffffffffffffffffffffffffffffffffffff1663f4f9fadc8a60016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b158015610d8b57600080fd5b505af1158015610d9f573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015610dc957600080fd5b810190808051640100000000811115610de157600080fd5b82810190506020810184811115610df757600080fd5b8151856020820283011164010000000082111715610e1457600080fd5b50509291905050509550610f72565b610e2b611ee3565b73ffffffffffffffffffffffffffffffffffffffff166396fe8e6588606001518b60016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015610ede57600080fd5b505af1158015610ef2573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015610f1c57600080fd5b810190808051640100000000811115610f3457600080fd5b82810190506020810184811115610f4a57600080fd5b8151856020820283011164010000000082111715610f6757600080fd5b505092919050505095505b856001875103815181101515610f8457fe5b906020019060200201519450610f98611e8a565b73ffffffffffffffffffffffffffffffffffffffff166373758c228b886040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015611031578082015181840152602081019050611016565b5050505090500193505050506040805180830381600087803b15801561105657600080fd5b505af115801561106a573d6000803e3d6000fd5b505050506040513d604081101561108057600080fd5b81019080805190602001909291908051906020019092919050505085600001866020018281525082815250505084876060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061110084600001518860000151611eb590919063ffffffff16565b87600001818152505061112484602001518860200151611eb590919063ffffffff16565b876020018181525050611135611ef5565b73ffffffffffffffffffffffffffffffffffffffff166382624a2e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561119857600080fd5b505af11580156111ac573d6000803e3d6000fd5b505050506040513d60208110156111c257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561152e5761120e611f07565b73ffffffffffffffffffffffffffffffffffffffff16632850568f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561127157600080fd5b505af1158015611285573d6000803e3d6000fd5b505050506040513d602081101561129b57600080fd5b81019080805190602001909291905050506112c788602001518960000151611eb590919063ffffffff16565b11801561139157506112d7611f07565b73ffffffffffffffffffffffffffffffffffffffff1663a27c834c886000015189602001516040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050602060405180830381600087803b15801561135557600080fd5b505af1158015611369573d6000803e3d6000fd5b505050506040513d602081101561137f57600080fd5b81019080805190602001909291905050505b156113a457600197506113a38a611f19565b5b6113ac611e8a565b73ffffffffffffffffffffffffffffffffffffffff16630d92dfb28b8a6040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561142e57600080fd5b505af1158015611442573d6000803e3d6000fd5b5050505061144e611e8a565b73ffffffffffffffffffffffffffffffffffffffff1663d6ae87bf8b60016040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b1580156114d157600080fd5b505af11580156114e5573d6000803e3d6000fd5b5050505089600019167f46d648587884573d7eb9ac356d8a439b4e07e29d401bea0839e76769915adeee89604051808215151515815260200191505060405180910390a261161e565b611536611ed1565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c8b89606001518a600001518b6020015160006040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b15801561160557600080fd5b505af1158015611619573d6000803e3d6000fd5b505050505b5b5050505050505092915050565b60006116366119e8565b80156116535750611648603854611926565b6116506106ea565b10155b905090565b6000611665603854611926565b61166d6106ea565b10905090565b600061167e426121ac565b905090565b600061168d611673565b6116956122af565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561172f57600080fd5b505af1158015611743573d6000803e3d6000fd5b505050506040513d602081101561175957600080fd5b810190808051906020019092919050505014801561185d575061177d603554611926565b611785611ef5565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561181f57600080fd5b505af1158015611833573d6000803e3d6000fd5b505050506040513d602081101561184957600080fd5b810190808051906020019092919050505010155b9050919050565b600061186e611d8f565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156118e457600080fd5b505af11580156118f8573d6000803e3d6000fd5b505050506040513d602081101561190e57600080fd5b81019080805190602001909291905050509050919050565b6000611930611d8f565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156119a657600080fd5b505af11580156119ba573d6000803e3d6000fd5b505050506040513d60208110156119d057600080fd5b81019080805190602001909291905050509050919050565b60006119f26122c1565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611a5557600080fd5b505af1158015611a69573d6000803e3d6000fd5b505050506040513d6020811015611a7f57600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611ac6611673565b611ace6122af565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611b6857600080fd5b505af1158015611b7c573d6000803e3d6000fd5b505050506040513d6020811015611b9257600080fd5b8101908080519060200190929190505050148015611c965750611bb6603654611926565b611bbe611ef5565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611c5857600080fd5b505af1158015611c6c573d6000803e3d6000fd5b505050506040513d6020811015611c8257600080fd5b810190808051906020019092919050505010155b8015611d885750611ca8603754611926565b611cb06122d3565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611d4a57600080fd5b505af1158015611d5e573d6000803e3d6000fd5b505050506040513d6020811015611d7457600080fd5b810190808051906020019092919050505010155b9050919050565b6000611d9c602b5461060e565b905090565b6000611dab6122e5565b1515611db657600080fd5b611dc1603954611926565b611e79611dcc6122c1565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611e2f57600080fd5b505af1158015611e43573d6000803e3d6000fd5b505050506040513d6020811015611e5957600080fd5b810190808051906020019092919050505084611e9c90919063ffffffff16565b811515611e8257fe5b069050919050565b6000611e97602a5461060e565b905090565b6000828211151515611eaa57fe5b818303905092915050565b60008183019050828110151515611ec857fe5b80905092915050565b6000611ede602f5461060e565b905090565b6000611ef060235461060e565b905090565b6000611f02602c5461060e565b905090565b6000611f1460245461060e565b905090565b6060806060611f26611e8a565b73ffffffffffffffffffffffffffffffffffffffff166356ecd657856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015611f9c57600080fd5b505af1158015611fb0573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506060811015611fda57600080fd5b810190808051640100000000811115611ff257600080fd5b8281019050602081018481111561200857600080fd5b815185602082028301116401000000008211171561202557600080fd5b5050929190602001805164010000000081111561204157600080fd5b8281019050602081018481111561205757600080fd5b815185602082028301116401000000008211171561207457600080fd5b5050929190602001805164010000000081111561209057600080fd5b828101905060208101848111156120a657600080fd5b81518560208202830111640100000000821117156120c357600080fd5b50509291905050508093508194508295505050506120df611d8f565b73ffffffffffffffffffffffffffffffffffffffff1663aecbca67846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019060200280838360005b8381101561216957808201518184015260208101905061214e565b5050505090500192505050600060405180830381600087803b15801561218e57600080fd5b505af11580156121a2573d6000803e3d6000fd5b5050505050505050565b60006121b66122e5565b15156121c157600080fd5b6122a8600161229a6121d4603954611926565b61228c6121df6122c1565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561224257600080fd5b505af1158015612256573d6000803e3d6000fd5b505050506040513d602081101561226c57600080fd5b810190808051906020019092919050505087611e9c90919063ffffffff16565b61239590919063ffffffff16565b611eb590919063ffffffff16565b9050919050565b60006122bc602d5461060e565b905090565b60006122ce60275461060e565b905090565b60006122e060295461060e565b905090565b6000806122f06122c1565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561235357600080fd5b505af1158015612367573d6000803e3d6000fd5b505050506040513d602081101561237d57600080fd5b81019080805190602001909291905050501415905090565b600081838115156123a257fe5b04905092915050565b608060405190810160405280600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6040805190810160405280600081526020016000815250905600a165627a7a723058204706d231c2c6a52213767e30053f91795bbefd0359d30989fdad89547b615edd0029", + "sourceMap": "321:4715:15:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;1206:115:15;8:9:-1;5:2;;;30:1;27;20:12;5:2;1206:115:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1262:51;1267:34;;1303:9;1262:4;;;:51;;;:::i;:::-;1254:60;;;;;;;;1206:115;321:4715;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;321:4715:15:-;;;;;;;", + "deployedSourceMap": "321:4715:15:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;5244:195:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5244:195:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4743:147:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4743:147:2;;;;;;;;;;;;;;;;;;;;;;;1582:3045:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1582:3045:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1759:239:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1759:239:2;;;;;;;;;;;;;;;;;;;;;;;;;;;1283:201;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1283:201:2;;;;;;;;;;;;;;;;;;;;;;;;;;;3064:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3064:159:2;;;;;;;;;;;;;;;;;;;;;;;5725:311:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5725:311:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5445:191:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7261:189:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7261:189:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;834:173:2;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;6123:431:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6123:431:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;5244:195:1:-;5335:20;5386:19;:17;:19::i;:::-;:34;;;5421:10;5386:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5386:46:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5386:46:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5386:46:1;;;;;;;;;;;;;;;;5371:61;;5244:195;;;:::o;264:18:67:-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;4743:147:2:-;4820:17;4865:18;4879:3;4865:13;:18::i;:::-;4853:30;;4743:147;:::o;1582:3045:15:-;1786:12;2363:53;;:::i;:::-;2651:24;3074:18;3133:52;;:::i;:::-;1709:11;3723:5:1;3677:51;;:19;:17;:19::i;:::-;:29;;;3707:11;3677:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3677:42:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3677:42:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3677:42:1;;;;;;;;;;;;;;;;:51;;;3669:60;;;;;;;;1756:11:15;4271:14:1;4288:19;:17;:19::i;:::-;:34;;;4323:11;4288:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4288:47:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4288:47:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4288:47:1;;;;;;;;;;;;;;;;4271:64;;4360:1;4351:6;:10;4343:19;;;;;;;;4397:50;4411:35;;4397:13;:50::i;:::-;4378:15;4386:6;4378:3;:7;;:15;;;;:::i;:::-;:69;;4370:78;;;;;;;;1822:13:15;:11;:13::i;:::-;1814:22;;;;;;;;1856:195;2006:44;2020:29;;2006:13;:44::i;:::-;1856:124;1929:50;1943:35;;1929:13;:50::i;:::-;1856:19;:17;:19::i;:::-;:34;;;1891:11;1856:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1856:47:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1856:47:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1856:47:15;;;;;;;;;;;;;;;;:72;;:124;;;;:::i;:::-;:149;;:195;;;;:::i;:::-;1850:3;:201;1846:305;;;2067:19;:17;:19::i;:::-;:27;;;2095:11;2108:5;2067:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2067:47:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2067:47:15;;;;2135:5;2128:12;;;;1846:305;2182:19;:17;:19::i;:::-;:40;;;2223:11;2182:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2182:53:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2182:53:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2182:53:15;;;;;;;;;;;;;;;;2168:67;;:10;:67;;;2160:76;;;;;;;;2266:1;2251:11;:16;2247:106;;;2336:5;2328:14;;;;2247:106;2576:28;:26;:28::i;:::-;:51;;;2628:11;2576:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2576:64:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2576:64:15;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2576:64:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2426:214;2440:15;:28;;2482:15;:31;;2527:15;:35;;2426:214;;;;;;;;;;;;;;;;;;;2721:13;;;;;;;;;;;2689:45;;:15;:28;;;:45;;;2685:379;;;2760:19;:17;:19::i;:::-;:36;;;2814:11;2843:4;2760:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2760:101:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2760:101:15;;;;;;39:16:-1;36:1;17:17;2:54;2760:101:15;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2760:101:15;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;2760:101:15;;;;;;2750:111;;2685:379;;;2902:19;:17;:19::i;:::-;:40;;;2960:15;:28;;;3006:11;3035:4;2902:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2902:151:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2902:151:15;;;;;;39:16:-1;36:1;17:17;2:54;2902:151:15;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2902:151:15;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;2902:151:15;;;;;;2892:161;;2685:379;3095:7;3120:1;3103:7;:14;:18;3095:27;;;;;;;;;;;;;;;;;;3074:48;;3244:19;:17;:19::i;:::-;:35;;;3280:11;3293:7;3244:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;3244:57:15;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3244:57:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3244:57:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3244:57:15;;;;;;;;;;;;;;;;;;;;;;;;;3196:10;:19;;3217:10;:23;;3195:106;;;;;;;;;;3343:10;3312:15;:28;;:41;;;;;;;;;;;3397:56;3433:10;:19;;;3397:15;:31;;;:35;;:56;;;;:::i;:::-;3363:15;:31;;:90;;;;;3501:64;3541:10;:23;;;3501:15;:35;;;:39;;:64;;;;:::i;:::-;3463:15;:35;;:102;;;;;3594:17;:15;:17::i;:::-;:37;;;:39;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3594:39:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3594:39:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3594:39:15;;;;;;;;;;;;;;;;3580:53;;:10;:53;;;3576:1045;;;3830:22;:20;:22::i;:::-;:52;;;:54;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3830:54:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3830:54:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3830:54:15;;;;;;;;;;;;;;;;3755:72;3791:15;:35;;;3755:15;:31;;;:35;;:72;;;;:::i;:::-;:129;3754:271;;;;;3906:22;:20;:22::i;:::-;:48;;;3955:15;:31;;;3988:15;:35;;;3906:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3906:118:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3906:118:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3906:118:15;;;;;;;;;;;;;;;;3754:271;3733:395;;;4068:4;4058:14;;4090:23;4101:11;4090:10;:23::i;:::-;3733:395;4141:19;:17;:19::i;:::-;:27;;;4169:11;4182:7;4141:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4141:49:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4141:49:15;;;;4204:19;:17;:19::i;:::-;:34;;;4239:11;4252:4;4204:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4204:53:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4204:53:15;;;;4297:11;4276:42;;;;4310:7;4276:42;;;;;;;;;;;;;;;;;;;;;;3576:1045;;;4349:28;:26;:28::i;:::-;:51;;;4418:11;4447:15;:28;;;4493:15;:31;;;4542:15;:35;;;4595:1;4349:261;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4349:261:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4349:261:15;;;;3576:1045;4456:1:1;3739;;1582:3045:15;;;;;;;;;:::o;1759:239:2:-;1827:17;1887:18;:16;:18::i;:::-;:104;;;;;1947:44;1961:29;;1947:13;:44::i;:::-;1921:22;:20;:22::i;:::-;:70;;1887:104;1860:131;;1759:239;:::o;1283:201::-;1354:20;1433:44;1447:29;;1433:13;:44::i;:::-;1408:22;:20;:22::i;:::-;:69;1390:87;;1283:201;:::o;3064:159::-;3140:22;3195:21;3212:3;3195:16;:21::i;:::-;3178:38;;3064:159;:::o;5725:311:1:-;5808:8;5905:22;:20;:22::i;:::-;5851:19;:17;:19::i;:::-;:43;;;5895:5;5851:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5851:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5851:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5851:50:1;;;;;;;;;;;;;;;;:76;5850:179;;;;;5988:40;6002:25;;5988:13;:40::i;:::-;5945:17;:15;:17::i;:::-;:32;;;5978:5;5945:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5945:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5945:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5945:39:1;;;;;;;;;;;;;;;;:83;;5850:179;5832:197;;5725:311;;;:::o;5445:191::-;5534:20;5585:19;:17;:19::i;:::-;:32;;;5618:10;5585:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5585:44:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5585:44:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5585:44:1;;;;;;;;;;;;;;;;5570:59;;5445:191;;;:::o;7261:189:2:-;7349:20;7400:19;:17;:19::i;:::-;:31;;;7432:10;7400:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7400:43:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7400:43:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7400:43:2;;;;;;;;;;;;;;;;7385:58;;7261:189;;;:::o;834:173::-;907:19;960;:17;:19::i;:::-;:38;;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;960:40:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;960:40:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;960:40:2;;;;;;;;;;;;;;;;959:41;942:58;;834:173;:::o;344:31:67:-;;;;;;;;;;;;;:::o;6123:431:1:-;6204:8;6301:22;:20;:22::i;:::-;6247:19;:17;:19::i;:::-;:43;;;6291:5;6247:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6247:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6247:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6247:50:1;;;;;;;;;;;;;;;;:76;6246:186;;;;;6384:47;6398:32;;6384:13;:47::i;:::-;6341:17;:15;:17::i;:::-;:32;;;6374:5;6341:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6341:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6341:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6341:39:1;;;;;;;;;;;;;;;;:90;;6246:186;:301;;;;;6492:54;6506:39;;6492:13;:54::i;:::-;6449:18;:16;:18::i;:::-;:32;;;6482:5;6449:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6449:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6449:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6449:39:1;;;;;;;;;;;;;;;;:97;;6246:301;6228:319;;6123:431;;;:::o;5398:198:2:-;5474:27;5547:41;5560:27;;5547:12;:41::i;:::-;5517:72;;5398:198;:::o;3862:332::-;3947:22;3993:26;:24;:26::i;:::-;3985:35;;;;;;;;4149:38;4163:23;;4149:13;:38::i;:::-;4082:52;4092:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4092:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4092:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4092:41:2;;;;;;;;;;;;;;;;4082:5;:9;;:52;;;;:::i;:::-;:105;;;;;;;;4053:134;;3862:332;;;:::o;6409:199::-;6485:27;6558:42;6571:28;;6558:12;:42::i;:::-;6528:73;;6409:199;:::o;1060:116:84:-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;1238:128::-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o;7020:235:2:-;7105:36;7196:51;7209:37;;7196:12;:51::i;:::-;7157:91;;7020:235;:::o;5193:199::-;5269:27;5342:42;5355:28;;5342:12;:42::i;:::-;5312:73;;5193:199;:::o;5602:191::-;5676:25;5745:40;5758:26;;5745:12;:40::i;:::-;5717:69;;5602:191;:::o;579:211:15:-;658:30;737:45;750:31;;737:12;:45::i;:::-;704:79;;579:211;:::o;4634:399::-;4705:29;4744:32;4786:30;4921:19;:17;:19::i;:::-;:31;;;4953:11;4921:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4921:44:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4921:44:15;;;;;;39:16:-1;36:1;17:17;2:54;4921:44:15;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4921:44:15;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;4921:44:15;;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;4921:44:15;;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;4921:44:15;;;;;;4826:139;;;;;;;;;;;;4975:19;:17;:19::i;:::-;:37;;;5013:12;4975:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;4975:51:15;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4975:51:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4975:51:15;;;;4634:399;;;;:::o;3369:320:2:-;3457:14;3495:26;:24;:26::i;:::-;3487:35;;;;;;;;3553:129;3680:1;3553:109;3623:38;3637:23;;3623:13;:38::i;:::-;3553:52;3563:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3563:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3563:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3563:41:2;;;;;;;;;;;;;;;;3553:5;:9;;:52;;;;:::i;:::-;:69;;:109;;;;:::i;:::-;:126;;:129;;;;:::i;:::-;3532:150;;3369:320;;;:::o;6815:199::-;6891:27;6964:42;6977:28;;6964:12;:42::i;:::-;6934:73;;6815:199;:::o;6204:::-;6280:27;6353:42;6366:28;;6353:12;:42::i;:::-;6323:73;;6204:199;:::o;6614:195::-;6689:26;6760:41;6773:27;;6760:12;:41::i;:::-;6731:71;;6614:195;:::o;4343:172::-;4426:11;4507:1;4462:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4462:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4462:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4462:41:2;;;;;;;;;;;;;;;;:46;;4453:55;;4343:172;:::o;665:283:84:-;725:7;941:2;936;:7;;;;;;;;929:14;;665:283;;;;:::o;321:4715:15:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"../common/DaoCommon.sol\";\nimport \"../service/DaoCalculatorService.sol\";\nimport \"./DaoFundingManager.sol\";\nimport \"./DaoRewardsManager.sol\";\nimport \"../lib/DaoIntermediateStructs.sol\";\nimport \"../lib/DaoStructs.sol\";\n\n/**\n@title Contract to claim voting results\n@author Digix Holdings\n*/\ncontract DaoSpecialVotingClaims is DaoCommon {\n using DaoIntermediateStructs for DaoIntermediateStructs.VotingCount;\n using DaoStructs for DaoStructs.IntermediateResults;\n\n event SpecialProposalClaim(bytes32 indexed _proposalId, bool _result);\n\n function daoCalculatorService()\n internal\n view\n returns (DaoCalculatorService _contract)\n {\n _contract = DaoCalculatorService(get_contract(CONTRACT_SERVICE_DAO_CALCULATOR));\n }\n\n function daoFundingManager()\n internal\n view\n returns (DaoFundingManager _contract)\n {\n _contract = DaoFundingManager(get_contract(CONTRACT_DAO_FUNDING_MANAGER));\n }\n\n function daoRewardsManager()\n internal\n view\n returns (DaoRewardsManager _contract)\n {\n _contract = DaoRewardsManager(get_contract(CONTRACT_DAO_REWARDS_MANAGER));\n }\n\n constructor(address _resolver) public {\n require(init(CONTRACT_DAO_SPECIAL_VOTING_CLAIMS, _resolver));\n }\n\n\n /**\n @notice Function to claim the voting result on special proposal\n @param _proposalId ID of the special proposal\n @return {\n \"_passed\": \"Boolean, true if voting passed, throw if failed, returns false if passed deadline\"\n }\n */\n function claimSpecialProposalVotingResult(bytes32 _proposalId, uint256 _operations)\n public\n ifNotClaimedSpecial(_proposalId)\n ifAfterRevealPhaseSpecial(_proposalId)\n returns (bool _passed)\n {\n require(isMainPhase());\n if (now > daoSpecialStorage().readVotingTime(_proposalId)\n .add(getUintConfig(CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL))\n .add(getUintConfig(CONFIG_VOTE_CLAIMING_DEADLINE))) {\n daoSpecialStorage().setPass(_proposalId, false);\n return false;\n }\n require(msg.sender == daoSpecialStorage().readProposalProposer(_proposalId));\n\n if (_operations == 0) { // if no operations are passed, return false\n return (false);\n }\n\n DaoStructs.IntermediateResults memory _currentResults;\n (\n _currentResults.countedUntil,\n _currentResults.currentForCount,\n _currentResults.currentAgainstCount,\n ) = intermediateResultsStorage().getIntermediateResults(_proposalId);\n\n address[] memory _voters;\n if (_currentResults.countedUntil == EMPTY_ADDRESS) {\n _voters = daoListingService().listParticipants(\n _operations,\n true\n );\n } else {\n _voters = daoListingService().listParticipantsFrom(\n _currentResults.countedUntil,\n _operations,\n true\n );\n }\n\n address _lastVoter = _voters[_voters.length - 1];\n\n DaoIntermediateStructs.VotingCount memory _voteCount;\n (_voteCount.forCount, _voteCount.againstCount) = daoSpecialStorage().readVotingCount(_proposalId, _voters);\n\n _currentResults.countedUntil = _lastVoter;\n _currentResults.currentForCount = _currentResults.currentForCount.add(_voteCount.forCount);\n _currentResults.currentAgainstCount = _currentResults.currentAgainstCount.add(_voteCount.againstCount);\n\n if (_lastVoter == daoStakeStorage().readLastParticipant()) {\n // this is already the last transaction, we have counted all the votes\n\n if (\n (_currentResults.currentForCount.add(_currentResults.currentAgainstCount) > daoCalculatorService().minimumVotingQuorumForSpecial()) &&\n (daoCalculatorService().votingQuotaForSpecialPass(_currentResults.currentForCount, _currentResults.currentAgainstCount))\n ) {\n _passed = true;\n setConfigs(_proposalId);\n }\n daoSpecialStorage().setPass(_proposalId, _passed);\n daoSpecialStorage().setVotingClaim(_proposalId, true);\n emit SpecialProposalClaim(_proposalId, _passed);\n } else {\n intermediateResultsStorage().setIntermediateResults(\n _proposalId,\n _currentResults.countedUntil,\n _currentResults.currentForCount,\n _currentResults.currentAgainstCount,\n 0\n );\n }\n }\n\n\n function setConfigs(bytes32 _proposalId)\n private\n {\n uint256[] memory _uintConfigs;\n address[] memory _addressConfigs;\n bytes32[] memory _bytesConfigs;\n (\n _uintConfigs,\n _addressConfigs,\n _bytesConfigs\n ) = daoSpecialStorage().readConfigs(_proposalId);\n daoConfigsStorage().updateUintConfigs(_uintConfigs);\n }\n\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoSpecialVotingClaims.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoSpecialVotingClaims.sol", + "exportedSymbols": { + "DaoSpecialVotingClaims": [ + 5399 + ] + }, + "id": 5400, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5036, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:15" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommon.sol", + "file": "../common/DaoCommon.sol", + "id": 5037, + "nodeType": "ImportDirective", + "scope": 5400, + "sourceUnit": 839, + "src": "26:33:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/service/DaoCalculatorService.sol", + "file": "../service/DaoCalculatorService.sol", + "id": 5038, + "nodeType": "ImportDirective", + "scope": 5400, + "sourceUnit": 12495, + "src": "60:45:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoFundingManager.sol", + "file": "./DaoFundingManager.sol", + "id": 5039, + "nodeType": "ImportDirective", + "scope": 5400, + "sourceUnit": 3150, + "src": "106:33:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoRewardsManager.sol", + "file": "./DaoRewardsManager.sol", + "id": 5040, + "nodeType": "ImportDirective", + "scope": 5400, + "sourceUnit": 4686, + "src": "140:33:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoIntermediateStructs.sol", + "file": "../lib/DaoIntermediateStructs.sol", + "id": 5041, + "nodeType": "ImportDirective", + "scope": 5400, + "sourceUnit": 7924, + "src": "174:43:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoStructs.sol", + "file": "../lib/DaoStructs.sol", + "id": 5042, + "nodeType": "ImportDirective", + "scope": 5400, + "sourceUnit": 8492, + "src": "218:31:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 5043, + "name": "DaoCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 838, + "src": "356:9:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommon_$838", + "typeString": "contract DaoCommon" + } + }, + "id": 5044, + "nodeType": "InheritanceSpecifier", + "src": "356:9:15" + } + ], + "contractDependencies": [ + 838, + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": "@title Contract to claim voting results\n@author Digix Holdings", + "fullyImplemented": true, + "id": 5399, + "linearizedBaseContracts": [ + 5399, + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoSpecialVotingClaims", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 5047, + "libraryName": { + "contractScope": null, + "id": 5045, + "name": "DaoIntermediateStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7923, + "src": "378:22:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIntermediateStructs_$7923", + "typeString": "library DaoIntermediateStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "372:68:15", + "typeName": { + "contractScope": null, + "id": 5046, + "name": "DaoIntermediateStructs.VotingCount", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7916, + "src": "405:34:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_storage_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount" + } + } + }, + { + "id": 5050, + "libraryName": { + "contractScope": null, + "id": 5048, + "name": "DaoStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8491, + "src": "451:10:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStructs_$8491", + "typeString": "library DaoStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "445:52:15", + "typeName": { + "contractScope": null, + "id": 5049, + "name": "DaoStructs.IntermediateResults", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8490, + "src": "466:30:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + } + } + }, + { + "anonymous": false, + "documentation": null, + "id": 5056, + "name": "SpecialProposalClaim", + "nodeType": "EventDefinition", + "parameters": { + "id": 5055, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5052, + "indexed": true, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 5056, + "src": "530:27:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5051, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "530:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5054, + "indexed": false, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 5056, + "src": "559:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5053, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "559:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "529:43:15" + }, + "src": "503:70:15" + }, + { + "body": { + "id": 5069, + "nodeType": "Block", + "src": "694:96:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5061, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5059, + "src": "704:9:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5064, + "name": "CONTRACT_SERVICE_DAO_CALCULATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1345, + "src": "750:31:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5063, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "737:12:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 5065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "737:45:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5062, + "name": "DaoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12494, + "src": "716:20:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "type(contract DaoCalculatorService)" + } + }, + "id": 5066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "716:67:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "src": "704:79:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 5068, + "nodeType": "ExpressionStatement", + "src": "704:79:15" + } + ] + }, + "documentation": null, + "id": 5070, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoCalculatorService", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5057, + "nodeType": "ParameterList", + "parameters": [], + "src": "608:2:15" + }, + "payable": false, + "returnParameters": { + "id": 5060, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5059, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 5070, + "src": "658:30:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + }, + "typeName": { + "contractScope": null, + "id": 5058, + "name": "DaoCalculatorService", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 12494, + "src": "658:20:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "657:32:15" + }, + "scope": 5399, + "src": "579:211:15", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 5083, + "nodeType": "Block", + "src": "905:90:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5075, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5073, + "src": "915:9:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5078, + "name": "CONTRACT_DAO_FUNDING_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1327, + "src": "958:28:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5077, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "945:12:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 5079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "945:42:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5076, + "name": "DaoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3149, + "src": "927:17:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoFundingManager_$3149_$", + "typeString": "type(contract DaoFundingManager)" + } + }, + "id": 5080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "927:61:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "src": "915:73:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "id": 5082, + "nodeType": "ExpressionStatement", + "src": "915:73:15" + } + ] + }, + "documentation": null, + "id": 5084, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoFundingManager", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5071, + "nodeType": "ParameterList", + "parameters": [], + "src": "822:2:15" + }, + "payable": false, + "returnParameters": { + "id": 5074, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5073, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 5084, + "src": "872:27:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + }, + "typeName": { + "contractScope": null, + "id": 5072, + "name": "DaoFundingManager", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3149, + "src": "872:17:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "871:29:15" + }, + "scope": 5399, + "src": "796:199:15", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 5097, + "nodeType": "Block", + "src": "1110:90:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5089, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5087, + "src": "1120:9:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5092, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "1163:28:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5091, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "1150:12:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 5093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1150:42:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5090, + "name": "DaoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4685, + "src": "1132:17:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoRewardsManager_$4685_$", + "typeString": "type(contract DaoRewardsManager)" + } + }, + "id": 5094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1132:61:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "src": "1120:73:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "id": 5096, + "nodeType": "ExpressionStatement", + "src": "1120:73:15" + } + ] + }, + "documentation": null, + "id": 5098, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoRewardsManager", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5085, + "nodeType": "ParameterList", + "parameters": [], + "src": "1027:2:15" + }, + "payable": false, + "returnParameters": { + "id": 5088, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5087, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 5098, + "src": "1077:27:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + }, + "typeName": { + "contractScope": null, + "id": 5086, + "name": "DaoRewardsManager", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4685, + "src": "1077:17:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1076:29:15" + }, + "scope": 5399, + "src": "1001:199:15", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 5110, + "nodeType": "Block", + "src": "1244:77:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5105, + "name": "CONTRACT_DAO_SPECIAL_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1312, + "src": "1267:34:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5106, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5100, + "src": "1303:9:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5104, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "1262:4:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 5107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1262:51:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5103, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1254:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1254:60:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5109, + "nodeType": "ExpressionStatement", + "src": "1254:60:15" + } + ] + }, + "documentation": null, + "id": 5111, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5101, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5100, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 5111, + "src": "1218:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5099, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1218:7:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1217:19:15" + }, + "payable": false, + "returnParameters": { + "id": 5102, + "nodeType": "ParameterList", + "parameters": [], + "src": "1244:0:15" + }, + "scope": 5399, + "src": "1206:115:15", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5359, + "nodeType": "Block", + "src": "1804:2823:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5127, + "name": "isMainPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "1822:11:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 5128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1822:13:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5126, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1814:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1814:22:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5130, + "nodeType": "ExpressionStatement", + "src": "1814:22:15" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5131, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "1850:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5144, + "name": "CONFIG_VOTE_CLAIMING_DEADLINE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "2020:29:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5143, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2006:13:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 5145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2006:44:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5139, + "name": "CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "1943:35:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5138, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1929:13:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 5140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1929:50:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5135, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "1891:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5132, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "1856:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 5133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1856:19:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 5134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 15808, + "src": "1856:34:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 5136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1856:47:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "1856:72:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1856:124:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "1856:149:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1856:195:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1850:201:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5158, + "nodeType": "IfStatement", + "src": "1846:305:15", + "trueBody": { + "id": 5157, + "nodeType": "Block", + "src": "2053:98:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5151, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "2095:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 5152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2108:5:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5148, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "2067:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 5149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2067:19:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 5150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setPass", + "nodeType": "MemberAccess", + "referencedDeclaration": 15924, + "src": "2067:27:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$", + "typeString": "function (bytes32,bool) external" + } + }, + "id": 5153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2067:47:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5154, + "nodeType": "ExpressionStatement", + "src": "2067:47:15" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 5155, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2135:5:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 5125, + "id": 5156, + "nodeType": "Return", + "src": "2128:12:15" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5160, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2168:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2168:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5165, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "2223:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5162, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "2182:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 5163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2182:19:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 5164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalProposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 15725, + "src": "2182:40:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 5166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2182:53:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2168:67:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5159, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2160:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2160:76:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5169, + "nodeType": "ExpressionStatement", + "src": "2160:76:15" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5170, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5115, + "src": "2251:11:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5171, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2266:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2251:16:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5177, + "nodeType": "IfStatement", + "src": "2247:106:15", + "trueBody": { + "id": 5176, + "nodeType": "Block", + "src": "2269:84:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 5173, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2336:5:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "id": 5174, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2335:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5125, + "id": 5175, + "nodeType": "Return", + "src": "2328:14:15" + } + ] + } + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5181, + "name": "_currentResults", + "nodeType": "VariableDeclaration", + "scope": 5360, + "src": "2363:53:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + }, + "typeName": { + "contractScope": null, + "id": 5180, + "name": "DaoStructs.IntermediateResults", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8490, + "src": "2363:30:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5182, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "2363:53:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 5196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5183, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "2440:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5185, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "2440:28:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5186, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "2482:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5187, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "2482:31:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5188, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "2527:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5189, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "2527:35:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + null + ], + "id": 5190, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "2426:147:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$__$", + "typeString": "tuple(address,uint256,uint256,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5194, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "2628:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5191, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "2576:26:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 5192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2576:28:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 5193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18511, + "src": "2576:51:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (address,uint256,uint256,uint256)" + } + }, + "id": 5195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2576:64:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(address,uint256,uint256,uint256)" + } + }, + "src": "2426:214:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5197, + "nodeType": "ExpressionStatement", + "src": "2426:214:15" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5201, + "name": "_voters", + "nodeType": "VariableDeclaration", + "scope": 5360, + "src": "2651:24:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 5199, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2651:7:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5200, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2651:9:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5202, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "2651:24:15" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5203, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "2689:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5204, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "2689:28:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 5205, + "name": "EMPTY_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1249, + "src": "2721:13:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2689:45:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 5228, + "nodeType": "Block", + "src": "2878:186:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5217, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5201, + "src": "2892:7:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5221, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "2960:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5222, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "2960:28:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5223, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5115, + "src": "3006:11:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3035:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5218, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "2902:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 5219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2902:19:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 5220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listParticipantsFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 12677, + "src": "2902:40:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,bool) view external returns (address[] memory)" + } + }, + "id": 5225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2902:151:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "2892:161:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5227, + "nodeType": "ExpressionStatement", + "src": "2892:161:15" + } + ] + }, + "id": 5229, + "nodeType": "IfStatement", + "src": "2685:379:15", + "trueBody": { + "id": 5216, + "nodeType": "Block", + "src": "2736:136:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5207, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5201, + "src": "2750:7:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5211, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5115, + "src": "2814:11:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5212, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2843:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5208, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "2760:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 5209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2760:19:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 5210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listParticipants", + "nodeType": "MemberAccess", + "referencedDeclaration": 12644, + "src": "2760:36:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (uint256,bool) view external returns (address[] memory)" + } + }, + "id": 5213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2760:101:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "2750:111:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5215, + "nodeType": "ExpressionStatement", + "src": "2750:111:15" + } + ] + } + }, + { + "assignments": [ + 5231 + ], + "declarations": [ + { + "constant": false, + "id": 5231, + "name": "_lastVoter", + "nodeType": "VariableDeclaration", + "scope": 5360, + "src": "3074:18:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5230, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3074:7:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5238, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5232, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5201, + "src": "3095:7:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5237, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5233, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5201, + "src": "3103:7:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3103:14:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 5235, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3120:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3103:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3095:27:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3074:48:15" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5242, + "name": "_voteCount", + "nodeType": "VariableDeclaration", + "scope": 5360, + "src": "3133:52:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount" + }, + "typeName": { + "contractScope": null, + "id": 5241, + "name": "DaoIntermediateStructs.VotingCount", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7916, + "src": "3133:34:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_storage_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5243, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "3133:52:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 5256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5244, + "name": "_voteCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5242, + "src": "3196:10:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 5246, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "forCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7913, + "src": "3196:19:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5247, + "name": "_voteCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5242, + "src": "3217:10:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 5248, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "againstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7915, + "src": "3217:23:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5249, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3195:46:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5253, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "3280:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5254, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5201, + "src": "3293:7:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5250, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "3244:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 5251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3244:19:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 5252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVotingCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 15787, + "src": "3244:35:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32,address[] memory) view external returns (uint256,uint256)" + } + }, + "id": 5255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3244:57:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "3195:106:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5257, + "nodeType": "ExpressionStatement", + "src": "3195:106:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 5262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5258, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "3312:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5260, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "3312:28:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5261, + "name": "_lastVoter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5231, + "src": "3343:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3312:41:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5263, + "nodeType": "ExpressionStatement", + "src": "3312:41:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 5273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5264, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "3363:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5266, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "3363:31:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5270, + "name": "_voteCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5242, + "src": "3433:10:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 5271, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "forCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7913, + "src": "3433:19:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5267, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "3397:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5268, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "3397:31:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "3397:35:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3397:56:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3363:90:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5274, + "nodeType": "ExpressionStatement", + "src": "3363:90:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 5284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5275, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "3463:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5277, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "3463:35:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5281, + "name": "_voteCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5242, + "src": "3541:10:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 5282, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "againstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7915, + "src": "3541:23:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5278, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "3501:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5279, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "3501:35:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "3501:39:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3501:64:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3463:102:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5285, + "nodeType": "ExpressionStatement", + "src": "3463:102:15" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5286, + "name": "_lastVoter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5231, + "src": "3580:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5287, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "3594:15:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 5288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3594:17:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 5289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readLastParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16413, + "src": "3594:37:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 5290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3594:39:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3580:53:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 5357, + "nodeType": "Block", + "src": "4335:286:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5347, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "4418:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5348, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "4447:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5349, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "4447:28:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5350, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "4493:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5351, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "4493:31:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5352, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "4542:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5353, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "4542:35:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 5354, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4595:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5344, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "4349:26:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 5345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4349:28:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 5346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18586, + "src": "4349:51:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint256,uint256) external" + } + }, + "id": 5355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4349:261:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5356, + "nodeType": "ExpressionStatement", + "src": "4349:261:15" + } + ] + }, + "id": 5358, + "nodeType": "IfStatement", + "src": "3576:1045:15", + "trueBody": { + "id": 5343, + "nodeType": "Block", + "src": "3635:694:15", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5295, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "3791:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5296, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "3791:35:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5292, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "3755:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5293, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "3755:31:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "3755:35:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3755:72:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5298, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5070, + "src": "3830:20:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 5299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3830:22:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 5300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "minimumVotingQuorumForSpecial", + "nodeType": "MemberAccess", + "referencedDeclaration": 12304, + "src": "3830:52:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 5301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3830:54:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3755:129:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 5303, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3754:131:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5307, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "3955:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5308, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "3955:31:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5309, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "3988:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5310, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "3988:35:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5304, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5070, + "src": "3906:20:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 5305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3906:22:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 5306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "votingQuotaForSpecialPass", + "nodeType": "MemberAccess", + "referencedDeclaration": 12362, + "src": "3906:48:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) view external returns (bool)" + } + }, + "id": 5311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3906:118:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 5312, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3905:120:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3754:271:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5323, + "nodeType": "IfStatement", + "src": "3733:395:15", + "trueBody": { + "id": 5322, + "nodeType": "Block", + "src": "4040:88:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5314, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5124, + "src": "4058:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5315, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4068:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4058:14:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5317, + "nodeType": "ExpressionStatement", + "src": "4058:14:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5319, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "4101:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5318, + "name": "setConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5398, + "src": "4090:10:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 5320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4090:23:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5321, + "nodeType": "ExpressionStatement", + "src": "4090:23:15" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5327, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "4169:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5328, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5124, + "src": "4182:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5324, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "4141:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 5325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4141:19:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 5326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setPass", + "nodeType": "MemberAccess", + "referencedDeclaration": 15924, + "src": "4141:27:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$", + "typeString": "function (bytes32,bool) external" + } + }, + "id": 5329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4141:49:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5330, + "nodeType": "ExpressionStatement", + "src": "4141:49:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5334, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "4239:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5335, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4252:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5331, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "4204:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 5332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4204:19:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 5333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setVotingClaim", + "nodeType": "MemberAccess", + "referencedDeclaration": 15954, + "src": "4204:34:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$", + "typeString": "function (bytes32,bool) external" + } + }, + "id": 5336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4204:53:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5337, + "nodeType": "ExpressionStatement", + "src": "4204:53:15" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5339, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "4297:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5340, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5124, + "src": "4310:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5338, + "name": "SpecialProposalClaim", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5056, + "src": "4276:20:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bool_$returns$__$", + "typeString": "function (bytes32,bool)" + } + }, + "id": 5341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4276:42:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5342, + "nodeType": "EmitStatement", + "src": "4271:47:15" + } + ] + } + } + ] + }, + "documentation": "@notice Function to claim the voting result on special proposal\n@param _proposalId ID of the special proposal\n@return {\n\"_passed\": \"Boolean, true if voting passed, throw if failed, returns false if passed deadline\"\n}", + "id": 5360, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 5118, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "1709:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 5119, + "modifierName": { + "argumentTypes": null, + "id": 5117, + "name": "ifNotClaimedSpecial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 347, + "src": "1689:19:15", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1689:32:15" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 5121, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "1756:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 5122, + "modifierName": { + "argumentTypes": null, + "id": 5120, + "name": "ifAfterRevealPhaseSpecial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 437, + "src": "1730:25:15", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1730:38:15" + } + ], + "name": "claimSpecialProposalVotingResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5116, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5113, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 5360, + "src": "1624:19:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5112, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1624:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5115, + "name": "_operations", + "nodeType": "VariableDeclaration", + "scope": 5360, + "src": "1645:19:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5114, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1645:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1623:42:15" + }, + "payable": false, + "returnParameters": { + "id": 5125, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5124, + "name": "_passed", + "nodeType": "VariableDeclaration", + "scope": 5360, + "src": "1786:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5123, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1786:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1785:14:15" + }, + "scope": 5399, + "src": "1582:3045:15", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5397, + "nodeType": "Block", + "src": "4695:338:15", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5368, + "name": "_uintConfigs", + "nodeType": "VariableDeclaration", + "scope": 5398, + "src": "4705:29:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5366, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4705:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5367, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4705:9:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5369, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4705:29:15" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5373, + "name": "_addressConfigs", + "nodeType": "VariableDeclaration", + "scope": 5398, + "src": "4744:32:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 5371, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4744:7:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5372, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4744:9:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5374, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4744:32:15" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5378, + "name": "_bytesConfigs", + "nodeType": "VariableDeclaration", + "scope": 5398, + "src": "4786:30:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5376, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4786:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5377, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4786:9:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5379, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4786:30:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 5389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 5380, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5368, + "src": "4840:12:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "argumentTypes": null, + "id": 5381, + "name": "_addressConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5373, + "src": "4866:15:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + { + "argumentTypes": null, + "id": 5382, + "name": "_bytesConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5378, + "src": "4895:13:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + } + ], + "id": 5383, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "4826:92:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,address[] memory,bytes32[] memory)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5387, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5362, + "src": "4953:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5384, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "4921:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 5385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4921:19:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 5386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 15761, + "src": "4921:31:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32) view external returns (uint256[] memory,address[] memory,bytes32[] memory)" + } + }, + "id": 5388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4921:44:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,address[] memory,bytes32[] memory)" + } + }, + "src": "4826:139:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5390, + "nodeType": "ExpressionStatement", + "src": "4826:139:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5394, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5368, + "src": "5013:12:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5391, + "name": "daoConfigsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1104, + "src": "4975:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoConfigsStorage_$14281_$", + "typeString": "function () view returns (contract DaoConfigsStorage)" + } + }, + "id": 5392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4975:19:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "id": 5393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateUintConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 13789, + "src": "4975:37:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (uint256[] memory) external" + } + }, + "id": 5395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4975:51:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5396, + "nodeType": "ExpressionStatement", + "src": "4975:51:15" + } + ] + }, + "documentation": null, + "id": 5398, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setConfigs", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5363, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5362, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 5398, + "src": "4654:19:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5361, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4654:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4653:21:15" + }, + "payable": false, + "returnParameters": { + "id": 5364, + "nodeType": "ParameterList", + "parameters": [], + "src": "4695:0:15" + }, + "scope": 5399, + "src": "4634:399:15", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 5400, + "src": "321:4715:15" + } + ], + "src": "0:5037:15" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoSpecialVotingClaims.sol", + "exportedSymbols": { + "DaoSpecialVotingClaims": [ + 5399 + ] + }, + "id": 5400, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5036, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:15" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommon.sol", + "file": "../common/DaoCommon.sol", + "id": 5037, + "nodeType": "ImportDirective", + "scope": 5400, + "sourceUnit": 839, + "src": "26:33:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/service/DaoCalculatorService.sol", + "file": "../service/DaoCalculatorService.sol", + "id": 5038, + "nodeType": "ImportDirective", + "scope": 5400, + "sourceUnit": 12495, + "src": "60:45:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoFundingManager.sol", + "file": "./DaoFundingManager.sol", + "id": 5039, + "nodeType": "ImportDirective", + "scope": 5400, + "sourceUnit": 3150, + "src": "106:33:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoRewardsManager.sol", + "file": "./DaoRewardsManager.sol", + "id": 5040, + "nodeType": "ImportDirective", + "scope": 5400, + "sourceUnit": 4686, + "src": "140:33:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoIntermediateStructs.sol", + "file": "../lib/DaoIntermediateStructs.sol", + "id": 5041, + "nodeType": "ImportDirective", + "scope": 5400, + "sourceUnit": 7924, + "src": "174:43:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoStructs.sol", + "file": "../lib/DaoStructs.sol", + "id": 5042, + "nodeType": "ImportDirective", + "scope": 5400, + "sourceUnit": 8492, + "src": "218:31:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 5043, + "name": "DaoCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 838, + "src": "356:9:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommon_$838", + "typeString": "contract DaoCommon" + } + }, + "id": 5044, + "nodeType": "InheritanceSpecifier", + "src": "356:9:15" + } + ], + "contractDependencies": [ + 838, + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": "@title Contract to claim voting results\n@author Digix Holdings", + "fullyImplemented": true, + "id": 5399, + "linearizedBaseContracts": [ + 5399, + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoSpecialVotingClaims", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 5047, + "libraryName": { + "contractScope": null, + "id": 5045, + "name": "DaoIntermediateStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7923, + "src": "378:22:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIntermediateStructs_$7923", + "typeString": "library DaoIntermediateStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "372:68:15", + "typeName": { + "contractScope": null, + "id": 5046, + "name": "DaoIntermediateStructs.VotingCount", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7916, + "src": "405:34:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_storage_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount" + } + } + }, + { + "id": 5050, + "libraryName": { + "contractScope": null, + "id": 5048, + "name": "DaoStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8491, + "src": "451:10:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStructs_$8491", + "typeString": "library DaoStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "445:52:15", + "typeName": { + "contractScope": null, + "id": 5049, + "name": "DaoStructs.IntermediateResults", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8490, + "src": "466:30:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + } + } + }, + { + "anonymous": false, + "documentation": null, + "id": 5056, + "name": "SpecialProposalClaim", + "nodeType": "EventDefinition", + "parameters": { + "id": 5055, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5052, + "indexed": true, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 5056, + "src": "530:27:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5051, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "530:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5054, + "indexed": false, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 5056, + "src": "559:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5053, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "559:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "529:43:15" + }, + "src": "503:70:15" + }, + { + "body": { + "id": 5069, + "nodeType": "Block", + "src": "694:96:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5061, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5059, + "src": "704:9:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5064, + "name": "CONTRACT_SERVICE_DAO_CALCULATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1345, + "src": "750:31:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5063, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "737:12:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 5065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "737:45:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5062, + "name": "DaoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12494, + "src": "716:20:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "type(contract DaoCalculatorService)" + } + }, + "id": 5066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "716:67:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "src": "704:79:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 5068, + "nodeType": "ExpressionStatement", + "src": "704:79:15" + } + ] + }, + "documentation": null, + "id": 5070, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoCalculatorService", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5057, + "nodeType": "ParameterList", + "parameters": [], + "src": "608:2:15" + }, + "payable": false, + "returnParameters": { + "id": 5060, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5059, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 5070, + "src": "658:30:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + }, + "typeName": { + "contractScope": null, + "id": 5058, + "name": "DaoCalculatorService", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 12494, + "src": "658:20:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "657:32:15" + }, + "scope": 5399, + "src": "579:211:15", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 5083, + "nodeType": "Block", + "src": "905:90:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5075, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5073, + "src": "915:9:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5078, + "name": "CONTRACT_DAO_FUNDING_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1327, + "src": "958:28:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5077, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "945:12:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 5079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "945:42:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5076, + "name": "DaoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3149, + "src": "927:17:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoFundingManager_$3149_$", + "typeString": "type(contract DaoFundingManager)" + } + }, + "id": 5080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "927:61:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "src": "915:73:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "id": 5082, + "nodeType": "ExpressionStatement", + "src": "915:73:15" + } + ] + }, + "documentation": null, + "id": 5084, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoFundingManager", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5071, + "nodeType": "ParameterList", + "parameters": [], + "src": "822:2:15" + }, + "payable": false, + "returnParameters": { + "id": 5074, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5073, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 5084, + "src": "872:27:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + }, + "typeName": { + "contractScope": null, + "id": 5072, + "name": "DaoFundingManager", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3149, + "src": "872:17:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "871:29:15" + }, + "scope": 5399, + "src": "796:199:15", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 5097, + "nodeType": "Block", + "src": "1110:90:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5089, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5087, + "src": "1120:9:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5092, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "1163:28:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5091, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "1150:12:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 5093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1150:42:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5090, + "name": "DaoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4685, + "src": "1132:17:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoRewardsManager_$4685_$", + "typeString": "type(contract DaoRewardsManager)" + } + }, + "id": 5094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1132:61:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "src": "1120:73:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "id": 5096, + "nodeType": "ExpressionStatement", + "src": "1120:73:15" + } + ] + }, + "documentation": null, + "id": 5098, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoRewardsManager", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5085, + "nodeType": "ParameterList", + "parameters": [], + "src": "1027:2:15" + }, + "payable": false, + "returnParameters": { + "id": 5088, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5087, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 5098, + "src": "1077:27:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + }, + "typeName": { + "contractScope": null, + "id": 5086, + "name": "DaoRewardsManager", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4685, + "src": "1077:17:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1076:29:15" + }, + "scope": 5399, + "src": "1001:199:15", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 5110, + "nodeType": "Block", + "src": "1244:77:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5105, + "name": "CONTRACT_DAO_SPECIAL_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1312, + "src": "1267:34:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5106, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5100, + "src": "1303:9:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5104, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "1262:4:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 5107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1262:51:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5103, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1254:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1254:60:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5109, + "nodeType": "ExpressionStatement", + "src": "1254:60:15" + } + ] + }, + "documentation": null, + "id": 5111, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5101, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5100, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 5111, + "src": "1218:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5099, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1218:7:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1217:19:15" + }, + "payable": false, + "returnParameters": { + "id": 5102, + "nodeType": "ParameterList", + "parameters": [], + "src": "1244:0:15" + }, + "scope": 5399, + "src": "1206:115:15", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5359, + "nodeType": "Block", + "src": "1804:2823:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5127, + "name": "isMainPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "1822:11:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 5128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1822:13:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5126, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1814:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1814:22:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5130, + "nodeType": "ExpressionStatement", + "src": "1814:22:15" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5131, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "1850:3:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5144, + "name": "CONFIG_VOTE_CLAIMING_DEADLINE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "2020:29:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5143, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2006:13:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 5145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2006:44:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5139, + "name": "CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "1943:35:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5138, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1929:13:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 5140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1929:50:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5135, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "1891:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5132, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "1856:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 5133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1856:19:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 5134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 15808, + "src": "1856:34:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 5136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1856:47:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "1856:72:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1856:124:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "1856:149:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1856:195:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1850:201:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5158, + "nodeType": "IfStatement", + "src": "1846:305:15", + "trueBody": { + "id": 5157, + "nodeType": "Block", + "src": "2053:98:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5151, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "2095:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 5152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2108:5:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5148, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "2067:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 5149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2067:19:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 5150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setPass", + "nodeType": "MemberAccess", + "referencedDeclaration": 15924, + "src": "2067:27:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$", + "typeString": "function (bytes32,bool) external" + } + }, + "id": 5153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2067:47:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5154, + "nodeType": "ExpressionStatement", + "src": "2067:47:15" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 5155, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2135:5:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 5125, + "id": 5156, + "nodeType": "Return", + "src": "2128:12:15" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5160, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2168:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2168:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5165, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "2223:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5162, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "2182:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 5163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2182:19:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 5164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalProposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 15725, + "src": "2182:40:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 5166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2182:53:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2168:67:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5159, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2160:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2160:76:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5169, + "nodeType": "ExpressionStatement", + "src": "2160:76:15" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5170, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5115, + "src": "2251:11:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5171, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2266:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2251:16:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5177, + "nodeType": "IfStatement", + "src": "2247:106:15", + "trueBody": { + "id": 5176, + "nodeType": "Block", + "src": "2269:84:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 5173, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2336:5:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "id": 5174, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2335:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5125, + "id": 5175, + "nodeType": "Return", + "src": "2328:14:15" + } + ] + } + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5181, + "name": "_currentResults", + "nodeType": "VariableDeclaration", + "scope": 5360, + "src": "2363:53:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + }, + "typeName": { + "contractScope": null, + "id": 5180, + "name": "DaoStructs.IntermediateResults", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8490, + "src": "2363:30:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5182, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "2363:53:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 5196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5183, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "2440:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5185, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "2440:28:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5186, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "2482:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5187, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "2482:31:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5188, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "2527:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5189, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "2527:35:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + null + ], + "id": 5190, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "2426:147:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$__$", + "typeString": "tuple(address,uint256,uint256,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5194, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "2628:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5191, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "2576:26:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 5192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2576:28:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 5193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18511, + "src": "2576:51:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (address,uint256,uint256,uint256)" + } + }, + "id": 5195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2576:64:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(address,uint256,uint256,uint256)" + } + }, + "src": "2426:214:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5197, + "nodeType": "ExpressionStatement", + "src": "2426:214:15" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5201, + "name": "_voters", + "nodeType": "VariableDeclaration", + "scope": 5360, + "src": "2651:24:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 5199, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2651:7:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5200, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2651:9:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5202, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "2651:24:15" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5203, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "2689:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5204, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "2689:28:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 5205, + "name": "EMPTY_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1249, + "src": "2721:13:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2689:45:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 5228, + "nodeType": "Block", + "src": "2878:186:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5217, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5201, + "src": "2892:7:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5221, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "2960:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5222, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "2960:28:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5223, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5115, + "src": "3006:11:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3035:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5218, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "2902:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 5219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2902:19:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 5220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listParticipantsFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 12677, + "src": "2902:40:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,bool) view external returns (address[] memory)" + } + }, + "id": 5225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2902:151:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "2892:161:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5227, + "nodeType": "ExpressionStatement", + "src": "2892:161:15" + } + ] + }, + "id": 5229, + "nodeType": "IfStatement", + "src": "2685:379:15", + "trueBody": { + "id": 5216, + "nodeType": "Block", + "src": "2736:136:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5207, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5201, + "src": "2750:7:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5211, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5115, + "src": "2814:11:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5212, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2843:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5208, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "2760:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 5209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2760:19:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 5210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listParticipants", + "nodeType": "MemberAccess", + "referencedDeclaration": 12644, + "src": "2760:36:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (uint256,bool) view external returns (address[] memory)" + } + }, + "id": 5213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2760:101:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "2750:111:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5215, + "nodeType": "ExpressionStatement", + "src": "2750:111:15" + } + ] + } + }, + { + "assignments": [ + 5231 + ], + "declarations": [ + { + "constant": false, + "id": 5231, + "name": "_lastVoter", + "nodeType": "VariableDeclaration", + "scope": 5360, + "src": "3074:18:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5230, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3074:7:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5238, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 5232, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5201, + "src": "3095:7:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5237, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5233, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5201, + "src": "3103:7:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 5234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3103:14:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 5235, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3120:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3103:18:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3095:27:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3074:48:15" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5242, + "name": "_voteCount", + "nodeType": "VariableDeclaration", + "scope": 5360, + "src": "3133:52:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount" + }, + "typeName": { + "contractScope": null, + "id": 5241, + "name": "DaoIntermediateStructs.VotingCount", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7916, + "src": "3133:34:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_storage_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5243, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "3133:52:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 5256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5244, + "name": "_voteCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5242, + "src": "3196:10:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 5246, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "forCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7913, + "src": "3196:19:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5247, + "name": "_voteCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5242, + "src": "3217:10:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 5248, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "againstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7915, + "src": "3217:23:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5249, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3195:46:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5253, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "3280:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5254, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5201, + "src": "3293:7:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5250, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "3244:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 5251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3244:19:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 5252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVotingCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 15787, + "src": "3244:35:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32,address[] memory) view external returns (uint256,uint256)" + } + }, + "id": 5255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3244:57:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "3195:106:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5257, + "nodeType": "ExpressionStatement", + "src": "3195:106:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 5262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5258, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "3312:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5260, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "3312:28:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5261, + "name": "_lastVoter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5231, + "src": "3343:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3312:41:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5263, + "nodeType": "ExpressionStatement", + "src": "3312:41:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 5273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5264, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "3363:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5266, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "3363:31:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5270, + "name": "_voteCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5242, + "src": "3433:10:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 5271, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "forCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7913, + "src": "3433:19:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5267, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "3397:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5268, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "3397:31:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "3397:35:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3397:56:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3363:90:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5274, + "nodeType": "ExpressionStatement", + "src": "3363:90:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 5284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5275, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "3463:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5277, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "3463:35:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5281, + "name": "_voteCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5242, + "src": "3541:10:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 5282, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "againstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7915, + "src": "3541:23:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5278, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "3501:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5279, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "3501:35:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "3501:39:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3501:64:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3463:102:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5285, + "nodeType": "ExpressionStatement", + "src": "3463:102:15" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5286, + "name": "_lastVoter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5231, + "src": "3580:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5287, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "3594:15:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 5288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3594:17:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 5289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readLastParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16413, + "src": "3594:37:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 5290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3594:39:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3580:53:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 5357, + "nodeType": "Block", + "src": "4335:286:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5347, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "4418:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5348, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "4447:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5349, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "4447:28:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5350, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "4493:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5351, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "4493:31:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5352, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "4542:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5353, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "4542:35:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 5354, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4595:1:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5344, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "4349:26:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 5345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4349:28:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 5346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18586, + "src": "4349:51:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint256,uint256) external" + } + }, + "id": 5355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4349:261:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5356, + "nodeType": "ExpressionStatement", + "src": "4349:261:15" + } + ] + }, + "id": 5358, + "nodeType": "IfStatement", + "src": "3576:1045:15", + "trueBody": { + "id": 5343, + "nodeType": "Block", + "src": "3635:694:15", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5295, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "3791:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5296, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "3791:35:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5292, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "3755:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5293, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "3755:31:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "3755:35:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3755:72:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5298, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5070, + "src": "3830:20:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 5299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3830:22:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 5300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "minimumVotingQuorumForSpecial", + "nodeType": "MemberAccess", + "referencedDeclaration": 12304, + "src": "3830:52:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 5301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3830:54:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3755:129:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 5303, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3754:131:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5307, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "3955:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5308, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "3955:31:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5309, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5181, + "src": "3988:15:15", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 5310, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "3988:35:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5304, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5070, + "src": "3906:20:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 5305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3906:22:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 5306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "votingQuotaForSpecialPass", + "nodeType": "MemberAccess", + "referencedDeclaration": 12362, + "src": "3906:48:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) view external returns (bool)" + } + }, + "id": 5311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3906:118:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 5312, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3905:120:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3754:271:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5323, + "nodeType": "IfStatement", + "src": "3733:395:15", + "trueBody": { + "id": 5322, + "nodeType": "Block", + "src": "4040:88:15", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5314, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5124, + "src": "4058:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5315, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4068:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4058:14:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5317, + "nodeType": "ExpressionStatement", + "src": "4058:14:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5319, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "4101:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5318, + "name": "setConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5398, + "src": "4090:10:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 5320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4090:23:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5321, + "nodeType": "ExpressionStatement", + "src": "4090:23:15" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5327, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "4169:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5328, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5124, + "src": "4182:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5324, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "4141:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 5325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4141:19:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 5326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setPass", + "nodeType": "MemberAccess", + "referencedDeclaration": 15924, + "src": "4141:27:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$", + "typeString": "function (bytes32,bool) external" + } + }, + "id": 5329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4141:49:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5330, + "nodeType": "ExpressionStatement", + "src": "4141:49:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5334, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "4239:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 5335, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4252:4:15", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5331, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "4204:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 5332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4204:19:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 5333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setVotingClaim", + "nodeType": "MemberAccess", + "referencedDeclaration": 15954, + "src": "4204:34:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$", + "typeString": "function (bytes32,bool) external" + } + }, + "id": 5336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4204:53:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5337, + "nodeType": "ExpressionStatement", + "src": "4204:53:15" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5339, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "4297:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5340, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5124, + "src": "4310:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5338, + "name": "SpecialProposalClaim", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5056, + "src": "4276:20:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bool_$returns$__$", + "typeString": "function (bytes32,bool)" + } + }, + "id": 5341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4276:42:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5342, + "nodeType": "EmitStatement", + "src": "4271:47:15" + } + ] + } + } + ] + }, + "documentation": "@notice Function to claim the voting result on special proposal\n@param _proposalId ID of the special proposal\n@return {\n\"_passed\": \"Boolean, true if voting passed, throw if failed, returns false if passed deadline\"\n}", + "id": 5360, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 5118, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "1709:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 5119, + "modifierName": { + "argumentTypes": null, + "id": 5117, + "name": "ifNotClaimedSpecial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 347, + "src": "1689:19:15", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1689:32:15" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 5121, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "1756:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 5122, + "modifierName": { + "argumentTypes": null, + "id": 5120, + "name": "ifAfterRevealPhaseSpecial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 437, + "src": "1730:25:15", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1730:38:15" + } + ], + "name": "claimSpecialProposalVotingResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5116, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5113, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 5360, + "src": "1624:19:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5112, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1624:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5115, + "name": "_operations", + "nodeType": "VariableDeclaration", + "scope": 5360, + "src": "1645:19:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5114, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1645:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1623:42:15" + }, + "payable": false, + "returnParameters": { + "id": 5125, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5124, + "name": "_passed", + "nodeType": "VariableDeclaration", + "scope": 5360, + "src": "1786:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5123, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1786:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1785:14:15" + }, + "scope": 5399, + "src": "1582:3045:15", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5397, + "nodeType": "Block", + "src": "4695:338:15", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5368, + "name": "_uintConfigs", + "nodeType": "VariableDeclaration", + "scope": 5398, + "src": "4705:29:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5366, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4705:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5367, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4705:9:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5369, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4705:29:15" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5373, + "name": "_addressConfigs", + "nodeType": "VariableDeclaration", + "scope": 5398, + "src": "4744:32:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 5371, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4744:7:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5372, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4744:9:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5374, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4744:32:15" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 5378, + "name": "_bytesConfigs", + "nodeType": "VariableDeclaration", + "scope": 5398, + "src": "4786:30:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 5376, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4786:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 5377, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4786:9:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5379, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4786:30:15" + }, + { + "expression": { + "argumentTypes": null, + "id": 5389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 5380, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5368, + "src": "4840:12:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "argumentTypes": null, + "id": 5381, + "name": "_addressConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5373, + "src": "4866:15:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + { + "argumentTypes": null, + "id": 5382, + "name": "_bytesConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5378, + "src": "4895:13:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + } + ], + "id": 5383, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "4826:92:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,address[] memory,bytes32[] memory)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5387, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5362, + "src": "4953:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5384, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "4921:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 5385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4921:19:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 5386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 15761, + "src": "4921:31:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32) view external returns (uint256[] memory,address[] memory,bytes32[] memory)" + } + }, + "id": 5388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4921:44:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,address[] memory,bytes32[] memory)" + } + }, + "src": "4826:139:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5390, + "nodeType": "ExpressionStatement", + "src": "4826:139:15" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5394, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5368, + "src": "5013:12:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5391, + "name": "daoConfigsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1104, + "src": "4975:17:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoConfigsStorage_$14281_$", + "typeString": "function () view returns (contract DaoConfigsStorage)" + } + }, + "id": 5392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4975:19:15", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "id": 5393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateUintConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 13789, + "src": "4975:37:15", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (uint256[] memory) external" + } + }, + "id": 5395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4975:51:15", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5396, + "nodeType": "ExpressionStatement", + "src": "4975:51:15" + } + ] + }, + "documentation": null, + "id": 5398, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setConfigs", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5363, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5362, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 5398, + "src": "4654:19:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5361, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4654:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4653:21:15" + }, + "payable": false, + "returnParameters": { + "id": 5364, + "nodeType": "ParameterList", + "parameters": [], + "src": "4695:0:15" + }, + "scope": 5399, + "src": "4634:399:15", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 5400, + "src": "321:4715:15" + } + ], + "src": "0:5037:15" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0x88d05ec473b832671c51538b475f8c9b952d22f7", + "transactionHash": "0x9b2f9170809aa95dd16678de973933505117b1452b4ddce573c2b6581bb6e301" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T10:37:27.596Z" +} \ No newline at end of file diff --git a/build/contracts/DaoStakeLocking.json b/build/contracts/DaoStakeLocking.json new file mode 100644 index 0000000..0ee8a98 --- /dev/null +++ b/build/contracts/DaoStakeLocking.json @@ -0,0 +1,27082 @@ +{ + "contractName": "DaoStakeLocking", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "dgdBadgeToken", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getAddressConfig", + "outputs": [ + { + "name": "_configValue", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentTimeInQuarter", + "outputs": [ + { + "name": "_currentT", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isMainPhase", + "outputs": [ + { + "name": "_isMainPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isLockingPhase", + "outputs": [ + { + "name": "_isLockingPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentQuarterNumber", + "outputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isParticipant", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getBytesConfig", + "outputs": [ + { + "name": "_configValue", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "carbonVoting1", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getUintConfig", + "outputs": [ + { + "name": "_configValue", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "dgdToken", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isDaoNotReplaced", + "outputs": [ + { + "name": "_isNotReplaced", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isModerator", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "carbonVoting2", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + }, + { + "name": "_dgdToken", + "type": "address" + }, + { + "name": "_dgdBadgeToken", + "type": "address" + }, + { + "name": "_carbonVoting1", + "type": "address" + }, + { + "name": "_carbonVoting2", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_user", + "type": "address" + } + ], + "name": "RedeemBadge", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_user", + "type": "address" + }, + { + "indexed": false, + "name": "_amount", + "type": "uint256" + }, + { + "indexed": false, + "name": "_currentLockedDGDStake", + "type": "uint256" + } + ], + "name": "LockDGD", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_user", + "type": "address" + }, + { + "indexed": false, + "name": "_amount", + "type": "uint256" + }, + { + "indexed": false, + "name": "_currentLockedDGDStake", + "type": "uint256" + } + ], + "name": "WithdrawDGD", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "redeemBadge", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "lockDGD", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdrawDGD", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "confirmContinuedParticipation", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b5060405160a080620058ff83398101806040528101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050506200119d60165486620012b8640100000000026401000000009004565b1515620011a957600080fd5b83607060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082607160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081607260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080607360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505062001549565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156200132057600080fd5b505af115801562001335573d6000803e3d6000fd5b505050506040513d60208110156200134c57600080fd5b810190808051906020019092919050505090506000151581151514156200153d5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620014ea57600080fd5b505af1158015620014ff573d6000803e3d6000fd5b505050506040513d60208110156200151657600080fd5b810190808051906020019092919050505015156200153357600080fd5b6001915062001542565b600091505b5092915050565b6143a680620015596000396000f300608060405260043610610128576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec1461012d57806314efcd3c146101845780631b1e53ef146101b15780631d8ccd04146102085780633943380c146102795780633f83acff146102ac578063560a25ea1461031d578063685330601461034857806374cd7f6d146103775780637d6fed801461038e5780637f6a26b6146103bd578063929066f5146103e857806393ddad0814610443578063963cdbfd146104905780639bd71354146104bd578063b1e2b9dd14610514578063be6999c414610559578063d70d9358146105b0578063db4ecbc1146105df578063dda249f514610636578063fa6f39361461064d578063fbc28462146106a8575b600080fd5b34801561013957600080fd5b506101426106ff565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561019057600080fd5b506101af60048036038101908080359060200190929190505050610724565b005b3480156101bd57600080fd5b506101c661073f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561021457600080fd5b506102376004803603810190808035600019169060200190929190505050610765565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561028557600080fd5b5061028e610827565b60405180826000191660001916815260200191505060405180910390f35b3480156102b857600080fd5b506102db600480360381019080803560001916906020019092919050505061082d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032957600080fd5b50610332610909565b6040518082815260200191505060405180910390f35b34801561035457600080fd5b5061035d610919565b604051808215151515815260200191505060405180910390f35b34801561038357600080fd5b5061038c610945565b005b34801561039a57600080fd5b506103a3610951565b604051808215151515815260200191505060405180910390f35b3480156103c957600080fd5b506103d261096c565b6040518082815260200191505060405180910390f35b3480156103f457600080fd5b50610429600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061097c565b604051808215151515815260200191505060405180910390f35b34801561044f57600080fd5b506104726004803603810190808035600019169060200190929190505050610b5d565b60405180826000191660001916815260200191505060405180910390f35b34801561049c57600080fd5b506104bb60048036038101908080359060200190929190505050610c1f565b005b3480156104c957600080fd5b506104d2611731565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561052057600080fd5b506105436004803603810190808035600019169060200190929190505050611757565b6040518082815260200191505060405180910390f35b34801561056557600080fd5b5061056e611819565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105bc57600080fd5b506105c561183f565b604051808215151515815260200191505060405180910390f35b3480156105eb57600080fd5b506105f46118ed565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561064257600080fd5b5061064b611913565b005b34801561065957600080fd5b5061068e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e48565b604051808215151515815260200191505060405180910390f35b3480156106b457600080fd5b506106bd61211b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008111151561073357600080fd5b61073c81612141565b50565b607160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061076f612bea565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156107e557600080fd5b505af11580156107f9573d6000803e3d6000fd5b505050506040513d602081101561080f57600080fd5b81019080805190602001909291905050509050919050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156108c757600080fd5b505af11580156108db573d6000803e3d6000fd5b505050506040513d60208110156108f157600080fd5b81019080805190602001909291905050509050919050565b600061091442612bfc565b905090565b600061092361183f565b80156109405750610935603854611757565b61093d610909565b10155b905090565b61094f6000612141565b565b600061095e603854611757565b610966610909565b10905090565b600061097742612ce5565b905090565b600061098661096c565b61098e612de8565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610a2857600080fd5b505af1158015610a3c573d6000803e3d6000fd5b505050506040513d6020811015610a5257600080fd5b8101908080519060200190929190505050148015610b565750610a76603554611757565b610a7e612dfa565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610b1857600080fd5b505af1158015610b2c573d6000803e3d6000fd5b505050506040513d6020811015610b4257600080fd5b810190808051906020019092919050505010155b9050919050565b6000610b67612bea565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610bdd57600080fd5b505af1158015610bf1573d6000803e3d6000fd5b505050506040513d6020811015610c0757600080fd5b81019080805190602001909291905050509050919050565b610c27614358565b610c2f614358565b600080610c3a61096c565b6001811115610d03576000610c4d612de8565b73ffffffffffffffffffffffffffffffffffffffff1663a78e00d6836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015610cbb57600080fd5b505af1158015610ccf573d6000803e3d6000fd5b505050506040513d6020811015610ce557600080fd5b8101908080519060200190929190505050111515610d0257600080fd5b5b610d0b610951565b80610db85750610d19612e0c565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610d7c57600080fd5b505af1158015610d90573d6000803e3d6000fd5b505050506040513d6020811015610da657600080fd5b81019080805190602001909291905050505b1515610dc357600080fd5b610dcc33612e1e565b9450610dd83386612fd2565b935060008560000151111515610ded57600080fd5b85856000015110151515610e0057600080fd5b610e178685600001516131de90919063ffffffff16565b846000018181525050610e378685602001516131de90919063ffffffff16565b846020018181525050610e578685604001516131de90919063ffffffff16565b846040018181525050610e686131f7565b73ffffffffffffffffffffffffffffffffffffffff166349da49bc336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015610f0257600080fd5b505af1158015610f16573d6000803e3d6000fd5b50505050610f25338686613209565b610f2d612de8565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610fc757600080fd5b505af1158015610fdb573d6000803e3d6000fd5b505050506040513d6020811015610ff157600080fd5b8101908080519060200190929190505050925061100c61096c565b9150611019603554611757565b846020015110156112d257818314156111cb57611034612de8565b73ffffffffffffffffffffffffffffffffffffffff1663927bb66833611058612de8565b73ffffffffffffffffffffffffffffffffffffffff1663bcda6424336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156110f257600080fd5b505af1158015611106573d6000803e3d6000fd5b505050506040513d602081101561111c57600080fd5b81019080805190602001909291905050506040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156111b257600080fd5b505af11580156111c6573d6000803e3d6000fd5b505050505b6111e6846020015185604001516131de90919063ffffffff16565b8460400181815250506111f7612dfa565b73ffffffffffffffffffffffffffffffffffffffff166344d9bfe6336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561129157600080fd5b505af11580156112a5573d6000803e3d6000fd5b505050506040513d60208110156112bb57600080fd5b810190808051906020019092919050505050611460565b8183101561145f576112e2612de8565b73ffffffffffffffffffffffffffffffffffffffff1663863eb74a33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561138457600080fd5b505af1158015611398573d6000803e3d6000fd5b505050506113a4612de8565b73ffffffffffffffffffffffffffffffffffffffff1663927bb66833846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561144657600080fd5b505af115801561145a573d6000803e3d6000fd5b505050505b5b611468612dfa565b73ffffffffffffffffffffffffffffffffffffffff1663ad5c464733866000015187602001516040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050600060405180830381600087803b15801561151a57600080fd5b505af115801561152e573d6000803e3d6000fd5b5050505061153a612dfa565b73ffffffffffffffffffffffffffffffffffffffff16631538e68c85604001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b1580156115ac57600080fd5b505af11580156115c0573d6000803e3d6000fd5b50505050607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33886040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561168957600080fd5b505af115801561169d573d6000803e3d6000fd5b505050506040513d60208110156116b357600080fd5b810190808051906020019092919050505015156116cf57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f854445a9a1b2b97212d606c21f3640b8b15b514332fc52b957f9c93125a274a4878660200151604051808381526020018281526020019250505060405180910390a2505050505050565b607260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611761612bea565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156117d757600080fd5b505af11580156117eb573d6000803e3d6000fd5b505050506040513d602081101561180157600080fd5b81019080805190602001909291905050509050919050565b607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611849612e0c565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156118ac57600080fd5b505af11580156118c0573d6000803e3d6000fd5b505050506040513d60208110156118d657600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61191b614358565b611923612dfa565b73ffffffffffffffffffffffffffffffffffffffff1663f01a13e1336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156119bd57600080fd5b505af11580156119d1573d6000803e3d6000fd5b505050506040513d60208110156119e757600080fd5b8101908080519060200190929190505050151515611a0457600080fd5b6001611a0e61096c565b03611a17612de8565b73ffffffffffffffffffffffffffffffffffffffff1663bd695d21336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611ab157600080fd5b505af1158015611ac5573d6000803e3d6000fd5b505050506040513d6020811015611adb57600080fd5b8101908080519060200190929190505050141515611af857600080fd5b611b00612dfa565b73ffffffffffffffffffffffffffffffffffffffff166303cc89b4336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015611b9a57600080fd5b505af1158015611bae573d6000803e3d6000fd5b50505050611bba613be1565b73ffffffffffffffffffffffffffffffffffffffff1663ded86d6833611be1606854611757565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040805180830381600087803b158015611c6557600080fd5b505af1158015611c79573d6000803e3d6000fd5b505050506040513d6040811015611c8f57600080fd5b8101908080519060200190929190805190602001909291905050505050611cb533612e1e565b9050611cc2338283613209565b607160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd333060016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611dbc57600080fd5b505af1158015611dd0573d6000803e3d6000fd5b505050506040513d6020811015611de657600080fd5b81019080805190602001909291905050501515611e0257600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f212ab1ff1ffcea0692d08ce958ff341c42bca858661e7811a8bd71e5d7fcba4260405160405180910390a250565b6000611e5261096c565b611e5a612de8565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611ef457600080fd5b505af1158015611f08573d6000803e3d6000fd5b505050506040513d6020811015611f1e57600080fd5b81019080805190602001909291905050501480156120225750611f42603654611757565b611f4a612dfa565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611fe457600080fd5b505af1158015611ff8573d6000803e3d6000fd5b505050506040513d602081101561200e57600080fd5b810190808051906020019092919050505010155b80156121145750612034603754611757565b61203c613be1565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156120d657600080fd5b505af11580156120ea573d6000803e3d6000fd5b505050506040513d602081101561210057600080fd5b810190808051906020019092919050505010155b9050919050565b607360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b612149614358565b612151614358565b600080600061215e61096c565b6001811115612227576000612171612de8565b73ffffffffffffffffffffffffffffffffffffffff1663a78e00d6836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1580156121df57600080fd5b505af11580156121f3573d6000803e3d6000fd5b505050506040513d602081101561220957600080fd5b810190808051906020019092919050505011151561222657600080fd5b5b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561226157600080fd5b61226a33612e1e565b95506122763387612fd2565b94506000935060008711156123395761228d613bf3565b73ffffffffffffffffffffffffffffffffffffffff16630b3b1595886040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1580156122fb57600080fd5b505af115801561230f573d6000803e3d6000fd5b505050506040513d602081101561232557600080fd5b810190808051906020019092919050505093505b612350878660000151613c0590919063ffffffff16565b856000018181525050612370848660200151613c0590919063ffffffff16565b856020018181525050612390848660400151613c0590919063ffffffff16565b8560400181815250506123a16131f7565b73ffffffffffffffffffffffffffffffffffffffff166349da49bc336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561243b57600080fd5b505af115801561244f573d6000803e3d6000fd5b5050505061245b612dfa565b73ffffffffffffffffffffffffffffffffffffffff1663ad5c464733876000015188602001516040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050600060405180830381600087803b15801561250d57600080fd5b505af1158015612521573d6000803e3d6000fd5b50505050612530338787613209565b612538612de8565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156125d257600080fd5b505af11580156125e6573d6000803e3d6000fd5b505050506040513d60208110156125fc57600080fd5b8101908080519060200190929190505050925061261761096c565b9150612624603554611757565b85602001511015156128b357612638612dfa565b73ffffffffffffffffffffffffffffffffffffffff1663e41b4c5c336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156126d257600080fd5b505af11580156126e6573d6000803e3d6000fd5b505050506040513d60208110156126fc57600080fd5b8101908080519060200190929190505050508183101561289b5761271e612de8565b73ffffffffffffffffffffffffffffffffffffffff1663863eb74a33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156127c057600080fd5b505af11580156127d4573d6000803e3d6000fd5b505050506127e0612de8565b73ffffffffffffffffffffffffffffffffffffffff1663927bb66833846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561288257600080fd5b505af1158015612896573d6000803e3d6000fd5b505050505b60008314156128ae576128ad33613c21565b5b6129b6565b6128ce856020015186604001516131de90919063ffffffff16565b8560400181815250506128df612dfa565b73ffffffffffffffffffffffffffffffffffffffff166344d9bfe6336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561297957600080fd5b505af115801561298d573d6000803e3d6000fd5b505050506040513d60208110156129a357600080fd5b8101908080519060200190929190505050505b6129be612dfa565b73ffffffffffffffffffffffffffffffffffffffff16631538e68c86604001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015612a3057600080fd5b505af1158015612a44573d6000803e3d6000fd5b50505050607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015612b4157600080fd5b505af1158015612b55573d6000803e3d6000fd5b505050506040513d6020811015612b6b57600080fd5b81019080805190602001909291905050501515612b8757600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f31234eaf60e5e9eb15f098a26504dfe889551da611f4f904c9031e8b52382050888760200151604051808381526020018281526020019250505060405180910390a250505050505050565b6000612bf7602b5461082d565b905090565b6000612c06614292565b1515612c1157600080fd5b612c1c603954611757565b612cd4612c27612e0c565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612c8a57600080fd5b505af1158015612c9e573d6000803e3d6000fd5b505050506040513d6020811015612cb457600080fd5b8101908080519060200190929190505050846131de90919063ffffffff16565b811515612cdd57fe5b069050919050565b6000612cef614292565b1515612cfa57600080fd5b612de16001612dd3612d0d603954611757565b612dc5612d18612e0c565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612d7b57600080fd5b505af1158015612d8f573d6000803e3d6000fd5b505050506040513d6020811015612da557600080fd5b8101908080519060200190929190505050876131de90919063ffffffff16565b61434290919063ffffffff16565b613c0590919063ffffffff16565b9050919050565b6000612df5602d5461082d565b905090565b6000612e07602c5461082d565b905090565b6000612e1960275461082d565b905090565b612e26614358565b612e2e612dfa565b73ffffffffffffffffffffffffffffffffffffffff16635bdd2743836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506040805180830381600087803b158015612ec757600080fd5b505af1158015612edb573d6000803e3d6000fd5b505050506040513d6040811015612ef157600080fd5b810190808051906020019092919080519060200190929190505050826000018360200182815250828152505050612f26612dfa565b73ffffffffffffffffffffffffffffffffffffffff1663abed029a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612f8957600080fd5b505af1158015612f9d573d6000803e3d6000fd5b505050506040513d6020811015612fb357600080fd5b8101908080519060200190929190505050816040018181525050919050565b612fda614358565b600082602001518260200181815250508260000151826000018181525050826040015182604001818152505061300e61096c565b905080613019612de8565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156130b357600080fd5b505af11580156130c7573d6000803e3d6000fd5b505050506040513d60208110156130dd57600080fd5b810190808051906020019092919050505010156131d7576130fc613bf3565b73ffffffffffffffffffffffffffffffffffffffff16630b3b159584600001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561316e57600080fd5b505af1158015613182573d6000803e3d6000fd5b505050506040513d602081101561319857600080fd5b81019080805190602001909291905050508260200181815250506131cd82602001518360400151613c0590919063ffffffff16565b8260400181815250505b5092915050565b60008282111515156131ec57fe5b818303905092915050565b6000613204601b5461082d565b905090565b60008061321461096c565b61321c612de8565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff876040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156132b657600080fd5b505af11580156132ca573d6000803e3d6000fd5b505050506040513d60208110156132e057600080fd5b81019080805190602001909291905050501491506132fc612dfa565b73ffffffffffffffffffffffffffffffffffffffff1663bf448a876040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561335f57600080fd5b505af1158015613373573d6000803e3d6000fd5b505050506040513d602081101561338957600080fd5b81019080805190602001909291905050509050600115156133a8612dfa565b73ffffffffffffffffffffffffffffffffffffffff166388954a6c876040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561344257600080fd5b505af1158015613456573d6000803e3d6000fd5b505050506040513d602081101561346c57600080fd5b81019080805190602001909291905050501515141561394d57613490603654611757565b8360200151108061358657506134a7603754611757565b6134af613be1565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2876040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561354957600080fd5b505af115801561355d573d6000803e3d6000fd5b505050506040513d602081101561357357600080fd5b8101908080519060200190929190505050105b156137dd576001613595612dfa565b73ffffffffffffffffffffffffffffffffffffffff1663e3bc96ba6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156135f857600080fd5b505af115801561360c573d6000803e3d6000fd5b505050506040513d602081101561362257600080fd5b81019080805190602001909291905050501180613644575061364261183f565b155b151561364f57600080fd5b613657612dfa565b73ffffffffffffffffffffffffffffffffffffffff1663f2388b42866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156136f157600080fd5b505af1158015613705573d6000803e3d6000fd5b505050506040513d602081101561371b57600080fd5b81019080805190602001909291905050505081156137d85761373b612dfa565b73ffffffffffffffffffffffffffffffffffffffff166391baa14461376d8660200151846131de90919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b1580156137bf57600080fd5b505af11580156137d3573d6000803e3d6000fd5b505050505b613948565b81156138a2576137eb612dfa565b73ffffffffffffffffffffffffffffffffffffffff166391baa14461383385602001516138258860200151866131de90919063ffffffff16565b613c0590919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561388557600080fd5b505af1158015613899573d6000803e3d6000fd5b50505050613947565b6138aa612dfa565b73ffffffffffffffffffffffffffffffffffffffff166391baa1446138dc856020015184613c0590919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561392e57600080fd5b505af1158015613942573d6000803e3d6000fd5b505050505b5b613bda565b613958603654611757565b836020015110158015613a515750613971603754611757565b613979613be1565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2876040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015613a1357600080fd5b505af1158015613a27573d6000803e3d6000fd5b505050506040513d6020811015613a3d57600080fd5b810190808051906020019092919050505010155b15613bd957613a5e612dfa565b73ffffffffffffffffffffffffffffffffffffffff166303a996a1866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015613af857600080fd5b505af1158015613b0c573d6000803e3d6000fd5b505050506040513d6020811015613b2257600080fd5b810190808051906020019092919050505050613b3c612dfa565b73ffffffffffffffffffffffffffffffffffffffff166391baa144613b6e856020015184613c0590919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015613bc057600080fd5b505af1158015613bd4573d6000803e3d6000fd5b505050505b5b5050505050565b6000613bee60295461082d565b905090565b6000613c0060245461082d565b905090565b60008183019050828110151515613c1857fe5b80905092915050565b613c29612dfa565b73ffffffffffffffffffffffffffffffffffffffff16636d080338826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015613cc357600080fd5b505af1158015613cd7573d6000803e3d6000fd5b505050506040513d6020811015613ced57600080fd5b810190808051906020019092919050505015613d085761428f565b607260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663aec2ccae826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015613dc557600080fd5b505af1158015613dd9573d6000803e3d6000fd5b505050506040513d6020811015613def57600080fd5b810190808051906020019092919050505015613f0057613e0d613be1565b73ffffffffffffffffffffffffffffffffffffffff1663ded86d6882613e34606f54611757565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040805180830381600087803b158015613eb857600080fd5b505af1158015613ecc573d6000803e3d6000fd5b505050506040513d6040811015613ee257600080fd5b81019080805190602001909291908051906020019092919050505050505b607360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663aec2ccae826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015613fbd57600080fd5b505af1158015613fd1573d6000803e3d6000fd5b505050506040513d6020811015613fe757600080fd5b8101908080519060200190929190505050156140f857614005613be1565b73ffffffffffffffffffffffffffffffffffffffff1663ded86d688261402c606f54611757565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040805180830381600087803b1580156140b057600080fd5b505af11580156140c4573d6000803e3d6000fd5b505050506040513d60408110156140da57600080fd5b81019080805190602001909291908051906020019092919050505050505b614100612de8565b73ffffffffffffffffffffffffffffffffffffffff166312d9b93933614137600161412961096c565b6131de90919063ffffffff16565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156141bc57600080fd5b505af11580156141d0573d6000803e3d6000fd5b505050506141dc612dfa565b73ffffffffffffffffffffffffffffffffffffffff16635515eb2c826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561427657600080fd5b505af115801561428a573d6000803e3d6000fd5b505050505b50565b60008061429d612e0c565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561430057600080fd5b505af1158015614314573d6000803e3d6000fd5b505050506040513d602081101561432a57600080fd5b81019080805190602001909291905050501415905090565b6000818381151561434f57fe5b04905092915050565b60606040519081016040528060008152602001600081526020016000815250905600a165627a7a723058206176b0418a919026e5b54966c25f1b60b0a32151009fea4534e69ea8e16af3bc0029", + "deployedBytecode": "0x608060405260043610610128576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec1461012d57806314efcd3c146101845780631b1e53ef146101b15780631d8ccd04146102085780633943380c146102795780633f83acff146102ac578063560a25ea1461031d578063685330601461034857806374cd7f6d146103775780637d6fed801461038e5780637f6a26b6146103bd578063929066f5146103e857806393ddad0814610443578063963cdbfd146104905780639bd71354146104bd578063b1e2b9dd14610514578063be6999c414610559578063d70d9358146105b0578063db4ecbc1146105df578063dda249f514610636578063fa6f39361461064d578063fbc28462146106a8575b600080fd5b34801561013957600080fd5b506101426106ff565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561019057600080fd5b506101af60048036038101908080359060200190929190505050610724565b005b3480156101bd57600080fd5b506101c661073f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561021457600080fd5b506102376004803603810190808035600019169060200190929190505050610765565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561028557600080fd5b5061028e610827565b60405180826000191660001916815260200191505060405180910390f35b3480156102b857600080fd5b506102db600480360381019080803560001916906020019092919050505061082d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032957600080fd5b50610332610909565b6040518082815260200191505060405180910390f35b34801561035457600080fd5b5061035d610919565b604051808215151515815260200191505060405180910390f35b34801561038357600080fd5b5061038c610945565b005b34801561039a57600080fd5b506103a3610951565b604051808215151515815260200191505060405180910390f35b3480156103c957600080fd5b506103d261096c565b6040518082815260200191505060405180910390f35b3480156103f457600080fd5b50610429600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061097c565b604051808215151515815260200191505060405180910390f35b34801561044f57600080fd5b506104726004803603810190808035600019169060200190929190505050610b5d565b60405180826000191660001916815260200191505060405180910390f35b34801561049c57600080fd5b506104bb60048036038101908080359060200190929190505050610c1f565b005b3480156104c957600080fd5b506104d2611731565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561052057600080fd5b506105436004803603810190808035600019169060200190929190505050611757565b6040518082815260200191505060405180910390f35b34801561056557600080fd5b5061056e611819565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105bc57600080fd5b506105c561183f565b604051808215151515815260200191505060405180910390f35b3480156105eb57600080fd5b506105f46118ed565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561064257600080fd5b5061064b611913565b005b34801561065957600080fd5b5061068e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e48565b604051808215151515815260200191505060405180910390f35b3480156106b457600080fd5b506106bd61211b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008111151561073357600080fd5b61073c81612141565b50565b607160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061076f612bea565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156107e557600080fd5b505af11580156107f9573d6000803e3d6000fd5b505050506040513d602081101561080f57600080fd5b81019080805190602001909291905050509050919050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156108c757600080fd5b505af11580156108db573d6000803e3d6000fd5b505050506040513d60208110156108f157600080fd5b81019080805190602001909291905050509050919050565b600061091442612bfc565b905090565b600061092361183f565b80156109405750610935603854611757565b61093d610909565b10155b905090565b61094f6000612141565b565b600061095e603854611757565b610966610909565b10905090565b600061097742612ce5565b905090565b600061098661096c565b61098e612de8565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610a2857600080fd5b505af1158015610a3c573d6000803e3d6000fd5b505050506040513d6020811015610a5257600080fd5b8101908080519060200190929190505050148015610b565750610a76603554611757565b610a7e612dfa565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610b1857600080fd5b505af1158015610b2c573d6000803e3d6000fd5b505050506040513d6020811015610b4257600080fd5b810190808051906020019092919050505010155b9050919050565b6000610b67612bea565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610bdd57600080fd5b505af1158015610bf1573d6000803e3d6000fd5b505050506040513d6020811015610c0757600080fd5b81019080805190602001909291905050509050919050565b610c27614358565b610c2f614358565b600080610c3a61096c565b6001811115610d03576000610c4d612de8565b73ffffffffffffffffffffffffffffffffffffffff1663a78e00d6836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015610cbb57600080fd5b505af1158015610ccf573d6000803e3d6000fd5b505050506040513d6020811015610ce557600080fd5b8101908080519060200190929190505050111515610d0257600080fd5b5b610d0b610951565b80610db85750610d19612e0c565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610d7c57600080fd5b505af1158015610d90573d6000803e3d6000fd5b505050506040513d6020811015610da657600080fd5b81019080805190602001909291905050505b1515610dc357600080fd5b610dcc33612e1e565b9450610dd83386612fd2565b935060008560000151111515610ded57600080fd5b85856000015110151515610e0057600080fd5b610e178685600001516131de90919063ffffffff16565b846000018181525050610e378685602001516131de90919063ffffffff16565b846020018181525050610e578685604001516131de90919063ffffffff16565b846040018181525050610e686131f7565b73ffffffffffffffffffffffffffffffffffffffff166349da49bc336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015610f0257600080fd5b505af1158015610f16573d6000803e3d6000fd5b50505050610f25338686613209565b610f2d612de8565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610fc757600080fd5b505af1158015610fdb573d6000803e3d6000fd5b505050506040513d6020811015610ff157600080fd5b8101908080519060200190929190505050925061100c61096c565b9150611019603554611757565b846020015110156112d257818314156111cb57611034612de8565b73ffffffffffffffffffffffffffffffffffffffff1663927bb66833611058612de8565b73ffffffffffffffffffffffffffffffffffffffff1663bcda6424336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156110f257600080fd5b505af1158015611106573d6000803e3d6000fd5b505050506040513d602081101561111c57600080fd5b81019080805190602001909291905050506040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156111b257600080fd5b505af11580156111c6573d6000803e3d6000fd5b505050505b6111e6846020015185604001516131de90919063ffffffff16565b8460400181815250506111f7612dfa565b73ffffffffffffffffffffffffffffffffffffffff166344d9bfe6336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561129157600080fd5b505af11580156112a5573d6000803e3d6000fd5b505050506040513d60208110156112bb57600080fd5b810190808051906020019092919050505050611460565b8183101561145f576112e2612de8565b73ffffffffffffffffffffffffffffffffffffffff1663863eb74a33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561138457600080fd5b505af1158015611398573d6000803e3d6000fd5b505050506113a4612de8565b73ffffffffffffffffffffffffffffffffffffffff1663927bb66833846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561144657600080fd5b505af115801561145a573d6000803e3d6000fd5b505050505b5b611468612dfa565b73ffffffffffffffffffffffffffffffffffffffff1663ad5c464733866000015187602001516040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050600060405180830381600087803b15801561151a57600080fd5b505af115801561152e573d6000803e3d6000fd5b5050505061153a612dfa565b73ffffffffffffffffffffffffffffffffffffffff16631538e68c85604001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b1580156115ac57600080fd5b505af11580156115c0573d6000803e3d6000fd5b50505050607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33886040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561168957600080fd5b505af115801561169d573d6000803e3d6000fd5b505050506040513d60208110156116b357600080fd5b810190808051906020019092919050505015156116cf57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f854445a9a1b2b97212d606c21f3640b8b15b514332fc52b957f9c93125a274a4878660200151604051808381526020018281526020019250505060405180910390a2505050505050565b607260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611761612bea565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156117d757600080fd5b505af11580156117eb573d6000803e3d6000fd5b505050506040513d602081101561180157600080fd5b81019080805190602001909291905050509050919050565b607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611849612e0c565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156118ac57600080fd5b505af11580156118c0573d6000803e3d6000fd5b505050506040513d60208110156118d657600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61191b614358565b611923612dfa565b73ffffffffffffffffffffffffffffffffffffffff1663f01a13e1336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156119bd57600080fd5b505af11580156119d1573d6000803e3d6000fd5b505050506040513d60208110156119e757600080fd5b8101908080519060200190929190505050151515611a0457600080fd5b6001611a0e61096c565b03611a17612de8565b73ffffffffffffffffffffffffffffffffffffffff1663bd695d21336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611ab157600080fd5b505af1158015611ac5573d6000803e3d6000fd5b505050506040513d6020811015611adb57600080fd5b8101908080519060200190929190505050141515611af857600080fd5b611b00612dfa565b73ffffffffffffffffffffffffffffffffffffffff166303cc89b4336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015611b9a57600080fd5b505af1158015611bae573d6000803e3d6000fd5b50505050611bba613be1565b73ffffffffffffffffffffffffffffffffffffffff1663ded86d6833611be1606854611757565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040805180830381600087803b158015611c6557600080fd5b505af1158015611c79573d6000803e3d6000fd5b505050506040513d6040811015611c8f57600080fd5b8101908080519060200190929190805190602001909291905050505050611cb533612e1e565b9050611cc2338283613209565b607160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd333060016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611dbc57600080fd5b505af1158015611dd0573d6000803e3d6000fd5b505050506040513d6020811015611de657600080fd5b81019080805190602001909291905050501515611e0257600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f212ab1ff1ffcea0692d08ce958ff341c42bca858661e7811a8bd71e5d7fcba4260405160405180910390a250565b6000611e5261096c565b611e5a612de8565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611ef457600080fd5b505af1158015611f08573d6000803e3d6000fd5b505050506040513d6020811015611f1e57600080fd5b81019080805190602001909291905050501480156120225750611f42603654611757565b611f4a612dfa565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611fe457600080fd5b505af1158015611ff8573d6000803e3d6000fd5b505050506040513d602081101561200e57600080fd5b810190808051906020019092919050505010155b80156121145750612034603754611757565b61203c613be1565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156120d657600080fd5b505af11580156120ea573d6000803e3d6000fd5b505050506040513d602081101561210057600080fd5b810190808051906020019092919050505010155b9050919050565b607360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b612149614358565b612151614358565b600080600061215e61096c565b6001811115612227576000612171612de8565b73ffffffffffffffffffffffffffffffffffffffff1663a78e00d6836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1580156121df57600080fd5b505af11580156121f3573d6000803e3d6000fd5b505050506040513d602081101561220957600080fd5b810190808051906020019092919050505011151561222657600080fd5b5b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561226157600080fd5b61226a33612e1e565b95506122763387612fd2565b94506000935060008711156123395761228d613bf3565b73ffffffffffffffffffffffffffffffffffffffff16630b3b1595886040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1580156122fb57600080fd5b505af115801561230f573d6000803e3d6000fd5b505050506040513d602081101561232557600080fd5b810190808051906020019092919050505093505b612350878660000151613c0590919063ffffffff16565b856000018181525050612370848660200151613c0590919063ffffffff16565b856020018181525050612390848660400151613c0590919063ffffffff16565b8560400181815250506123a16131f7565b73ffffffffffffffffffffffffffffffffffffffff166349da49bc336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561243b57600080fd5b505af115801561244f573d6000803e3d6000fd5b5050505061245b612dfa565b73ffffffffffffffffffffffffffffffffffffffff1663ad5c464733876000015188602001516040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050600060405180830381600087803b15801561250d57600080fd5b505af1158015612521573d6000803e3d6000fd5b50505050612530338787613209565b612538612de8565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156125d257600080fd5b505af11580156125e6573d6000803e3d6000fd5b505050506040513d60208110156125fc57600080fd5b8101908080519060200190929190505050925061261761096c565b9150612624603554611757565b85602001511015156128b357612638612dfa565b73ffffffffffffffffffffffffffffffffffffffff1663e41b4c5c336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156126d257600080fd5b505af11580156126e6573d6000803e3d6000fd5b505050506040513d60208110156126fc57600080fd5b8101908080519060200190929190505050508183101561289b5761271e612de8565b73ffffffffffffffffffffffffffffffffffffffff1663863eb74a33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156127c057600080fd5b505af11580156127d4573d6000803e3d6000fd5b505050506127e0612de8565b73ffffffffffffffffffffffffffffffffffffffff1663927bb66833846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561288257600080fd5b505af1158015612896573d6000803e3d6000fd5b505050505b60008314156128ae576128ad33613c21565b5b6129b6565b6128ce856020015186604001516131de90919063ffffffff16565b8560400181815250506128df612dfa565b73ffffffffffffffffffffffffffffffffffffffff166344d9bfe6336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561297957600080fd5b505af115801561298d573d6000803e3d6000fd5b505050506040513d60208110156129a357600080fd5b8101908080519060200190929190505050505b6129be612dfa565b73ffffffffffffffffffffffffffffffffffffffff16631538e68c86604001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015612a3057600080fd5b505af1158015612a44573d6000803e3d6000fd5b50505050607060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33308a6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015612b4157600080fd5b505af1158015612b55573d6000803e3d6000fd5b505050506040513d6020811015612b6b57600080fd5b81019080805190602001909291905050501515612b8757600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f31234eaf60e5e9eb15f098a26504dfe889551da611f4f904c9031e8b52382050888760200151604051808381526020018281526020019250505060405180910390a250505050505050565b6000612bf7602b5461082d565b905090565b6000612c06614292565b1515612c1157600080fd5b612c1c603954611757565b612cd4612c27612e0c565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612c8a57600080fd5b505af1158015612c9e573d6000803e3d6000fd5b505050506040513d6020811015612cb457600080fd5b8101908080519060200190929190505050846131de90919063ffffffff16565b811515612cdd57fe5b069050919050565b6000612cef614292565b1515612cfa57600080fd5b612de16001612dd3612d0d603954611757565b612dc5612d18612e0c565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612d7b57600080fd5b505af1158015612d8f573d6000803e3d6000fd5b505050506040513d6020811015612da557600080fd5b8101908080519060200190929190505050876131de90919063ffffffff16565b61434290919063ffffffff16565b613c0590919063ffffffff16565b9050919050565b6000612df5602d5461082d565b905090565b6000612e07602c5461082d565b905090565b6000612e1960275461082d565b905090565b612e26614358565b612e2e612dfa565b73ffffffffffffffffffffffffffffffffffffffff16635bdd2743836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506040805180830381600087803b158015612ec757600080fd5b505af1158015612edb573d6000803e3d6000fd5b505050506040513d6040811015612ef157600080fd5b810190808051906020019092919080519060200190929190505050826000018360200182815250828152505050612f26612dfa565b73ffffffffffffffffffffffffffffffffffffffff1663abed029a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612f8957600080fd5b505af1158015612f9d573d6000803e3d6000fd5b505050506040513d6020811015612fb357600080fd5b8101908080519060200190929190505050816040018181525050919050565b612fda614358565b600082602001518260200181815250508260000151826000018181525050826040015182604001818152505061300e61096c565b905080613019612de8565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156130b357600080fd5b505af11580156130c7573d6000803e3d6000fd5b505050506040513d60208110156130dd57600080fd5b810190808051906020019092919050505010156131d7576130fc613bf3565b73ffffffffffffffffffffffffffffffffffffffff16630b3b159584600001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561316e57600080fd5b505af1158015613182573d6000803e3d6000fd5b505050506040513d602081101561319857600080fd5b81019080805190602001909291905050508260200181815250506131cd82602001518360400151613c0590919063ffffffff16565b8260400181815250505b5092915050565b60008282111515156131ec57fe5b818303905092915050565b6000613204601b5461082d565b905090565b60008061321461096c565b61321c612de8565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff876040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156132b657600080fd5b505af11580156132ca573d6000803e3d6000fd5b505050506040513d60208110156132e057600080fd5b81019080805190602001909291905050501491506132fc612dfa565b73ffffffffffffffffffffffffffffffffffffffff1663bf448a876040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561335f57600080fd5b505af1158015613373573d6000803e3d6000fd5b505050506040513d602081101561338957600080fd5b81019080805190602001909291905050509050600115156133a8612dfa565b73ffffffffffffffffffffffffffffffffffffffff166388954a6c876040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561344257600080fd5b505af1158015613456573d6000803e3d6000fd5b505050506040513d602081101561346c57600080fd5b81019080805190602001909291905050501515141561394d57613490603654611757565b8360200151108061358657506134a7603754611757565b6134af613be1565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2876040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561354957600080fd5b505af115801561355d573d6000803e3d6000fd5b505050506040513d602081101561357357600080fd5b8101908080519060200190929190505050105b156137dd576001613595612dfa565b73ffffffffffffffffffffffffffffffffffffffff1663e3bc96ba6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156135f857600080fd5b505af115801561360c573d6000803e3d6000fd5b505050506040513d602081101561362257600080fd5b81019080805190602001909291905050501180613644575061364261183f565b155b151561364f57600080fd5b613657612dfa565b73ffffffffffffffffffffffffffffffffffffffff1663f2388b42866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156136f157600080fd5b505af1158015613705573d6000803e3d6000fd5b505050506040513d602081101561371b57600080fd5b81019080805190602001909291905050505081156137d85761373b612dfa565b73ffffffffffffffffffffffffffffffffffffffff166391baa14461376d8660200151846131de90919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b1580156137bf57600080fd5b505af11580156137d3573d6000803e3d6000fd5b505050505b613948565b81156138a2576137eb612dfa565b73ffffffffffffffffffffffffffffffffffffffff166391baa14461383385602001516138258860200151866131de90919063ffffffff16565b613c0590919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561388557600080fd5b505af1158015613899573d6000803e3d6000fd5b50505050613947565b6138aa612dfa565b73ffffffffffffffffffffffffffffffffffffffff166391baa1446138dc856020015184613c0590919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561392e57600080fd5b505af1158015613942573d6000803e3d6000fd5b505050505b5b613bda565b613958603654611757565b836020015110158015613a515750613971603754611757565b613979613be1565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2876040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015613a1357600080fd5b505af1158015613a27573d6000803e3d6000fd5b505050506040513d6020811015613a3d57600080fd5b810190808051906020019092919050505010155b15613bd957613a5e612dfa565b73ffffffffffffffffffffffffffffffffffffffff166303a996a1866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015613af857600080fd5b505af1158015613b0c573d6000803e3d6000fd5b505050506040513d6020811015613b2257600080fd5b810190808051906020019092919050505050613b3c612dfa565b73ffffffffffffffffffffffffffffffffffffffff166391baa144613b6e856020015184613c0590919063ffffffff16565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015613bc057600080fd5b505af1158015613bd4573d6000803e3d6000fd5b505050505b5b5050505050565b6000613bee60295461082d565b905090565b6000613c0060245461082d565b905090565b60008183019050828110151515613c1857fe5b80905092915050565b613c29612dfa565b73ffffffffffffffffffffffffffffffffffffffff16636d080338826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015613cc357600080fd5b505af1158015613cd7573d6000803e3d6000fd5b505050506040513d6020811015613ced57600080fd5b810190808051906020019092919050505015613d085761428f565b607260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663aec2ccae826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015613dc557600080fd5b505af1158015613dd9573d6000803e3d6000fd5b505050506040513d6020811015613def57600080fd5b810190808051906020019092919050505015613f0057613e0d613be1565b73ffffffffffffffffffffffffffffffffffffffff1663ded86d6882613e34606f54611757565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040805180830381600087803b158015613eb857600080fd5b505af1158015613ecc573d6000803e3d6000fd5b505050506040513d6040811015613ee257600080fd5b81019080805190602001909291908051906020019092919050505050505b607360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663aec2ccae826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015613fbd57600080fd5b505af1158015613fd1573d6000803e3d6000fd5b505050506040513d6020811015613fe757600080fd5b8101908080519060200190929190505050156140f857614005613be1565b73ffffffffffffffffffffffffffffffffffffffff1663ded86d688261402c606f54611757565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040805180830381600087803b1580156140b057600080fd5b505af11580156140c4573d6000803e3d6000fd5b505050506040513d60408110156140da57600080fd5b81019080805190602001909291908051906020019092919050505050505b614100612de8565b73ffffffffffffffffffffffffffffffffffffffff166312d9b93933614137600161412961096c565b6131de90919063ffffffff16565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156141bc57600080fd5b505af11580156141d0573d6000803e3d6000fd5b505050506141dc612dfa565b73ffffffffffffffffffffffffffffffffffffffff16635515eb2c826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561427657600080fd5b505af115801561428a573d6000803e3d6000fd5b505050505b50565b60008061429d612e0c565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561430057600080fd5b505af1158015614314573d6000803e3d6000fd5b505050506040513d602081101561432a57600080fd5b81019080805190602001909291905050501415905090565b6000818381151561434f57fe5b04905092915050565b60606040519081016040528060008152602001600081526020016000815250905600a165627a7a723058206176b0418a919026e5b54966c25f1b60b0a32151009fea4534e69ea8e16af3bc0029", + "sourceMap": "396:20473:16:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;2066:394:16;8:9:-1;5:2;;;30:1;27;20:12;5:2;2066:394:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2259:43;2264:26;;2292:9;2259:4;;;:43;;;:::i;:::-;2251:52;;;;;;;;2324:9;2313:8;;:20;;;;;;;;;;;;;;;;;;2359:14;2343:13;;:30;;;;;;;;;;;;;;;;;;2399:14;2383:13;;:30;;;;;;;;;;;;;;;;;;2439:14;2423:13;;:30;;;;;;;;;;;;;;;;;;2066:394;;;;;396:20473;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;396:20473:16:-;;;;;;;", + "deployedSourceMap": "396:20473:16:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;4729:112:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4729:112:16;;;;;;;;;;;;;;;;;;;;;;;;;;703:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;703:28:16;;;;;;;;;;;;;;;;;;;;;;;;;;;5244:195:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5244:195:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4743:147:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4743:147:2;;;;;;;;;;;;;;;;;;;;;;;1759:239;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1759:239:2;;;;;;;;;;;;;;;;;;;;;;;;;;;13254:95:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13254:95:16;;;;;;1283:201:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1283:201:2;;;;;;;;;;;;;;;;;;;;;;;;;;;3064:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3064:159:2;;;;;;;;;;;;;;;;;;;;;;;5725:311:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5725:311:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5445:191:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9490:3400:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9490:3400:16;;;;;;;;;;;;;;;;;;;;;;;;;;928:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;928:28:16;;;;;;;;;;;;;;;;;;;;;;;;;;;7261:189:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7261:189:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;674:23:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;674:23:16;;;;;;;;;;;;;;;;;;;;;;;;;;;834:173:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;834:173:2;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;3353:1370:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3353:1370:16;;;;;;6123:431:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6123:431:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1153:28:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1153:28:16;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;4729:112:16:-;4798:1;4788:7;:11;4780:20;;;;;;;;4810:24;4826:7;4810:15;:24::i;:::-;4729:112;:::o;703:28::-;;;;;;;;;;;;;:::o;5244:195:1:-;5335:20;5386:19;:17;:19::i;:::-;:34;;;5421:10;5386:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5386:46:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5386:46:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5386:46:1;;;;;;;;;;;;;;;;5371:61;;5244:195;;;:::o;264:18:67:-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;4743:147:2:-;4820:17;4865:18;4879:3;4865:13;:18::i;:::-;4853:30;;4743:147;:::o;1759:239::-;1827:17;1887:18;:16;:18::i;:::-;:104;;;;;1947:44;1961:29;;1947:13;:44::i;:::-;1921:22;:20;:22::i;:::-;:70;;1887:104;1860:131;;1759:239;:::o;13254:95:16:-;13324:18;13340:1;13324:15;:18::i;:::-;13254:95::o;1283:201:2:-;1354:20;1433:44;1447:29;;1433:13;:44::i;:::-;1408:22;:20;:22::i;:::-;:69;1390:87;;1283:201;:::o;3064:159::-;3140:22;3195:21;3212:3;3195:16;:21::i;:::-;3178:38;;3064:159;:::o;5725:311:1:-;5808:8;5905:22;:20;:22::i;:::-;5851:19;:17;:19::i;:::-;:43;;;5895:5;5851:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5851:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5851:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5851:50:1;;;;;;;;;;;;;;;;:76;5850:179;;;;;5988:40;6002:25;;5988:13;:40::i;:::-;5945:17;:15;:17::i;:::-;:32;;;5978:5;5945:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5945:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5945:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5945:39:1;;;;;;;;;;;;;;;;:83;;5850:179;5832:197;;5725:311;;;:::o;5445:191::-;5534:20;5585:19;:17;:19::i;:::-;:32;;;5618:10;5585:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5585:44:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5585:44:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5585:44:1;;;;;;;;;;;;;;;;5570:59;;5445:191;;;:::o;9490:3400:16:-;9770:29;;:::i;:::-;9843:32;;:::i;:::-;10912;11012:23;9570:22;:20;:22::i;:::-;2314:1:2;2297:14;:18;2293:120;;;2400:1;2339:19;:17;:19::i;:::-;:42;;;2382:14;2339:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2339:58:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2339:58:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2339:58:2;;;;;;;;;;;;;;;;:62;2331:71;;;;;;;;2293:120;9616:16:16;:14;:16::i;:::-;:60;;;;9636:19;:17;:19::i;:::-;:38;;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9636:40:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9636:40:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9636:40:16;;;;;;;;;;;;;;;;9616:60;9608:69;;;;;;;;9802:31;9822:10;9802:19;:31::i;:::-;9770:63;;9878:34;9894:10;9906:5;9878:15;:34::i;:::-;9843:69;;10204:1;10176:5;:25;;;:29;10168:38;;;;;;;;10254:7;10225:5;:25;;;:36;;10217:45;;;;;;;;10303:41;10336:7;10303:8;:28;;;:32;;:41;;;;:::i;:::-;10272:8;:28;;:72;;;;;10384:40;10416:7;10384:8;:27;;;:31;;:40;;;;:::i;:::-;10354:8;:27;;:70;;;;;10465:41;10498:7;10465:8;:28;;;:32;;:41;;;;:::i;:::-;10434:8;:28;;:72;;;;;10690:19;:17;:19::i;:::-;:62;;;10753:10;10690:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10690:74:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10690:74:16;;;;10850:51;10873:10;10885:5;10892:8;10850:22;:51::i;:::-;10947:19;:17;:19::i;:::-;:43;;;10991:10;10947:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10947:55:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10947:55:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10947:55:16;;;;;;;;;;;;;;;;10912:90;;11038:22;:20;:22::i;:::-;11012:48;;11105:40;11119:25;;11105:13;:40::i;:::-;11075:8;:27;;;:70;11071:1470;;;11425:15;11397:24;:43;11393:208;;;11460:19;:17;:19::i;:::-;:49;;;11510:10;11522:19;:17;:19::i;:::-;:51;;;11574:10;11522:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11522:63:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11522:63:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11522:63:16;;;;;;;;;;;;;;;;11460:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11460:126:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11460:126:16;;;;11393:208;11797:61;11830:8;:27;;;11797:8;:28;;;:32;;:61;;;;:::i;:::-;11766:8;:28;;:92;;;;;11873:17;:15;:17::i;:::-;:43;;;11917:10;11873:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11873:55:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11873:55:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11873:55:16;;;;;;;;;;;;;;;;;11071:1470;;;12165:15;12138:24;:42;12134:273;;;12200:19;:17;:19::i;:::-;:57;;;12258:10;12270:24;12200:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12200:95:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12200:95:16;;;;12313:19;:17;:19::i;:::-;:49;;;12363:10;12375:15;12313:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12313:78:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12313:78:16;;;;12134:273;11071:1470;12551:17;:15;:17::i;:::-;:36;;;12588:10;12600:8;:28;;;12630:8;:27;;;12551:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12551:107:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12551:107:16;;;;12668:17;:15;:17::i;:::-;:43;;;12712:8;:28;;;12668:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12668:73:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12668:73:16;;;;12766:8;;;;;;;;;;;12760:24;;;12785:10;12797:7;12760:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12760:45:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12760:45:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12760:45:16;;;;;;;;;;;;;;;;12752:54;;;;;;;;12834:10;12822:61;;;12846:7;12855:8;:27;;;12822:61;;;;;;;;;;;;;;;;;;;;;;;;9490:3400;;;;;;:::o;928:28::-;;;;;;;;;;;;;:::o;7261:189:2:-;7349:20;7400:19;:17;:19::i;:::-;:31;;;7432:10;7400:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7400:43:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7400:43:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7400:43:2;;;;;;;;;;;;;;;;7385:58;;7261:189;;;:::o;674:23:16:-;;;;;;;;;;;;;:::o;834:173:2:-;907:19;960;:17;:19::i;:::-;:38;;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;960:40:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;960:40:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;960:40:2;;;;;;;;;;;;;;;;959:41;942:58;;834:173;:::o;344:31:67:-;;;;;;;;;;;;;:::o;3353:1370:16:-;4426:29;;:::i;:::-;3458:17;:15;:17::i;:::-;:31;;;3490:10;3458:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3458:43:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3458:43:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3458:43:16;;;;;;;;;;;;;;;;3457:44;3449:53;;;;;;;;4201:1;4176:22;:20;:22::i;:::-;:26;4104:19;:17;:19::i;:::-;:55;;;4160:10;4104:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4104:67:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4104:67:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4104:67:16;;;;;;;;;;;;;;;;:99;4083:130;;;;;;;;4224:17;:15;:17::i;:::-;:29;;;4254:10;4224:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4224:41:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4224:41:16;;;;4275:18;:16;:18::i;:::-;:37;;;4313:10;4325:54;4339:39;;4325:13;:54::i;:::-;4275:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4275:105:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4275:105:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4275:105:16;;;;;;;;;;;;;;;;;;;;;;;;;;;4458:31;4478:10;4458:19;:31::i;:::-;4426:63;;4499:48;4522:10;4534:5;4541;4499:22;:48::i;:::-;4619:13;;;;;;;;;;;4613:33;;;4647:10;4667:4;4674:1;4613:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4613:63:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4613:63:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4613:63:16;;;;;;;;;;;;;;;;4605:72;;;;;;;;4705:10;4693:23;;;;;;;;;;;;3353:1370;:::o;6123:431:1:-;6204:8;6301:22;:20;:22::i;:::-;6247:19;:17;:19::i;:::-;:43;;;6291:5;6247:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6247:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6247:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6247:50:1;;;;;;;;;;;;;;;;:76;6246:186;;;;;6384:47;6398:32;;6384:13;:47::i;:::-;6341:17;:15;:17::i;:::-;:32;;;6374:5;6341:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6341:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6341:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6341:39:1;;;;;;;;;;;;;;;;:90;;6246:186;:301;;;;;6492:54;6506:39;;6492:13;:54::i;:::-;6449:18;:16;:18::i;:::-;:32;;;6482:5;6449:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6449:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6449:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6449:39:1;;;;;;;;;;;;;;;;:97;;6246:301;6228:319;;6123:431;;;:::o;1153:28:16:-;;;;;;;;;;;;;:::o;5119:4073::-;5378:29;;:::i;:::-;5451:32;;:::i;:::-;5531:24;6373:32;6473:23;5205:22;:20;:22::i;:::-;2314:1:2;2297:14;:18;2293:120;;;2400:1;2339:19;:17;:19::i;:::-;:42;;;2382:14;2339:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2339:58:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2339:58:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2339:58:2;;;;;;;;;;;;;;;;:62;2331:71;;;;;;;;2293:120;5357:9:16;5343:23;;:10;:23;;;5335:32;;;;;;;;5410:31;5430:10;5410:19;:31::i;:::-;5378:63;;5486:34;5502:10;5514:5;5486:15;:34::i;:::-;5451:69;;5558:1;5531:28;;5583:1;5573:7;:11;5569:101;;;5605:22;:20;:22::i;:::-;:56;;;5662:7;5605:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5605:65:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5605:65:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5605:65:16;;;;;;;;;;;;;;;;5586:84;;5569:101;5712:41;5745:7;5712:8;:28;;;:32;;:41;;;;:::i;:::-;5681:8;:28;;:72;;;;;5793:49;5825:16;5793:8;:27;;;:31;;:49;;;;:::i;:::-;5763:8;:27;;:79;;;;;5883:50;5916:16;5883:8;:28;;;:32;;:50;;;;:::i;:::-;5852:8;:28;;:81;;;;;6032:19;:17;:19::i;:::-;:62;;;6095:10;6032:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6032:74:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6032:74:16;;;;6117:17;:15;:17::i;:::-;:36;;;6154:10;6166:8;:28;;;6196:8;:27;;;6117:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6117:107:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6117:107:16;;;;6311:51;6334:10;6346:5;6353:8;6311:22;:51::i;:::-;6408:19;:17;:19::i;:::-;:43;;;6452:10;6408:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6408:55:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6408:55:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6408:55:16;;;;;;;;;;;;;;;;6373:90;;6499:22;:20;:22::i;:::-;6473:48;;6894:40;6908:25;;6894:13;:40::i;:::-;6863:8;:27;;;:71;;6859:2051;;;6950:17;:15;:17::i;:::-;:38;;;6989:10;6950:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6950:50:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6950:50:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6950:50:16;;;;;;;;;;;;;;;;;7672:15;7645:24;:42;7641:272;;;7707:19;:17;:19::i;:::-;:57;;;7765:10;7777:24;7707:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7707:95:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7707:95:16;;;;7820:19;:17;:19::i;:::-;:49;;;7870:10;7882:15;7820:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7820:78:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7820:78:16;;;;7641:272;8095:1;8067:24;:29;8063:103;;;8116:35;8140:10;8116:23;:35::i;:::-;8063:103;6859:2051;;;8769:61;8802:8;:27;;;8769:8;:28;;;:32;;:61;;;;:::i;:::-;8738:8;:28;;:92;;;;;8844:17;:15;:17::i;:::-;:43;;;8888:10;8844:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8844:55:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8844:55:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8844:55:16;;;;;;;;;;;;;;;;;6859:2051;8920:17;:15;:17::i;:::-;:43;;;8964:8;:28;;;8920:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8920:73:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8920:73:16;;;;9054:8;;;;;;;;;;;9048:28;;;9077:10;9097:4;9104:7;9048:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9048:64:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9048:64:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9048:64:16;;;;;;;;;;;;;;;;9040:73;;;;;;;;9136:10;9128:57;;;9148:7;9157:8;:27;;;9128:57;;;;;;;;;;;;;;;;;;;;;;;;5119:4073;;;;;;;:::o;5398:198:2:-;5474:27;5547:41;5560:27;;5547:12;:41::i;:::-;5517:72;;5398:198;:::o;3862:332::-;3947:22;3993:26;:24;:26::i;:::-;3985:35;;;;;;;;4149:38;4163:23;;4149:13;:38::i;:::-;4082:52;4092:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4092:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4092:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4092:41:2;;;;;;;;;;;;;;;;4082:5;:9;;:52;;;;:::i;:::-;:105;;;;;;;;4053:134;;3862:332;;;:::o;3369:320::-;3457:14;3495:26;:24;:26::i;:::-;3487:35;;;;;;;;3553:129;3680:1;3553:109;3623:38;3637:23;;3623:13;:38::i;:::-;3553:52;3563:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3563:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3563:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3563:41:2;;;;;;;;;;;;;;;;3553:5;:9;;:52;;;;:::i;:::-;:69;;:109;;;;:::i;:::-;:126;;:129;;;;:::i;:::-;3532:150;;3369:320;;;:::o;6815:199::-;6891:27;6964:42;6977:28;;6964:12;:42::i;:::-;6934:73;;6815:199;:::o;5602:191::-;5676:25;5745:40;5758:26;;5745:12;:40::i;:::-;5717:69;;5602:191;:::o;6204:199::-;6280:27;6353:42;6366:28;;6353:12;:42::i;:::-;6323:73;;6204:199;:::o;18867:310:16:-;18958:22;;:::i;:::-;19052:17;:15;:17::i;:::-;:34;;;19087:5;19052:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19052:41:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19052:41:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19052:41:16;;;;;;;;;;;;;;;;;;;;;;;;;18997:5;:25;;19024:5;:24;;18996:97;;;;;;;;;;19131:17;:15;:17::i;:::-;:37;;;:39;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19131:39:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19131:39:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19131:39:16;;;;;;;;;;;;;;;;19103:5;:25;;:67;;;;;18867:310;;;:::o;14306:897::-;14423:34;;:::i;:::-;14776:23;14505:11;:30;;;14473:10;:29;;:62;;;;;14578:11;:31;;;14545:10;:30;;:64;;;;;14652:11;:31;;;14619:10;:30;;:64;;;;;14802:22;:20;:22::i;:::-;14776:48;;14891:15;14838:19;:17;:19::i;:::-;:43;;;14882:5;14838:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14838:50:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14838:50:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14838:50:16;;;;;;;;;;;;;;;;:68;14834:363;;;14954:22;:20;:22::i;:::-;:56;;;15011:11;:31;;;14954:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14954:89:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14954:89:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14954:89:16;;;;;;;;;;;;;;;;14922:10;:29;;:121;;;;;15091:95;15143:10;:29;;;15091:10;:30;;;:34;;:95;;;;:::i;:::-;15058:10;:30;;:128;;;;;14834:363;14306:897;;;;;:::o;1060:116:84:-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;2683:199:16:-;2759:27;2832:42;2845:28;;2832:12;:42::i;:::-;2802:73;;2683:199;:::o;15694:3037::-;15831:38;15958:40;15926:22;:20;:22::i;:::-;15872:19;:17;:19::i;:::-;:43;;;15916:5;15872:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15872:50:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15872:50:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15872:50:16;;;;;;;;;;;;;;;;:76;15831:117;;16001:17;:15;:17::i;:::-;:46;;;:48;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16001:48:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16001:48:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16001:48:16;;;;;;;;;;;;;;;;15958:91;;16111:4;16064:51;;:17;:15;:17::i;:::-;:36;;;16101:5;16064:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16064:43:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16064:43:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16064:43:16;;;;;;;;;;;;;;;;:51;;;16060:2665;;;16234:47;16248:32;;16234:13;:47::i;:::-;16202:10;:29;;;:79;:195;;;;16343:54;16357:39;;16343:13;:54::i;:::-;16301:18;:16;:18::i;:::-;:32;;;16334:5;16301:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16301:39:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16301:39:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16301:39:16;;;;;;;;;;;;;;;;:96;16202:195;16198:2005;;;16869:1;16827:17;:15;:17::i;:::-;:37;;;:39;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16827:39:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16827:39:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16827:39:16;;;;;;;;;;;;;;;;:43;16826:90;;;;16897:18;:16;:18::i;:::-;16896:19;16826:90;16797:137;;;;;;;;16953:17;:15;:17::i;:::-;:41;;;16995:5;16953:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16953:48:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16953:48:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16953:48:16;;;;;;;;;;;;;;;;;17191:33;17187:244;;;17248:17;:15;:17::i;:::-;:48;;;17322:68;17359:11;:30;;;17322:32;:36;;:68;;;;:::i;:::-;17248:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17248:164:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17248:164:16;;;;17187:244;16198:2005;;;17552:33;17548:641;;;17697:17;:15;:17::i;:::-;:48;;;17771:103;17844:10;:29;;;17771:68;17808:11;:30;;;17771:32;:36;;:68;;;;:::i;:::-;:72;;:103;;;;:::i;:::-;17697:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17697:199:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17697:199:16;;;;17548:641;;;18007:17;:15;:17::i;:::-;:48;;;18081:67;18118:10;:29;;;18081:32;:36;;:67;;;;:::i;:::-;18007:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18007:163:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18007:163:16;;;;17548:641;16198:2005;16060:2665;;;18299:47;18313:32;;18299:13;:47::i;:::-;18266:10;:29;;;:80;;:197;;;;;18409:54;18423:39;;18409:13;:54::i;:::-;18366:18;:16;:18::i;:::-;:32;;;18399:5;18366:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18366:39:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18366:39:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18366:39:16;;;;;;;;;;;;;;;;:97;;18266:197;18262:453;;;18484:17;:15;:17::i;:::-;:36;;;18521:5;18484:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18484:43:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18484:43:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18484:43:16;;;;;;;;;;;;;;;;;18545:17;:15;:17::i;:::-;:48;;;18615:67;18652:10;:29;;;18615:32;:36;;:67;;;;:::i;:::-;18545:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18545:155:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18545:155:16;;;;18262:453;16060:2665;15694:3037;;;;;:::o;6614:195:2:-;6689:26;6760:41;6773:27;;6760:12;:41::i;:::-;6731:71;;6614:195;:::o;2466:211:16:-;2545:30;2624:45;2637:31;;2624:12;:45::i;:::-;2591:79;;2466:211;:::o;1238:128:84:-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o;19394:1473:16:-;19554:17;:15;:17::i;:::-;:40;;;19595:5;19554:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19554:47:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19554:47:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19554:47:16;;;;;;;;;;;;;;;;19550:60;;;19603:7;;19550:60;19702:13;;;;;;;;;;;19683:39;;;19723:5;19683:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19683:46:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19683:46:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19683:46:16;;;;;;;;;;;;;;;;19679:173;;;19745:18;:16;:18::i;:::-;:37;;;19783:5;19790:50;19804:35;;19790:13;:50::i;:::-;19745:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19745:96:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19745:96:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19745:96:16;;;;;;;;;;;;;;;;;;;;;;;;;;;19679:173;19943:13;;;;;;;;;;;19924:39;;;19964:5;19924:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19924:46:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19924:46:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19924:46:16;;;;;;;;;;;;;;;;19920:173;;;19986:18;:16;:18::i;:::-;:37;;;20024:5;20031:50;20045:35;;20031:13;:50::i;:::-;19986:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19986:96:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19986:96:16;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19986:96:16;;;;;;;;;;;;;;;;;;;;;;;;;;;19920:173;20624:19;:17;:19::i;:::-;:61;;;20686:10;20698:29;20725:1;20698:22;:20;:22::i;:::-;:26;;:29;;;;:::i;:::-;20624:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20624:104:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20624:104:16;;;;20810:17;:15;:17::i;:::-;:43;;;20854:5;20810:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20810:50:16;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20810:50:16;;;;19394:1473;;:::o;4343:172:2:-;4426:11;4507:1;4462:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4462:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4462:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4462:41:2;;;;;;;;;;;;;;;;:46;;4453:55;;4343:172;:::o;665:283:84:-;725:7;941:2;936;:7;;;;;;;;929:14;;665:283;;;;:::o;396:20473:16:-;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"@digix/cacp-contracts-dao/contracts/ResolverClient.sol\";\nimport \"../lib/MathHelper.sol\";\nimport \"../common/DaoCommon.sol\";\nimport \"../service/DaoCalculatorService.sol\";\nimport \"./DaoRewardsManager.sol\";\nimport \"./../interface/NumberCarbonVoting.sol\";\n\n\n/**\n@title Contract to handle staking/withdrawing of DGDs for participation in DAO\n@author Digix Holdings\n*/\ncontract DaoStakeLocking is DaoCommon {\n\n event RedeemBadge(address indexed _user);\n event LockDGD(address indexed _user, uint256 _amount, uint256 _currentLockedDGDStake);\n event WithdrawDGD(address indexed _user, uint256 _amount, uint256 _currentLockedDGDStake);\n\n address public dgdToken;\n address public dgdBadgeToken;\n\n // carbonVoting1 refers to this carbon vote: https://digix.global/carbonvote/1/#/\n // the contract is at: https://etherscan.io/address/0x9f56f330bceb9d4e756be94581298673e94ed592#code\n address public carbonVoting1;\n\n // carbonVoting2 refers to this carbon vote: https://digix.global/carbonvote/2/#/\n // the contract is at: https://etherscan.io/address/0xdec6c0dc7004ba23940c9ee7cb4a0528ec4c0580#code\n address public carbonVoting2;\n\n // The two carbon votes implement the NumberCarbonVoting interface, which has a voted(address) function to find out\n // whether an address has voted in the carbon vote.\n // Addresses will be awarded a fixed amount of Reputation Point (CONFIG_CARBON_VOTE_REPUTATION_BONUS) for every carbon votes that they participated in\n\n struct StakeInformation {\n // this is the amount of DGDs that a user has actualy locked up\n uint256 userActualLockedDGD;\n\n // this is the DGDStake that the user get from locking up their DGDs.\n // this amount might be smaller than the userActualLockedDGD, because the user has locked some DGDs in the middle of the quarter\n // and those DGDs will not fetch as much DGDStake\n uint256 userLockedDGDStake;\n\n // this is the sum of everyone's DGD Stake\n uint256 totalLockedDGDStake;\n }\n\n\n constructor(\n address _resolver,\n address _dgdToken,\n address _dgdBadgeToken,\n address _carbonVoting1,\n address _carbonVoting2\n ) public {\n require(init(CONTRACT_DAO_STAKE_LOCKING, _resolver));\n dgdToken = _dgdToken;\n dgdBadgeToken = _dgdBadgeToken;\n carbonVoting1 = _carbonVoting1;\n carbonVoting2 = _carbonVoting2;\n }\n\n function daoCalculatorService()\n internal\n view\n returns (DaoCalculatorService _contract)\n {\n _contract = DaoCalculatorService(get_contract(CONTRACT_SERVICE_DAO_CALCULATOR));\n }\n\n function daoRewardsManager()\n internal\n view\n returns (DaoRewardsManager _contract)\n {\n _contract = DaoRewardsManager(get_contract(CONTRACT_DAO_REWARDS_MANAGER));\n }\n\n\n /**\n @notice Function to convert a DGD Badge to Reputation Points\n @dev The Badge holder can redeem the Badge anytime in the first quarter, or\n Otherwise, the participant must either lock/withdraw/continue in the current quarter first, before he can redeem a badge\n Only 1 DGD Badge is accepted from an address, so holders with multiple badges\n should either sell their other badges or redeem reputation to another address\n */\n function redeemBadge()\n public\n {\n // should not have redeemed a badge\n require(!daoStakeStorage().redeemedBadge(msg.sender));\n\n // Can only redeem a badge if the reputation has been updated to the previous quarter.\n // In other words, this holder must have called either lockDGD/withdrawDGD/confirmContinuedParticipation in this quarter (hence, rewards for last quarter was already calculated)\n // This is to prevent users from changing the Reputation point that would be used to calculate their rewards for the previous quarter.\n\n // Note that after lockDGD/withdrawDGD/confirmContinuedParticipation is called, the reputation is always updated to the previous quarter\n require(\n daoRewardsStorage().lastQuarterThatReputationWasUpdated(msg.sender) == (currentQuarterNumber() - 1)\n );\n\n daoStakeStorage().redeemBadge(msg.sender);\n daoPointsStorage().increaseReputation(msg.sender, getUintConfig(CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE));\n\n // update moderator status\n StakeInformation memory _info = getStakeInformation(msg.sender);\n refreshModeratorStatus(msg.sender, _info, _info);\n\n // transfer the badge to this contract\n require(ERC20(dgdBadgeToken).transferFrom(msg.sender, address(this), 1));\n\n emit RedeemBadge(msg.sender);\n }\n\n function lockDGD(uint256 _amount) public {\n require(_amount > 0);\n lockDGDInternal(_amount);\n }\n\n\n /**\n @notice Function to lock DGD tokens to participate in the DAO\n @dev Users must `approve` the DaoStakeLocking contract to transfer DGDs from them\n Contracts are not allowed to participate in DigixDAO\n @param _amount Amount of DGDs to lock\n */\n function lockDGDInternal(uint256 _amount)\n internal\n ifGlobalRewardsSet(currentQuarterNumber())\n {\n // msg.sender must be an EOA. Disallows any contract from participating in the DAO.\n require(msg.sender == tx.origin);\n\n StakeInformation memory _info = getStakeInformation(msg.sender);\n StakeInformation memory _newInfo = refreshDGDStake(msg.sender, _info);\n\n uint256 _additionalStake = 0;\n if (_amount > 0) _additionalStake = daoCalculatorService().calculateAdditionalLockedDGDStake(_amount);\n\n _newInfo.userActualLockedDGD = _newInfo.userActualLockedDGD.add(_amount);\n _newInfo.userLockedDGDStake = _newInfo.userLockedDGDStake.add(_additionalStake);\n _newInfo.totalLockedDGDStake = _newInfo.totalLockedDGDStake.add(_additionalStake);\n\n // This has to happen at least once before user can participate in next quarter\n daoRewardsManager().updateRewardsAndReputationBeforeNewQuarter(msg.sender);\n\n daoStakeStorage().updateUserDGDStake(msg.sender, _newInfo.userActualLockedDGD, _newInfo.userLockedDGDStake);\n\n\n //since Reputation is updated, we need to refresh moderator status\n refreshModeratorStatus(msg.sender, _info, _newInfo);\n\n uint256 _lastParticipatedQuarter = daoRewardsStorage().lastParticipatedQuarter(msg.sender);\n uint256 _currentQuarter = currentQuarterNumber();\n\n // Note: there might be a case when user locked in very small amount A that is less than Minimum locked DGD\n // then, lock again in the middle of the quarter. This will not take into account that A was staked in earlier. Its as if A is only staked in now.\n // Its not ideal, but we will keep it this way.\n if (_newInfo.userLockedDGDStake >= getUintConfig(CONFIG_MINIMUM_LOCKED_DGD)) {\n daoStakeStorage().addToParticipantList(msg.sender); // this will not add a second duplicate of the address if its already there\n\n // if this is the first time we lock/unlock/continue in this quarter, save the previous lastParticipatedQuarter\n // the purpose of the previousLastParticipatedQuarter is so that, if this participant withdraw all his DGD after locking in,\n // we will revert his lastParticipatedQuarter to the previousLastParticipatedQuarter, so as to not screw up any calculation\n // that uses the lastParticipatedQuarter (for example, for calculating the Reputation penalty for not participating in a number of quarters)\n if (_lastParticipatedQuarter < _currentQuarter) {\n daoRewardsStorage().updatePreviousLastParticipatedQuarter(msg.sender, _lastParticipatedQuarter);\n daoRewardsStorage().updateLastParticipatedQuarter(msg.sender, _currentQuarter);\n }\n\n // if this is the first time they're locking tokens, ever,\n // reward them with bonus for carbon voting activity\n if (_lastParticipatedQuarter == 0) {\n rewardCarbonVotingBonus(msg.sender);\n }\n } else { // this participant doesnt have enough DGD to be a participant\n // Absolute: The lastParticipatedQuarter of this participant WILL NEVER be the current quarter\n // Otherwise, his lockedDGDStake must be above the CONFIG_MINIMUM_LOCKED_DGDd\n\n // Hence, the refreshDGDStake() function must have added _newInfo.userLockedDGDStake to _newInfo.totalLockedDGDStake\n\n // Since this participant is not counted as a participant, we need to deduct _newInfo.userLockedDGDStake from _newInfo.totalLockedDGDStake\n _newInfo.totalLockedDGDStake = _newInfo.totalLockedDGDStake.sub(_newInfo.userLockedDGDStake);\n daoStakeStorage().removeFromParticipantList(msg.sender);\n }\n\n daoStakeStorage().updateTotalLockedDGDStake(_newInfo.totalLockedDGDStake);\n\n // interaction happens last\n require(ERC20(dgdToken).transferFrom(msg.sender, address(this), _amount));\n emit LockDGD(msg.sender, _amount, _newInfo.userLockedDGDStake);\n }\n\n\n /**\n @notice Function to withdraw DGD tokens from this contract (can only be withdrawn in the locking phase of quarter)\n @param _amount Number of DGD tokens to withdraw\n @return {\n \"_success\": \"Boolean, true if the withdrawal was successful, revert otherwise\"\n }\n */\n function withdrawDGD(uint256 _amount)\n public\n ifGlobalRewardsSet(currentQuarterNumber())\n {\n require(isLockingPhase() || daoUpgradeStorage().isReplacedByNewDao()); // If the DAO is already replaced, everyone is free to withdraw their DGDs anytime\n StakeInformation memory _info = getStakeInformation(msg.sender);\n StakeInformation memory _newInfo = refreshDGDStake(msg.sender, _info);\n\n // This address must have at least some DGDs locked in, to withdraw\n // Otherwise, its meaningless anw\n // This also makes sure that the first participation ever must be a lockDGD() call, to avoid unnecessary complications\n require(_info.userActualLockedDGD > 0);\n\n require(_info.userActualLockedDGD >= _amount);\n _newInfo.userActualLockedDGD = _newInfo.userActualLockedDGD.sub(_amount);\n _newInfo.userLockedDGDStake = _newInfo.userLockedDGDStake.sub(_amount);\n _newInfo.totalLockedDGDStake = _newInfo.totalLockedDGDStake.sub(_amount);\n\n //_newInfo.totalLockedDGDStake = _newInfo.totalLockedDGDStake.sub(_amount);\n\n // This has to happen at least once before user can participate in next quarter\n daoRewardsManager().updateRewardsAndReputationBeforeNewQuarter(msg.sender);\n\n //since Reputation is updated, we need to refresh moderator status\n refreshModeratorStatus(msg.sender, _info, _newInfo);\n\n uint256 _lastParticipatedQuarter = daoRewardsStorage().lastParticipatedQuarter(msg.sender);\n uint256 _currentQuarter = currentQuarterNumber();\n\n if (_newInfo.userLockedDGDStake < getUintConfig(CONFIG_MINIMUM_LOCKED_DGD)) { // this participant doesnt have enough DGD to be a participant\n // if this participant has lock/unlock/continue in this quarter before, we need to revert the lastParticipatedQuarter to the previousLastParticipatedQuarter\n if (_lastParticipatedQuarter == _currentQuarter) {\n daoRewardsStorage().updateLastParticipatedQuarter(msg.sender, daoRewardsStorage().previousLastParticipatedQuarter(msg.sender));\n }\n\n // if this participant is not counted as a participant, the totalLockedDGDStake should not take into account the userLockedDGDStake at all\n _newInfo.totalLockedDGDStake = _newInfo.totalLockedDGDStake.sub(_newInfo.userLockedDGDStake);\n\n daoStakeStorage().removeFromParticipantList(msg.sender);\n } else { // This participant still remains as a participant\n // if this is the first time we lock/unlock/continue in this quarter, save the previous lastParticipatedQuarter\n if (_lastParticipatedQuarter < _currentQuarter) {\n daoRewardsStorage().updatePreviousLastParticipatedQuarter(msg.sender, _lastParticipatedQuarter);\n daoRewardsStorage().updateLastParticipatedQuarter(msg.sender, _currentQuarter);\n\n }\n // the totalLockedDGDStake after refreshDGDStake() should decrease by _amount, since this guy withdraws _amount\n }\n\n daoStakeStorage().updateUserDGDStake(msg.sender, _newInfo.userActualLockedDGD, _newInfo.userLockedDGDStake);\n daoStakeStorage().updateTotalLockedDGDStake(_newInfo.totalLockedDGDStake);\n\n require(ERC20(dgdToken).transfer(msg.sender, _amount));\n\n emit WithdrawDGD(msg.sender, _amount, _newInfo.userLockedDGDStake);\n }\n\n\n /**\n @notice Function to be called by someone who doesnt change their DGDStake for the next quarter to confirm that they're participating\n @dev This can be done in the middle of the quarter as well.\n If someone just lets their DGDs sit in the DAO, and don't call this function, they are not counted as a participant in the quarter.\n */\n function confirmContinuedParticipation()\n public\n {\n lockDGDInternal(0);\n }\n\n\n /**\n @notice This function refreshes the DGD stake of a user before doing any staking action(locking/withdrawing/continuing) in a new quarter\n @dev We need to do this because sometimes, the user locked DGDs in the middle of the previous quarter. Hence, his DGDStake in the record now\n is not correct. Note that this function might be called in the middle of the current quarter as well.\n\n This has no effect if the user has already done some staking action in the current quarter\n _infoBefore has the user's current stake information\n _infoAfter will be the user's stake information after refreshing\n\n This function updates the totalLockedDGDStake as if, the _user is participating in this quarter\n Therefore, if the _user actually will not qualify as a participant, the caller of this function needs to deduct\n _infoAfter.userLockedDGDStake from _infoAfter.totalLockedDGDStake\n */\n function refreshDGDStake(address _user, StakeInformation _infoBefore)\n internal\n view\n returns (StakeInformation memory _infoAfter)\n {\n _infoAfter.userLockedDGDStake = _infoBefore.userLockedDGDStake;\n _infoAfter.userActualLockedDGD = _infoBefore.userActualLockedDGD;\n _infoAfter.totalLockedDGDStake = _infoBefore.totalLockedDGDStake;\n\n // only need to refresh if this is the first refresh in this new quarter;\n uint256 _currentQuarter = currentQuarterNumber();\n if (daoRewardsStorage().lastParticipatedQuarter(_user) < _currentQuarter) {\n _infoAfter.userLockedDGDStake = daoCalculatorService().calculateAdditionalLockedDGDStake(_infoBefore.userActualLockedDGD);\n\n _infoAfter.totalLockedDGDStake = _infoAfter.totalLockedDGDStake.add(\n _infoAfter.userLockedDGDStake\n );\n }\n }\n\n\n /**\n @notice This function refreshes the Moderator status of a user, to be done right after ANY STEP where a user's reputation or DGDStake is changed\n @dev _infoBefore is the stake information of the user before this transaction, _infoAfter is the stake information after this transaction\n This function needs to:\n - add/remove addresses from the moderator list accordingly\n - adjust the totalModeratorLockedDGDStake accordingly as well\n */\n function refreshModeratorStatus(address _user, StakeInformation _infoBefore, StakeInformation _infoAfter)\n internal\n {\n bool _alreadyParticipatedInThisQuarter = daoRewardsStorage().lastParticipatedQuarter(_user) == currentQuarterNumber();\n uint256 _currentTotalModeratorLockedDGDs = daoStakeStorage().totalModeratorLockedDGDStake();\n\n if (daoStakeStorage().isInModeratorsList(_user) == true) {\n // this participant was already in the moderator list\n\n if (_infoAfter.userLockedDGDStake < getUintConfig(CONFIG_MINIMUM_DGD_FOR_MODERATOR) ||\n daoPointsStorage().getReputation(_user) < getUintConfig(CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR)) {\n // this participant is no longer a moderator this quarter, should be removed\n\n // Throw if this is the last moderator. There must be at least one moderator in the moderator list. Otherwise calculateGlobalRewardsBeforeNewQuarter() will fail.\n // after replacing DAO, we will want all moderators to withdraw their DGDs, hence the check\n require(\n (daoStakeStorage().readTotalModerators() > 1) ||\n (!isDaoNotReplaced())\n );\n\n daoStakeStorage().removeFromModeratorList(_user);\n\n // only need to deduct the dgdStake from the totalModeratorLockedDGDStake if this participant has participated in this quarter before this transaction\n if (_alreadyParticipatedInThisQuarter) {\n daoStakeStorage().updateTotalModeratorLockedDGDs(\n _currentTotalModeratorLockedDGDs.sub(_infoBefore.userLockedDGDStake)\n );\n }\n\n } else { // this moderator was in the moderator list and still remains a moderator now\n if (_alreadyParticipatedInThisQuarter) { // if already participated in this quarter, just account for the difference in dgdStake\n daoStakeStorage().updateTotalModeratorLockedDGDs(\n _currentTotalModeratorLockedDGDs.sub(_infoBefore.userLockedDGDStake).add(_infoAfter.userLockedDGDStake)\n );\n } else { // has not participated in this quarter before this transaction\n daoStakeStorage().updateTotalModeratorLockedDGDs(\n _currentTotalModeratorLockedDGDs.add(_infoAfter.userLockedDGDStake)\n );\n }\n }\n } else { // was not in moderator list\n if (_infoAfter.userLockedDGDStake >= getUintConfig(CONFIG_MINIMUM_DGD_FOR_MODERATOR) &&\n daoPointsStorage().getReputation(_user) >= getUintConfig(CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR)) {\n\n daoStakeStorage().addToModeratorList(_user);\n daoStakeStorage().updateTotalModeratorLockedDGDs(\n _currentTotalModeratorLockedDGDs.add(_infoAfter.userLockedDGDStake)\n );\n }\n }\n }\n\n\n /**\n @notice Get the actualLockedDGD and lockedDGDStake of a user, as well as the totalLockedDGDStake of all users\n */\n function getStakeInformation(address _user)\n internal\n view\n returns (StakeInformation _info)\n {\n (_info.userActualLockedDGD, _info.userLockedDGDStake) = daoStakeStorage().readUserDGDStake(_user);\n _info.totalLockedDGDStake = daoStakeStorage().totalLockedDGDStake();\n }\n\n\n /**\n @notice Reward the voters of carbon voting rounds with initial bonus reputation\n @dev This is only called when they're locking tokens for the first time, enough tokens to be a participant\n */\n function rewardCarbonVotingBonus(address _user)\n internal\n {\n // if the bonus has already been given out once to this user, return\n if (daoStakeStorage().carbonVoteBonusClaimed(_user)) return;\n\n // for carbon voting 1, if voted, give out a bonus\n if (NumberCarbonVoting(carbonVoting1).voted(_user)) {\n daoPointsStorage().increaseReputation(_user, getUintConfig(CONFIG_CARBON_VOTE_REPUTATION_BONUS));\n }\n // for carbon voting 2, if voted, give out a bonus\n if (NumberCarbonVoting(carbonVoting2).voted(_user)) {\n daoPointsStorage().increaseReputation(_user, getUintConfig(CONFIG_CARBON_VOTE_REPUTATION_BONUS));\n }\n\n // we changed reputation, so we need to update the last quarter that reputation was updated\n // This is to take care of this situation:\n // Holder A locks DGD for the first time in quarter 5, gets some bonus RP for the carbon votes\n // Then, A withdraw all his DGDs right away. Essentially, he's not participating in quarter 5 anymore\n // Now, when he comes back at quarter 10, he should be deducted reputation for 5 quarters that he didnt participated in: from quarter 5 to quarter 9\n daoRewardsStorage().updateLastQuarterThatReputationWasUpdated(msg.sender, currentQuarterNumber().sub(1));\n\n // set that this user's carbon voting bonus has been given out\n daoStakeStorage().setCarbonVoteBonusClaimed(_user);\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoStakeLocking.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoStakeLocking.sol", + "exportedSymbols": { + "DaoStakeLocking": [ + 6350 + ] + }, + "id": 6351, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5401, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:16" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 5402, + "nodeType": "ImportDirective", + "scope": 6351, + "sourceUnit": 19059, + "src": "26:64:16", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/MathHelper.sol", + "file": "../lib/MathHelper.sol", + "id": 5403, + "nodeType": "ImportDirective", + "scope": 6351, + "sourceUnit": 8576, + "src": "91:31:16", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommon.sol", + "file": "../common/DaoCommon.sol", + "id": 5404, + "nodeType": "ImportDirective", + "scope": 6351, + "sourceUnit": 839, + "src": "123:33:16", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/service/DaoCalculatorService.sol", + "file": "../service/DaoCalculatorService.sol", + "id": 5405, + "nodeType": "ImportDirective", + "scope": 6351, + "sourceUnit": 12495, + "src": "157:45:16", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoRewardsManager.sol", + "file": "./DaoRewardsManager.sol", + "id": 5406, + "nodeType": "ImportDirective", + "scope": 6351, + "sourceUnit": 4686, + "src": "203:33:16", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interface/NumberCarbonVoting.sol", + "file": "./../interface/NumberCarbonVoting.sol", + "id": 5407, + "nodeType": "ImportDirective", + "scope": 6351, + "sourceUnit": 7910, + "src": "237:47:16", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 5408, + "name": "DaoCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 838, + "src": "424:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommon_$838", + "typeString": "contract DaoCommon" + } + }, + "id": 5409, + "nodeType": "InheritanceSpecifier", + "src": "424:9:16" + } + ], + "contractDependencies": [ + 838, + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": "@title Contract to handle staking/withdrawing of DGDs for participation in DAO\n@author Digix Holdings", + "fullyImplemented": true, + "id": 6350, + "linearizedBaseContracts": [ + 6350, + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoStakeLocking", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 5413, + "name": "RedeemBadge", + "nodeType": "EventDefinition", + "parameters": { + "id": 5412, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5411, + "indexed": true, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 5413, + "src": "459:21:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5410, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "459:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "458:23:16" + }, + "src": "441:41:16" + }, + { + "anonymous": false, + "documentation": null, + "id": 5421, + "name": "LockDGD", + "nodeType": "EventDefinition", + "parameters": { + "id": 5420, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5415, + "indexed": true, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 5421, + "src": "501:21:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5414, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "501:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5417, + "indexed": false, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 5421, + "src": "524:15:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5416, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "524:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5419, + "indexed": false, + "name": "_currentLockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 5421, + "src": "541:30:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5418, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "541:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "500:72:16" + }, + "src": "487:86:16" + }, + { + "anonymous": false, + "documentation": null, + "id": 5429, + "name": "WithdrawDGD", + "nodeType": "EventDefinition", + "parameters": { + "id": 5428, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5423, + "indexed": true, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 5429, + "src": "596:21:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5422, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "596:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5425, + "indexed": false, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 5429, + "src": "619:15:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5424, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "619:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5427, + "indexed": false, + "name": "_currentLockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 5429, + "src": "636:30:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5426, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "636:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "595:72:16" + }, + "src": "578:90:16" + }, + { + "constant": false, + "id": 5431, + "name": "dgdToken", + "nodeType": "VariableDeclaration", + "scope": 6350, + "src": "674:23:16", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5430, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "674:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 5433, + "name": "dgdBadgeToken", + "nodeType": "VariableDeclaration", + "scope": 6350, + "src": "703:28:16", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5432, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "703:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 5435, + "name": "carbonVoting1", + "nodeType": "VariableDeclaration", + "scope": 6350, + "src": "928:28:16", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5434, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "928:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 5437, + "name": "carbonVoting2", + "nodeType": "VariableDeclaration", + "scope": 6350, + "src": "1153:28:16", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5436, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1153:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "canonicalName": "DaoStakeLocking.StakeInformation", + "id": 5444, + "members": [ + { + "constant": false, + "id": 5439, + "name": "userActualLockedDGD", + "nodeType": "VariableDeclaration", + "scope": 5444, + "src": "1626:27:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5438, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1626:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5441, + "name": "userLockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 5444, + "src": "1937:26:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5440, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1937:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5443, + "name": "totalLockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 5444, + "src": "2025:27:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5442, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2025:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "StakeInformation", + "nodeType": "StructDefinition", + "scope": 6350, + "src": "1520:539:16", + "visibility": "public" + }, + { + "body": { + "id": 5480, + "nodeType": "Block", + "src": "2241:219:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5459, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "2264:26:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5460, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5446, + "src": "2292:9:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5458, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "2259:4:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 5461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2259:43:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5457, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2251:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2251:52:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5463, + "nodeType": "ExpressionStatement", + "src": "2251:52:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 5466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5464, + "name": "dgdToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5431, + "src": "2313:8:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5465, + "name": "_dgdToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5448, + "src": "2324:9:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2313:20:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5467, + "nodeType": "ExpressionStatement", + "src": "2313:20:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 5470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5468, + "name": "dgdBadgeToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5433, + "src": "2343:13:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5469, + "name": "_dgdBadgeToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5450, + "src": "2359:14:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2343:30:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5471, + "nodeType": "ExpressionStatement", + "src": "2343:30:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 5474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5472, + "name": "carbonVoting1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5435, + "src": "2383:13:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5473, + "name": "_carbonVoting1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5452, + "src": "2399:14:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2383:30:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5475, + "nodeType": "ExpressionStatement", + "src": "2383:30:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 5478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5476, + "name": "carbonVoting2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5437, + "src": "2423:13:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5477, + "name": "_carbonVoting2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5454, + "src": "2439:14:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2423:30:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5479, + "nodeType": "ExpressionStatement", + "src": "2423:30:16" + } + ] + }, + "documentation": null, + "id": 5481, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5455, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5446, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 5481, + "src": "2087:17:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5445, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2087:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5448, + "name": "_dgdToken", + "nodeType": "VariableDeclaration", + "scope": 5481, + "src": "2114:17:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5447, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2114:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5450, + "name": "_dgdBadgeToken", + "nodeType": "VariableDeclaration", + "scope": 5481, + "src": "2141:22:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5449, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2141:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5452, + "name": "_carbonVoting1", + "nodeType": "VariableDeclaration", + "scope": 5481, + "src": "2173:22:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5451, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2173:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5454, + "name": "_carbonVoting2", + "nodeType": "VariableDeclaration", + "scope": 5481, + "src": "2205:22:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5453, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2205:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2077:156:16" + }, + "payable": false, + "returnParameters": { + "id": 5456, + "nodeType": "ParameterList", + "parameters": [], + "src": "2241:0:16" + }, + "scope": 6350, + "src": "2066:394:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5494, + "nodeType": "Block", + "src": "2581:96:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5486, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5484, + "src": "2591:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5489, + "name": "CONTRACT_SERVICE_DAO_CALCULATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1345, + "src": "2637:31:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5488, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "2624:12:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 5490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2624:45:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5487, + "name": "DaoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12494, + "src": "2603:20:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "type(contract DaoCalculatorService)" + } + }, + "id": 5491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2603:67:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "src": "2591:79:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 5493, + "nodeType": "ExpressionStatement", + "src": "2591:79:16" + } + ] + }, + "documentation": null, + "id": 5495, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoCalculatorService", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5482, + "nodeType": "ParameterList", + "parameters": [], + "src": "2495:2:16" + }, + "payable": false, + "returnParameters": { + "id": 5485, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5484, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 5495, + "src": "2545:30:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + }, + "typeName": { + "contractScope": null, + "id": 5483, + "name": "DaoCalculatorService", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 12494, + "src": "2545:20:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2544:32:16" + }, + "scope": 6350, + "src": "2466:211:16", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 5508, + "nodeType": "Block", + "src": "2792:90:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5500, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5498, + "src": "2802:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5503, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "2845:28:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5502, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "2832:12:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 5504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2832:42:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5501, + "name": "DaoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4685, + "src": "2814:17:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoRewardsManager_$4685_$", + "typeString": "type(contract DaoRewardsManager)" + } + }, + "id": 5505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2814:61:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "src": "2802:73:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "id": 5507, + "nodeType": "ExpressionStatement", + "src": "2802:73:16" + } + ] + }, + "documentation": null, + "id": 5509, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoRewardsManager", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5496, + "nodeType": "ParameterList", + "parameters": [], + "src": "2709:2:16" + }, + "payable": false, + "returnParameters": { + "id": 5499, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5498, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 5509, + "src": "2759:27:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + }, + "typeName": { + "contractScope": null, + "id": 5497, + "name": "DaoRewardsManager", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4685, + "src": "2759:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2758:29:16" + }, + "scope": 6350, + "src": "2683:199:16", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 5587, + "nodeType": "Block", + "src": "3395:1328:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "3457:44:16", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5516, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "3490:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3490:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5513, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "3458:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 5514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3458:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 5515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "redeemedBadge", + "nodeType": "MemberAccess", + "referencedDeclaration": 16064, + "src": "3458:31:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 5518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3458:43:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5512, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3449:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3449:53:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5521, + "nodeType": "ExpressionStatement", + "src": "3449:53:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5526, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4160:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4160:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5523, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "4104:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 5524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4104:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 5525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastQuarterThatReputationWasUpdated", + "nodeType": "MemberAccess", + "referencedDeclaration": 15013, + "src": "4104:55:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 5528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4104:67:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5529, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "4176:20:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 5530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4176:22:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 5531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4201:1:16", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4176:26:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5533, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4175:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4104:99:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5522, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4083:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4083:130:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5536, + "nodeType": "ExpressionStatement", + "src": "4083:130:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5540, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4254:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4254:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5537, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "4224:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 5538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4224:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 5539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "redeemBadge", + "nodeType": "MemberAccess", + "referencedDeclaration": 16099, + "src": "4224:29:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 5542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4224:41:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5543, + "nodeType": "ExpressionStatement", + "src": "4224:41:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5547, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4313:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4313:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5550, + "name": "CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1558, + "src": "4339:39:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5549, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4325:13:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 5551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4325:54:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5544, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "4275:16:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 5545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4275:18:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 5546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "increaseReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14814, + "src": "4275:37:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address,uint256) external returns (uint256,uint256)" + } + }, + "id": 5552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4275:105:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 5553, + "nodeType": "ExpressionStatement", + "src": "4275:105:16" + }, + { + "assignments": [ + 5555 + ], + "declarations": [ + { + "constant": false, + "id": 5555, + "name": "_info", + "nodeType": "VariableDeclaration", + "scope": 5588, + "src": "4426:29:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + }, + "typeName": { + "contractScope": null, + "id": 5554, + "name": "StakeInformation", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5444, + "src": "4426:16:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_storage_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5560, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5557, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4478:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4478:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5556, + "name": "getStakeInformation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6284, + "src": "4458:19:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_struct$_StakeInformation_$5444_memory_ptr_$", + "typeString": "function (address) view returns (struct DaoStakeLocking.StakeInformation memory)" + } + }, + "id": 5559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4458:31:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4426:63:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5562, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4522:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4522:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5564, + "name": "_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5555, + "src": "4534:5:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + { + "argumentTypes": null, + "id": 5565, + "name": "_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5555, + "src": "4541:5:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + }, + { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + ], + "id": 5561, + "name": "refreshModeratorStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6254, + "src": "4499:22:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_struct$_StakeInformation_$5444_memory_ptr_$_t_struct$_StakeInformation_$5444_memory_ptr_$returns$__$", + "typeString": "function (address,struct DaoStakeLocking.StakeInformation memory,struct DaoStakeLocking.StakeInformation memory)" + } + }, + "id": 5566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4499:48:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5567, + "nodeType": "ExpressionStatement", + "src": "4499:48:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5573, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4647:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4647:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5576, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26727, + "src": "4667:4:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeLocking_$6350", + "typeString": "contract DaoStakeLocking" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_DaoStakeLocking_$6350", + "typeString": "contract DaoStakeLocking" + } + ], + "id": 5575, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4659:7:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4659:13:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "hexValue": "31", + "id": 5578, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4674:1:16", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5570, + "name": "dgdBadgeToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5433, + "src": "4619:13:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5569, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26318, + "src": "4613:5:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$26318_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 5571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4613:20:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$26318", + "typeString": "contract ERC20" + } + }, + "id": 5572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 26300, + "src": "4613:33:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 5579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4613:63:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5568, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4605:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4605:72:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5581, + "nodeType": "ExpressionStatement", + "src": "4605:72:16" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5583, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4705:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4705:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5582, + "name": "RedeemBadge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5413, + "src": "4693:11:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 5585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4693:23:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5586, + "nodeType": "EmitStatement", + "src": "4688:28:16" + } + ] + }, + "documentation": "@notice Function to convert a DGD Badge to Reputation Points\n@dev The Badge holder can redeem the Badge anytime in the first quarter, or\nOtherwise, the participant must either lock/withdraw/continue in the current quarter first, before he can redeem a badge\nOnly 1 DGD Badge is accepted from an address, so holders with multiple badges\nshould either sell their other badges or redeem reputation to another address", + "id": 5588, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "redeemBadge", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5510, + "nodeType": "ParameterList", + "parameters": [], + "src": "3373:2:16" + }, + "payable": false, + "returnParameters": { + "id": 5511, + "nodeType": "ParameterList", + "parameters": [], + "src": "3395:0:16" + }, + "scope": 6350, + "src": "3353:1370:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5603, + "nodeType": "Block", + "src": "4770:71:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5594, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5590, + "src": "4788:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5595, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4798:1:16", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4788:11:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5593, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4780:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4780:20:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5598, + "nodeType": "ExpressionStatement", + "src": "4780:20:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5600, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5590, + "src": "4826:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5599, + "name": "lockDGDInternal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5816, + "src": "4810:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 5601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4810:24:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5602, + "nodeType": "ExpressionStatement", + "src": "4810:24:16" + } + ] + }, + "documentation": null, + "id": 5604, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lockDGD", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5591, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5590, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 5604, + "src": "4746:15:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5589, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4746:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4745:17:16" + }, + "payable": false, + "returnParameters": { + "id": 5592, + "nodeType": "ParameterList", + "parameters": [], + "src": "4770:0:16" + }, + "scope": 6350, + "src": "4729:112:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5815, + "nodeType": "Block", + "src": "5233:3959:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5614, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "5343:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5343:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5616, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26624, + "src": "5357:2:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 5617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5357:9:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5343:23:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5613, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5335:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5335:32:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5620, + "nodeType": "ExpressionStatement", + "src": "5335:32:16" + }, + { + "assignments": [ + 5622 + ], + "declarations": [ + { + "constant": false, + "id": 5622, + "name": "_info", + "nodeType": "VariableDeclaration", + "scope": 5816, + "src": "5378:29:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + }, + "typeName": { + "contractScope": null, + "id": 5621, + "name": "StakeInformation", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5444, + "src": "5378:16:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_storage_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5627, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5624, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "5430:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5430:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5623, + "name": "getStakeInformation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6284, + "src": "5410:19:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_struct$_StakeInformation_$5444_memory_ptr_$", + "typeString": "function (address) view returns (struct DaoStakeLocking.StakeInformation memory)" + } + }, + "id": 5626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5410:31:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5378:63:16" + }, + { + "assignments": [ + 5629 + ], + "declarations": [ + { + "constant": false, + "id": 5629, + "name": "_newInfo", + "nodeType": "VariableDeclaration", + "scope": 5816, + "src": "5451:32:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + }, + "typeName": { + "contractScope": null, + "id": 5628, + "name": "StakeInformation", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5444, + "src": "5451:16:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_storage_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5635, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5631, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "5502:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5502:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5633, + "name": "_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5622, + "src": "5514:5:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + ], + "id": 5630, + "name": "refreshDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6101, + "src": "5486:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_struct$_StakeInformation_$5444_memory_ptr_$returns$_t_struct$_StakeInformation_$5444_memory_ptr_$", + "typeString": "function (address,struct DaoStakeLocking.StakeInformation memory) view returns (struct DaoStakeLocking.StakeInformation memory)" + } + }, + "id": 5634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5486:34:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5451:69:16" + }, + { + "assignments": [ + 5637 + ], + "declarations": [ + { + "constant": false, + "id": 5637, + "name": "_additionalStake", + "nodeType": "VariableDeclaration", + "scope": 5816, + "src": "5531:24:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5636, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5531:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5639, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 5638, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5558:1:16", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5531:28:16" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5640, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5606, + "src": "5573:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5641, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5583:1:16", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5573:11:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5651, + "nodeType": "IfStatement", + "src": "5569:101:16", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 5649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5643, + "name": "_additionalStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5637, + "src": "5586:16:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5647, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5606, + "src": "5662:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5644, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5495, + "src": "5605:20:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 5645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5605:22:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 5646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "calculateAdditionalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 12113, + "src": "5605:56:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 5648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5605:65:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5586:84:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5650, + "nodeType": "ExpressionStatement", + "src": "5586:84:16" + } + }, + { + "expression": { + "argumentTypes": null, + "id": 5660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5652, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "5681:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5654, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "5681:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5658, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5606, + "src": "5745:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5655, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "5712:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5656, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "5712:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "5712:32:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5712:41:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5681:72:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5661, + "nodeType": "ExpressionStatement", + "src": "5681:72:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 5670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5662, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "5763:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5664, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "5763:27:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5668, + "name": "_additionalStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5637, + "src": "5825:16:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5665, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "5793:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5666, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "5793:27:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "5793:31:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5793:49:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5763:79:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5671, + "nodeType": "ExpressionStatement", + "src": "5763:79:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 5680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5672, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "5852:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5674, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "5852:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5678, + "name": "_additionalStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5637, + "src": "5916:16:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5675, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "5883:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5676, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "5883:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5677, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "5883:32:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5883:50:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5852:81:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5681, + "nodeType": "ExpressionStatement", + "src": "5852:81:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5685, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6095:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6095:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5682, + "name": "daoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5509, + "src": "6032:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsManager_$4685_$", + "typeString": "function () view returns (contract DaoRewardsManager)" + } + }, + "id": 5683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6032:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "id": 5684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateRewardsAndReputationBeforeNewQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 3786, + "src": "6032:62:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 5687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6032:74:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5688, + "nodeType": "ExpressionStatement", + "src": "6032:74:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5692, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6154:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6154:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5694, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "6166:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5695, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "6166:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5696, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "6196:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5697, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "6196:27:16", + "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, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5689, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "6117:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 5690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6117:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 5691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateUserDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16183, + "src": "6117:36:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256) external" + } + }, + "id": 5698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6117:107:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5699, + "nodeType": "ExpressionStatement", + "src": "6117:107:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5701, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6334:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6334:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5703, + "name": "_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5622, + "src": "6346:5:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + { + "argumentTypes": null, + "id": 5704, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "6353:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + }, + { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + ], + "id": 5700, + "name": "refreshModeratorStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6254, + "src": "6311:22:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_struct$_StakeInformation_$5444_memory_ptr_$_t_struct$_StakeInformation_$5444_memory_ptr_$returns$__$", + "typeString": "function (address,struct DaoStakeLocking.StakeInformation memory,struct DaoStakeLocking.StakeInformation memory)" + } + }, + "id": 5705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6311:51:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5706, + "nodeType": "ExpressionStatement", + "src": "6311:51:16" + }, + { + "assignments": [ + 5708 + ], + "declarations": [ + { + "constant": false, + "id": 5708, + "name": "_lastParticipatedQuarter", + "nodeType": "VariableDeclaration", + "scope": 5816, + "src": "6373:32:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5707, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6373:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5715, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5712, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6452:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6452:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5709, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "6408:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 5710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6408:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 5711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15001, + "src": "6408:43:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 5714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6408:55:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6373:90:16" + }, + { + "assignments": [ + 5717 + ], + "declarations": [ + { + "constant": false, + "id": 5717, + "name": "_currentQuarter", + "nodeType": "VariableDeclaration", + "scope": 5816, + "src": "6473:23:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5716, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6473:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5720, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5718, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "6499:20:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 5719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6499:22:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6473:48:16" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5721, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "6863:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5722, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "6863:27:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5724, + "name": "CONFIG_MINIMUM_LOCKED_DGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "6908:25:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5723, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "6894:13:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 5725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6894:40:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6863:71:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 5784, + "nodeType": "Block", + "src": "8182:728:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5766, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "8738:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5768, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "8738:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5772, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "8802:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5773, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "8802:27:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5769, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "8769:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5770, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "8769:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "8769:32:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8769:61:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8738:92:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5776, + "nodeType": "ExpressionStatement", + "src": "8738:92:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5780, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "8888:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8888:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5777, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "8844:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 5778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8844:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 5779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "removeFromParticipantList", + "nodeType": "MemberAccess", + "referencedDeclaration": 16247, + "src": "8844:43:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 5782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8844:55:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5783, + "nodeType": "ExpressionStatement", + "src": "8844:55:16" + } + ] + }, + "id": 5785, + "nodeType": "IfStatement", + "src": "6859:2051:16", + "trueBody": { + "id": 5765, + "nodeType": "Block", + "src": "6936:1240:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5730, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6989:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6989:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5727, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "6950:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 5728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6950:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 5729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addToParticipantList", + "nodeType": "MemberAccess", + "referencedDeclaration": 16226, + "src": "6950:38:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 5732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6950:50:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5733, + "nodeType": "ExpressionStatement", + "src": "6950:50:16" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5734, + "name": "_lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5708, + "src": "7645:24:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 5735, + "name": "_currentQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5717, + "src": "7672:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7645:42:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5754, + "nodeType": "IfStatement", + "src": "7641:272:16", + "trueBody": { + "id": 5753, + "nodeType": "Block", + "src": "7689:224:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5740, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "7765:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7765:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5742, + "name": "_lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5708, + "src": "7777:24:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5737, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "7707:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 5738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7707:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 5739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updatePreviousLastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15197, + "src": "7707:57:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 5743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7707:95:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5744, + "nodeType": "ExpressionStatement", + "src": "7707:95:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5748, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "7870:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7870:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5750, + "name": "_currentQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5717, + "src": "7882:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5745, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "7820:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 5746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7820:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 5747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateLastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15177, + "src": "7820:49:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 5751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7820:78:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5752, + "nodeType": "ExpressionStatement", + "src": "7820:78:16" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5755, + "name": "_lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5708, + "src": "8067:24:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5756, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8095:1:16", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8067:29:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5764, + "nodeType": "IfStatement", + "src": "8063:103:16", + "trueBody": { + "id": 5763, + "nodeType": "Block", + "src": "8098:68:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5759, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "8140:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8140:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5758, + "name": "rewardCarbonVotingBonus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6349, + "src": "8116:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 5761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8116:35:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5762, + "nodeType": "ExpressionStatement", + "src": "8116:35:16" + } + ] + } + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5789, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "8964:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5790, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "8964:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5786, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "8920:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 5787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8920:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 5788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateTotalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16136, + "src": "8920:43:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 5791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8920:73:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5792, + "nodeType": "ExpressionStatement", + "src": "8920:73:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5798, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "9077:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9077:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5801, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26727, + "src": "9097:4:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeLocking_$6350", + "typeString": "contract DaoStakeLocking" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_DaoStakeLocking_$6350", + "typeString": "contract DaoStakeLocking" + } + ], + "id": 5800, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9089:7:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9089:13:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5803, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5606, + "src": "9104:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5795, + "name": "dgdToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5431, + "src": "9054:8:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5794, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26318, + "src": "9048:5:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$26318_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 5796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9048:15:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$26318", + "typeString": "contract ERC20" + } + }, + "id": 5797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 26300, + "src": "9048:28:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 5804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9048:64:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5793, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "9040:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9040:73:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5806, + "nodeType": "ExpressionStatement", + "src": "9040:73:16" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5808, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "9136:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9136:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5810, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5606, + "src": "9148:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5811, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "9157:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5812, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "9157:27:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5807, + "name": "LockDGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5421, + "src": "9128:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256)" + } + }, + "id": 5813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9128:57:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5814, + "nodeType": "EmitStatement", + "src": "9123:62:16" + } + ] + }, + "documentation": "@notice Function to lock DGD tokens to participate in the DAO\n@dev Users must `approve` the DaoStakeLocking contract to transfer DGDs from them\nContracts are not allowed to participate in DigixDAO\n@param _amount Amount of DGDs to lock", + "id": 5816, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5609, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "5205:20:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 5610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5205:22:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5611, + "modifierName": { + "argumentTypes": null, + "id": 5608, + "name": "ifGlobalRewardsSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 926, + "src": "5186:18:16", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$", + "typeString": "modifier (uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "5186:42:16" + } + ], + "name": "lockDGDInternal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5607, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5606, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 5816, + "src": "5144:15:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5605, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5144:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5143:17:16" + }, + "payable": false, + "returnParameters": { + "id": 5612, + "nodeType": "ParameterList", + "parameters": [], + "src": "5233:0:16" + }, + "scope": 6350, + "src": "5119:4073:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6025, + "nodeType": "Block", + "src": "9598:3292:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5826, + "name": "isLockingPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 887, + "src": "9616:14:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 5827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9616:16:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5828, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "9636:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 5829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9636:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 5830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isReplacedByNewDao", + "nodeType": "MemberAccess", + "referencedDeclaration": 18316, + "src": "9636:38:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", + "typeString": "function () view external returns (bool)" + } + }, + "id": 5831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9636:40:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "9616:60:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5825, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "9608:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9608:69:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5834, + "nodeType": "ExpressionStatement", + "src": "9608:69:16" + }, + { + "assignments": [ + 5836 + ], + "declarations": [ + { + "constant": false, + "id": 5836, + "name": "_info", + "nodeType": "VariableDeclaration", + "scope": 6026, + "src": "9770:29:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + }, + "typeName": { + "contractScope": null, + "id": 5835, + "name": "StakeInformation", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5444, + "src": "9770:16:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_storage_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5841, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5838, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "9822:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9822:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5837, + "name": "getStakeInformation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6284, + "src": "9802:19:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_struct$_StakeInformation_$5444_memory_ptr_$", + "typeString": "function (address) view returns (struct DaoStakeLocking.StakeInformation memory)" + } + }, + "id": 5840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9802:31:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9770:63:16" + }, + { + "assignments": [ + 5843 + ], + "declarations": [ + { + "constant": false, + "id": 5843, + "name": "_newInfo", + "nodeType": "VariableDeclaration", + "scope": 6026, + "src": "9843:32:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + }, + "typeName": { + "contractScope": null, + "id": 5842, + "name": "StakeInformation", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5444, + "src": "9843:16:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_storage_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5849, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5845, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "9894:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9894:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5847, + "name": "_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5836, + "src": "9906:5:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + ], + "id": 5844, + "name": "refreshDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6101, + "src": "9878:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_struct$_StakeInformation_$5444_memory_ptr_$returns$_t_struct$_StakeInformation_$5444_memory_ptr_$", + "typeString": "function (address,struct DaoStakeLocking.StakeInformation memory) view returns (struct DaoStakeLocking.StakeInformation memory)" + } + }, + "id": 5848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9878:34:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9843:69:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5851, + "name": "_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5836, + "src": "10176:5:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5852, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "10176:25:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5853, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10204:1:16", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10176:29:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5850, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "10168:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10168:38:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5856, + "nodeType": "ExpressionStatement", + "src": "10168:38:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5858, + "name": "_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5836, + "src": "10225:5:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5859, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "10225:25:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 5860, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5818, + "src": "10254:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10225:36:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5857, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "10217:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10217:45:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5863, + "nodeType": "ExpressionStatement", + "src": "10217:45:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 5872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5864, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "10272:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5866, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "10272:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5870, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5818, + "src": "10336:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5867, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "10303:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5868, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "10303:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "10303:32:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10303:41:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10272:72:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5873, + "nodeType": "ExpressionStatement", + "src": "10272:72:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 5882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5874, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "10354:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5876, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "10354:27:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5880, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5818, + "src": "10416:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5877, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "10384:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5878, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "10384:27:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "10384:31:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10384:40:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10354:70:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5883, + "nodeType": "ExpressionStatement", + "src": "10354:70:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 5892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5884, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "10434:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5886, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "10434:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5890, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5818, + "src": "10498:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5887, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "10465:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5888, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "10465:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "10465:32:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10465:41:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10434:72:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5893, + "nodeType": "ExpressionStatement", + "src": "10434:72:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5897, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "10753:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10753:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5894, + "name": "daoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5509, + "src": "10690:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsManager_$4685_$", + "typeString": "function () view returns (contract DaoRewardsManager)" + } + }, + "id": 5895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10690:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "id": 5896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateRewardsAndReputationBeforeNewQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 3786, + "src": "10690:62:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 5899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10690:74:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5900, + "nodeType": "ExpressionStatement", + "src": "10690:74:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5902, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "10873:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10873:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5904, + "name": "_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5836, + "src": "10885:5:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + { + "argumentTypes": null, + "id": 5905, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "10892:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + }, + { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + ], + "id": 5901, + "name": "refreshModeratorStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6254, + "src": "10850:22:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_struct$_StakeInformation_$5444_memory_ptr_$_t_struct$_StakeInformation_$5444_memory_ptr_$returns$__$", + "typeString": "function (address,struct DaoStakeLocking.StakeInformation memory,struct DaoStakeLocking.StakeInformation memory)" + } + }, + "id": 5906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10850:51:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5907, + "nodeType": "ExpressionStatement", + "src": "10850:51:16" + }, + { + "assignments": [ + 5909 + ], + "declarations": [ + { + "constant": false, + "id": 5909, + "name": "_lastParticipatedQuarter", + "nodeType": "VariableDeclaration", + "scope": 6026, + "src": "10912:32:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5908, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10912:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5916, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5913, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "10991:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10991:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5910, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "10947:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 5911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10947:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 5912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15001, + "src": "10947:43:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 5915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10947:55:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10912:90:16" + }, + { + "assignments": [ + 5918 + ], + "declarations": [ + { + "constant": false, + "id": 5918, + "name": "_currentQuarter", + "nodeType": "VariableDeclaration", + "scope": 6026, + "src": "11012:23:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5917, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11012:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5921, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5919, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "11038:20:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 5920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11038:22:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11012:48:16" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5922, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "11075:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5923, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "11075:27:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5925, + "name": "CONFIG_MINIMUM_LOCKED_DGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "11119:25:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5924, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "11105:13:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 5926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11105:40:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11075:70:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 5986, + "nodeType": "Block", + "src": "11945:596:16", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5965, + "name": "_lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5909, + "src": "12138:24:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 5966, + "name": "_currentQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5918, + "src": "12165:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12138:42:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5985, + "nodeType": "IfStatement", + "src": "12134:273:16", + "trueBody": { + "id": 5984, + "nodeType": "Block", + "src": "12182:225:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5971, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "12258:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12258:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5973, + "name": "_lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5909, + "src": "12270:24:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5968, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "12200:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 5969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12200:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 5970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updatePreviousLastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15197, + "src": "12200:57:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 5974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12200:95:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5975, + "nodeType": "ExpressionStatement", + "src": "12200:95:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5979, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "12363:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12363:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5981, + "name": "_currentQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5918, + "src": "12375:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5976, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "12313:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 5977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12313:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 5978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateLastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15177, + "src": "12313:49:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 5982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12313:78:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5983, + "nodeType": "ExpressionStatement", + "src": "12313:78:16" + } + ] + } + } + ] + }, + "id": 5987, + "nodeType": "IfStatement", + "src": "11071:1470:16", + "trueBody": { + "id": 5964, + "nodeType": "Block", + "src": "11147:792:16", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5928, + "name": "_lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5909, + "src": "11397:24:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 5929, + "name": "_currentQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5918, + "src": "11425:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11397:43:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5945, + "nodeType": "IfStatement", + "src": "11393:208:16", + "trueBody": { + "id": 5944, + "nodeType": "Block", + "src": "11442:159:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5934, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "11510:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11510:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5939, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "11574:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11574:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5936, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "11522:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 5937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11522:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 5938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "previousLastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15005, + "src": "11522:51:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 5941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11522:63:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5931, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "11460:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 5932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11460:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 5933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateLastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15177, + "src": "11460:49:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 5942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11460:126:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5943, + "nodeType": "ExpressionStatement", + "src": "11460:126:16" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 5955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5946, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "11766:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5948, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "11766:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5952, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "11830:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5953, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "11830:27:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5949, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "11797:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5950, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "11797:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "11797:32:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11797:61:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11766:92:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5956, + "nodeType": "ExpressionStatement", + "src": "11766:92:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5960, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "11917:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11917:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5957, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "11873:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 5958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11873:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 5959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "removeFromParticipantList", + "nodeType": "MemberAccess", + "referencedDeclaration": 16247, + "src": "11873:43:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 5962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11873:55:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5963, + "nodeType": "ExpressionStatement", + "src": "11873:55:16" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5991, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "12588:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12588:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5993, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "12600:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5994, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "12600:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5995, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "12630:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5996, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "12630:27:16", + "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, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5988, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "12551:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 5989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12551:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 5990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateUserDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16183, + "src": "12551:36:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256) external" + } + }, + "id": 5997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12551:107:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5998, + "nodeType": "ExpressionStatement", + "src": "12551:107:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6002, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "12712:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6003, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "12712:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5999, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "12668:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12668:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateTotalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16136, + "src": "12668:43:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 6004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12668:73:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6005, + "nodeType": "ExpressionStatement", + "src": "12668:73:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6011, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "12785:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12785:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6013, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5818, + "src": "12797:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6008, + "name": "dgdToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5431, + "src": "12766:8:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6007, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26318, + "src": "12760:5:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$26318_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 6009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12760:15:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$26318", + "typeString": "contract ERC20" + } + }, + "id": 6010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 26341, + "src": "12760:24:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 6014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12760:45:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6006, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "12752:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12752:54:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6016, + "nodeType": "ExpressionStatement", + "src": "12752:54:16" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6018, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "12834:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12834:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6020, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5818, + "src": "12846:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6021, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "12855:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6022, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "12855:27:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6017, + "name": "WithdrawDGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5429, + "src": "12822:11:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256)" + } + }, + "id": 6023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12822:61:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6024, + "nodeType": "EmitStatement", + "src": "12817:66:16" + } + ] + }, + "documentation": "@notice Function to withdraw DGD tokens from this contract (can only be withdrawn in the locking phase of quarter)\n@param _amount Number of DGD tokens to withdraw\n@return {\n\"_success\": \"Boolean, true if the withdrawal was successful, revert otherwise\"\n}", + "id": 6026, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5821, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "9570:20:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 5822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9570:22:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5823, + "modifierName": { + "argumentTypes": null, + "id": 5820, + "name": "ifGlobalRewardsSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 926, + "src": "9551:18:16", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$", + "typeString": "modifier (uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "9551:42:16" + } + ], + "name": "withdrawDGD", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5819, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5818, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 6026, + "src": "9511:15:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5817, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9511:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9510:17:16" + }, + "payable": false, + "returnParameters": { + "id": 5824, + "nodeType": "ParameterList", + "parameters": [], + "src": "9598:0:16" + }, + "scope": 6350, + "src": "9490:3400:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6033, + "nodeType": "Block", + "src": "13314:35:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6030, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13340:1:16", + "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": 6029, + "name": "lockDGDInternal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5816, + "src": "13324:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 6031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13324:18:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6032, + "nodeType": "ExpressionStatement", + "src": "13324:18:16" + } + ] + }, + "documentation": "@notice Function to be called by someone who doesnt change their DGDStake for the next quarter to confirm that they're participating\n@dev This can be done in the middle of the quarter as well.\nIf someone just lets their DGDs sit in the DAO, and don't call this function, they are not counted as a participant in the quarter.", + "id": 6034, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "confirmContinuedParticipation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6027, + "nodeType": "ParameterList", + "parameters": [], + "src": "13292:2:16" + }, + "payable": false, + "returnParameters": { + "id": 6028, + "nodeType": "ParameterList", + "parameters": [], + "src": "13314:0:16" + }, + "scope": 6350, + "src": "13254:95:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6100, + "nodeType": "Block", + "src": "14463:740:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6043, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6041, + "src": "14473:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6045, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "14473:29:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6046, + "name": "_infoBefore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6038, + "src": "14505:11:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6047, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "14505:30:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14473:62:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6049, + "nodeType": "ExpressionStatement", + "src": "14473:62:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 6055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6050, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6041, + "src": "14545:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6052, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "14545:30:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6053, + "name": "_infoBefore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6038, + "src": "14578:11:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6054, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "14578:31:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14545:64:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6056, + "nodeType": "ExpressionStatement", + "src": "14545:64:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 6062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6057, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6041, + "src": "14619:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6059, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "14619:30:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6060, + "name": "_infoBefore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6038, + "src": "14652:11:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6061, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "14652:31:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14619:64:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6063, + "nodeType": "ExpressionStatement", + "src": "14619:64:16" + }, + { + "assignments": [ + 6065 + ], + "declarations": [ + { + "constant": false, + "id": 6065, + "name": "_currentQuarter", + "nodeType": "VariableDeclaration", + "scope": 6101, + "src": "14776:23:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6064, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14776:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6068, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6066, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "14802:20:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 6067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14802:22:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14776:48:16" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6072, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6036, + "src": "14882:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6069, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "14838:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 6070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14838:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 6071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15001, + "src": "14838:43:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 6073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14838:50:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 6074, + "name": "_currentQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6065, + "src": "14891:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14838:68:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6099, + "nodeType": "IfStatement", + "src": "14834:363:16", + "trueBody": { + "id": 6098, + "nodeType": "Block", + "src": "14908:289:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6076, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6041, + "src": "14922:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6078, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "14922:29:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6082, + "name": "_infoBefore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6038, + "src": "15011:11:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6083, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "15011:31:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6079, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5495, + "src": "14954:20:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 6080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14954:22:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 6081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "calculateAdditionalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 12113, + "src": "14954:56:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 6084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14954:89:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14922:121:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6086, + "nodeType": "ExpressionStatement", + "src": "14922:121:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 6096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6087, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6041, + "src": "15058:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6089, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "15058:30:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6093, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6041, + "src": "15143:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6094, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "15143:29:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6090, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6041, + "src": "15091:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6091, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "15091:30:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "15091:34:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15091:95:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15058:128:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6097, + "nodeType": "ExpressionStatement", + "src": "15058:128:16" + } + ] + } + } + ] + }, + "documentation": "@notice This function refreshes the DGD stake of a user before doing any staking action(locking/withdrawing/continuing) in a new quarter\n@dev We need to do this because sometimes, the user locked DGDs in the middle of the previous quarter. Hence, his DGDStake in the record now\nis not correct. Note that this function might be called in the middle of the current quarter as well.\nThis has no effect if the user has already done some staking action in the current quarter\n_infoBefore has the user's current stake information\n_infoAfter will be the user's stake information after refreshing\nThis function updates the totalLockedDGDStake as if, the _user is participating in this quarter\nTherefore, if the _user actually will not qualify as a participant, the caller of this function needs to deduct\n_infoAfter.userLockedDGDStake from _infoAfter.totalLockedDGDStake", + "id": 6101, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "refreshDGDStake", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6039, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6036, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 6101, + "src": "14331:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6035, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14331:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6038, + "name": "_infoBefore", + "nodeType": "VariableDeclaration", + "scope": 6101, + "src": "14346:28:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + }, + "typeName": { + "contractScope": null, + "id": 6037, + "name": "StakeInformation", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5444, + "src": "14346:16:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_storage_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14330:45:16" + }, + "payable": false, + "returnParameters": { + "id": 6042, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6041, + "name": "_infoAfter", + "nodeType": "VariableDeclaration", + "scope": 6101, + "src": "14423:34:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + }, + "typeName": { + "contractScope": null, + "id": 6040, + "name": "StakeInformation", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5444, + "src": "14423:16:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_storage_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14422:36:16" + }, + "scope": 6350, + "src": "14306:897:16", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6253, + "nodeType": "Block", + "src": "15821:2910:16", + "statements": [ + { + "assignments": [ + 6111 + ], + "declarations": [ + { + "constant": false, + "id": 6111, + "name": "_alreadyParticipatedInThisQuarter", + "nodeType": "VariableDeclaration", + "scope": 6254, + "src": "15831:38:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6110, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15831:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6120, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6115, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6103, + "src": "15916:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6112, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "15872:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 6113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15872:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 6114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15001, + "src": "15872:43:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 6116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15872:50:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6117, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "15926:20:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 6118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15926:22:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15872:76:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15831:117:16" + }, + { + "assignments": [ + 6122 + ], + "declarations": [ + { + "constant": false, + "id": 6122, + "name": "_currentTotalModeratorLockedDGDs", + "nodeType": "VariableDeclaration", + "scope": 6254, + "src": "15958:40:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6121, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15958:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6127, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6123, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "16001:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16001:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "totalModeratorLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16056, + "src": "16001:46:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 6126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16001:48:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15958:91:16" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6131, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6103, + "src": "16101:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6128, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "16064:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16064:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isInModeratorsList", + "nodeType": "MemberAccess", + "referencedDeclaration": 16323, + "src": "16064:36:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 6132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16064:43:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16111:4:16", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "16064:51:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 6251, + "nodeType": "Block", + "src": "18219:506:16", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6217, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6107, + "src": "18266:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6218, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "18266:29:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6220, + "name": "CONFIG_MINIMUM_DGD_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1408, + "src": "18313:32:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6219, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "18299:13:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 6221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18299:47:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18266:80:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6226, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6103, + "src": "18399:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6223, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "18366:16:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 6224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18366:18:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 6225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14914, + "src": "18366:32:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 6227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18366:39:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6229, + "name": "CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1411, + "src": "18423:39:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6228, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "18409:13:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 6230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18409:54:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18366:97:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "18266:197:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6250, + "nodeType": "IfStatement", + "src": "18262:453:16", + "trueBody": { + "id": 6249, + "nodeType": "Block", + "src": "18465:250:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6236, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6103, + "src": "18521:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6233, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "18484:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18484:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addToModeratorList", + "nodeType": "MemberAccess", + "referencedDeclaration": 16268, + "src": "18484:36:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 6237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18484:43:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6238, + "nodeType": "ExpressionStatement", + "src": "18484:43:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6244, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6107, + "src": "18652:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6245, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "18652:29:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 6242, + "name": "_currentTotalModeratorLockedDGDs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6122, + "src": "18615:32:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "18615:36:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18615:67:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6239, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "18545:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18545:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateTotalModeratorLockedDGDs", + "nodeType": "MemberAccess", + "referencedDeclaration": 16155, + "src": "18545:48:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 6247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18545:155:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6248, + "nodeType": "ExpressionStatement", + "src": "18545:155:16" + } + ] + } + } + ] + }, + "id": 6252, + "nodeType": "IfStatement", + "src": "16060:2665:16", + "trueBody": { + "id": 6216, + "nodeType": "Block", + "src": "16117:2096:16", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6135, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6107, + "src": "16202:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6136, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "16202:29:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6138, + "name": "CONFIG_MINIMUM_DGD_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1408, + "src": "16248:32:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6137, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "16234:13:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 6139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16234:47:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16202:79:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6144, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6103, + "src": "16334:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6141, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "16301:16:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 6142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16301:18:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 6143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14914, + "src": "16301:32:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 6145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16301:39:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6147, + "name": "CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1411, + "src": "16357:39:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6146, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "16343:13:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 6148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16343:54:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16301:96:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16202:195:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 6214, + "nodeType": "Block", + "src": "17452:751:16", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 6186, + "name": "_alreadyParticipatedInThisQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6111, + "src": "17552:33:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 6212, + "nodeType": "Block", + "src": "17921:268:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6207, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6107, + "src": "18118:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6208, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "18118:29:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 6205, + "name": "_currentTotalModeratorLockedDGDs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6122, + "src": "18081:32:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "18081:36:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18081:67:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6202, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "18007:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18007:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateTotalModeratorLockedDGDs", + "nodeType": "MemberAccess", + "referencedDeclaration": 16155, + "src": "18007:48:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 6210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18007:163:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6211, + "nodeType": "ExpressionStatement", + "src": "18007:163:16" + } + ] + }, + "id": 6213, + "nodeType": "IfStatement", + "src": "17548:641:16", + "trueBody": { + "id": 6201, + "nodeType": "Block", + "src": "17587:328:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6196, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6107, + "src": "17844:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6197, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "17844:29:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6192, + "name": "_infoBefore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6105, + "src": "17808:11:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6193, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "17808:30:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 6190, + "name": "_currentTotalModeratorLockedDGDs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6122, + "src": "17771:32:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "17771:36:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17771:68:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "17771:72:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17771:103:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6187, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "17697:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17697:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateTotalModeratorLockedDGDs", + "nodeType": "MemberAccess", + "referencedDeclaration": 16155, + "src": "17697:48:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 6199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17697:199:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6200, + "nodeType": "ExpressionStatement", + "src": "17697:199:16" + } + ] + } + } + ] + }, + "id": 6215, + "nodeType": "IfStatement", + "src": "16198:2005:16", + "trueBody": { + "id": 6185, + "nodeType": "Block", + "src": "16399:1047:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6152, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "16827:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16827:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readTotalModerators", + "nodeType": "MemberAccess", + "referencedDeclaration": 16389, + "src": "16827:37:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 6155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16827:39:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 6156, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16869:1:16", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "16827:43:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 6158, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16826:45:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 6161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "16896:19:16", + "subExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6159, + "name": "isDaoNotReplaced", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 872, + "src": "16897:16:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 6160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16897:18:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 6162, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16895:21:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16826:90:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6151, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16797:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16797:137:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6165, + "nodeType": "ExpressionStatement", + "src": "16797:137:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6169, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6103, + "src": "16995:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6166, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "16953:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16953:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "removeFromModeratorList", + "nodeType": "MemberAccess", + "referencedDeclaration": 16289, + "src": "16953:41:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 6170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16953:48:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6171, + "nodeType": "ExpressionStatement", + "src": "16953:48:16" + }, + { + "condition": { + "argumentTypes": null, + "id": 6172, + "name": "_alreadyParticipatedInThisQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6111, + "src": "17191:33:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6184, + "nodeType": "IfStatement", + "src": "17187:244:16", + "trueBody": { + "id": 6183, + "nodeType": "Block", + "src": "17226:205:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6178, + "name": "_infoBefore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6105, + "src": "17359:11:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6179, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "17359:30:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 6176, + "name": "_currentTotalModeratorLockedDGDs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6122, + "src": "17322:32:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "17322:36:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17322:68:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6173, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "17248:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17248:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateTotalModeratorLockedDGDs", + "nodeType": "MemberAccess", + "referencedDeclaration": 16155, + "src": "17248:48:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 6181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17248:164:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6182, + "nodeType": "ExpressionStatement", + "src": "17248:164:16" + } + ] + } + } + ] + } + } + ] + } + } + ] + }, + "documentation": "@notice This function refreshes the Moderator status of a user, to be done right after ANY STEP where a user's reputation or DGDStake is changed\n@dev _infoBefore is the stake information of the user before this transaction, _infoAfter is the stake information after this transaction\nThis function needs to:\n- add/remove addresses from the moderator list accordingly\n- adjust the totalModeratorLockedDGDStake accordingly as well", + "id": 6254, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "refreshModeratorStatus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6108, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6103, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 6254, + "src": "15726:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6102, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15726:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6105, + "name": "_infoBefore", + "nodeType": "VariableDeclaration", + "scope": 6254, + "src": "15741:28:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + }, + "typeName": { + "contractScope": null, + "id": 6104, + "name": "StakeInformation", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5444, + "src": "15741:16:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_storage_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6107, + "name": "_infoAfter", + "nodeType": "VariableDeclaration", + "scope": 6254, + "src": "15771:27:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + }, + "typeName": { + "contractScope": null, + "id": 6106, + "name": "StakeInformation", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5444, + "src": "15771:16:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_storage_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15725:74:16" + }, + "payable": false, + "returnParameters": { + "id": 6109, + "nodeType": "ParameterList", + "parameters": [], + "src": "15821:0:16" + }, + "scope": 6350, + "src": "15694:3037:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6283, + "nodeType": "Block", + "src": "18986:191:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6261, + "name": "_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6259, + "src": "18997:5:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6263, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "18997:25:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6264, + "name": "_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6259, + "src": "19024:5:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6265, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "19024:24:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6266, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "18996:53:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6270, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6256, + "src": "19087:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6267, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "19052:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19052:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readUserDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16205, + "src": "19052:34:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address) view external returns (uint256,uint256)" + } + }, + "id": 6271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19052:41:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "18996:97:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6273, + "nodeType": "ExpressionStatement", + "src": "18996:97:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 6281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6274, + "name": "_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6259, + "src": "19103:5:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6276, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "19103:25:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6277, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "19131:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19131:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16054, + "src": "19131:37:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 6280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19131:39:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19103:67:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6282, + "nodeType": "ExpressionStatement", + "src": "19103:67:16" + } + ] + }, + "documentation": "@notice Get the actualLockedDGD and lockedDGDStake of a user, as well as the totalLockedDGDStake of all users", + "id": 6284, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getStakeInformation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6257, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6256, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 6284, + "src": "18896:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6255, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18896:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18895:15:16" + }, + "payable": false, + "returnParameters": { + "id": 6260, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6259, + "name": "_info", + "nodeType": "VariableDeclaration", + "scope": 6284, + "src": "18958:22:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + }, + "typeName": { + "contractScope": null, + "id": 6258, + "name": "StakeInformation", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5444, + "src": "18958:16:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_storage_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18957:24:16" + }, + "scope": 6350, + "src": "18867:310:16", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6348, + "nodeType": "Block", + "src": "19463:1404:16", + "statements": [ + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6292, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6286, + "src": "19595:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6289, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "19554:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19554:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "carbonVoteBonusClaimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 16068, + "src": "19554:40:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 6293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19554:47:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6295, + "nodeType": "IfStatement", + "src": "19550:60:16", + "trueBody": { + "expression": null, + "functionReturnParameters": 6288, + "id": 6294, + "nodeType": "Return", + "src": "19603:7:16" + } + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6300, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6286, + "src": "19723:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6297, + "name": "carbonVoting1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5435, + "src": "19702:13:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6296, + "name": "NumberCarbonVoting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7909, + "src": "19683:18:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_NumberCarbonVoting_$7909_$", + "typeString": "type(contract NumberCarbonVoting)" + } + }, + "id": 6298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19683:33:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_NumberCarbonVoting_$7909", + "typeString": "contract NumberCarbonVoting" + } + }, + "id": 6299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "voted", + "nodeType": "MemberAccess", + "referencedDeclaration": 7908, + "src": "19683:39:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 6301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19683:46:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6312, + "nodeType": "IfStatement", + "src": "19679:173:16", + "trueBody": { + "id": 6311, + "nodeType": "Block", + "src": "19731:121:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6305, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6286, + "src": "19783:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6307, + "name": "CONFIG_CARBON_VOTE_REPUTATION_BONUS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1579, + "src": "19804:35:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6306, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "19790:13:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 6308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19790:50:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6302, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "19745:16:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 6303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19745:18:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 6304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "increaseReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14814, + "src": "19745:37:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address,uint256) external returns (uint256,uint256)" + } + }, + "id": 6309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19745:96:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 6310, + "nodeType": "ExpressionStatement", + "src": "19745:96:16" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6317, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6286, + "src": "19964:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6314, + "name": "carbonVoting2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5437, + "src": "19943:13:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6313, + "name": "NumberCarbonVoting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7909, + "src": "19924:18:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_NumberCarbonVoting_$7909_$", + "typeString": "type(contract NumberCarbonVoting)" + } + }, + "id": 6315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19924:33:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_NumberCarbonVoting_$7909", + "typeString": "contract NumberCarbonVoting" + } + }, + "id": 6316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "voted", + "nodeType": "MemberAccess", + "referencedDeclaration": 7908, + "src": "19924:39:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 6318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19924:46:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6329, + "nodeType": "IfStatement", + "src": "19920:173:16", + "trueBody": { + "id": 6328, + "nodeType": "Block", + "src": "19972:121:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6322, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6286, + "src": "20024:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6324, + "name": "CONFIG_CARBON_VOTE_REPUTATION_BONUS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1579, + "src": "20045:35:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6323, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "20031:13:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 6325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20031:50:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6319, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "19986:16:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 6320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19986:18:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 6321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "increaseReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14814, + "src": "19986:37:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address,uint256) external returns (uint256,uint256)" + } + }, + "id": 6326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19986:96:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 6327, + "nodeType": "ExpressionStatement", + "src": "19986:96:16" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6333, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "20686:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "20686:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 6338, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20725:1:16", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6335, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "20698:20:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 6336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20698:22:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "20698:26:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20698:29:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6330, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "20624:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 6331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20624:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 6332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateLastQuarterThatReputationWasUpdated", + "nodeType": "MemberAccess", + "referencedDeclaration": 15243, + "src": "20624:61:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 6340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20624:104:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6341, + "nodeType": "ExpressionStatement", + "src": "20624:104:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6345, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6286, + "src": "20854:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6342, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "20810:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20810:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setCarbonVoteBonusClaimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 16117, + "src": "20810:43:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 6346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20810:50:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6347, + "nodeType": "ExpressionStatement", + "src": "20810:50:16" + } + ] + }, + "documentation": "@notice Reward the voters of carbon voting rounds with initial bonus reputation\n@dev This is only called when they're locking tokens for the first time, enough tokens to be a participant", + "id": 6349, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "rewardCarbonVotingBonus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6287, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6286, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 6349, + "src": "19427:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6285, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19427:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19426:15:16" + }, + "payable": false, + "returnParameters": { + "id": 6288, + "nodeType": "ParameterList", + "parameters": [], + "src": "19463:0:16" + }, + "scope": 6350, + "src": "19394:1473:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 6351, + "src": "396:20473:16" + } + ], + "src": "0:20870:16" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoStakeLocking.sol", + "exportedSymbols": { + "DaoStakeLocking": [ + 6350 + ] + }, + "id": 6351, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5401, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:16" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 5402, + "nodeType": "ImportDirective", + "scope": 6351, + "sourceUnit": 19059, + "src": "26:64:16", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/MathHelper.sol", + "file": "../lib/MathHelper.sol", + "id": 5403, + "nodeType": "ImportDirective", + "scope": 6351, + "sourceUnit": 8576, + "src": "91:31:16", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommon.sol", + "file": "../common/DaoCommon.sol", + "id": 5404, + "nodeType": "ImportDirective", + "scope": 6351, + "sourceUnit": 839, + "src": "123:33:16", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/service/DaoCalculatorService.sol", + "file": "../service/DaoCalculatorService.sol", + "id": 5405, + "nodeType": "ImportDirective", + "scope": 6351, + "sourceUnit": 12495, + "src": "157:45:16", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoRewardsManager.sol", + "file": "./DaoRewardsManager.sol", + "id": 5406, + "nodeType": "ImportDirective", + "scope": 6351, + "sourceUnit": 4686, + "src": "203:33:16", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interface/NumberCarbonVoting.sol", + "file": "./../interface/NumberCarbonVoting.sol", + "id": 5407, + "nodeType": "ImportDirective", + "scope": 6351, + "sourceUnit": 7910, + "src": "237:47:16", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 5408, + "name": "DaoCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 838, + "src": "424:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommon_$838", + "typeString": "contract DaoCommon" + } + }, + "id": 5409, + "nodeType": "InheritanceSpecifier", + "src": "424:9:16" + } + ], + "contractDependencies": [ + 838, + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": "@title Contract to handle staking/withdrawing of DGDs for participation in DAO\n@author Digix Holdings", + "fullyImplemented": true, + "id": 6350, + "linearizedBaseContracts": [ + 6350, + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoStakeLocking", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 5413, + "name": "RedeemBadge", + "nodeType": "EventDefinition", + "parameters": { + "id": 5412, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5411, + "indexed": true, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 5413, + "src": "459:21:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5410, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "459:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "458:23:16" + }, + "src": "441:41:16" + }, + { + "anonymous": false, + "documentation": null, + "id": 5421, + "name": "LockDGD", + "nodeType": "EventDefinition", + "parameters": { + "id": 5420, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5415, + "indexed": true, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 5421, + "src": "501:21:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5414, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "501:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5417, + "indexed": false, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 5421, + "src": "524:15:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5416, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "524:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5419, + "indexed": false, + "name": "_currentLockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 5421, + "src": "541:30:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5418, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "541:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "500:72:16" + }, + "src": "487:86:16" + }, + { + "anonymous": false, + "documentation": null, + "id": 5429, + "name": "WithdrawDGD", + "nodeType": "EventDefinition", + "parameters": { + "id": 5428, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5423, + "indexed": true, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 5429, + "src": "596:21:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5422, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "596:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5425, + "indexed": false, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 5429, + "src": "619:15:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5424, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "619:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5427, + "indexed": false, + "name": "_currentLockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 5429, + "src": "636:30:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5426, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "636:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "595:72:16" + }, + "src": "578:90:16" + }, + { + "constant": false, + "id": 5431, + "name": "dgdToken", + "nodeType": "VariableDeclaration", + "scope": 6350, + "src": "674:23:16", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5430, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "674:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 5433, + "name": "dgdBadgeToken", + "nodeType": "VariableDeclaration", + "scope": 6350, + "src": "703:28:16", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5432, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "703:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 5435, + "name": "carbonVoting1", + "nodeType": "VariableDeclaration", + "scope": 6350, + "src": "928:28:16", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5434, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "928:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 5437, + "name": "carbonVoting2", + "nodeType": "VariableDeclaration", + "scope": 6350, + "src": "1153:28:16", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5436, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1153:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "canonicalName": "DaoStakeLocking.StakeInformation", + "id": 5444, + "members": [ + { + "constant": false, + "id": 5439, + "name": "userActualLockedDGD", + "nodeType": "VariableDeclaration", + "scope": 5444, + "src": "1626:27:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5438, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1626:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5441, + "name": "userLockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 5444, + "src": "1937:26:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5440, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1937:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5443, + "name": "totalLockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 5444, + "src": "2025:27:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5442, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2025:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "StakeInformation", + "nodeType": "StructDefinition", + "scope": 6350, + "src": "1520:539:16", + "visibility": "public" + }, + { + "body": { + "id": 5480, + "nodeType": "Block", + "src": "2241:219:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5459, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "2264:26:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 5460, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5446, + "src": "2292:9:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5458, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "2259:4:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 5461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2259:43:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5457, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2251:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2251:52:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5463, + "nodeType": "ExpressionStatement", + "src": "2251:52:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 5466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5464, + "name": "dgdToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5431, + "src": "2313:8:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5465, + "name": "_dgdToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5448, + "src": "2324:9:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2313:20:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5467, + "nodeType": "ExpressionStatement", + "src": "2313:20:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 5470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5468, + "name": "dgdBadgeToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5433, + "src": "2343:13:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5469, + "name": "_dgdBadgeToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5450, + "src": "2359:14:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2343:30:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5471, + "nodeType": "ExpressionStatement", + "src": "2343:30:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 5474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5472, + "name": "carbonVoting1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5435, + "src": "2383:13:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5473, + "name": "_carbonVoting1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5452, + "src": "2399:14:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2383:30:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5475, + "nodeType": "ExpressionStatement", + "src": "2383:30:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 5478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5476, + "name": "carbonVoting2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5437, + "src": "2423:13:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 5477, + "name": "_carbonVoting2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5454, + "src": "2439:14:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2423:30:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5479, + "nodeType": "ExpressionStatement", + "src": "2423:30:16" + } + ] + }, + "documentation": null, + "id": 5481, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5455, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5446, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 5481, + "src": "2087:17:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5445, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2087:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5448, + "name": "_dgdToken", + "nodeType": "VariableDeclaration", + "scope": 5481, + "src": "2114:17:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5447, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2114:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5450, + "name": "_dgdBadgeToken", + "nodeType": "VariableDeclaration", + "scope": 5481, + "src": "2141:22:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5449, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2141:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5452, + "name": "_carbonVoting1", + "nodeType": "VariableDeclaration", + "scope": 5481, + "src": "2173:22:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5451, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2173:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 5454, + "name": "_carbonVoting2", + "nodeType": "VariableDeclaration", + "scope": 5481, + "src": "2205:22:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5453, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2205:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2077:156:16" + }, + "payable": false, + "returnParameters": { + "id": 5456, + "nodeType": "ParameterList", + "parameters": [], + "src": "2241:0:16" + }, + "scope": 6350, + "src": "2066:394:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5494, + "nodeType": "Block", + "src": "2581:96:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5486, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5484, + "src": "2591:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5489, + "name": "CONTRACT_SERVICE_DAO_CALCULATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1345, + "src": "2637:31:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5488, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "2624:12:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 5490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2624:45:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5487, + "name": "DaoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12494, + "src": "2603:20:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "type(contract DaoCalculatorService)" + } + }, + "id": 5491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2603:67:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "src": "2591:79:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 5493, + "nodeType": "ExpressionStatement", + "src": "2591:79:16" + } + ] + }, + "documentation": null, + "id": 5495, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoCalculatorService", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5482, + "nodeType": "ParameterList", + "parameters": [], + "src": "2495:2:16" + }, + "payable": false, + "returnParameters": { + "id": 5485, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5484, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 5495, + "src": "2545:30:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + }, + "typeName": { + "contractScope": null, + "id": 5483, + "name": "DaoCalculatorService", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 12494, + "src": "2545:20:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2544:32:16" + }, + "scope": 6350, + "src": "2466:211:16", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 5508, + "nodeType": "Block", + "src": "2792:90:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5500, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5498, + "src": "2802:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5503, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "2845:28:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5502, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "2832:12:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 5504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2832:42:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5501, + "name": "DaoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4685, + "src": "2814:17:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoRewardsManager_$4685_$", + "typeString": "type(contract DaoRewardsManager)" + } + }, + "id": 5505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2814:61:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "src": "2802:73:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "id": 5507, + "nodeType": "ExpressionStatement", + "src": "2802:73:16" + } + ] + }, + "documentation": null, + "id": 5509, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoRewardsManager", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5496, + "nodeType": "ParameterList", + "parameters": [], + "src": "2709:2:16" + }, + "payable": false, + "returnParameters": { + "id": 5499, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5498, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 5509, + "src": "2759:27:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + }, + "typeName": { + "contractScope": null, + "id": 5497, + "name": "DaoRewardsManager", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4685, + "src": "2759:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2758:29:16" + }, + "scope": 6350, + "src": "2683:199:16", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 5587, + "nodeType": "Block", + "src": "3395:1328:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "3457:44:16", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5516, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "3490:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3490:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5513, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "3458:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 5514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3458:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 5515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "redeemedBadge", + "nodeType": "MemberAccess", + "referencedDeclaration": 16064, + "src": "3458:31:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 5518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3458:43:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5512, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3449:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3449:53:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5521, + "nodeType": "ExpressionStatement", + "src": "3449:53:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5526, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4160:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4160:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5523, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "4104:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 5524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4104:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 5525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastQuarterThatReputationWasUpdated", + "nodeType": "MemberAccess", + "referencedDeclaration": 15013, + "src": "4104:55:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 5528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4104:67:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5529, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "4176:20:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 5530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4176:22:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 5531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4201:1:16", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4176:26:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5533, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4175:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4104:99:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5522, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4083:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4083:130:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5536, + "nodeType": "ExpressionStatement", + "src": "4083:130:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5540, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4254:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4254:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5537, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "4224:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 5538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4224:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 5539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "redeemBadge", + "nodeType": "MemberAccess", + "referencedDeclaration": 16099, + "src": "4224:29:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 5542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4224:41:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5543, + "nodeType": "ExpressionStatement", + "src": "4224:41:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5547, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4313:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4313:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5550, + "name": "CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1558, + "src": "4339:39:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5549, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4325:13:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 5551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4325:54:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5544, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "4275:16:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 5545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4275:18:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 5546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "increaseReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14814, + "src": "4275:37:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address,uint256) external returns (uint256,uint256)" + } + }, + "id": 5552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4275:105:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 5553, + "nodeType": "ExpressionStatement", + "src": "4275:105:16" + }, + { + "assignments": [ + 5555 + ], + "declarations": [ + { + "constant": false, + "id": 5555, + "name": "_info", + "nodeType": "VariableDeclaration", + "scope": 5588, + "src": "4426:29:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + }, + "typeName": { + "contractScope": null, + "id": 5554, + "name": "StakeInformation", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5444, + "src": "4426:16:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_storage_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5560, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5557, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4478:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4478:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5556, + "name": "getStakeInformation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6284, + "src": "4458:19:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_struct$_StakeInformation_$5444_memory_ptr_$", + "typeString": "function (address) view returns (struct DaoStakeLocking.StakeInformation memory)" + } + }, + "id": 5559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4458:31:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4426:63:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5562, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4522:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4522:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5564, + "name": "_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5555, + "src": "4534:5:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + { + "argumentTypes": null, + "id": 5565, + "name": "_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5555, + "src": "4541:5:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + }, + { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + ], + "id": 5561, + "name": "refreshModeratorStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6254, + "src": "4499:22:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_struct$_StakeInformation_$5444_memory_ptr_$_t_struct$_StakeInformation_$5444_memory_ptr_$returns$__$", + "typeString": "function (address,struct DaoStakeLocking.StakeInformation memory,struct DaoStakeLocking.StakeInformation memory)" + } + }, + "id": 5566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4499:48:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5567, + "nodeType": "ExpressionStatement", + "src": "4499:48:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5573, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4647:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4647:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5576, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26727, + "src": "4667:4:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeLocking_$6350", + "typeString": "contract DaoStakeLocking" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_DaoStakeLocking_$6350", + "typeString": "contract DaoStakeLocking" + } + ], + "id": 5575, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4659:7:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4659:13:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "hexValue": "31", + "id": 5578, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4674:1:16", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5570, + "name": "dgdBadgeToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5433, + "src": "4619:13:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5569, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26318, + "src": "4613:5:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$26318_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 5571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4613:20:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$26318", + "typeString": "contract ERC20" + } + }, + "id": 5572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 26300, + "src": "4613:33:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 5579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4613:63:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5568, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4605:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4605:72:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5581, + "nodeType": "ExpressionStatement", + "src": "4605:72:16" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5583, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4705:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4705:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5582, + "name": "RedeemBadge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5413, + "src": "4693:11:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 5585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4693:23:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5586, + "nodeType": "EmitStatement", + "src": "4688:28:16" + } + ] + }, + "documentation": "@notice Function to convert a DGD Badge to Reputation Points\n@dev The Badge holder can redeem the Badge anytime in the first quarter, or\nOtherwise, the participant must either lock/withdraw/continue in the current quarter first, before he can redeem a badge\nOnly 1 DGD Badge is accepted from an address, so holders with multiple badges\nshould either sell their other badges or redeem reputation to another address", + "id": 5588, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "redeemBadge", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5510, + "nodeType": "ParameterList", + "parameters": [], + "src": "3373:2:16" + }, + "payable": false, + "returnParameters": { + "id": 5511, + "nodeType": "ParameterList", + "parameters": [], + "src": "3395:0:16" + }, + "scope": 6350, + "src": "3353:1370:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5603, + "nodeType": "Block", + "src": "4770:71:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5594, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5590, + "src": "4788:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5595, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4798:1:16", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4788:11:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5593, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4780:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4780:20:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5598, + "nodeType": "ExpressionStatement", + "src": "4780:20:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5600, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5590, + "src": "4826:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5599, + "name": "lockDGDInternal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5816, + "src": "4810:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 5601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4810:24:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5602, + "nodeType": "ExpressionStatement", + "src": "4810:24:16" + } + ] + }, + "documentation": null, + "id": 5604, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "lockDGD", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5591, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5590, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 5604, + "src": "4746:15:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5589, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4746:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4745:17:16" + }, + "payable": false, + "returnParameters": { + "id": 5592, + "nodeType": "ParameterList", + "parameters": [], + "src": "4770:0:16" + }, + "scope": 6350, + "src": "4729:112:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 5815, + "nodeType": "Block", + "src": "5233:3959:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5614, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "5343:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5343:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5616, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26624, + "src": "5357:2:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 5617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5357:9:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5343:23:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5613, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5335:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5335:32:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5620, + "nodeType": "ExpressionStatement", + "src": "5335:32:16" + }, + { + "assignments": [ + 5622 + ], + "declarations": [ + { + "constant": false, + "id": 5622, + "name": "_info", + "nodeType": "VariableDeclaration", + "scope": 5816, + "src": "5378:29:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + }, + "typeName": { + "contractScope": null, + "id": 5621, + "name": "StakeInformation", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5444, + "src": "5378:16:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_storage_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5627, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5624, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "5430:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5430:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5623, + "name": "getStakeInformation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6284, + "src": "5410:19:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_struct$_StakeInformation_$5444_memory_ptr_$", + "typeString": "function (address) view returns (struct DaoStakeLocking.StakeInformation memory)" + } + }, + "id": 5626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5410:31:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5378:63:16" + }, + { + "assignments": [ + 5629 + ], + "declarations": [ + { + "constant": false, + "id": 5629, + "name": "_newInfo", + "nodeType": "VariableDeclaration", + "scope": 5816, + "src": "5451:32:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + }, + "typeName": { + "contractScope": null, + "id": 5628, + "name": "StakeInformation", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5444, + "src": "5451:16:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_storage_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5635, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5631, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "5502:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5502:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5633, + "name": "_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5622, + "src": "5514:5:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + ], + "id": 5630, + "name": "refreshDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6101, + "src": "5486:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_struct$_StakeInformation_$5444_memory_ptr_$returns$_t_struct$_StakeInformation_$5444_memory_ptr_$", + "typeString": "function (address,struct DaoStakeLocking.StakeInformation memory) view returns (struct DaoStakeLocking.StakeInformation memory)" + } + }, + "id": 5634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5486:34:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5451:69:16" + }, + { + "assignments": [ + 5637 + ], + "declarations": [ + { + "constant": false, + "id": 5637, + "name": "_additionalStake", + "nodeType": "VariableDeclaration", + "scope": 5816, + "src": "5531:24:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5636, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5531:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5639, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 5638, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5558:1:16", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5531:28:16" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5640, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5606, + "src": "5573:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5641, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5583:1:16", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5573:11:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5651, + "nodeType": "IfStatement", + "src": "5569:101:16", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 5649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 5643, + "name": "_additionalStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5637, + "src": "5586:16:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5647, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5606, + "src": "5662:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5644, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5495, + "src": "5605:20:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 5645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5605:22:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 5646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "calculateAdditionalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 12113, + "src": "5605:56:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 5648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5605:65:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5586:84:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5650, + "nodeType": "ExpressionStatement", + "src": "5586:84:16" + } + }, + { + "expression": { + "argumentTypes": null, + "id": 5660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5652, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "5681:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5654, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "5681:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5658, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5606, + "src": "5745:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5655, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "5712:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5656, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "5712:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "5712:32:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5712:41:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5681:72:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5661, + "nodeType": "ExpressionStatement", + "src": "5681:72:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 5670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5662, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "5763:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5664, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "5763:27:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5668, + "name": "_additionalStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5637, + "src": "5825:16:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5665, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "5793:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5666, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "5793:27:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "5793:31:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5793:49:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5763:79:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5671, + "nodeType": "ExpressionStatement", + "src": "5763:79:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 5680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5672, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "5852:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5674, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "5852:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5678, + "name": "_additionalStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5637, + "src": "5916:16:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5675, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "5883:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5676, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "5883:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5677, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "5883:32:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5883:50:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5852:81:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5681, + "nodeType": "ExpressionStatement", + "src": "5852:81:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5685, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6095:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6095:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5682, + "name": "daoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5509, + "src": "6032:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsManager_$4685_$", + "typeString": "function () view returns (contract DaoRewardsManager)" + } + }, + "id": 5683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6032:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "id": 5684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateRewardsAndReputationBeforeNewQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 3786, + "src": "6032:62:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 5687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6032:74:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5688, + "nodeType": "ExpressionStatement", + "src": "6032:74:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5692, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6154:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6154:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5694, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "6166:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5695, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "6166:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5696, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "6196:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5697, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "6196:27:16", + "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, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5689, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "6117:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 5690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6117:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 5691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateUserDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16183, + "src": "6117:36:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256) external" + } + }, + "id": 5698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6117:107:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5699, + "nodeType": "ExpressionStatement", + "src": "6117:107:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5701, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6334:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6334:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5703, + "name": "_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5622, + "src": "6346:5:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + { + "argumentTypes": null, + "id": 5704, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "6353:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + }, + { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + ], + "id": 5700, + "name": "refreshModeratorStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6254, + "src": "6311:22:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_struct$_StakeInformation_$5444_memory_ptr_$_t_struct$_StakeInformation_$5444_memory_ptr_$returns$__$", + "typeString": "function (address,struct DaoStakeLocking.StakeInformation memory,struct DaoStakeLocking.StakeInformation memory)" + } + }, + "id": 5705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6311:51:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5706, + "nodeType": "ExpressionStatement", + "src": "6311:51:16" + }, + { + "assignments": [ + 5708 + ], + "declarations": [ + { + "constant": false, + "id": 5708, + "name": "_lastParticipatedQuarter", + "nodeType": "VariableDeclaration", + "scope": 5816, + "src": "6373:32:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5707, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6373:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5715, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5712, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6452:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6452:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5709, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "6408:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 5710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6408:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 5711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15001, + "src": "6408:43:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 5714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6408:55:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6373:90:16" + }, + { + "assignments": [ + 5717 + ], + "declarations": [ + { + "constant": false, + "id": 5717, + "name": "_currentQuarter", + "nodeType": "VariableDeclaration", + "scope": 5816, + "src": "6473:23:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5716, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6473:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5720, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5718, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "6499:20:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 5719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6499:22:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6473:48:16" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5721, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "6863:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5722, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "6863:27:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5724, + "name": "CONFIG_MINIMUM_LOCKED_DGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "6908:25:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5723, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "6894:13:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 5725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6894:40:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6863:71:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 5784, + "nodeType": "Block", + "src": "8182:728:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 5775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5766, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "8738:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5768, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "8738:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5772, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "8802:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5773, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "8802:27:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5769, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "8769:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5770, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "8769:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "8769:32:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8769:61:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8738:92:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5776, + "nodeType": "ExpressionStatement", + "src": "8738:92:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5780, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "8888:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8888:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5777, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "8844:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 5778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8844:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 5779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "removeFromParticipantList", + "nodeType": "MemberAccess", + "referencedDeclaration": 16247, + "src": "8844:43:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 5782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8844:55:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5783, + "nodeType": "ExpressionStatement", + "src": "8844:55:16" + } + ] + }, + "id": 5785, + "nodeType": "IfStatement", + "src": "6859:2051:16", + "trueBody": { + "id": 5765, + "nodeType": "Block", + "src": "6936:1240:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5730, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6989:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6989:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5727, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "6950:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 5728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6950:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 5729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addToParticipantList", + "nodeType": "MemberAccess", + "referencedDeclaration": 16226, + "src": "6950:38:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 5732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6950:50:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5733, + "nodeType": "ExpressionStatement", + "src": "6950:50:16" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5734, + "name": "_lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5708, + "src": "7645:24:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 5735, + "name": "_currentQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5717, + "src": "7672:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7645:42:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5754, + "nodeType": "IfStatement", + "src": "7641:272:16", + "trueBody": { + "id": 5753, + "nodeType": "Block", + "src": "7689:224:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5740, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "7765:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7765:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5742, + "name": "_lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5708, + "src": "7777:24:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5737, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "7707:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 5738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7707:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 5739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updatePreviousLastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15197, + "src": "7707:57:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 5743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7707:95:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5744, + "nodeType": "ExpressionStatement", + "src": "7707:95:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5748, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "7870:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7870:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5750, + "name": "_currentQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5717, + "src": "7882:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5745, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "7820:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 5746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7820:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 5747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateLastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15177, + "src": "7820:49:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 5751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7820:78:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5752, + "nodeType": "ExpressionStatement", + "src": "7820:78:16" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5755, + "name": "_lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5708, + "src": "8067:24:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5756, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8095:1:16", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8067:29:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5764, + "nodeType": "IfStatement", + "src": "8063:103:16", + "trueBody": { + "id": 5763, + "nodeType": "Block", + "src": "8098:68:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5759, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "8140:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8140:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5758, + "name": "rewardCarbonVotingBonus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6349, + "src": "8116:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 5761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8116:35:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5762, + "nodeType": "ExpressionStatement", + "src": "8116:35:16" + } + ] + } + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5789, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "8964:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5790, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "8964:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5786, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "8920:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 5787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8920:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 5788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateTotalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16136, + "src": "8920:43:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 5791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8920:73:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5792, + "nodeType": "ExpressionStatement", + "src": "8920:73:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5798, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "9077:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9077:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5801, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26727, + "src": "9097:4:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeLocking_$6350", + "typeString": "contract DaoStakeLocking" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_DaoStakeLocking_$6350", + "typeString": "contract DaoStakeLocking" + } + ], + "id": 5800, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9089:7:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 5802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9089:13:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5803, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5606, + "src": "9104:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5795, + "name": "dgdToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5431, + "src": "9054:8:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5794, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26318, + "src": "9048:5:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$26318_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 5796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9048:15:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$26318", + "typeString": "contract ERC20" + } + }, + "id": 5797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 26300, + "src": "9048:28:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 5804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9048:64:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5793, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "9040:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9040:73:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5806, + "nodeType": "ExpressionStatement", + "src": "9040:73:16" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5808, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "9136:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9136:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5810, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5606, + "src": "9148:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5811, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5629, + "src": "9157:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5812, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "9157:27:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5807, + "name": "LockDGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5421, + "src": "9128:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256)" + } + }, + "id": 5813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9128:57:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5814, + "nodeType": "EmitStatement", + "src": "9123:62:16" + } + ] + }, + "documentation": "@notice Function to lock DGD tokens to participate in the DAO\n@dev Users must `approve` the DaoStakeLocking contract to transfer DGDs from them\nContracts are not allowed to participate in DigixDAO\n@param _amount Amount of DGDs to lock", + "id": 5816, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5609, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "5205:20:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 5610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5205:22:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5611, + "modifierName": { + "argumentTypes": null, + "id": 5608, + "name": "ifGlobalRewardsSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 926, + "src": "5186:18:16", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$", + "typeString": "modifier (uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "5186:42:16" + } + ], + "name": "lockDGDInternal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5607, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5606, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 5816, + "src": "5144:15:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5605, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5144:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5143:17:16" + }, + "payable": false, + "returnParameters": { + "id": 5612, + "nodeType": "ParameterList", + "parameters": [], + "src": "5233:0:16" + }, + "scope": 6350, + "src": "5119:4073:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6025, + "nodeType": "Block", + "src": "9598:3292:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5826, + "name": "isLockingPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 887, + "src": "9616:14:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 5827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9616:16:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5828, + "name": "daoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "9636:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "function () view returns (contract DaoUpgradeStorage)" + } + }, + "id": 5829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9636:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 5830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isReplacedByNewDao", + "nodeType": "MemberAccess", + "referencedDeclaration": 18316, + "src": "9636:38:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", + "typeString": "function () view external returns (bool)" + } + }, + "id": 5831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9636:40:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "9616:60:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5825, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "9608:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9608:69:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5834, + "nodeType": "ExpressionStatement", + "src": "9608:69:16" + }, + { + "assignments": [ + 5836 + ], + "declarations": [ + { + "constant": false, + "id": 5836, + "name": "_info", + "nodeType": "VariableDeclaration", + "scope": 6026, + "src": "9770:29:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + }, + "typeName": { + "contractScope": null, + "id": 5835, + "name": "StakeInformation", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5444, + "src": "9770:16:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_storage_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5841, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5838, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "9822:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9822:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5837, + "name": "getStakeInformation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6284, + "src": "9802:19:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_struct$_StakeInformation_$5444_memory_ptr_$", + "typeString": "function (address) view returns (struct DaoStakeLocking.StakeInformation memory)" + } + }, + "id": 5840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9802:31:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9770:63:16" + }, + { + "assignments": [ + 5843 + ], + "declarations": [ + { + "constant": false, + "id": 5843, + "name": "_newInfo", + "nodeType": "VariableDeclaration", + "scope": 6026, + "src": "9843:32:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + }, + "typeName": { + "contractScope": null, + "id": 5842, + "name": "StakeInformation", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5444, + "src": "9843:16:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_storage_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5849, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5845, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "9894:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9894:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5847, + "name": "_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5836, + "src": "9906:5:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + ], + "id": 5844, + "name": "refreshDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6101, + "src": "9878:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_struct$_StakeInformation_$5444_memory_ptr_$returns$_t_struct$_StakeInformation_$5444_memory_ptr_$", + "typeString": "function (address,struct DaoStakeLocking.StakeInformation memory) view returns (struct DaoStakeLocking.StakeInformation memory)" + } + }, + "id": 5848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9878:34:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9843:69:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5851, + "name": "_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5836, + "src": "10176:5:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5852, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "10176:25:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 5853, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10204:1:16", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10176:29:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5850, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "10168:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10168:38:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5856, + "nodeType": "ExpressionStatement", + "src": "10168:38:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5858, + "name": "_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5836, + "src": "10225:5:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5859, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "10225:25:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 5860, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5818, + "src": "10254:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10225:36:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 5857, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "10217:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 5862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10217:45:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5863, + "nodeType": "ExpressionStatement", + "src": "10217:45:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 5872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5864, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "10272:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5866, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "10272:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5870, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5818, + "src": "10336:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5867, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "10303:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5868, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "10303:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "10303:32:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10303:41:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10272:72:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5873, + "nodeType": "ExpressionStatement", + "src": "10272:72:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 5882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5874, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "10354:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5876, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "10354:27:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5880, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5818, + "src": "10416:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5877, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "10384:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5878, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "10384:27:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "10384:31:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10384:40:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10354:70:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5883, + "nodeType": "ExpressionStatement", + "src": "10354:70:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 5892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5884, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "10434:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5886, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "10434:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5890, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5818, + "src": "10498:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5887, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "10465:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5888, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "10465:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "10465:32:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10465:41:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10434:72:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5893, + "nodeType": "ExpressionStatement", + "src": "10434:72:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5897, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "10753:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10753:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5894, + "name": "daoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5509, + "src": "10690:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsManager_$4685_$", + "typeString": "function () view returns (contract DaoRewardsManager)" + } + }, + "id": 5895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10690:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "id": 5896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateRewardsAndReputationBeforeNewQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 3786, + "src": "10690:62:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 5899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10690:74:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5900, + "nodeType": "ExpressionStatement", + "src": "10690:74:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5902, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "10873:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10873:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5904, + "name": "_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5836, + "src": "10885:5:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + { + "argumentTypes": null, + "id": 5905, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "10892:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + }, + { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + ], + "id": 5901, + "name": "refreshModeratorStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6254, + "src": "10850:22:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_struct$_StakeInformation_$5444_memory_ptr_$_t_struct$_StakeInformation_$5444_memory_ptr_$returns$__$", + "typeString": "function (address,struct DaoStakeLocking.StakeInformation memory,struct DaoStakeLocking.StakeInformation memory)" + } + }, + "id": 5906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10850:51:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5907, + "nodeType": "ExpressionStatement", + "src": "10850:51:16" + }, + { + "assignments": [ + 5909 + ], + "declarations": [ + { + "constant": false, + "id": 5909, + "name": "_lastParticipatedQuarter", + "nodeType": "VariableDeclaration", + "scope": 6026, + "src": "10912:32:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5908, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10912:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5916, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5913, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "10991:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10991:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5910, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "10947:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 5911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10947:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 5912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15001, + "src": "10947:43:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 5915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10947:55:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10912:90:16" + }, + { + "assignments": [ + 5918 + ], + "declarations": [ + { + "constant": false, + "id": 5918, + "name": "_currentQuarter", + "nodeType": "VariableDeclaration", + "scope": 6026, + "src": "11012:23:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5917, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11012:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 5921, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5919, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "11038:20:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 5920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11038:22:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11012:48:16" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5922, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "11075:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5923, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "11075:27:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 5925, + "name": "CONFIG_MINIMUM_LOCKED_DGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "11119:25:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5924, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "11105:13:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 5926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11105:40:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11075:70:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 5986, + "nodeType": "Block", + "src": "11945:596:16", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5965, + "name": "_lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5909, + "src": "12138:24:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 5966, + "name": "_currentQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5918, + "src": "12165:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12138:42:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5985, + "nodeType": "IfStatement", + "src": "12134:273:16", + "trueBody": { + "id": 5984, + "nodeType": "Block", + "src": "12182:225:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5971, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "12258:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12258:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5973, + "name": "_lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5909, + "src": "12270:24:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5968, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "12200:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 5969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12200:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 5970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updatePreviousLastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15197, + "src": "12200:57:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 5974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12200:95:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5975, + "nodeType": "ExpressionStatement", + "src": "12200:95:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5979, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "12363:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12363:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 5981, + "name": "_currentQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5918, + "src": "12375:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5976, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "12313:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 5977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12313:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 5978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateLastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15177, + "src": "12313:49:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 5982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12313:78:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5983, + "nodeType": "ExpressionStatement", + "src": "12313:78:16" + } + ] + } + } + ] + }, + "id": 5987, + "nodeType": "IfStatement", + "src": "11071:1470:16", + "trueBody": { + "id": 5964, + "nodeType": "Block", + "src": "11147:792:16", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 5928, + "name": "_lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5909, + "src": "11397:24:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 5929, + "name": "_currentQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5918, + "src": "11425:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11397:43:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 5945, + "nodeType": "IfStatement", + "src": "11393:208:16", + "trueBody": { + "id": 5944, + "nodeType": "Block", + "src": "11442:159:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5934, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "11510:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11510:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5939, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "11574:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11574:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5936, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "11522:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 5937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11522:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 5938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "previousLastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15005, + "src": "11522:51:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 5941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11522:63:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5931, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "11460:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 5932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11460:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 5933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateLastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15177, + "src": "11460:49:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 5942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11460:126:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5943, + "nodeType": "ExpressionStatement", + "src": "11460:126:16" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 5955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5946, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "11766:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5948, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "11766:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5952, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "11830:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5953, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "11830:27:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5949, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "11797:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5950, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "11797:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "11797:32:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 5954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11797:61:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11766:92:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5956, + "nodeType": "ExpressionStatement", + "src": "11766:92:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5960, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "11917:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11917:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5957, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "11873:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 5958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11873:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 5959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "removeFromParticipantList", + "nodeType": "MemberAccess", + "referencedDeclaration": 16247, + "src": "11873:43:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 5962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11873:55:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5963, + "nodeType": "ExpressionStatement", + "src": "11873:55:16" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5991, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "12588:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12588:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5993, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "12600:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5994, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "12600:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 5995, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "12630:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 5996, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "12630:27:16", + "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, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5988, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "12551:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 5989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12551:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 5990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateUserDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16183, + "src": "12551:36:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256) external" + } + }, + "id": 5997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12551:107:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5998, + "nodeType": "ExpressionStatement", + "src": "12551:107:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6002, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "12712:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6003, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "12712:28:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5999, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "12668:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12668:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateTotalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16136, + "src": "12668:43:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 6004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12668:73:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6005, + "nodeType": "ExpressionStatement", + "src": "12668:73:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6011, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "12785:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12785:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6013, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5818, + "src": "12797:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6008, + "name": "dgdToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5431, + "src": "12766:8:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6007, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26318, + "src": "12760:5:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC20_$26318_$", + "typeString": "type(contract ERC20)" + } + }, + "id": 6009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12760:15:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$26318", + "typeString": "contract ERC20" + } + }, + "id": 6010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 26341, + "src": "12760:24:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 6014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12760:45:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6006, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "12752:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12752:54:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6016, + "nodeType": "ExpressionStatement", + "src": "12752:54:16" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6018, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "12834:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12834:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6020, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5818, + "src": "12846:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6021, + "name": "_newInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "12855:8:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6022, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "12855:27:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6017, + "name": "WithdrawDGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5429, + "src": "12822:11:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256)" + } + }, + "id": 6023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12822:61:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6024, + "nodeType": "EmitStatement", + "src": "12817:66:16" + } + ] + }, + "documentation": "@notice Function to withdraw DGD tokens from this contract (can only be withdrawn in the locking phase of quarter)\n@param _amount Number of DGD tokens to withdraw\n@return {\n\"_success\": \"Boolean, true if the withdrawal was successful, revert otherwise\"\n}", + "id": 6026, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5821, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "9570:20:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 5822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9570:22:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5823, + "modifierName": { + "argumentTypes": null, + "id": 5820, + "name": "ifGlobalRewardsSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 926, + "src": "9551:18:16", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$", + "typeString": "modifier (uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "9551:42:16" + } + ], + "name": "withdrawDGD", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5819, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5818, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 6026, + "src": "9511:15:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5817, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9511:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9510:17:16" + }, + "payable": false, + "returnParameters": { + "id": 5824, + "nodeType": "ParameterList", + "parameters": [], + "src": "9598:0:16" + }, + "scope": 6350, + "src": "9490:3400:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6033, + "nodeType": "Block", + "src": "13314:35:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 6030, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13340:1:16", + "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": 6029, + "name": "lockDGDInternal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5816, + "src": "13324:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 6031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13324:18:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6032, + "nodeType": "ExpressionStatement", + "src": "13324:18:16" + } + ] + }, + "documentation": "@notice Function to be called by someone who doesnt change their DGDStake for the next quarter to confirm that they're participating\n@dev This can be done in the middle of the quarter as well.\nIf someone just lets their DGDs sit in the DAO, and don't call this function, they are not counted as a participant in the quarter.", + "id": 6034, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "confirmContinuedParticipation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6027, + "nodeType": "ParameterList", + "parameters": [], + "src": "13292:2:16" + }, + "payable": false, + "returnParameters": { + "id": 6028, + "nodeType": "ParameterList", + "parameters": [], + "src": "13314:0:16" + }, + "scope": 6350, + "src": "13254:95:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6100, + "nodeType": "Block", + "src": "14463:740:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6043, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6041, + "src": "14473:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6045, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "14473:29:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6046, + "name": "_infoBefore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6038, + "src": "14505:11:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6047, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "14505:30:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14473:62:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6049, + "nodeType": "ExpressionStatement", + "src": "14473:62:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 6055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6050, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6041, + "src": "14545:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6052, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "14545:30:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6053, + "name": "_infoBefore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6038, + "src": "14578:11:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6054, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "14578:31:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14545:64:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6056, + "nodeType": "ExpressionStatement", + "src": "14545:64:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 6062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6057, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6041, + "src": "14619:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6059, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "14619:30:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6060, + "name": "_infoBefore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6038, + "src": "14652:11:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6061, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "14652:31:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14619:64:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6063, + "nodeType": "ExpressionStatement", + "src": "14619:64:16" + }, + { + "assignments": [ + 6065 + ], + "declarations": [ + { + "constant": false, + "id": 6065, + "name": "_currentQuarter", + "nodeType": "VariableDeclaration", + "scope": 6101, + "src": "14776:23:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6064, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14776:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6068, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6066, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "14802:20:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 6067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14802:22:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14776:48:16" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6072, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6036, + "src": "14882:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6069, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "14838:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 6070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14838:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 6071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15001, + "src": "14838:43:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 6073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14838:50:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 6074, + "name": "_currentQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6065, + "src": "14891:15:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14838:68:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6099, + "nodeType": "IfStatement", + "src": "14834:363:16", + "trueBody": { + "id": 6098, + "nodeType": "Block", + "src": "14908:289:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6076, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6041, + "src": "14922:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6078, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "14922:29:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6082, + "name": "_infoBefore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6038, + "src": "15011:11:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6083, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "15011:31:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6079, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5495, + "src": "14954:20:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 6080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14954:22:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 6081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "calculateAdditionalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 12113, + "src": "14954:56:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view external returns (uint256)" + } + }, + "id": 6084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14954:89:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14922:121:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6086, + "nodeType": "ExpressionStatement", + "src": "14922:121:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 6096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6087, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6041, + "src": "15058:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6089, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "15058:30:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6093, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6041, + "src": "15143:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6094, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "15143:29:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6090, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6041, + "src": "15091:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6091, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "15091:30:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "15091:34:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15091:95:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15058:128:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6097, + "nodeType": "ExpressionStatement", + "src": "15058:128:16" + } + ] + } + } + ] + }, + "documentation": "@notice This function refreshes the DGD stake of a user before doing any staking action(locking/withdrawing/continuing) in a new quarter\n@dev We need to do this because sometimes, the user locked DGDs in the middle of the previous quarter. Hence, his DGDStake in the record now\nis not correct. Note that this function might be called in the middle of the current quarter as well.\nThis has no effect if the user has already done some staking action in the current quarter\n_infoBefore has the user's current stake information\n_infoAfter will be the user's stake information after refreshing\nThis function updates the totalLockedDGDStake as if, the _user is participating in this quarter\nTherefore, if the _user actually will not qualify as a participant, the caller of this function needs to deduct\n_infoAfter.userLockedDGDStake from _infoAfter.totalLockedDGDStake", + "id": 6101, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "refreshDGDStake", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6039, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6036, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 6101, + "src": "14331:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6035, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14331:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6038, + "name": "_infoBefore", + "nodeType": "VariableDeclaration", + "scope": 6101, + "src": "14346:28:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + }, + "typeName": { + "contractScope": null, + "id": 6037, + "name": "StakeInformation", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5444, + "src": "14346:16:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_storage_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14330:45:16" + }, + "payable": false, + "returnParameters": { + "id": 6042, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6041, + "name": "_infoAfter", + "nodeType": "VariableDeclaration", + "scope": 6101, + "src": "14423:34:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + }, + "typeName": { + "contractScope": null, + "id": 6040, + "name": "StakeInformation", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5444, + "src": "14423:16:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_storage_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14422:36:16" + }, + "scope": 6350, + "src": "14306:897:16", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6253, + "nodeType": "Block", + "src": "15821:2910:16", + "statements": [ + { + "assignments": [ + 6111 + ], + "declarations": [ + { + "constant": false, + "id": 6111, + "name": "_alreadyParticipatedInThisQuarter", + "nodeType": "VariableDeclaration", + "scope": 6254, + "src": "15831:38:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6110, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15831:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6120, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6115, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6103, + "src": "15916:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6112, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "15872:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 6113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15872:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 6114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lastParticipatedQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 15001, + "src": "15872:43:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 6116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15872:50:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6117, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "15926:20:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 6118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15926:22:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15872:76:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15831:117:16" + }, + { + "assignments": [ + 6122 + ], + "declarations": [ + { + "constant": false, + "id": 6122, + "name": "_currentTotalModeratorLockedDGDs", + "nodeType": "VariableDeclaration", + "scope": 6254, + "src": "15958:40:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6121, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15958:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6127, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6123, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "16001:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16001:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "totalModeratorLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16056, + "src": "16001:46:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 6126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16001:48:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15958:91:16" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6131, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6103, + "src": "16101:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6128, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "16064:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16064:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isInModeratorsList", + "nodeType": "MemberAccess", + "referencedDeclaration": 16323, + "src": "16064:36:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 6132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16064:43:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16111:4:16", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "16064:51:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 6251, + "nodeType": "Block", + "src": "18219:506:16", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6217, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6107, + "src": "18266:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6218, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "18266:29:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6220, + "name": "CONFIG_MINIMUM_DGD_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1408, + "src": "18313:32:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6219, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "18299:13:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 6221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18299:47:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18266:80:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6226, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6103, + "src": "18399:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6223, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "18366:16:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 6224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18366:18:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 6225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14914, + "src": "18366:32:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 6227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18366:39:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6229, + "name": "CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1411, + "src": "18423:39:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6228, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "18409:13:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 6230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18409:54:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18366:97:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "18266:197:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6250, + "nodeType": "IfStatement", + "src": "18262:453:16", + "trueBody": { + "id": 6249, + "nodeType": "Block", + "src": "18465:250:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6236, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6103, + "src": "18521:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6233, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "18484:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18484:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addToModeratorList", + "nodeType": "MemberAccess", + "referencedDeclaration": 16268, + "src": "18484:36:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 6237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18484:43:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6238, + "nodeType": "ExpressionStatement", + "src": "18484:43:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6244, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6107, + "src": "18652:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6245, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "18652:29:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 6242, + "name": "_currentTotalModeratorLockedDGDs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6122, + "src": "18615:32:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "18615:36:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18615:67:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6239, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "18545:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18545:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateTotalModeratorLockedDGDs", + "nodeType": "MemberAccess", + "referencedDeclaration": 16155, + "src": "18545:48:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 6247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18545:155:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6248, + "nodeType": "ExpressionStatement", + "src": "18545:155:16" + } + ] + } + } + ] + }, + "id": 6252, + "nodeType": "IfStatement", + "src": "16060:2665:16", + "trueBody": { + "id": 6216, + "nodeType": "Block", + "src": "16117:2096:16", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6135, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6107, + "src": "16202:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6136, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "16202:29:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6138, + "name": "CONFIG_MINIMUM_DGD_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1408, + "src": "16248:32:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6137, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "16234:13:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 6139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16234:47:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16202:79:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6144, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6103, + "src": "16334:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6141, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "16301:16:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 6142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16301:18:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 6143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14914, + "src": "16301:32:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 6145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16301:39:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6147, + "name": "CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1411, + "src": "16357:39:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6146, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "16343:13:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 6148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16343:54:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16301:96:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16202:195:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 6214, + "nodeType": "Block", + "src": "17452:751:16", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 6186, + "name": "_alreadyParticipatedInThisQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6111, + "src": "17552:33:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 6212, + "nodeType": "Block", + "src": "17921:268:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6207, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6107, + "src": "18118:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6208, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "18118:29:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 6205, + "name": "_currentTotalModeratorLockedDGDs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6122, + "src": "18081:32:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "18081:36:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18081:67:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6202, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "18007:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18007:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateTotalModeratorLockedDGDs", + "nodeType": "MemberAccess", + "referencedDeclaration": 16155, + "src": "18007:48:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 6210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18007:163:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6211, + "nodeType": "ExpressionStatement", + "src": "18007:163:16" + } + ] + }, + "id": 6213, + "nodeType": "IfStatement", + "src": "17548:641:16", + "trueBody": { + "id": 6201, + "nodeType": "Block", + "src": "17587:328:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6196, + "name": "_infoAfter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6107, + "src": "17844:10:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6197, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "17844:29:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6192, + "name": "_infoBefore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6105, + "src": "17808:11:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6193, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "17808:30:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 6190, + "name": "_currentTotalModeratorLockedDGDs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6122, + "src": "17771:32:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "17771:36:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17771:68:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "17771:72:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17771:103:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6187, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "17697:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17697:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateTotalModeratorLockedDGDs", + "nodeType": "MemberAccess", + "referencedDeclaration": 16155, + "src": "17697:48:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 6199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17697:199:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6200, + "nodeType": "ExpressionStatement", + "src": "17697:199:16" + } + ] + } + } + ] + }, + "id": 6215, + "nodeType": "IfStatement", + "src": "16198:2005:16", + "trueBody": { + "id": 6185, + "nodeType": "Block", + "src": "16399:1047:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6163, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6152, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "16827:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16827:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readTotalModerators", + "nodeType": "MemberAccess", + "referencedDeclaration": 16389, + "src": "16827:37:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 6155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16827:39:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 6156, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16869:1:16", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "16827:43:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 6158, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16826:45:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 6161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "16896:19:16", + "subExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6159, + "name": "isDaoNotReplaced", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 872, + "src": "16897:16:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 6160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16897:18:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 6162, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16895:21:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16826:90:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6151, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16797:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16797:137:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6165, + "nodeType": "ExpressionStatement", + "src": "16797:137:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6169, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6103, + "src": "16995:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6166, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "16953:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16953:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "removeFromModeratorList", + "nodeType": "MemberAccess", + "referencedDeclaration": 16289, + "src": "16953:41:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) external returns (bool)" + } + }, + "id": 6170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16953:48:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6171, + "nodeType": "ExpressionStatement", + "src": "16953:48:16" + }, + { + "condition": { + "argumentTypes": null, + "id": 6172, + "name": "_alreadyParticipatedInThisQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6111, + "src": "17191:33:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6184, + "nodeType": "IfStatement", + "src": "17187:244:16", + "trueBody": { + "id": 6183, + "nodeType": "Block", + "src": "17226:205:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6178, + "name": "_infoBefore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6105, + "src": "17359:11:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6179, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "17359:30:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 6176, + "name": "_currentTotalModeratorLockedDGDs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6122, + "src": "17322:32:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "17322:36:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17322:68:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6173, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "17248:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17248:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateTotalModeratorLockedDGDs", + "nodeType": "MemberAccess", + "referencedDeclaration": 16155, + "src": "17248:48:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 6181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17248:164:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6182, + "nodeType": "ExpressionStatement", + "src": "17248:164:16" + } + ] + } + } + ] + } + } + ] + } + } + ] + }, + "documentation": "@notice This function refreshes the Moderator status of a user, to be done right after ANY STEP where a user's reputation or DGDStake is changed\n@dev _infoBefore is the stake information of the user before this transaction, _infoAfter is the stake information after this transaction\nThis function needs to:\n- add/remove addresses from the moderator list accordingly\n- adjust the totalModeratorLockedDGDStake accordingly as well", + "id": 6254, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "refreshModeratorStatus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6108, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6103, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 6254, + "src": "15726:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6102, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15726:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6105, + "name": "_infoBefore", + "nodeType": "VariableDeclaration", + "scope": 6254, + "src": "15741:28:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + }, + "typeName": { + "contractScope": null, + "id": 6104, + "name": "StakeInformation", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5444, + "src": "15741:16:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_storage_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6107, + "name": "_infoAfter", + "nodeType": "VariableDeclaration", + "scope": 6254, + "src": "15771:27:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + }, + "typeName": { + "contractScope": null, + "id": 6106, + "name": "StakeInformation", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5444, + "src": "15771:16:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_storage_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15725:74:16" + }, + "payable": false, + "returnParameters": { + "id": 6109, + "nodeType": "ParameterList", + "parameters": [], + "src": "15821:0:16" + }, + "scope": 6350, + "src": "15694:3037:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6283, + "nodeType": "Block", + "src": "18986:191:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6261, + "name": "_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6259, + "src": "18997:5:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6263, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "userActualLockedDGD", + "nodeType": "MemberAccess", + "referencedDeclaration": 5439, + "src": "18997:25:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6264, + "name": "_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6259, + "src": "19024:5:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6265, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "userLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5441, + "src": "19024:24:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6266, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "18996:53:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6270, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6256, + "src": "19087:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6267, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "19052:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19052:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readUserDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16205, + "src": "19052:34:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address) view external returns (uint256,uint256)" + } + }, + "id": 6271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19052:41:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "18996:97:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6273, + "nodeType": "ExpressionStatement", + "src": "18996:97:16" + }, + { + "expression": { + "argumentTypes": null, + "id": 6281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6274, + "name": "_info", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6259, + "src": "19103:5:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation memory" + } + }, + "id": 6276, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 5443, + "src": "19103:25:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6277, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "19131:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19131:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "totalLockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16054, + "src": "19131:37:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 6280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19131:39:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19103:67:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6282, + "nodeType": "ExpressionStatement", + "src": "19103:67:16" + } + ] + }, + "documentation": "@notice Get the actualLockedDGD and lockedDGDStake of a user, as well as the totalLockedDGDStake of all users", + "id": 6284, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getStakeInformation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6257, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6256, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 6284, + "src": "18896:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6255, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18896:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18895:15:16" + }, + "payable": false, + "returnParameters": { + "id": 6260, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6259, + "name": "_info", + "nodeType": "VariableDeclaration", + "scope": 6284, + "src": "18958:22:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_memory_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + }, + "typeName": { + "contractScope": null, + "id": 6258, + "name": "StakeInformation", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 5444, + "src": "18958:16:16", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StakeInformation_$5444_storage_ptr", + "typeString": "struct DaoStakeLocking.StakeInformation" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18957:24:16" + }, + "scope": 6350, + "src": "18867:310:16", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6348, + "nodeType": "Block", + "src": "19463:1404:16", + "statements": [ + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6292, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6286, + "src": "19595:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6289, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "19554:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19554:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "carbonVoteBonusClaimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 16068, + "src": "19554:40:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 6293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19554:47:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6295, + "nodeType": "IfStatement", + "src": "19550:60:16", + "trueBody": { + "expression": null, + "functionReturnParameters": 6288, + "id": 6294, + "nodeType": "Return", + "src": "19603:7:16" + } + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6300, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6286, + "src": "19723:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6297, + "name": "carbonVoting1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5435, + "src": "19702:13:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6296, + "name": "NumberCarbonVoting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7909, + "src": "19683:18:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_NumberCarbonVoting_$7909_$", + "typeString": "type(contract NumberCarbonVoting)" + } + }, + "id": 6298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19683:33:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_NumberCarbonVoting_$7909", + "typeString": "contract NumberCarbonVoting" + } + }, + "id": 6299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "voted", + "nodeType": "MemberAccess", + "referencedDeclaration": 7908, + "src": "19683:39:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 6301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19683:46:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6312, + "nodeType": "IfStatement", + "src": "19679:173:16", + "trueBody": { + "id": 6311, + "nodeType": "Block", + "src": "19731:121:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6305, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6286, + "src": "19783:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6307, + "name": "CONFIG_CARBON_VOTE_REPUTATION_BONUS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1579, + "src": "19804:35:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6306, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "19790:13:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 6308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19790:50:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6302, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "19745:16:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 6303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19745:18:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 6304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "increaseReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14814, + "src": "19745:37:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address,uint256) external returns (uint256,uint256)" + } + }, + "id": 6309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19745:96:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 6310, + "nodeType": "ExpressionStatement", + "src": "19745:96:16" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6317, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6286, + "src": "19964:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6314, + "name": "carbonVoting2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5437, + "src": "19943:13:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6313, + "name": "NumberCarbonVoting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7909, + "src": "19924:18:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_NumberCarbonVoting_$7909_$", + "typeString": "type(contract NumberCarbonVoting)" + } + }, + "id": 6315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19924:33:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_NumberCarbonVoting_$7909", + "typeString": "contract NumberCarbonVoting" + } + }, + "id": 6316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "voted", + "nodeType": "MemberAccess", + "referencedDeclaration": 7908, + "src": "19924:39:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 6318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19924:46:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6329, + "nodeType": "IfStatement", + "src": "19920:173:16", + "trueBody": { + "id": 6328, + "nodeType": "Block", + "src": "19972:121:16", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6322, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6286, + "src": "20024:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6324, + "name": "CONFIG_CARBON_VOTE_REPUTATION_BONUS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1579, + "src": "20045:35:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6323, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "20031:13:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 6325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20031:50:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6319, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "19986:16:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 6320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19986:18:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 6321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "increaseReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14814, + "src": "19986:37:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address,uint256) external returns (uint256,uint256)" + } + }, + "id": 6326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19986:96:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 6327, + "nodeType": "ExpressionStatement", + "src": "19986:96:16" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6333, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "20686:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "20686:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 6338, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20725:1:16", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6335, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "20698:20:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 6336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20698:22:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "20698:26:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20698:29:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6330, + "name": "daoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "20624:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "function () view returns (contract DaoRewardsStorage)" + } + }, + "id": 6331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20624:19:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 6332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "updateLastQuarterThatReputationWasUpdated", + "nodeType": "MemberAccess", + "referencedDeclaration": 15243, + "src": "20624:61:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256) external" + } + }, + "id": 6340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20624:104:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6341, + "nodeType": "ExpressionStatement", + "src": "20624:104:16" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6345, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6286, + "src": "20854:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6342, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "20810:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20810:17:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setCarbonVoteBonusClaimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 16117, + "src": "20810:43:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", + "typeString": "function (address) external" + } + }, + "id": 6346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20810:50:16", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6347, + "nodeType": "ExpressionStatement", + "src": "20810:50:16" + } + ] + }, + "documentation": "@notice Reward the voters of carbon voting rounds with initial bonus reputation\n@dev This is only called when they're locking tokens for the first time, enough tokens to be a participant", + "id": 6349, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "rewardCarbonVotingBonus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6287, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6286, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 6349, + "src": "19427:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6285, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19427:7:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19426:15:16" + }, + "payable": false, + "returnParameters": { + "id": 6288, + "nodeType": "ParameterList", + "parameters": [], + "src": "19463:0:16" + }, + "scope": 6350, + "src": "19394:1473:16", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 6351, + "src": "396:20473:16" + } + ], + "src": "0:20870:16" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0x956810136fd27d34f095d1d10e49942ec5b2c7c3", + "transactionHash": "0x4a5d28025a2f6574c987e803a6ca7803ca253d655e9d8ca302ddb8f3d5ead106" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T10:37:27.558Z" +} \ No newline at end of file diff --git a/build/contracts/DaoStakeStorage.json b/build/contracts/DaoStakeStorage.json new file mode 100644 index 0000000..af5fa26 --- /dev/null +++ b/build/contracts/DaoStakeStorage.json @@ -0,0 +1,11354 @@ +{ + "contractName": "DaoStakeStorage", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "carbonVoteBonusClaimed", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "actualLockedDGD", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalLockedDGDStake", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalModeratorLockedDGDStake", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "lockedDGDStake", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "redeemedBadge", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "redeemBadge", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "setCarbonVoteBonusClaimed", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_totalLockedDGDStake", + "type": "uint256" + } + ], + "name": "updateTotalLockedDGDStake", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_totalLockedDGDStake", + "type": "uint256" + } + ], + "name": "updateTotalModeratorLockedDGDs", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_actualLockedDGD", + "type": "uint256" + }, + { + "name": "_lockedDGDStake", + "type": "uint256" + } + ], + "name": "updateUserDGDStake", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "readUserDGDStake", + "outputs": [ + { + "name": "_actualLockedDGD", + "type": "uint256" + }, + { + "name": "_lockedDGDStake", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "addToParticipantList", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "removeFromParticipantList", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "addToModeratorList", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "removeFromModeratorList", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isInParticipantList", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isInModeratorsList", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "readFirstModerator", + "outputs": [ + { + "name": "_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "readLastModerator", + "outputs": [ + { + "name": "_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_current_item", + "type": "address" + } + ], + "name": "readNextModerator", + "outputs": [ + { + "name": "_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_current_item", + "type": "address" + } + ], + "name": "readPreviousModerator", + "outputs": [ + { + "name": "_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "readTotalModerators", + "outputs": [ + { + "name": "_total_count", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "readFirstParticipant", + "outputs": [ + { + "name": "_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "readLastParticipant", + "outputs": [ + { + "name": "_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_current_item", + "type": "address" + } + ], + "name": "readNextParticipant", + "outputs": [ + { + "name": "_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_current_item", + "type": "address" + } + ], + "name": "readPreviousParticipant", + "outputs": [ + { + "name": "_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "readTotalParticipant", + "outputs": [ + { + "name": "_total_count", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b50604051602080620031b18339810180604052810190808051906020019092919050505062001175602c548262001188640100000000026401000000009004565b15156200118157600080fd5b5062001419565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f057600080fd5b505af115801562001205573d6000803e3d6000fd5b505050506040513d60208110156200121c57600080fd5b810190808051906020019092919050505090506000151581151514156200140d5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013ba57600080fd5b505af1158015620013cf573d6000803e3d6000fd5b505050506040513d6020811015620013e657600080fd5b810190808051906020019092919050505015156200140357600080fd5b6001915062001412565b600091505b5092915050565b611d8880620014296000396000f300608060405260043610610196576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303a996a11461019b57806303cc89b4146101f657806304f3bcec146102395780630c30a1d5146102905780631538e68c146102eb5780633943380c146103185780633e0fd2651461034b5780633f83acff146103ce57806344d9bfe61461043f57806344e518a31461049a5780635515eb2c1461051d578063583fd501146105605780635bdd2743146105b757806363a64067146106155780636d080338146106985780637bbad0b8146106f357806382624a2e1461077657806388954a6c146107cd57806391baa14414610828578063abe8168c14610855578063abed029a146108ac578063ad5c4647146108d7578063b5830a4c1461092e578063bbb03dc214610959578063bf448a87146109b0578063cd094a27146109db578063db4ecbc114610a32578063e3bc96ba14610a89578063e3bd970e14610ab4578063e41b4c5c14610b0b578063f01a13e114610b66578063f2388b4214610bc1575b600080fd5b3480156101a757600080fd5b506101dc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c1c565b604051808215151515815260200191505060405180910390f35b34801561020257600080fd5b50610237600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d18565b005b34801561024557600080fd5b5061024e610d89565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561029c57600080fd5b506102d1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dae565b604051808215151515815260200191505060405180910390f35b3480156102f757600080fd5b5061031660048036038101908080359060200190929190505050610e97565b005b34801561032457600080fd5b5061032d610eee565b60405180826000191660001916815260200191505060405180910390f35b34801561035757600080fd5b5061038c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ef4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103da57600080fd5b506103fd6004803603810190808035600019169060200190929190505050610f08565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561044b57600080fd5b50610480600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fe4565b604051808215151515815260200191505060405180910390f35b3480156104a657600080fd5b506104db600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110e0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561052957600080fd5b5061055e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110f4565b005b34801561056c57600080fd5b50610575611165565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105c357600080fd5b506105f8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611176565b604051808381526020018281526020019250505060405180910390f35b34801561062157600080fd5b50610656600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611202565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106a457600080fd5b506106d9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611216565b604051808215151515815260200191505060405180910390f35b3480156106ff57600080fd5b50610734600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611236565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561078257600080fd5b5061078b61124a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107d957600080fd5b5061080e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061125b565b604051808215151515815260200191505060405180910390f35b34801561083457600080fd5b5061085360048036038101908080359060200190929190505050611344565b005b34801561086157600080fd5b50610896600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061139b565b6040518082815260200191505060405180910390f35b3480156108b857600080fd5b506108c16113b3565b6040518082815260200191505060405180910390f35b3480156108e357600080fd5b5061092c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506113b9565b005b34801561093a57600080fd5b5061094361145c565b6040518082815260200191505060405180910390f35b34801561096557600080fd5b5061096e61146d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109bc57600080fd5b506109c561147e565b6040518082815260200191505060405180910390f35b3480156109e757600080fd5b50610a1c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611484565b6040518082815260200191505060405180910390f35b348015610a3e57600080fd5b50610a4761149c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a9557600080fd5b50610a9e6114c2565b6040518082815260200191505060405180910390f35b348015610ac057600080fd5b50610ac96114d3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b1757600080fd5b50610b4c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114e4565b604051808215151515815260200191505060405180910390f35b348015610b7257600080fd5b50610ba7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115e0565b604051808215151515815260200191505060405180910390f35b348015610bcd57600080fd5b50610c02600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611600565b604051808215151515815260200191505060405180910390f35b6000610c296016546116fc565b1515610c3457600080fd5b607a73__DoublyLinkedList______________________63bf8a2ac69091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610cd657600080fd5b505af4158015610cea573d6000803e3d6000fd5b505050506040513d6020811015610d0057600080fd5b81019080805190602001909291905050509050919050565b610d236016546116fc565b1515610d2e57600080fd5b6001608060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080607473__DoublyLinkedList______________________637ee0a5839091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610e5357600080fd5b505af4158015610e67573d6000803e3d6000fd5b505050506040513d6020811015610e7d57600080fd5b810190808051906020019092919050505014159050919050565b610ed960606040519081016040528060165460001916600019168152602001601b54600019166000191681526020016003546000191660001916815250611806565b1515610ee457600080fd5b8060728190555050565b60015481565b6000610f0160748361197d565b9050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610fa257600080fd5b505af1158015610fb6573d6000803e3d6000fd5b505050506040513d6020811015610fcc57600080fd5b81019080805190602001909291905050509050919050565b6000610ff16016546116fc565b1515610ffc57600080fd5b607473__DoublyLinkedList______________________638dc8bc2b9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561109e57600080fd5b505af41580156110b2573d6000803e3d6000fd5b505050506040513d60208110156110c857600080fd5b81019080805190602001909291905050509050919050565b60006110ed607a8361197d565b9050919050565b6110ff6016546116fc565b151561110a57600080fd5b6001608160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000611171607a611a63565b905090565b600080607160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150607060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050915091565b600061120f607a83611b14565b9050919050565b60816020528060005260406000206000915054906101000a900460ff1681565b6000611243607483611b14565b9050919050565b60006112566074611bfa565b905090565b600080607a73__DoublyLinkedList______________________637ee0a5839091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561130057600080fd5b505af4158015611314573d6000803e3d6000fd5b505050506040513d602081101561132a57600080fd5b810190808051906020019092919050505014159050919050565b61138660606040519081016040528060165460001916600019168152602001601b54600019166000191681526020016003546000191660001916815250611806565b151561139157600080fd5b8060738190555050565b60716020528060005260406000206000915090505481565b60725481565b6113c46016546116fc565b15156113cf57600080fd5b81607160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080607060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b60006114686074611cab565b905090565b6000611479607a611bfa565b905090565b60735481565b60706020528060005260406000206000915090505481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006114ce607a611cab565b905090565b60006114df6074611a63565b905090565b60006114f16016546116fc565b15156114fc57600080fd5b607473__DoublyLinkedList______________________63bf8a2ac69091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561159e57600080fd5b505af41580156115b2573d6000803e3d6000fd5b505050506040513d60208110156115c857600080fd5b81019080805190602001909291905050509050919050565b60806020528060005260406000206000915054906101000a900460ff1681565b600061160d6016546116fc565b151561161857600080fd5b607a73__DoublyLinkedList______________________638dc8bc2b9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156116ba57600080fd5b505af41580156116ce573d6000803e3d6000fd5b505050506040513d60208110156116e457600080fd5b81019080805190602001909291905050509050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561179657600080fd5b505af11580156117aa573d6000803e3d6000fd5b505050506040513d60208110156117c057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b600080600060039150600090505b8181101561197657600060010260001916848260038110151561183357fe5b602002015160001916141561184757611969565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff858360038110151561189257fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156118f157600080fd5b505af1158015611905573d6000803e3d6000fd5b505050506040513d602081101561191b57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156119685760019250611976565b5b8080600101915050611814565b5050919050565b60008273__DoublyLinkedList______________________63a7b9777c9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611a2057600080fd5b505af4158015611a34573d6000803e3d6000fd5b505050506040513d6020811015611a4a57600080fd5b8101908080519060200190929190505050905092915050565b60008173__DoublyLinkedList______________________63c333848890916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b158015611ad257600080fd5b505af4158015611ae6573d6000803e3d6000fd5b505050506040513d6020811015611afc57600080fd5b81019080805190602001909291905050509050919050565b60008273__DoublyLinkedList______________________6387fca8a69091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611bb757600080fd5b505af4158015611bcb573d6000803e3d6000fd5b505050506040513d6020811015611be157600080fd5b8101908080519060200190929190505050905092915050565b60008173__DoublyLinkedList______________________63f46574aa90916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b158015611c6957600080fd5b505af4158015611c7d573d6000803e3d6000fd5b505050506040513d6020811015611c9357600080fd5b81019080805190602001909291905050509050919050565b60008173__DoublyLinkedList______________________6312e3853d90916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b158015611d1a57600080fd5b505af4158015611d2e573d6000803e3d6000fd5b505050506040513d6020811015611d4457600080fd5b810190808051906020019092919050505090509190505600a165627a7a72305820873788c2ae8a3bc693cb751bf8491aa17616fcdaa98279d4b725ec424ce2d09e0029", + "deployedBytecode": "0x608060405260043610610196576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303a996a11461019b57806303cc89b4146101f657806304f3bcec146102395780630c30a1d5146102905780631538e68c146102eb5780633943380c146103185780633e0fd2651461034b5780633f83acff146103ce57806344d9bfe61461043f57806344e518a31461049a5780635515eb2c1461051d578063583fd501146105605780635bdd2743146105b757806363a64067146106155780636d080338146106985780637bbad0b8146106f357806382624a2e1461077657806388954a6c146107cd57806391baa14414610828578063abe8168c14610855578063abed029a146108ac578063ad5c4647146108d7578063b5830a4c1461092e578063bbb03dc214610959578063bf448a87146109b0578063cd094a27146109db578063db4ecbc114610a32578063e3bc96ba14610a89578063e3bd970e14610ab4578063e41b4c5c14610b0b578063f01a13e114610b66578063f2388b4214610bc1575b600080fd5b3480156101a757600080fd5b506101dc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c1c565b604051808215151515815260200191505060405180910390f35b34801561020257600080fd5b50610237600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d18565b005b34801561024557600080fd5b5061024e610d89565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561029c57600080fd5b506102d1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dae565b604051808215151515815260200191505060405180910390f35b3480156102f757600080fd5b5061031660048036038101908080359060200190929190505050610e97565b005b34801561032457600080fd5b5061032d610eee565b60405180826000191660001916815260200191505060405180910390f35b34801561035757600080fd5b5061038c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ef4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103da57600080fd5b506103fd6004803603810190808035600019169060200190929190505050610f08565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561044b57600080fd5b50610480600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fe4565b604051808215151515815260200191505060405180910390f35b3480156104a657600080fd5b506104db600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110e0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561052957600080fd5b5061055e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110f4565b005b34801561056c57600080fd5b50610575611165565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105c357600080fd5b506105f8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611176565b604051808381526020018281526020019250505060405180910390f35b34801561062157600080fd5b50610656600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611202565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106a457600080fd5b506106d9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611216565b604051808215151515815260200191505060405180910390f35b3480156106ff57600080fd5b50610734600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611236565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561078257600080fd5b5061078b61124a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107d957600080fd5b5061080e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061125b565b604051808215151515815260200191505060405180910390f35b34801561083457600080fd5b5061085360048036038101908080359060200190929190505050611344565b005b34801561086157600080fd5b50610896600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061139b565b6040518082815260200191505060405180910390f35b3480156108b857600080fd5b506108c16113b3565b6040518082815260200191505060405180910390f35b3480156108e357600080fd5b5061092c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506113b9565b005b34801561093a57600080fd5b5061094361145c565b6040518082815260200191505060405180910390f35b34801561096557600080fd5b5061096e61146d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109bc57600080fd5b506109c561147e565b6040518082815260200191505060405180910390f35b3480156109e757600080fd5b50610a1c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611484565b6040518082815260200191505060405180910390f35b348015610a3e57600080fd5b50610a4761149c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a9557600080fd5b50610a9e6114c2565b6040518082815260200191505060405180910390f35b348015610ac057600080fd5b50610ac96114d3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b1757600080fd5b50610b4c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114e4565b604051808215151515815260200191505060405180910390f35b348015610b7257600080fd5b50610ba7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115e0565b604051808215151515815260200191505060405180910390f35b348015610bcd57600080fd5b50610c02600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611600565b604051808215151515815260200191505060405180910390f35b6000610c296016546116fc565b1515610c3457600080fd5b607a73__DoublyLinkedList______________________63bf8a2ac69091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610cd657600080fd5b505af4158015610cea573d6000803e3d6000fd5b505050506040513d6020811015610d0057600080fd5b81019080805190602001909291905050509050919050565b610d236016546116fc565b1515610d2e57600080fd5b6001608060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080607473__DoublyLinkedList______________________637ee0a5839091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610e5357600080fd5b505af4158015610e67573d6000803e3d6000fd5b505050506040513d6020811015610e7d57600080fd5b810190808051906020019092919050505014159050919050565b610ed960606040519081016040528060165460001916600019168152602001601b54600019166000191681526020016003546000191660001916815250611806565b1515610ee457600080fd5b8060728190555050565b60015481565b6000610f0160748361197d565b9050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610fa257600080fd5b505af1158015610fb6573d6000803e3d6000fd5b505050506040513d6020811015610fcc57600080fd5b81019080805190602001909291905050509050919050565b6000610ff16016546116fc565b1515610ffc57600080fd5b607473__DoublyLinkedList______________________638dc8bc2b9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561109e57600080fd5b505af41580156110b2573d6000803e3d6000fd5b505050506040513d60208110156110c857600080fd5b81019080805190602001909291905050509050919050565b60006110ed607a8361197d565b9050919050565b6110ff6016546116fc565b151561110a57600080fd5b6001608160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000611171607a611a63565b905090565b600080607160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150607060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050915091565b600061120f607a83611b14565b9050919050565b60816020528060005260406000206000915054906101000a900460ff1681565b6000611243607483611b14565b9050919050565b60006112566074611bfa565b905090565b600080607a73__DoublyLinkedList______________________637ee0a5839091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561130057600080fd5b505af4158015611314573d6000803e3d6000fd5b505050506040513d602081101561132a57600080fd5b810190808051906020019092919050505014159050919050565b61138660606040519081016040528060165460001916600019168152602001601b54600019166000191681526020016003546000191660001916815250611806565b151561139157600080fd5b8060738190555050565b60716020528060005260406000206000915090505481565b60725481565b6113c46016546116fc565b15156113cf57600080fd5b81607160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080607060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b60006114686074611cab565b905090565b6000611479607a611bfa565b905090565b60735481565b60706020528060005260406000206000915090505481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006114ce607a611cab565b905090565b60006114df6074611a63565b905090565b60006114f16016546116fc565b15156114fc57600080fd5b607473__DoublyLinkedList______________________63bf8a2ac69091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561159e57600080fd5b505af41580156115b2573d6000803e3d6000fd5b505050506040513d60208110156115c857600080fd5b81019080805190602001909291905050509050919050565b60806020528060005260406000206000915054906101000a900460ff1681565b600061160d6016546116fc565b151561161857600080fd5b607a73__DoublyLinkedList______________________638dc8bc2b9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156116ba57600080fd5b505af41580156116ce573d6000803e3d6000fd5b505050506040513d60208110156116e457600080fd5b81019080805190602001909291905050509050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561179657600080fd5b505af11580156117aa573d6000803e3d6000fd5b505050506040513d60208110156117c057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b600080600060039150600090505b8181101561197657600060010260001916848260038110151561183357fe5b602002015160001916141561184757611969565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff858360038110151561189257fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156118f157600080fd5b505af1158015611905573d6000803e3d6000fd5b505050506040513d602081101561191b57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156119685760019250611976565b5b8080600101915050611814565b5050919050565b60008273__DoublyLinkedList______________________63a7b9777c9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611a2057600080fd5b505af4158015611a34573d6000803e3d6000fd5b505050506040513d6020811015611a4a57600080fd5b8101908080519060200190929190505050905092915050565b60008173__DoublyLinkedList______________________63c333848890916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b158015611ad257600080fd5b505af4158015611ae6573d6000803e3d6000fd5b505050506040513d6020811015611afc57600080fd5b81019080805190602001909291905050509050919050565b60008273__DoublyLinkedList______________________6387fca8a69091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611bb757600080fd5b505af4158015611bcb573d6000803e3d6000fd5b505050506040513d6020811015611be157600080fd5b8101908080519060200190929190505050905092915050565b60008173__DoublyLinkedList______________________63f46574aa90916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b158015611c6957600080fd5b505af4158015611c7d573d6000803e3d6000fd5b505050506040513d6020811015611c9357600080fd5b81019080805190602001909291905050509050919050565b60008173__DoublyLinkedList______________________6312e3853d90916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b158015611d1a57600080fd5b505af4158015611d2e573d6000803e3d6000fd5b505050506040513d6020811015611d4457600080fd5b810190808051906020019092919050505090509190505600a165627a7a72305820873788c2ae8a3bc693cb751bf8491aa17616fcdaa98279d4b725ec424ce2d09e0029", + "sourceMap": "286:5869:59:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;1573:107:59;8:9:-1;5:2;;;30:1;27;20:12;5:2;1573:107:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1629:43;1634:26;;1662:9;1629:4;;;:43;;;:::i;:::-;1621:52;;;;;;;;1573:107;286:5869;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;286:5869:59:-;;;;;;;", + "deployedSourceMap": "286:5869:59:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3565:205;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3565:205:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1686:155;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1686:155:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;3997:158:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3997:158:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2031:249;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2031:249:59;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5567:197:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5567:197:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3340:219:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3340:219:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4650:193;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4650:193:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1847:178;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1847:178:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;4322:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4322:159:59;;;;;;;;;;;;;;;;;;;;;;;;;;;2837:282;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2837:282:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4849:201;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4849:201:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1511:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1511:55:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5770:205;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5770:205:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5400:161;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5400:161:59;;;;;;;;;;;;;;;;;;;;;;;;;;;4161:155;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4161:155:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2286:263;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2286:263:59;;;;;;;;;;;;;;;;;;;;;;;;;;711:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;711:51:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;839:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;839:34:59;;;;;;;;;;;;;;;;;;;;;;;2555:276;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2555:276:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5981:172;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5981:172:59;;;;;;;;;;;;;;;;;;;;;;;4487:157;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4487:157:59;;;;;;;;;;;;;;;;;;;;;;;;;;;923:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;923:43:59;;;;;;;;;;;;;;;;;;;;;;;506:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;506:50:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;5056:169:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5056:169:59;;;;;;;;;;;;;;;;;;;;;;;5231:163;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5231:163:59;;;;;;;;;;;;;;;;;;;;;;;;;;;3125:209;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3125:209:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1344:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1344:46:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3776:215;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3776:215:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3565:205;3640:13;3677:37;3687:26;;3677:9;:37::i;:::-;3669:46;;;;;;;;3736:13;:20;;;;3757:5;3736:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3736:27:59;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3736:27:59;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3736:27:59;;;;;;;;;;;;;;;;3725:38;;3565:205;;;:::o;1686:155::-;1759:37;1769:26;;1759:9;:37::i;:::-;1751:46;;;;;;;;1830:4;1807:13;:20;1821:5;1807:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;1686:155;:::o;237:23:67:-;;;;;;;;;;;;;:::o;3997:158:59:-;4086:8;4147:1;4116:15;:20;;;;4137:5;4116:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4116:27:59;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4116:27:59;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4116:27:59;;;;;;;;;;;;;;;;:32;;4110:38;;3997:158;;;:::o;2031:249::-;2133:87;;;;;;;;;;2149:26;;2133:87;;;;;;;;;;2177:28;;2133:87;;;;;;;;;;2207:11;;2133:87;;;;;;;;;:14;:87::i;:::-;2125:96;;;;;;;;2253:20;2231:19;:42;;;;2031:249;:::o;264:18:67:-;;;;:::o;5567:197:59:-;5664:13;5701:56;5726:15;5743:13;5701:24;:56::i;:::-;5693:64;;5567:197;;;:::o;2380:179:67:-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;3340:219:59:-;3422:13;3459:37;3469:26;;3459:9;:37::i;:::-;3451:46;;;;;;;;3518:15;:27;;;;3546:5;3518:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3518:34:59;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3518:34:59;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3518:34:59;;;;;;;;;;;;;;;;3507:45;;3340:219;;;:::o;4650:193::-;4745:13;4782:54;4807:13;4822;4782:24;:54::i;:::-;4774:62;;4650:193;;;:::o;1847:178::-;1934:37;1944:26;;1934:9;:37::i;:::-;1926:46;;;;;;;;2014:4;1982:22;:29;2005:5;1982:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;1847:178;:::o;4322:159::-;4397:13;4434:40;4460:13;4434:25;:40::i;:::-;4426:48;;4322:159;:::o;2837:282::-;2936:24;2974:23;3041:15;:22;3057:5;3041:22;;;;;;;;;;;;;;;;3022:41;;3091:14;:21;3106:5;3091:21;;;;;;;;;;;;;;;;3073:39;;2837:282;;;:::o;4849:201::-;4948:13;4985:58;5014:13;5029;4985:28;:58::i;:::-;4977:66;;4849:201;;;:::o;1511:55::-;;;;;;;;;;;;;;;;;;;;;;:::o;5770:205::-;5871:13;5908:60;5937:15;5954:13;5908:28;:60::i;:::-;5900:68;;5770:205;;;:::o;5400:161::-;5476:13;5513:41;5538:15;5513:24;:41::i;:::-;5505:49;;5400:161;:::o;4161:155::-;4249:8;4308:1;4279:13;:18;;;;4298:5;4279:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4279:25:59;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4279:25:59;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4279:25:59;;;;;;;;;;;;;;;;:30;;4273:36;;4161:155;;;:::o;2286:263::-;2393:87;;;;;;;;;;2409:26;;2393:87;;;;;;;;;;2437:28;;2393:87;;;;;;;;;;2467:11;;2393:87;;;;;;;;;:14;:87::i;:::-;2385:96;;;;;;;;2522:20;2491:28;:51;;;;2286:263;:::o;711:51::-;;;;;;;;;;;;;;;;;:::o;839:34::-;;;;:::o;2555:276::-;2686:37;2696:26;;2686:9;:37::i;:::-;2678:46;;;;;;;;2759:16;2734:15;:22;2750:5;2734:22;;;;;;;;;;;;;;;:41;;;;2809:15;2785:14;:21;2800:5;2785:21;;;;;;;;;;;;;;;:39;;;;2555:276;;;:::o;5981:172::-;6058:20;6109:37;6130:15;6109:20;:37::i;:::-;6094:52;;5981:172;:::o;4487:157::-;4561:13;4598:39;4623:13;4598:24;:39::i;:::-;4590:47;;4487:157;:::o;923:43::-;;;;:::o;506:50::-;;;;;;;;;;;;;;;;;:::o;344:31:67:-;;;;;;;;;;;;;:::o;5056:169:59:-;5132:20;5183:35;5204:13;5183:20;:35::i;:::-;5168:50;;5056:169;:::o;5231:163::-;5308:13;5345:42;5371:15;5345:25;:42::i;:::-;5337:50;;5231:163;:::o;3125:209::-;3202:13;3239:37;3249:26;;3239:9;:37::i;:::-;3231:46;;;;;;;;3298:15;:22;;;;3321:5;3298:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3298:29:59;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3298:29:59;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3298:29:59;;;;;;;;;;;;;;;;3287:40;;3125:209;;;:::o;1344:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;3776:215::-;3856:13;3893:37;3903:26;;3893:9;:37::i;:::-;3885:46;;;;;;;;3952:13;:25;;;;3978:5;3952:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3952:32:59;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3952:32:59;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3952:32:59;;;;;;;;;;;;;;;;3941:43;;3776:215;;;:::o;610:160:67:-;671:12;732:8;;;;;;;;;;;715:39;;;755:9;715:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;715:50:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;715:50:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;715:50:67;;;;;;;;;;;;;;;;701:64;;:10;:64;;;691:74;;610:160;;;:::o;881:350::-;951:12;971:10;1012:9;984:17;971:30;;1024:1;1012:13;;1007:220;1031:2;1027:1;:6;1007:220;;;1077:3;1069:12;;1052:29;;;:10;1063:1;1052:13;;;;;;;;;;;;;:29;;;;1048:43;;;1083:8;;1048:43;1134:8;;;;;;;;;;;1117:39;;;1157:10;1168:1;1157:13;;;;;;;;;;;;;1117:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1117:54:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1117:54:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1117:54:67;;;;;;;;;;;;;;;;1103:68;;:10;:68;;;1099:122;;;1193:4;1183:14;;1207:5;;1099:122;1007:220;1035:3;;;;;;;1007:220;;;881:350;;;;;:::o;1283:223:75:-;1440:13;1471:5;:15;;;;1487:13;1471:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1471:30:75;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1471:30:75;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1471:30:75;;;;;;;;;;;;;;;;1463:38;;1283:223;;;;:::o;487:189::-;622:13;653:5;:16;;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;653:18:75;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;653:18:75;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;653:18:75;;;;;;;;;;;;;;;;645:26;;487:189;;;:::o;1775:231::-;1936:13;1967:5;:19;;;;1987:13;1967:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1967:34:75;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1967:34:75;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1967:34:75;;;;;;;;;;;;;;;;1959:42;;1775:231;;;;:::o;836:186::-;970:13;1001:5;:14;;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1001:16:75;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1001:16:75;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1001:16:75;;;;;;;;;;;;;;;;993:24;;836:186;;;:::o;2176:181::-;2306:14;2339:5;:11;;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2339:13:75;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2339:13:75;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2339:13:75;;;;;;;;;;;;;;;;2330:22;;2176:181;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol\";\nimport \"@digix/solidity-collections/contracts/abstract/AddressIteratorStorage.sol\";\nimport \"@digix/cacp-contracts-dao/contracts/ResolverClient.sol\";\nimport \"../common/DaoConstants.sol\";\n\ncontract DaoStakeStorage is ResolverClient, DaoConstants, AddressIteratorStorage {\n using DoublyLinkedList for DoublyLinkedList.Address;\n\n // This is the DGD stake of a user (one that is considered in the DAO)\n mapping (address => uint256) public lockedDGDStake;\n\n // This is the actual number of DGDs locked by user\n // may be more than the lockedDGDStake\n // in case they locked during the main phase\n mapping (address => uint256) public actualLockedDGD;\n\n // The total locked DGDs in the DAO (summation of lockedDGDStake)\n uint256 public totalLockedDGDStake;\n\n // The total locked DGDs by moderators\n uint256 public totalModeratorLockedDGDStake;\n\n // The list of participants in DAO\n // actual participants will be subset of this list\n DoublyLinkedList.Address allParticipants;\n\n // The list of moderators in DAO\n // actual moderators will be subset of this list\n DoublyLinkedList.Address allModerators;\n\n // Boolean to mark if an address has redeemed\n // reputation points for their DGD Badge\n mapping (address => bool) public redeemedBadge;\n\n // mapping to note whether an address has claimed their\n // reputation bonus for carbon vote participation\n mapping (address => bool) public carbonVoteBonusClaimed;\n\n constructor(address _resolver) public {\n require(init(CONTRACT_STORAGE_DAO_STAKE, _resolver));\n }\n\n function redeemBadge(address _user)\n public\n {\n require(sender_is(CONTRACT_DAO_STAKE_LOCKING));\n redeemedBadge[_user] = true;\n }\n\n function setCarbonVoteBonusClaimed(address _user)\n public\n {\n require(sender_is(CONTRACT_DAO_STAKE_LOCKING));\n carbonVoteBonusClaimed[_user] = true;\n }\n\n function updateTotalLockedDGDStake(uint256 _totalLockedDGDStake)\n public\n {\n require(sender_is_from([CONTRACT_DAO_STAKE_LOCKING, CONTRACT_DAO_REWARDS_MANAGER, EMPTY_BYTES]));\n totalLockedDGDStake = _totalLockedDGDStake;\n }\n\n function updateTotalModeratorLockedDGDs(uint256 _totalLockedDGDStake)\n public\n {\n require(sender_is_from([CONTRACT_DAO_STAKE_LOCKING, CONTRACT_DAO_REWARDS_MANAGER, EMPTY_BYTES]));\n totalModeratorLockedDGDStake = _totalLockedDGDStake;\n }\n\n function updateUserDGDStake(address _user, uint256 _actualLockedDGD, uint256 _lockedDGDStake)\n public\n {\n require(sender_is(CONTRACT_DAO_STAKE_LOCKING));\n actualLockedDGD[_user] = _actualLockedDGD;\n lockedDGDStake[_user] = _lockedDGDStake;\n }\n\n function readUserDGDStake(address _user)\n public\n view\n returns (\n uint256 _actualLockedDGD,\n uint256 _lockedDGDStake\n )\n {\n _actualLockedDGD = actualLockedDGD[_user];\n _lockedDGDStake = lockedDGDStake[_user];\n }\n\n function addToParticipantList(address _user)\n public\n returns (bool _success)\n {\n require(sender_is(CONTRACT_DAO_STAKE_LOCKING));\n _success = allParticipants.append(_user);\n }\n\n function removeFromParticipantList(address _user)\n public\n returns (bool _success)\n {\n require(sender_is(CONTRACT_DAO_STAKE_LOCKING));\n _success = allParticipants.remove_item(_user);\n }\n\n function addToModeratorList(address _user)\n public\n returns (bool _success)\n {\n require(sender_is(CONTRACT_DAO_STAKE_LOCKING));\n _success = allModerators.append(_user);\n }\n\n function removeFromModeratorList(address _user)\n public\n returns (bool _success)\n {\n require(sender_is(CONTRACT_DAO_STAKE_LOCKING));\n _success = allModerators.remove_item(_user);\n }\n\n function isInParticipantList(address _user)\n public\n view\n returns (bool _is)\n {\n _is = allParticipants.find(_user) != 0;\n }\n\n function isInModeratorsList(address _user)\n public\n view\n returns (bool _is)\n {\n _is = allModerators.find(_user) != 0;\n }\n\n function readFirstModerator()\n public\n view\n returns (address _item)\n {\n _item = read_first_from_addresses(allModerators);\n }\n\n function readLastModerator()\n public\n view\n returns (address _item)\n {\n _item = read_last_from_addresses(allModerators);\n }\n\n function readNextModerator(address _current_item)\n public\n view\n returns (address _item)\n {\n _item = read_next_from_addresses(allModerators, _current_item);\n }\n\n function readPreviousModerator(address _current_item)\n public\n view\n returns (address _item)\n {\n _item = read_previous_from_addresses(allModerators, _current_item);\n }\n\n function readTotalModerators()\n public\n view\n returns (uint256 _total_count)\n {\n _total_count = read_total_addresses(allModerators);\n }\n\n function readFirstParticipant()\n public\n view\n returns (address _item)\n {\n _item = read_first_from_addresses(allParticipants);\n }\n\n function readLastParticipant()\n public\n view\n returns (address _item)\n {\n _item = read_last_from_addresses(allParticipants);\n }\n\n function readNextParticipant(address _current_item)\n public\n view\n returns (address _item)\n {\n _item = read_next_from_addresses(allParticipants, _current_item);\n }\n\n function readPreviousParticipant(address _current_item)\n public\n view\n returns (address _item)\n {\n _item = read_previous_from_addresses(allParticipants, _current_item);\n }\n\n function readTotalParticipant()\n public\n view\n returns (uint256 _total_count)\n {\n _total_count = read_total_addresses(allParticipants);\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStakeStorage.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStakeStorage.sol", + "exportedSymbols": { + "DaoStakeStorage": [ + 16456 + ] + }, + "id": 16457, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 16031, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:59" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "file": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "id": 16032, + "nodeType": "ImportDirective", + "scope": 16457, + "sourceUnit": 25547, + "src": "26:72:59", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/abstract/AddressIteratorStorage.sol", + "file": "@digix/solidity-collections/contracts/abstract/AddressIteratorStorage.sol", + "id": 16033, + "nodeType": "ImportDirective", + "scope": 16457, + "sourceUnit": 22102, + "src": "99:83:59", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 16034, + "nodeType": "ImportDirective", + "scope": 16457, + "sourceUnit": 19059, + "src": "183:64:59", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "../common/DaoConstants.sol", + "id": 16035, + "nodeType": "ImportDirective", + "scope": 16457, + "sourceUnit": 1581, + "src": "248:36:59", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 16036, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "314:14:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 16037, + "nodeType": "InheritanceSpecifier", + "src": "314:14:59" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 16038, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "330:12:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 16039, + "nodeType": "InheritanceSpecifier", + "src": "330:12:59" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 16040, + "name": "AddressIteratorStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 22101, + "src": "344:22:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AddressIteratorStorage_$22101", + "typeString": "contract AddressIteratorStorage" + } + }, + "id": 16041, + "nodeType": "InheritanceSpecifier", + "src": "344:22:59" + } + ], + "contractDependencies": [ + 1580, + 19058, + 22101 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 16456, + "linearizedBaseContracts": [ + 16456, + 22101, + 1580, + 19058 + ], + "name": "DaoStakeStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 16044, + "libraryName": { + "contractScope": null, + "id": 16042, + "name": "DoublyLinkedList", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25546, + "src": "379:16:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DoublyLinkedList_$25546", + "typeString": "library DoublyLinkedList" + } + }, + "nodeType": "UsingForDirective", + "src": "373:52:59", + "typeName": { + "contractScope": null, + "id": 16043, + "name": "DoublyLinkedList.Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "400:24:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + } + }, + { + "constant": false, + "id": 16048, + "name": "lockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 16456, + "src": "506:50:59", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 16047, + "keyType": { + "id": 16045, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "515:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "506:28:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 16046, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "526:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 16052, + "name": "actualLockedDGD", + "nodeType": "VariableDeclaration", + "scope": 16456, + "src": "711:51:59", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 16051, + "keyType": { + "id": 16049, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "720:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "711:28:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 16050, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "731:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 16054, + "name": "totalLockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 16456, + "src": "839:34:59", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16053, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "839:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 16056, + "name": "totalModeratorLockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 16456, + "src": "923:43:59", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16055, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "923:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 16058, + "name": "allParticipants", + "nodeType": "VariableDeclaration", + "scope": 16456, + "src": "1067:40:59", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 16057, + "name": "DoublyLinkedList.Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "1067:24:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16060, + "name": "allModerators", + "nodeType": "VariableDeclaration", + "scope": 16456, + "src": "1204:38:59", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 16059, + "name": "DoublyLinkedList.Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "1204:24:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16064, + "name": "redeemedBadge", + "nodeType": "VariableDeclaration", + "scope": 16456, + "src": "1344:46:59", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 16063, + "keyType": { + "id": 16061, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1353:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1344:25:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 16062, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1364:4:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 16068, + "name": "carbonVoteBonusClaimed", + "nodeType": "VariableDeclaration", + "scope": 16456, + "src": "1511:55:59", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 16067, + "keyType": { + "id": 16065, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1520:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1511:25:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 16066, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1531:4:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 16080, + "nodeType": "Block", + "src": "1611:69:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16075, + "name": "CONTRACT_STORAGE_DAO_STAKE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "1634:26:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 16076, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16070, + "src": "1662:9:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 16074, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "1629:4:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 16077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1629:43:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16073, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1621:7:59", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1621:52:59", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16079, + "nodeType": "ExpressionStatement", + "src": "1621:52:59" + } + ] + }, + "documentation": null, + "id": 16081, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16071, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16070, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 16081, + "src": "1585:17:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16069, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1585:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1584:19:59" + }, + "payable": false, + "returnParameters": { + "id": 16072, + "nodeType": "ParameterList", + "parameters": [], + "src": "1611:0:59" + }, + "scope": 16456, + "src": "1573:107:59", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16098, + "nodeType": "Block", + "src": "1741:100:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16088, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "1769:26:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 16087, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "1759:9:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 16089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1759:37:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16086, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1751:7:59", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1751:46:59", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16091, + "nodeType": "ExpressionStatement", + "src": "1751:46:59" + }, + { + "expression": { + "argumentTypes": null, + "id": 16096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16092, + "name": "redeemedBadge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16064, + "src": "1807:13:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 16094, + "indexExpression": { + "argumentTypes": null, + "id": 16093, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16083, + "src": "1821:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1807:20:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 16095, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1830:4:59", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1807:27:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16097, + "nodeType": "ExpressionStatement", + "src": "1807:27:59" + } + ] + }, + "documentation": null, + "id": 16099, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "redeemBadge", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16084, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16083, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 16099, + "src": "1707:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16082, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1707:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1706:15:59" + }, + "payable": false, + "returnParameters": { + "id": 16085, + "nodeType": "ParameterList", + "parameters": [], + "src": "1741:0:59" + }, + "scope": 16456, + "src": "1686:155:59", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16116, + "nodeType": "Block", + "src": "1916:109:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16106, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "1944:26:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 16105, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "1934:9:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 16107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1934:37:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16104, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1926:7:59", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1926:46:59", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16109, + "nodeType": "ExpressionStatement", + "src": "1926:46:59" + }, + { + "expression": { + "argumentTypes": null, + "id": 16114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16110, + "name": "carbonVoteBonusClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16068, + "src": "1982:22:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 16112, + "indexExpression": { + "argumentTypes": null, + "id": 16111, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16101, + "src": "2005:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1982:29:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 16113, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2014:4:59", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1982:36:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16115, + "nodeType": "ExpressionStatement", + "src": "1982:36:59" + } + ] + }, + "documentation": null, + "id": 16117, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setCarbonVoteBonusClaimed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16102, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16101, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 16117, + "src": "1882:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16100, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1882:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1881:15:59" + }, + "payable": false, + "returnParameters": { + "id": 16103, + "nodeType": "ParameterList", + "parameters": [], + "src": "1916:0:59" + }, + "scope": 16456, + "src": "1847:178:59", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16135, + "nodeType": "Block", + "src": "2115:165:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 16124, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "2149:26:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 16125, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "2177:28:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 16126, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "2207:11:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 16127, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2148:71:59", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 16123, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "2133:14:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 16128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2133:87:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16122, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2125:7:59", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2125:96:59", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16130, + "nodeType": "ExpressionStatement", + "src": "2125:96:59" + }, + { + "expression": { + "argumentTypes": null, + "id": 16133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16131, + "name": "totalLockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16054, + "src": "2231:19:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 16132, + "name": "_totalLockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16119, + "src": "2253:20:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2231:42:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16134, + "nodeType": "ExpressionStatement", + "src": "2231:42:59" + } + ] + }, + "documentation": null, + "id": 16136, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateTotalLockedDGDStake", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16120, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16119, + "name": "_totalLockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 16136, + "src": "2066:28:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16118, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2066:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2065:30:59" + }, + "payable": false, + "returnParameters": { + "id": 16121, + "nodeType": "ParameterList", + "parameters": [], + "src": "2115:0:59" + }, + "scope": 16456, + "src": "2031:249:59", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16154, + "nodeType": "Block", + "src": "2375:174:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 16143, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "2409:26:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 16144, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "2437:28:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 16145, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "2467:11:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 16146, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2408:71:59", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 16142, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "2393:14:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 16147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2393:87:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16141, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2385:7:59", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2385:96:59", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16149, + "nodeType": "ExpressionStatement", + "src": "2385:96:59" + }, + { + "expression": { + "argumentTypes": null, + "id": 16152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16150, + "name": "totalModeratorLockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16056, + "src": "2491:28:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 16151, + "name": "_totalLockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16138, + "src": "2522:20:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2491:51:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16153, + "nodeType": "ExpressionStatement", + "src": "2491:51:59" + } + ] + }, + "documentation": null, + "id": 16155, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateTotalModeratorLockedDGDs", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16139, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16138, + "name": "_totalLockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 16155, + "src": "2326:28:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16137, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2326:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2325:30:59" + }, + "payable": false, + "returnParameters": { + "id": 16140, + "nodeType": "ParameterList", + "parameters": [], + "src": "2375:0:59" + }, + "scope": 16456, + "src": "2286:263:59", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16182, + "nodeType": "Block", + "src": "2668:163:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16166, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "2696:26:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 16165, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "2686:9:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 16167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2686:37:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16164, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2678:7:59", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2678:46:59", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16169, + "nodeType": "ExpressionStatement", + "src": "2678:46:59" + }, + { + "expression": { + "argumentTypes": null, + "id": 16174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16170, + "name": "actualLockedDGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16052, + "src": "2734:15:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 16172, + "indexExpression": { + "argumentTypes": null, + "id": 16171, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16157, + "src": "2750:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2734:22:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 16173, + "name": "_actualLockedDGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16159, + "src": "2759:16:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2734:41:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16175, + "nodeType": "ExpressionStatement", + "src": "2734:41:59" + }, + { + "expression": { + "argumentTypes": null, + "id": 16180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16176, + "name": "lockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16048, + "src": "2785:14:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 16178, + "indexExpression": { + "argumentTypes": null, + "id": 16177, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16157, + "src": "2800:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2785:21:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 16179, + "name": "_lockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16161, + "src": "2809:15:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2785:39:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16181, + "nodeType": "ExpressionStatement", + "src": "2785:39:59" + } + ] + }, + "documentation": null, + "id": 16183, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateUserDGDStake", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16162, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16157, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 16183, + "src": "2583:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16156, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2583:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16159, + "name": "_actualLockedDGD", + "nodeType": "VariableDeclaration", + "scope": 16183, + "src": "2598:24:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16158, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2598:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16161, + "name": "_lockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 16183, + "src": "2624:23:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16160, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2624:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2582:66:59" + }, + "payable": false, + "returnParameters": { + "id": 16163, + "nodeType": "ParameterList", + "parameters": [], + "src": "2668:0:59" + }, + "scope": 16456, + "src": "2555:276:59", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16204, + "nodeType": "Block", + "src": "3012:107:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16192, + "name": "_actualLockedDGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16188, + "src": "3022:16:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16193, + "name": "actualLockedDGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16052, + "src": "3041:15:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 16195, + "indexExpression": { + "argumentTypes": null, + "id": 16194, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16185, + "src": "3057:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3041:22:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3022:41:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16197, + "nodeType": "ExpressionStatement", + "src": "3022:41:59" + }, + { + "expression": { + "argumentTypes": null, + "id": 16202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16198, + "name": "_lockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16190, + "src": "3073:15:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16199, + "name": "lockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16048, + "src": "3091:14:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 16201, + "indexExpression": { + "argumentTypes": null, + "id": 16200, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16185, + "src": "3106:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3091:21:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3073:39:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16203, + "nodeType": "ExpressionStatement", + "src": "3073:39:59" + } + ] + }, + "documentation": null, + "id": 16205, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readUserDGDStake", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16186, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16185, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 16205, + "src": "2863:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16184, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2863:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2862:15:59" + }, + "payable": false, + "returnParameters": { + "id": 16191, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16188, + "name": "_actualLockedDGD", + "nodeType": "VariableDeclaration", + "scope": 16205, + "src": "2936:24:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16187, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2936:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16190, + "name": "_lockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 16205, + "src": "2974:23:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2974:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2922:85:59" + }, + "scope": 16456, + "src": "2837:282:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16225, + "nodeType": "Block", + "src": "3221:113:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16214, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "3249:26:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 16213, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "3239:9:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 16215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3239:37:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16212, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3231:7:59", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3231:46:59", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16217, + "nodeType": "ExpressionStatement", + "src": "3231:46:59" + }, + { + "expression": { + "argumentTypes": null, + "id": 16223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16218, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16210, + "src": "3287:8:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16221, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16207, + "src": "3321:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 16219, + "name": "allParticipants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16058, + "src": "3298:15:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + "id": 16220, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 24415, + "src": "3298:22:59", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) returns (bool)" + } + }, + "id": 16222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3298:29:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3287:40:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16224, + "nodeType": "ExpressionStatement", + "src": "3287:40:59" + } + ] + }, + "documentation": null, + "id": 16226, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addToParticipantList", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16208, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16207, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 16226, + "src": "3155:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16206, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3155:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3154:15:59" + }, + "payable": false, + "returnParameters": { + "id": 16211, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16210, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 16226, + "src": "3202:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16209, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3202:4:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3201:15:59" + }, + "scope": 16456, + "src": "3125:209:59", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16246, + "nodeType": "Block", + "src": "3441:118:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16235, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "3469:26:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 16234, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "3459:9:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 16236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3459:37:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16233, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3451:7:59", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3451:46:59", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16238, + "nodeType": "ExpressionStatement", + "src": "3451:46:59" + }, + { + "expression": { + "argumentTypes": null, + "id": 16244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16239, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16231, + "src": "3507:8:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16242, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16228, + "src": "3546:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 16240, + "name": "allParticipants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16058, + "src": "3518:15:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + "id": 16241, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remove_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 24453, + "src": "3518:27:59", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) returns (bool)" + } + }, + "id": 16243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3518:34:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3507:45:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16245, + "nodeType": "ExpressionStatement", + "src": "3507:45:59" + } + ] + }, + "documentation": null, + "id": 16247, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "removeFromParticipantList", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16229, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16228, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 16247, + "src": "3375:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16227, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3375:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3374:15:59" + }, + "payable": false, + "returnParameters": { + "id": 16232, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16231, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 16247, + "src": "3422:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16230, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3422:4:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3421:15:59" + }, + "scope": 16456, + "src": "3340:219:59", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16267, + "nodeType": "Block", + "src": "3659:111:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16256, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "3687:26:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 16255, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "3677:9:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 16257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3677:37:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16254, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3669:7:59", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3669:46:59", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16259, + "nodeType": "ExpressionStatement", + "src": "3669:46:59" + }, + { + "expression": { + "argumentTypes": null, + "id": 16265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16260, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16252, + "src": "3725:8:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16263, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16249, + "src": "3757:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 16261, + "name": "allModerators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16060, + "src": "3736:13:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + "id": 16262, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 24415, + "src": "3736:20:59", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) returns (bool)" + } + }, + "id": 16264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3736:27:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3725:38:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16266, + "nodeType": "ExpressionStatement", + "src": "3725:38:59" + } + ] + }, + "documentation": null, + "id": 16268, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addToModeratorList", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16250, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16249, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 16268, + "src": "3593:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16248, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3593:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3592:15:59" + }, + "payable": false, + "returnParameters": { + "id": 16253, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16252, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 16268, + "src": "3640:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16251, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3640:4:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3639:15:59" + }, + "scope": 16456, + "src": "3565:205:59", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16288, + "nodeType": "Block", + "src": "3875:116:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16277, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "3903:26:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 16276, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "3893:9:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 16278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3893:37:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16275, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3885:7:59", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3885:46:59", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16280, + "nodeType": "ExpressionStatement", + "src": "3885:46:59" + }, + { + "expression": { + "argumentTypes": null, + "id": 16286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16281, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16273, + "src": "3941:8:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16284, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16270, + "src": "3978:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 16282, + "name": "allModerators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16060, + "src": "3952:13:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + "id": 16283, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remove_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 24453, + "src": "3952:25:59", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) returns (bool)" + } + }, + "id": 16285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3952:32:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3941:43:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16287, + "nodeType": "ExpressionStatement", + "src": "3941:43:59" + } + ] + }, + "documentation": null, + "id": 16289, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "removeFromModeratorList", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16271, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16270, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 16289, + "src": "3809:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16269, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3809:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3808:15:59" + }, + "payable": false, + "returnParameters": { + "id": 16274, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16273, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 16289, + "src": "3856:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16272, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3856:4:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3855:15:59" + }, + "scope": 16456, + "src": "3776:215:59", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16305, + "nodeType": "Block", + "src": "4100:55:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16296, + "name": "_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16294, + "src": "4110:3:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 16302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16299, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16291, + "src": "4137:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 16297, + "name": "allParticipants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16058, + "src": "4116:15:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + "id": 16298, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "find", + "nodeType": "MemberAccess", + "referencedDeclaration": 24016, + "src": "4116:20:59", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_uint256_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) view returns (uint256)" + } + }, + "id": 16300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4116:27:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 16301, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4147:1:59", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4116:32:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4110:38:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16304, + "nodeType": "ExpressionStatement", + "src": "4110:38:59" + } + ] + }, + "documentation": null, + "id": 16306, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isInParticipantList", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16292, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16291, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 16306, + "src": "4026:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16290, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4026:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4025:15:59" + }, + "payable": false, + "returnParameters": { + "id": 16295, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16294, + "name": "_is", + "nodeType": "VariableDeclaration", + "scope": 16306, + "src": "4086:8:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16293, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4086:4:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4085:10:59" + }, + "scope": 16456, + "src": "3997:158:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16322, + "nodeType": "Block", + "src": "4263:53:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16313, + "name": "_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16311, + "src": "4273:3:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 16319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16316, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16308, + "src": "4298:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 16314, + "name": "allModerators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16060, + "src": "4279:13:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + "id": 16315, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "find", + "nodeType": "MemberAccess", + "referencedDeclaration": 24016, + "src": "4279:18:59", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_uint256_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) view returns (uint256)" + } + }, + "id": 16317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4279:25:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 16318, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4308:1:59", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4279:30:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4273:36:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16321, + "nodeType": "ExpressionStatement", + "src": "4273:36:59" + } + ] + }, + "documentation": null, + "id": 16323, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isInModeratorsList", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16309, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16308, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 16323, + "src": "4189:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16307, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4189:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4188:15:59" + }, + "payable": false, + "returnParameters": { + "id": 16312, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16311, + "name": "_is", + "nodeType": "VariableDeclaration", + "scope": 16323, + "src": "4249:8:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16310, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4249:4:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4248:10:59" + }, + "scope": 16456, + "src": "4161:155:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16334, + "nodeType": "Block", + "src": "4416:65:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16328, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16326, + "src": "4426:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16330, + "name": "allModerators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16060, + "src": "4460:13:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + ], + "id": 16329, + "name": "read_first_from_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22038, + "src": "4434:25:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Address_$23032_storage_ptr_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer) view returns (address)" + } + }, + "id": 16331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4434:40:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4426:48:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16333, + "nodeType": "ExpressionStatement", + "src": "4426:48:59" + } + ] + }, + "documentation": null, + "id": 16335, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readFirstModerator", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16324, + "nodeType": "ParameterList", + "parameters": [], + "src": "4349:2:59" + }, + "payable": false, + "returnParameters": { + "id": 16327, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16326, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 16335, + "src": "4397:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16325, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4397:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4396:15:59" + }, + "scope": 16456, + "src": "4322:159:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16346, + "nodeType": "Block", + "src": "4580:64:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16340, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16338, + "src": "4590:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16342, + "name": "allModerators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16060, + "src": "4623:13:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + ], + "id": 16341, + "name": "read_last_from_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22052, + "src": "4598:24:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Address_$23032_storage_ptr_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer) view returns (address)" + } + }, + "id": 16343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4598:39:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4590:47:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16345, + "nodeType": "ExpressionStatement", + "src": "4590:47:59" + } + ] + }, + "documentation": null, + "id": 16347, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readLastModerator", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16336, + "nodeType": "ParameterList", + "parameters": [], + "src": "4513:2:59" + }, + "payable": false, + "returnParameters": { + "id": 16339, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16338, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 16347, + "src": "4561:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16337, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4561:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4560:15:59" + }, + "scope": 16456, + "src": "4487:157:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16361, + "nodeType": "Block", + "src": "4764:79:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16354, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16352, + "src": "4774:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16356, + "name": "allModerators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16060, + "src": "4807:13:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + { + "argumentTypes": null, + "id": 16357, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16349, + "src": "4822:13:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 16355, + "name": "read_next_from_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22069, + "src": "4782:24:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) view returns (address)" + } + }, + "id": 16358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4782:54:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4774:62:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16360, + "nodeType": "ExpressionStatement", + "src": "4774:62:59" + } + ] + }, + "documentation": null, + "id": 16362, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readNextModerator", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16350, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16349, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 16362, + "src": "4677:21:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16348, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4677:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4676:23:59" + }, + "payable": false, + "returnParameters": { + "id": 16353, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16352, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 16362, + "src": "4745:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16351, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4745:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4744:15:59" + }, + "scope": 16456, + "src": "4650:193:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16376, + "nodeType": "Block", + "src": "4967:83:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16369, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16367, + "src": "4977:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16371, + "name": "allModerators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16060, + "src": "5014:13:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + { + "argumentTypes": null, + "id": 16372, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16364, + "src": "5029:13:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 16370, + "name": "read_previous_from_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22086, + "src": "4985:28:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) view returns (address)" + } + }, + "id": 16373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4985:58:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4977:66:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16375, + "nodeType": "ExpressionStatement", + "src": "4977:66:59" + } + ] + }, + "documentation": null, + "id": 16377, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readPreviousModerator", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16365, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16364, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 16377, + "src": "4880:21:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16363, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4880:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4879:23:59" + }, + "payable": false, + "returnParameters": { + "id": 16368, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16367, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 16377, + "src": "4948:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16366, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4948:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4947:15:59" + }, + "scope": 16456, + "src": "4849:201:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16388, + "nodeType": "Block", + "src": "5158:67:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16382, + "name": "_total_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16380, + "src": "5168:12:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16384, + "name": "allModerators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16060, + "src": "5204:13:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + ], + "id": 16383, + "name": "read_total_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22100, + "src": "5183:20:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Address_$23032_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer) view returns (uint256)" + } + }, + "id": 16385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5183:35:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5168:50:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16387, + "nodeType": "ExpressionStatement", + "src": "5168:50:59" + } + ] + }, + "documentation": null, + "id": 16389, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readTotalModerators", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16378, + "nodeType": "ParameterList", + "parameters": [], + "src": "5084:2:59" + }, + "payable": false, + "returnParameters": { + "id": 16381, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16380, + "name": "_total_count", + "nodeType": "VariableDeclaration", + "scope": 16389, + "src": "5132:20:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16379, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5132:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5131:22:59" + }, + "scope": 16456, + "src": "5056:169:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16400, + "nodeType": "Block", + "src": "5327:67:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16394, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16392, + "src": "5337:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16396, + "name": "allParticipants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16058, + "src": "5371:15:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + ], + "id": 16395, + "name": "read_first_from_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22038, + "src": "5345:25:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Address_$23032_storage_ptr_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer) view returns (address)" + } + }, + "id": 16397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5345:42:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5337:50:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16399, + "nodeType": "ExpressionStatement", + "src": "5337:50:59" + } + ] + }, + "documentation": null, + "id": 16401, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readFirstParticipant", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16390, + "nodeType": "ParameterList", + "parameters": [], + "src": "5260:2:59" + }, + "payable": false, + "returnParameters": { + "id": 16393, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16392, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 16401, + "src": "5308:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16391, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5308:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5307:15:59" + }, + "scope": 16456, + "src": "5231:163:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16412, + "nodeType": "Block", + "src": "5495:66:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16406, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16404, + "src": "5505:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16408, + "name": "allParticipants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16058, + "src": "5538:15:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + ], + "id": 16407, + "name": "read_last_from_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22052, + "src": "5513:24:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Address_$23032_storage_ptr_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer) view returns (address)" + } + }, + "id": 16409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5513:41:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5505:49:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16411, + "nodeType": "ExpressionStatement", + "src": "5505:49:59" + } + ] + }, + "documentation": null, + "id": 16413, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readLastParticipant", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16402, + "nodeType": "ParameterList", + "parameters": [], + "src": "5428:2:59" + }, + "payable": false, + "returnParameters": { + "id": 16405, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16404, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 16413, + "src": "5476:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16403, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5476:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5475:15:59" + }, + "scope": 16456, + "src": "5400:161:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16427, + "nodeType": "Block", + "src": "5683:81:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16420, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16418, + "src": "5693:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16422, + "name": "allParticipants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16058, + "src": "5726:15:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + { + "argumentTypes": null, + "id": 16423, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16415, + "src": "5743:13:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 16421, + "name": "read_next_from_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22069, + "src": "5701:24:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) view returns (address)" + } + }, + "id": 16424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5701:56:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5693:64:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16426, + "nodeType": "ExpressionStatement", + "src": "5693:64:59" + } + ] + }, + "documentation": null, + "id": 16428, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readNextParticipant", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16416, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16415, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 16428, + "src": "5596:21:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16414, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5596:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5595:23:59" + }, + "payable": false, + "returnParameters": { + "id": 16419, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16418, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 16428, + "src": "5664:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16417, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5664:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5663:15:59" + }, + "scope": 16456, + "src": "5567:197:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16442, + "nodeType": "Block", + "src": "5890:85:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16435, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16433, + "src": "5900:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16437, + "name": "allParticipants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16058, + "src": "5937:15:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + { + "argumentTypes": null, + "id": 16438, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16430, + "src": "5954:13:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 16436, + "name": "read_previous_from_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22086, + "src": "5908:28:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) view returns (address)" + } + }, + "id": 16439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5908:60:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5900:68:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16441, + "nodeType": "ExpressionStatement", + "src": "5900:68:59" + } + ] + }, + "documentation": null, + "id": 16443, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readPreviousParticipant", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16431, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16430, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 16443, + "src": "5803:21:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16429, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5803:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5802:23:59" + }, + "payable": false, + "returnParameters": { + "id": 16434, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16433, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 16443, + "src": "5871:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16432, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5871:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5870:15:59" + }, + "scope": 16456, + "src": "5770:205:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16454, + "nodeType": "Block", + "src": "6084:69:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16448, + "name": "_total_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16446, + "src": "6094:12:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16450, + "name": "allParticipants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16058, + "src": "6130:15:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + ], + "id": 16449, + "name": "read_total_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22100, + "src": "6109:20:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Address_$23032_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer) view returns (uint256)" + } + }, + "id": 16451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6109:37:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6094:52:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16453, + "nodeType": "ExpressionStatement", + "src": "6094:52:59" + } + ] + }, + "documentation": null, + "id": 16455, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readTotalParticipant", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16444, + "nodeType": "ParameterList", + "parameters": [], + "src": "6010:2:59" + }, + "payable": false, + "returnParameters": { + "id": 16447, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16446, + "name": "_total_count", + "nodeType": "VariableDeclaration", + "scope": 16455, + "src": "6058:20:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16445, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6058:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6057:22:59" + }, + "scope": 16456, + "src": "5981:172:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 16457, + "src": "286:5869:59" + } + ], + "src": "0:6156:59" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStakeStorage.sol", + "exportedSymbols": { + "DaoStakeStorage": [ + 16456 + ] + }, + "id": 16457, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 16031, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:59" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "file": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "id": 16032, + "nodeType": "ImportDirective", + "scope": 16457, + "sourceUnit": 25547, + "src": "26:72:59", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/abstract/AddressIteratorStorage.sol", + "file": "@digix/solidity-collections/contracts/abstract/AddressIteratorStorage.sol", + "id": 16033, + "nodeType": "ImportDirective", + "scope": 16457, + "sourceUnit": 22102, + "src": "99:83:59", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 16034, + "nodeType": "ImportDirective", + "scope": 16457, + "sourceUnit": 19059, + "src": "183:64:59", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "../common/DaoConstants.sol", + "id": 16035, + "nodeType": "ImportDirective", + "scope": 16457, + "sourceUnit": 1581, + "src": "248:36:59", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 16036, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "314:14:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 16037, + "nodeType": "InheritanceSpecifier", + "src": "314:14:59" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 16038, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "330:12:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 16039, + "nodeType": "InheritanceSpecifier", + "src": "330:12:59" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 16040, + "name": "AddressIteratorStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 22101, + "src": "344:22:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AddressIteratorStorage_$22101", + "typeString": "contract AddressIteratorStorage" + } + }, + "id": 16041, + "nodeType": "InheritanceSpecifier", + "src": "344:22:59" + } + ], + "contractDependencies": [ + 1580, + 19058, + 22101 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 16456, + "linearizedBaseContracts": [ + 16456, + 22101, + 1580, + 19058 + ], + "name": "DaoStakeStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 16044, + "libraryName": { + "contractScope": null, + "id": 16042, + "name": "DoublyLinkedList", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25546, + "src": "379:16:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DoublyLinkedList_$25546", + "typeString": "library DoublyLinkedList" + } + }, + "nodeType": "UsingForDirective", + "src": "373:52:59", + "typeName": { + "contractScope": null, + "id": 16043, + "name": "DoublyLinkedList.Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "400:24:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + } + }, + { + "constant": false, + "id": 16048, + "name": "lockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 16456, + "src": "506:50:59", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 16047, + "keyType": { + "id": 16045, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "515:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "506:28:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 16046, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "526:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 16052, + "name": "actualLockedDGD", + "nodeType": "VariableDeclaration", + "scope": 16456, + "src": "711:51:59", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 16051, + "keyType": { + "id": 16049, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "720:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "711:28:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 16050, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "731:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 16054, + "name": "totalLockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 16456, + "src": "839:34:59", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16053, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "839:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 16056, + "name": "totalModeratorLockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 16456, + "src": "923:43:59", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16055, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "923:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 16058, + "name": "allParticipants", + "nodeType": "VariableDeclaration", + "scope": 16456, + "src": "1067:40:59", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 16057, + "name": "DoublyLinkedList.Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "1067:24:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16060, + "name": "allModerators", + "nodeType": "VariableDeclaration", + "scope": 16456, + "src": "1204:38:59", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 16059, + "name": "DoublyLinkedList.Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "1204:24:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16064, + "name": "redeemedBadge", + "nodeType": "VariableDeclaration", + "scope": 16456, + "src": "1344:46:59", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 16063, + "keyType": { + "id": 16061, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1353:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1344:25:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 16062, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1364:4:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 16068, + "name": "carbonVoteBonusClaimed", + "nodeType": "VariableDeclaration", + "scope": 16456, + "src": "1511:55:59", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 16067, + "keyType": { + "id": 16065, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1520:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1511:25:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 16066, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1531:4:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 16080, + "nodeType": "Block", + "src": "1611:69:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16075, + "name": "CONTRACT_STORAGE_DAO_STAKE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1369, + "src": "1634:26:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 16076, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16070, + "src": "1662:9:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 16074, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "1629:4:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 16077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1629:43:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16073, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1621:7:59", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1621:52:59", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16079, + "nodeType": "ExpressionStatement", + "src": "1621:52:59" + } + ] + }, + "documentation": null, + "id": 16081, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16071, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16070, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 16081, + "src": "1585:17:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16069, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1585:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1584:19:59" + }, + "payable": false, + "returnParameters": { + "id": 16072, + "nodeType": "ParameterList", + "parameters": [], + "src": "1611:0:59" + }, + "scope": 16456, + "src": "1573:107:59", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16098, + "nodeType": "Block", + "src": "1741:100:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16088, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "1769:26:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 16087, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "1759:9:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 16089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1759:37:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16086, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1751:7:59", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1751:46:59", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16091, + "nodeType": "ExpressionStatement", + "src": "1751:46:59" + }, + { + "expression": { + "argumentTypes": null, + "id": 16096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16092, + "name": "redeemedBadge", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16064, + "src": "1807:13:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 16094, + "indexExpression": { + "argumentTypes": null, + "id": 16093, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16083, + "src": "1821:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1807:20:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 16095, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1830:4:59", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1807:27:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16097, + "nodeType": "ExpressionStatement", + "src": "1807:27:59" + } + ] + }, + "documentation": null, + "id": 16099, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "redeemBadge", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16084, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16083, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 16099, + "src": "1707:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16082, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1707:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1706:15:59" + }, + "payable": false, + "returnParameters": { + "id": 16085, + "nodeType": "ParameterList", + "parameters": [], + "src": "1741:0:59" + }, + "scope": 16456, + "src": "1686:155:59", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16116, + "nodeType": "Block", + "src": "1916:109:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16106, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "1944:26:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 16105, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "1934:9:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 16107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1934:37:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16104, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1926:7:59", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1926:46:59", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16109, + "nodeType": "ExpressionStatement", + "src": "1926:46:59" + }, + { + "expression": { + "argumentTypes": null, + "id": 16114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16110, + "name": "carbonVoteBonusClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16068, + "src": "1982:22:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 16112, + "indexExpression": { + "argumentTypes": null, + "id": 16111, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16101, + "src": "2005:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1982:29:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 16113, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2014:4:59", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1982:36:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16115, + "nodeType": "ExpressionStatement", + "src": "1982:36:59" + } + ] + }, + "documentation": null, + "id": 16117, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setCarbonVoteBonusClaimed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16102, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16101, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 16117, + "src": "1882:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16100, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1882:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1881:15:59" + }, + "payable": false, + "returnParameters": { + "id": 16103, + "nodeType": "ParameterList", + "parameters": [], + "src": "1916:0:59" + }, + "scope": 16456, + "src": "1847:178:59", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16135, + "nodeType": "Block", + "src": "2115:165:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 16124, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "2149:26:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 16125, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "2177:28:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 16126, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "2207:11:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 16127, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2148:71:59", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 16123, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "2133:14:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 16128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2133:87:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16122, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2125:7:59", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2125:96:59", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16130, + "nodeType": "ExpressionStatement", + "src": "2125:96:59" + }, + { + "expression": { + "argumentTypes": null, + "id": 16133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16131, + "name": "totalLockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16054, + "src": "2231:19:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 16132, + "name": "_totalLockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16119, + "src": "2253:20:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2231:42:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16134, + "nodeType": "ExpressionStatement", + "src": "2231:42:59" + } + ] + }, + "documentation": null, + "id": 16136, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateTotalLockedDGDStake", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16120, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16119, + "name": "_totalLockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 16136, + "src": "2066:28:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16118, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2066:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2065:30:59" + }, + "payable": false, + "returnParameters": { + "id": 16121, + "nodeType": "ParameterList", + "parameters": [], + "src": "2115:0:59" + }, + "scope": 16456, + "src": "2031:249:59", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16154, + "nodeType": "Block", + "src": "2375:174:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 16143, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "2409:26:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 16144, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "2437:28:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 16145, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "2467:11:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 16146, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2408:71:59", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 16142, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "2393:14:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 16147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2393:87:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16141, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2385:7:59", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2385:96:59", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16149, + "nodeType": "ExpressionStatement", + "src": "2385:96:59" + }, + { + "expression": { + "argumentTypes": null, + "id": 16152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16150, + "name": "totalModeratorLockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16056, + "src": "2491:28:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 16151, + "name": "_totalLockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16138, + "src": "2522:20:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2491:51:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16153, + "nodeType": "ExpressionStatement", + "src": "2491:51:59" + } + ] + }, + "documentation": null, + "id": 16155, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateTotalModeratorLockedDGDs", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16139, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16138, + "name": "_totalLockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 16155, + "src": "2326:28:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16137, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2326:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2325:30:59" + }, + "payable": false, + "returnParameters": { + "id": 16140, + "nodeType": "ParameterList", + "parameters": [], + "src": "2375:0:59" + }, + "scope": 16456, + "src": "2286:263:59", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16182, + "nodeType": "Block", + "src": "2668:163:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16166, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "2696:26:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 16165, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "2686:9:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 16167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2686:37:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16164, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2678:7:59", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2678:46:59", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16169, + "nodeType": "ExpressionStatement", + "src": "2678:46:59" + }, + { + "expression": { + "argumentTypes": null, + "id": 16174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16170, + "name": "actualLockedDGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16052, + "src": "2734:15:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 16172, + "indexExpression": { + "argumentTypes": null, + "id": 16171, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16157, + "src": "2750:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2734:22:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 16173, + "name": "_actualLockedDGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16159, + "src": "2759:16:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2734:41:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16175, + "nodeType": "ExpressionStatement", + "src": "2734:41:59" + }, + { + "expression": { + "argumentTypes": null, + "id": 16180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16176, + "name": "lockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16048, + "src": "2785:14:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 16178, + "indexExpression": { + "argumentTypes": null, + "id": 16177, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16157, + "src": "2800:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2785:21:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 16179, + "name": "_lockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16161, + "src": "2809:15:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2785:39:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16181, + "nodeType": "ExpressionStatement", + "src": "2785:39:59" + } + ] + }, + "documentation": null, + "id": 16183, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateUserDGDStake", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16162, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16157, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 16183, + "src": "2583:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16156, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2583:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16159, + "name": "_actualLockedDGD", + "nodeType": "VariableDeclaration", + "scope": 16183, + "src": "2598:24:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16158, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2598:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16161, + "name": "_lockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 16183, + "src": "2624:23:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16160, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2624:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2582:66:59" + }, + "payable": false, + "returnParameters": { + "id": 16163, + "nodeType": "ParameterList", + "parameters": [], + "src": "2668:0:59" + }, + "scope": 16456, + "src": "2555:276:59", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16204, + "nodeType": "Block", + "src": "3012:107:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16192, + "name": "_actualLockedDGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16188, + "src": "3022:16:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16193, + "name": "actualLockedDGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16052, + "src": "3041:15:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 16195, + "indexExpression": { + "argumentTypes": null, + "id": 16194, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16185, + "src": "3057:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3041:22:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3022:41:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16197, + "nodeType": "ExpressionStatement", + "src": "3022:41:59" + }, + { + "expression": { + "argumentTypes": null, + "id": 16202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16198, + "name": "_lockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16190, + "src": "3073:15:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16199, + "name": "lockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16048, + "src": "3091:14:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 16201, + "indexExpression": { + "argumentTypes": null, + "id": 16200, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16185, + "src": "3106:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3091:21:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3073:39:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16203, + "nodeType": "ExpressionStatement", + "src": "3073:39:59" + } + ] + }, + "documentation": null, + "id": 16205, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readUserDGDStake", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16186, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16185, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 16205, + "src": "2863:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16184, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2863:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2862:15:59" + }, + "payable": false, + "returnParameters": { + "id": 16191, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16188, + "name": "_actualLockedDGD", + "nodeType": "VariableDeclaration", + "scope": 16205, + "src": "2936:24:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16187, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2936:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16190, + "name": "_lockedDGDStake", + "nodeType": "VariableDeclaration", + "scope": 16205, + "src": "2974:23:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2974:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2922:85:59" + }, + "scope": 16456, + "src": "2837:282:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16225, + "nodeType": "Block", + "src": "3221:113:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16214, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "3249:26:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 16213, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "3239:9:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 16215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3239:37:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16212, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3231:7:59", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3231:46:59", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16217, + "nodeType": "ExpressionStatement", + "src": "3231:46:59" + }, + { + "expression": { + "argumentTypes": null, + "id": 16223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16218, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16210, + "src": "3287:8:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16221, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16207, + "src": "3321:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 16219, + "name": "allParticipants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16058, + "src": "3298:15:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + "id": 16220, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 24415, + "src": "3298:22:59", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) returns (bool)" + } + }, + "id": 16222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3298:29:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3287:40:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16224, + "nodeType": "ExpressionStatement", + "src": "3287:40:59" + } + ] + }, + "documentation": null, + "id": 16226, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addToParticipantList", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16208, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16207, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 16226, + "src": "3155:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16206, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3155:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3154:15:59" + }, + "payable": false, + "returnParameters": { + "id": 16211, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16210, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 16226, + "src": "3202:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16209, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3202:4:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3201:15:59" + }, + "scope": 16456, + "src": "3125:209:59", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16246, + "nodeType": "Block", + "src": "3441:118:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16235, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "3469:26:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 16234, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "3459:9:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 16236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3459:37:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16233, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3451:7:59", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3451:46:59", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16238, + "nodeType": "ExpressionStatement", + "src": "3451:46:59" + }, + { + "expression": { + "argumentTypes": null, + "id": 16244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16239, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16231, + "src": "3507:8:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16242, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16228, + "src": "3546:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 16240, + "name": "allParticipants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16058, + "src": "3518:15:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + "id": 16241, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remove_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 24453, + "src": "3518:27:59", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) returns (bool)" + } + }, + "id": 16243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3518:34:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3507:45:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16245, + "nodeType": "ExpressionStatement", + "src": "3507:45:59" + } + ] + }, + "documentation": null, + "id": 16247, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "removeFromParticipantList", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16229, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16228, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 16247, + "src": "3375:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16227, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3375:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3374:15:59" + }, + "payable": false, + "returnParameters": { + "id": 16232, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16231, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 16247, + "src": "3422:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16230, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3422:4:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3421:15:59" + }, + "scope": 16456, + "src": "3340:219:59", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16267, + "nodeType": "Block", + "src": "3659:111:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16256, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "3687:26:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 16255, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "3677:9:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 16257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3677:37:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16254, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3669:7:59", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3669:46:59", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16259, + "nodeType": "ExpressionStatement", + "src": "3669:46:59" + }, + { + "expression": { + "argumentTypes": null, + "id": 16265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16260, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16252, + "src": "3725:8:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16263, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16249, + "src": "3757:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 16261, + "name": "allModerators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16060, + "src": "3736:13:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + "id": 16262, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 24415, + "src": "3736:20:59", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) returns (bool)" + } + }, + "id": 16264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3736:27:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3725:38:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16266, + "nodeType": "ExpressionStatement", + "src": "3725:38:59" + } + ] + }, + "documentation": null, + "id": 16268, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addToModeratorList", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16250, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16249, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 16268, + "src": "3593:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16248, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3593:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3592:15:59" + }, + "payable": false, + "returnParameters": { + "id": 16253, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16252, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 16268, + "src": "3640:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16251, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3640:4:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3639:15:59" + }, + "scope": 16456, + "src": "3565:205:59", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16288, + "nodeType": "Block", + "src": "3875:116:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16277, + "name": "CONTRACT_DAO_STAKE_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "3903:26:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 16276, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "3893:9:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 16278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3893:37:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16275, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3885:7:59", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3885:46:59", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16280, + "nodeType": "ExpressionStatement", + "src": "3885:46:59" + }, + { + "expression": { + "argumentTypes": null, + "id": 16286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16281, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16273, + "src": "3941:8:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16284, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16270, + "src": "3978:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 16282, + "name": "allModerators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16060, + "src": "3952:13:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + "id": 16283, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remove_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 24453, + "src": "3952:25:59", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) returns (bool)" + } + }, + "id": 16285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3952:32:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3941:43:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16287, + "nodeType": "ExpressionStatement", + "src": "3941:43:59" + } + ] + }, + "documentation": null, + "id": 16289, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "removeFromModeratorList", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16271, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16270, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 16289, + "src": "3809:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16269, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3809:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3808:15:59" + }, + "payable": false, + "returnParameters": { + "id": 16274, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16273, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 16289, + "src": "3856:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16272, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3856:4:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3855:15:59" + }, + "scope": 16456, + "src": "3776:215:59", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16305, + "nodeType": "Block", + "src": "4100:55:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16296, + "name": "_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16294, + "src": "4110:3:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 16302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16299, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16291, + "src": "4137:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 16297, + "name": "allParticipants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16058, + "src": "4116:15:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + "id": 16298, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "find", + "nodeType": "MemberAccess", + "referencedDeclaration": 24016, + "src": "4116:20:59", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_uint256_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) view returns (uint256)" + } + }, + "id": 16300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4116:27:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 16301, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4147:1:59", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4116:32:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4110:38:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16304, + "nodeType": "ExpressionStatement", + "src": "4110:38:59" + } + ] + }, + "documentation": null, + "id": 16306, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isInParticipantList", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16292, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16291, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 16306, + "src": "4026:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16290, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4026:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4025:15:59" + }, + "payable": false, + "returnParameters": { + "id": 16295, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16294, + "name": "_is", + "nodeType": "VariableDeclaration", + "scope": 16306, + "src": "4086:8:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16293, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4086:4:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4085:10:59" + }, + "scope": 16456, + "src": "3997:158:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16322, + "nodeType": "Block", + "src": "4263:53:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16313, + "name": "_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16311, + "src": "4273:3:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 16319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16316, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16308, + "src": "4298:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 16314, + "name": "allModerators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16060, + "src": "4279:13:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + "id": 16315, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "find", + "nodeType": "MemberAccess", + "referencedDeclaration": 24016, + "src": "4279:18:59", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_uint256_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) view returns (uint256)" + } + }, + "id": 16317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4279:25:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 16318, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4308:1:59", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4279:30:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4273:36:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16321, + "nodeType": "ExpressionStatement", + "src": "4273:36:59" + } + ] + }, + "documentation": null, + "id": 16323, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isInModeratorsList", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16309, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16308, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 16323, + "src": "4189:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16307, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4189:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4188:15:59" + }, + "payable": false, + "returnParameters": { + "id": 16312, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16311, + "name": "_is", + "nodeType": "VariableDeclaration", + "scope": 16323, + "src": "4249:8:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16310, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4249:4:59", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4248:10:59" + }, + "scope": 16456, + "src": "4161:155:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16334, + "nodeType": "Block", + "src": "4416:65:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16328, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16326, + "src": "4426:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16330, + "name": "allModerators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16060, + "src": "4460:13:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + ], + "id": 16329, + "name": "read_first_from_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22038, + "src": "4434:25:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Address_$23032_storage_ptr_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer) view returns (address)" + } + }, + "id": 16331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4434:40:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4426:48:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16333, + "nodeType": "ExpressionStatement", + "src": "4426:48:59" + } + ] + }, + "documentation": null, + "id": 16335, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readFirstModerator", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16324, + "nodeType": "ParameterList", + "parameters": [], + "src": "4349:2:59" + }, + "payable": false, + "returnParameters": { + "id": 16327, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16326, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 16335, + "src": "4397:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16325, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4397:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4396:15:59" + }, + "scope": 16456, + "src": "4322:159:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16346, + "nodeType": "Block", + "src": "4580:64:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16340, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16338, + "src": "4590:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16342, + "name": "allModerators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16060, + "src": "4623:13:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + ], + "id": 16341, + "name": "read_last_from_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22052, + "src": "4598:24:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Address_$23032_storage_ptr_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer) view returns (address)" + } + }, + "id": 16343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4598:39:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4590:47:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16345, + "nodeType": "ExpressionStatement", + "src": "4590:47:59" + } + ] + }, + "documentation": null, + "id": 16347, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readLastModerator", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16336, + "nodeType": "ParameterList", + "parameters": [], + "src": "4513:2:59" + }, + "payable": false, + "returnParameters": { + "id": 16339, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16338, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 16347, + "src": "4561:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16337, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4561:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4560:15:59" + }, + "scope": 16456, + "src": "4487:157:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16361, + "nodeType": "Block", + "src": "4764:79:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16354, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16352, + "src": "4774:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16356, + "name": "allModerators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16060, + "src": "4807:13:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + { + "argumentTypes": null, + "id": 16357, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16349, + "src": "4822:13:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 16355, + "name": "read_next_from_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22069, + "src": "4782:24:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) view returns (address)" + } + }, + "id": 16358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4782:54:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4774:62:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16360, + "nodeType": "ExpressionStatement", + "src": "4774:62:59" + } + ] + }, + "documentation": null, + "id": 16362, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readNextModerator", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16350, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16349, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 16362, + "src": "4677:21:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16348, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4677:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4676:23:59" + }, + "payable": false, + "returnParameters": { + "id": 16353, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16352, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 16362, + "src": "4745:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16351, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4745:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4744:15:59" + }, + "scope": 16456, + "src": "4650:193:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16376, + "nodeType": "Block", + "src": "4967:83:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16369, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16367, + "src": "4977:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16371, + "name": "allModerators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16060, + "src": "5014:13:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + { + "argumentTypes": null, + "id": 16372, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16364, + "src": "5029:13:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 16370, + "name": "read_previous_from_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22086, + "src": "4985:28:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) view returns (address)" + } + }, + "id": 16373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4985:58:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4977:66:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16375, + "nodeType": "ExpressionStatement", + "src": "4977:66:59" + } + ] + }, + "documentation": null, + "id": 16377, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readPreviousModerator", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16365, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16364, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 16377, + "src": "4880:21:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16363, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4880:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4879:23:59" + }, + "payable": false, + "returnParameters": { + "id": 16368, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16367, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 16377, + "src": "4948:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16366, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4948:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4947:15:59" + }, + "scope": 16456, + "src": "4849:201:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16388, + "nodeType": "Block", + "src": "5158:67:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16382, + "name": "_total_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16380, + "src": "5168:12:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16384, + "name": "allModerators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16060, + "src": "5204:13:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + ], + "id": 16383, + "name": "read_total_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22100, + "src": "5183:20:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Address_$23032_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer) view returns (uint256)" + } + }, + "id": 16385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5183:35:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5168:50:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16387, + "nodeType": "ExpressionStatement", + "src": "5168:50:59" + } + ] + }, + "documentation": null, + "id": 16389, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readTotalModerators", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16378, + "nodeType": "ParameterList", + "parameters": [], + "src": "5084:2:59" + }, + "payable": false, + "returnParameters": { + "id": 16381, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16380, + "name": "_total_count", + "nodeType": "VariableDeclaration", + "scope": 16389, + "src": "5132:20:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16379, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5132:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5131:22:59" + }, + "scope": 16456, + "src": "5056:169:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16400, + "nodeType": "Block", + "src": "5327:67:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16394, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16392, + "src": "5337:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16396, + "name": "allParticipants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16058, + "src": "5371:15:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + ], + "id": 16395, + "name": "read_first_from_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22038, + "src": "5345:25:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Address_$23032_storage_ptr_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer) view returns (address)" + } + }, + "id": 16397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5345:42:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5337:50:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16399, + "nodeType": "ExpressionStatement", + "src": "5337:50:59" + } + ] + }, + "documentation": null, + "id": 16401, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readFirstParticipant", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16390, + "nodeType": "ParameterList", + "parameters": [], + "src": "5260:2:59" + }, + "payable": false, + "returnParameters": { + "id": 16393, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16392, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 16401, + "src": "5308:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16391, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5308:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5307:15:59" + }, + "scope": 16456, + "src": "5231:163:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16412, + "nodeType": "Block", + "src": "5495:66:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16406, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16404, + "src": "5505:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16408, + "name": "allParticipants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16058, + "src": "5538:15:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + ], + "id": 16407, + "name": "read_last_from_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22052, + "src": "5513:24:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Address_$23032_storage_ptr_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer) view returns (address)" + } + }, + "id": 16409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5513:41:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5505:49:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16411, + "nodeType": "ExpressionStatement", + "src": "5505:49:59" + } + ] + }, + "documentation": null, + "id": 16413, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readLastParticipant", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16402, + "nodeType": "ParameterList", + "parameters": [], + "src": "5428:2:59" + }, + "payable": false, + "returnParameters": { + "id": 16405, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16404, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 16413, + "src": "5476:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16403, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5476:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5475:15:59" + }, + "scope": 16456, + "src": "5400:161:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16427, + "nodeType": "Block", + "src": "5683:81:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16420, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16418, + "src": "5693:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16422, + "name": "allParticipants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16058, + "src": "5726:15:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + { + "argumentTypes": null, + "id": 16423, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16415, + "src": "5743:13:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 16421, + "name": "read_next_from_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22069, + "src": "5701:24:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) view returns (address)" + } + }, + "id": 16424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5701:56:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5693:64:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16426, + "nodeType": "ExpressionStatement", + "src": "5693:64:59" + } + ] + }, + "documentation": null, + "id": 16428, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readNextParticipant", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16416, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16415, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 16428, + "src": "5596:21:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16414, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5596:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5595:23:59" + }, + "payable": false, + "returnParameters": { + "id": 16419, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16418, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 16428, + "src": "5664:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16417, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5664:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5663:15:59" + }, + "scope": 16456, + "src": "5567:197:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16442, + "nodeType": "Block", + "src": "5890:85:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16435, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16433, + "src": "5900:5:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16437, + "name": "allParticipants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16058, + "src": "5937:15:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + { + "argumentTypes": null, + "id": 16438, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16430, + "src": "5954:13:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 16436, + "name": "read_previous_from_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22086, + "src": "5908:28:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) view returns (address)" + } + }, + "id": 16439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5908:60:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5900:68:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16441, + "nodeType": "ExpressionStatement", + "src": "5900:68:59" + } + ] + }, + "documentation": null, + "id": 16443, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readPreviousParticipant", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16431, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16430, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 16443, + "src": "5803:21:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16429, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5803:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5802:23:59" + }, + "payable": false, + "returnParameters": { + "id": 16434, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16433, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 16443, + "src": "5871:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16432, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5871:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5870:15:59" + }, + "scope": 16456, + "src": "5770:205:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16454, + "nodeType": "Block", + "src": "6084:69:59", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16448, + "name": "_total_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16446, + "src": "6094:12:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16450, + "name": "allParticipants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16058, + "src": "6130:15:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + ], + "id": 16449, + "name": "read_total_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22100, + "src": "6109:20:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Address_$23032_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer) view returns (uint256)" + } + }, + "id": 16451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6109:37:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6094:52:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16453, + "nodeType": "ExpressionStatement", + "src": "6094:52:59" + } + ] + }, + "documentation": null, + "id": 16455, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readTotalParticipant", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16444, + "nodeType": "ParameterList", + "parameters": [], + "src": "6010:2:59" + }, + "payable": false, + "returnParameters": { + "id": 16447, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16446, + "name": "_total_count", + "nodeType": "VariableDeclaration", + "scope": 16455, + "src": "6058:20:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16445, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6058:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6057:22:59" + }, + "scope": 16456, + "src": "5981:172:59", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 16457, + "src": "286:5869:59" + } + ], + "src": "0:6156:59" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": { + "DoublyLinkedList": "0x5dcbac109092766a169a82b9add3551bac7068f6" + }, + "address": "0x07aeb88017e7ffc2b1aba33f07b888a92ed42596", + "transactionHash": "0x48ced8e509718585a1501f9214b29f09d0b721f1e7fcbc2c382244f266aa98bb" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T09:18:32.952Z" +} \ No newline at end of file diff --git a/build/contracts/DaoStorage.json b/build/contracts/DaoStorage.json new file mode 100644 index 0000000..6082580 --- /dev/null +++ b/build/contracts/DaoStorage.json @@ -0,0 +1,48365 @@ +{ + "contractName": "DaoStorage", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readProposal", + "outputs": [ + { + "name": "_doc", + "type": "bytes32" + }, + { + "name": "_proposer", + "type": "address" + }, + { + "name": "_endorser", + "type": "address" + }, + { + "name": "_state", + "type": "bytes32" + }, + { + "name": "_timeCreated", + "type": "uint256" + }, + { + "name": "_nVersions", + "type": "uint256" + }, + { + "name": "_latestVersionDoc", + "type": "bytes32" + }, + { + "name": "_finalVersion", + "type": "bytes32" + }, + { + "name": "_pausedOrStopped", + "type": "bool" + }, + { + "name": "_isDigixProposal", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readProposalProposer", + "outputs": [ + { + "name": "_proposer", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readTotalPrlActions", + "outputs": [ + { + "name": "_length", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + } + ], + "name": "readPrlAction", + "outputs": [ + { + "name": "_actionId", + "type": "uint256" + }, + { + "name": "_time", + "type": "uint256" + }, + { + "name": "_doc", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readProposalDraftVotingResult", + "outputs": [ + { + "name": "_result", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + } + ], + "name": "readProposalVotingResult", + "outputs": [ + { + "name": "_result", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readProposalDraftVotingTime", + "outputs": [ + { + "name": "_start", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + } + ], + "name": "readProposalVotingTime", + "outputs": [ + { + "name": "_start", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_allUsers", + "type": "address[]" + } + ], + "name": "readDraftVotingCount", + "outputs": [ + { + "name": "_for", + "type": "uint256" + }, + { + "name": "_against", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + }, + { + "name": "_allUsers", + "type": "address[]" + } + ], + "name": "readVotingCount", + "outputs": [ + { + "name": "_for", + "type": "uint256" + }, + { + "name": "_against", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + }, + { + "name": "_allUsers", + "type": "address[]" + }, + { + "name": "_vote", + "type": "bool" + } + ], + "name": "readVotingRoundVotes", + "outputs": [ + { + "name": "_voters", + "type": "address[]" + }, + { + "name": "_length", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "readDraftVote", + "outputs": [ + { + "name": "_vote", + "type": "bool" + }, + { + "name": "_weight", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "readComittedVote", + "outputs": [ + { + "name": "_commitHash", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "readVote", + "outputs": [ + { + "name": "_vote", + "type": "bool" + }, + { + "name": "_weight", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getFirstProposal", + "outputs": [ + { + "name": "_id", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getLastProposal", + "outputs": [ + { + "name": "_id", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "getNextProposal", + "outputs": [ + { + "name": "_id", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "getPreviousProposal", + "outputs": [ + { + "name": "_id", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_stateId", + "type": "bytes32" + } + ], + "name": "getFirstProposalInState", + "outputs": [ + { + "name": "_id", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_stateId", + "type": "bytes32" + } + ], + "name": "getLastProposalInState", + "outputs": [ + { + "name": "_id", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_stateId", + "type": "bytes32" + }, + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "getNextProposalInState", + "outputs": [ + { + "name": "_id", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_stateId", + "type": "bytes32" + }, + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "getPreviousProposalInState", + "outputs": [ + { + "name": "_id", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_version", + "type": "bytes32" + } + ], + "name": "readProposalVersion", + "outputs": [ + { + "name": "_doc", + "type": "bytes32" + }, + { + "name": "_created", + "type": "uint256" + }, + { + "name": "_milestoneFundings", + "type": "uint256[]" + }, + { + "name": "_finalReward", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readProposalFunding", + "outputs": [ + { + "name": "_fundings", + "type": "uint256[]" + }, + { + "name": "_finalReward", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + } + ], + "name": "readProposalMilestone", + "outputs": [ + { + "name": "_funding", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "getFirstProposalVersion", + "outputs": [ + { + "name": "_version", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "getLastProposalVersion", + "outputs": [ + { + "name": "_version", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_version", + "type": "bytes32" + } + ], + "name": "getNextProposalVersion", + "outputs": [ + { + "name": "_nextVersion", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_version", + "type": "bytes32" + } + ], + "name": "getPreviousProposalVersion", + "outputs": [ + { + "name": "_previousVersion", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "isDraftClaimed", + "outputs": [ + { + "name": "_claimed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + } + ], + "name": "isClaimed", + "outputs": [ + { + "name": "_claimed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readProposalCollateralStatus", + "outputs": [ + { + "name": "_status", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readProposalCollateralAmount", + "outputs": [ + { + "name": "_amount", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readProposalDocs", + "outputs": [ + { + "name": "_moreDocs", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_milestoneId", + "type": "uint256" + } + ], + "name": "readIfMilestoneFunded", + "outputs": [ + { + "name": "_funded", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_doc", + "type": "bytes32" + }, + { + "name": "_proposer", + "type": "address" + }, + { + "name": "_milestoneFundings", + "type": "uint256[]" + }, + { + "name": "_finalReward", + "type": "uint256" + }, + { + "name": "_isFounder", + "type": "bool" + } + ], + "name": "addProposal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_newDoc", + "type": "bytes32" + }, + { + "name": "_newMilestoneFundings", + "type": "uint256[]" + }, + { + "name": "_finalReward", + "type": "uint256" + } + ], + "name": "editProposal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_newMilestoneFundings", + "type": "uint256[]" + }, + { + "name": "_finalReward", + "type": "uint256" + } + ], + "name": "changeFundings", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_newDoc", + "type": "bytes32" + } + ], + "name": "addProposalDoc", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "finalizeProposal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_endorser", + "type": "address" + } + ], + "name": "updateProposalEndorse", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_result", + "type": "bool" + } + ], + "name": "setProposalDraftPass", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + }, + { + "name": "_result", + "type": "bool" + } + ], + "name": "setProposalPass", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_time", + "type": "uint256" + } + ], + "name": "setProposalDraftVotingTime", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + }, + { + "name": "_time", + "type": "uint256" + } + ], + "name": "setProposalVotingTime", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_claimed", + "type": "bool" + } + ], + "name": "setDraftVotingClaim", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + }, + { + "name": "_claimed", + "type": "bool" + } + ], + "name": "setVotingClaim", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_status", + "type": "uint256" + } + ], + "name": "setProposalCollateralStatus", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "setProposalCollateralAmount", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_action", + "type": "uint256" + }, + { + "name": "_doc", + "type": "bytes32" + }, + { + "name": "_time", + "type": "uint256" + } + ], + "name": "updateProposalPRL", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_voter", + "type": "address" + }, + { + "name": "_vote", + "type": "bool" + }, + { + "name": "_weight", + "type": "uint256" + } + ], + "name": "addDraftVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_hash", + "type": "bytes32" + }, + { + "name": "_voter", + "type": "address" + }, + { + "name": "_index", + "type": "uint256" + } + ], + "name": "commitVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_voter", + "type": "address" + }, + { + "name": "_vote", + "type": "bool" + }, + { + "name": "_weight", + "type": "uint256" + }, + { + "name": "_index", + "type": "uint256" + } + ], + "name": "revealVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "closeProposal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "archiveProposal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_milestoneId", + "type": "uint256" + } + ], + "name": "setMilestoneFunded", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b50604051602080620060dd83398101806040528101908080519060200190929190505050620011756025548262001188640100000000026401000000009004565b15156200118157600080fd5b5062001419565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f057600080fd5b505af115801562001205573d6000803e3d6000fd5b505050506040513d60208110156200121c57600080fd5b810190808051906020019092919050505090506000151581151514156200140d5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013ba57600080fd5b505af1158015620013cf573d6000803e3d6000fd5b505050506040513d6020811015620013e657600080fd5b810190808051906020019092919050505015156200140357600080fd5b6001915062001412565b600091505b5092915050565b614cb480620014296000396000f3006080604052600436106102ca576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303020ea9146102cf57806304f3bcec14610380578063078f872c146103d75780630bcaa451146104085780630c012e591461045b5780630ec8f125146104a85780631478fff1146104f15780631d2103d11461054c5780631d47c3d3146105c65780631ea5d62f14610613578063237286e91461065a57806327618ad9146106a757806327a9bb0e146106e45780632fd010da1461071f578063344e436e146107865780633943380c146107cb578063395ddde9146107fe5780633a85b822146108475780633be88369146108965780633e020d2f146108db5780633f83acff1461092257806341a715891461099357806347d0da14146109e657806347d621a314610a1757806349a428d014610a725780634c5b318a14610ab757806356674c9f14610afc57806358cec13914610b57578063598f0eaf14610bc05780635b712eb614610c3757806370a6f59114610ca85780637246d5a714610cf55780637aafacae14610d8257806382e445c614610de757806385f5276f14610e245780638a2d659714610e7757806395ecdf9e14610eb2578063a1d444a414610ee3578063a1e55acf14610f62578063a6129f8c14610fd0578063a692e0ef14611041578063ac443d9f1461109c578063baf42660146110ed578063bb3b5f6d1461113c578063c004b7de146111a0578063c3093bb1146111f3578063c362c79014611246578063cfd5917214611281578063d8d50179146112b4578063db4ecbc1146113b8578063de233e421461140f578063e14b2c2614611495578063e3f3f7a214611505578063e415667514611540578063e7853aac1461158d578063e81362fe146115da578063eb82718a14611695578063eef7b8f5146116da578063f0ab3dd914611719578063ffec1b211461174c575b600080fd5b3480156102db57600080fd5b5061030c600480360381019080803560001916906020019092919080356000191690602001909291905050506117ad565b60405180856000191660001916815260200184815260200180602001838152602001828103825284818151815260200191508051906020019060200280838360005b8381101561036957808201518184015260208101905061034e565b505050509050019550505050505060405180910390f35b34801561038c57600080fd5b5061039561191a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103e357600080fd5b50610406600480360381019080803560001916906020019092919050505061193f565b005b34801561041457600080fd5b50610441600480360381019080803560001916906020019092919080359060200190929190505050611961565b604051808215151515815260200191505060405180910390f35b34801561046757600080fd5b5061048a60048036038101908080356000191690602001909291905050506119be565b60405180826000191660001916815260200191505060405180910390f35b3480156104b457600080fd5b506104d760048036038101908080356000191690602001909291905050506119f2565b604051808215151515815260200191505060405180910390f35b3480156104fd57600080fd5b5061052e60048036038101908080356000191690602001909291908035600019169060200190929190505050611a3d565b60405180826000191660001916815260200191505060405180910390f35b34801561055857600080fd5b506105a5600480360381019080803560001916906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a7e565b60405180831515151581526020018281526020019250505060405180910390f35b3480156105d257600080fd5b506105f56004803603810190808035600019169060200190929190505050611bb3565b60405180826000191660001916815260200191505060405180910390f35b34801561061f57600080fd5b50610658600480360381019080803560001916906020019092919080359060200190929190803515159060200190929190505050611bf2565b005b34801561066657600080fd5b506106896004803603810190808035600019169060200190929190505050611e4a565b60405180826000191660001916815260200191505060405180910390f35b3480156106b357600080fd5b506106e26004803603810190808035600019169060200190929190803515159060200190929190505050611e5e565b005b3480156106f057600080fd5b5061071d600480360381019080803560001916906020019092919080359060200190929190505050611eb1565b005b34801561072b57600080fd5b506107846004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919080359060200190929190505050611f16565b005b34801561079257600080fd5b506107c960048036038101908080356000191690602001909291908035906020019092919080359060200190929190505050612120565b005b3480156107d757600080fd5b506107e06121a9565b60405180826000191660001916815260200191505060405180910390f35b34801561080a57600080fd5b5061082d60048036038101908080356000191690602001909291905050506121af565b604051808215151515815260200191505060405180910390f35b34801561085357600080fd5b506108806004803603810190808035600019169060200190929190803590602001909291905050506121e7565b6040518082815260200191505060405180910390f35b3480156108a257600080fd5b506108c560048036038101908080356000191690602001909291905050506122ce565b6040518082815260200191505060405180910390f35b3480156108e757600080fd5b50610920600480360381019080803560001916906020019092919080359060200190929190803515159060200190929190505050612309565b005b34801561092e57600080fd5b50610951600480360381019080803560001916906020019092919050505061236e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561099f57600080fd5b506109cc60048036038101908080356000191690602001909291908035906020019092919050505061244a565b604051808215151515815260200191505060405180910390f35b3480156109f257600080fd5b50610a1560048036038101908080356000191690602001909291905050506124a7565b005b348015610a2357600080fd5b50610a54600480360381019080803560001916906020019092919080356000191690602001909291905050506124ef565b60405180826000191660001916815260200191505060405180910390f35b348015610a7e57600080fd5b50610aa16004803603810190808035600019169060200190929190505050612525565b6040518082815260200191505060405180910390f35b348015610ac357600080fd5b50610ae66004803603810190808035600019169060200190929190505050612563565b6040518082815260200191505060405180910390f35b348015610b0857600080fd5b50610b396004803603810190808035600019169060200190929190803560001916906020019092919050505061258e565b60405180826000191660001916815260200191505060405180910390f35b348015610b6357600080fd5b50610bbe60048036038101908080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506125c4565b005b348015610bcc57600080fd5b50610c19600480360381019080803560001916906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612658565b60405180826000191660001916815260200191505060405180910390f35b348015610c4357600080fd5b50610c6660048036038101908080356000191690602001909291905050506126e6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610cb457600080fd5b50610cd7600480360381019080803560001916906020019092919050505061272e565b60405180826000191660001916815260200191505060405180910390f35b348015610d0157600080fd5b50610d246004803603810190808035600019169060200190929190505050612742565b6040518080602001838152602001828103825284818151815260200191508051906020019060200280838360005b83811015610d6d578082015181840152602081019050610d52565b50505050905001935050505060405180910390f35b348015610d8e57600080fd5b50610dbb600480360381019080803560001916906020019092919080359060200190929190505050612862565b604051808481526020018381526020018260001916600019168152602001935050505060405180910390f35b348015610df357600080fd5b50610e226004803603810190808035600019169060200190929190803515159060200190929190505050612977565b005b348015610e3057600080fd5b50610e5d600480360381019080803560001916906020019092919080359060200190929190505050612bb2565b604051808215151515815260200191505060405180910390f35b348015610e8357600080fd5b50610eb0600480360381019080803560001916906020019092919080359060200190929190505050612bfc565b005b348015610ebe57600080fd5b50610ee16004803603810190808035600019169060200190929190505050612c39565b005b348015610eef57600080fd5b50610f606004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190820180359060200191909192939192939080359060200190929190803515159060200190929190505050612e47565b005b348015610f6e57600080fd5b50610fb3600480360381019080803560001916906020019092919080359060200190929190803590602001908201803590602001919091929391929390505050613222565b604051808381526020018281526020019250505060405180910390f35b348015610fdc57600080fd5b5061103f6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291908035906020019092919080359060200190929190505050613349565b005b34801561104d57600080fd5b5061107e60048036038101908080356000191690602001909291908035600019169060200190929190505050613461565b60405180826000191660001916815260200191505060405180910390f35b3480156110a857600080fd5b506110eb6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506134a2565b005b3480156110f957600080fd5b506111266004803603810190808035600019169060200190929190803590602001909291905050506136d8565b6040518082815260200191505060405180910390f35b34801561114857600080fd5b506111836004803603810190808035600019169060200190929190803590602001908201803590602001919091929391929390505050613728565b604051808381526020018281526020019250505060405180910390f35b3480156111ac57600080fd5b506111f160048036038101908080356000191690602001909291908035906020019092919080356000191690602001909291908035906020019092919050505061383d565b005b3480156111ff57600080fd5b50611244600480360381019080803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190929190505050613a00565b005b34801561125257600080fd5b5061127f600480360381019080803560001916906020019092919080359060200190929190505050613ae2565b005b34801561128d57600080fd5b50611296613b56565b60405180826000191660001916815260200191505060405180910390f35b3480156112c057600080fd5b506112e36004803603810190808035600019169060200190929190505050613b67565b604051808b600019166000191681526020018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200188600019166000191681526020018781526020018681526020018560001916600019168152602001846000191660001916815260200183151515158152602001821515151581526020019a505050505050505050505060405180910390f35b3480156113c457600080fd5b506113cd613c64565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561141b57600080fd5b5061143e6004803603810190808035600019169060200190929190505050613c8a565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015611481578082015181840152602081019050611466565b505050509050019250505060405180910390f35b3480156114a157600080fd5b506114e46004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613d5d565b60405180831515151581526020018281526020019250505060405180910390f35b34801561151157600080fd5b5061153e600480360381019080803560001916906020019092919080359060200190929190505050613e80565b005b34801561154c57600080fd5b5061156f6004803603810190808035600019169060200190929190505050613ec0565b60405180826000191660001916815260200191505060405180910390f35b34801561159957600080fd5b506115bc6004803603810190808035600019169060200190929190505050613ef4565b60405180826000191660001916815260200191505060405180910390f35b3480156115e657600080fd5b50611637600480360381019080803560001916906020019092919080359060200190929190803590602001908201803590602001919091929391929390803515159060200190929190505050613f33565b6040518080602001838152602001828103825284818151815260200191508051906020019060200280838360005b83811015611680578082015181840152602081019050611665565b50505050905001935050505060405180910390f35b3480156116a157600080fd5b506116c460048036038101908080356000191690602001909291905050506140c2565b6040518082815260200191505060405180910390f35b3480156116e657600080fd5b50611717600480360381019080803560001916906020019092919080356000191690602001909291905050506140ea565b005b34801561172557600080fd5b5061172e6141ab565b60405180826000191660001916815260200191505060405180910390f35b34801561175857600080fd5b506117ab60048036038101908080356000191690602001909291908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001909291905050506141bc565b005b600080606060006076600087600019166000191681526020019081526020016000206009016000866000191660001916815260200190815260200160002073__DaoStructs____________________________6310d31f6490916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060006040518083038186803b15801561185757600080fd5b505af415801561186b573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250608081101561189557600080fd5b81019080805190602001909291908051906020019092919080516401000000008111156118c157600080fd5b828101905060208101848111156118d757600080fd5b81518560208202830111640100000000821117156118f457600080fd5b505092919060200180519060200190929190505050935093509350935092959194509250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61194a6014546142b5565b151561195557600080fd5b61195e816143bf565b50565b600061196b6145b7565b151561197657600080fd5b607660008460001916600019168152602001908152602001600020601001600083815260200190815260200160002060050160009054906101000a900460ff16905092915050565b60008060766000846000191660001916815260200190815260200160002090506119ea816003016146d1565b915050919050565b60006119fc6145b7565b1515611a0757600080fd5b607660008360001916600019168152602001908152602001600020600a0160050160009054906101000a900460ff169050919050565b6000611a476145b7565b1515611a5257600080fd5b611a7660776000856000191660001916815260200190815260200160002083614782565b905092915050565b600080611a896145b7565b1515611a9457600080fd5b607660008660001916600019168152602001908152602001600020601001600085815260200190815260200160002073__DaoStructs____________________________634bf150b99091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050604080518083038186803b158015611b6257600080fd5b505af4158015611b76573d6000803e3d6000fd5b505050506040513d6040811015611b8c57600080fd5b81019080805190602001909291908051906020019092919050505091509150935093915050565b6000611bbd6145b7565b1515611bc857600080fd5b611beb6077600084600019166000191681526020019081526020016000206146d1565b9050919050565b611bfd6018546142b5565b1515611c0857600080fd5b801515611c1d57611c18836143bf565b611dfb565b6000821415611dfa57607760006007546000191660001916815260200190815260200160002073__DoublyLinkedList______________________6352c6bbf49091856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015611cbf57600080fd5b505af4158015611cd3573d6000803e3d6000fd5b505050506040513d6020811015611ce957600080fd5b810190808051906020019092919050505050607760006008546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015611d9457600080fd5b505af4158015611da8573d6000803e3d6000fd5b505050506040513d6020811015611dbe57600080fd5b81019080805190602001909291905050505060085460766000856000191660001916815260200190815260200160002060010181600019169055505b5b80607660008560001916600019168152602001908152602001600020601001600084815260200190815260200160002060050160006101000a81548160ff021916908315150217905550505050565b6000611e57607083614844565b9050919050565b611e696018546142b5565b1515611e7457600080fd5b80607660008460001916600019168152602001908152602001600020600a0160050160016101000a81548160ff0219169083151502179055505050565b611ebc601e546142b5565b1515611ec757600080fd5b6001607660008460001916600019168152602001908152602001600020601001600083815260200190815260200160002060050160026101000a81548160ff0219169083151502179055505050565b6000611f236017546142b5565b1515611f2e57600080fd5b60766000866000191660001916815260200190815260200160002090508215612037578181600a0160030160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600081600a0160040160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561203257600081600a0160040160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b612119565b8181600a0160040160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600081600a0160030160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561211857600081600a0160030160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b5050505050565b61216260606040519081016040528060145460001916600019168152602001601854600019166000191681526020016003546000191660001916815250614906565b151561216d57600080fd5b80607660008560001916600019168152602001908152602001600020601001600084815260200190815260200160002060000181905550505050565b60015481565b6000607660008360001916600019168152602001908152602001600020600a0160050160019054906101000a900460ff169050919050565b60006121f16145b7565b15156121fc57600080fd5b60766000846000191660001916815260200190815260200160002073__DaoStructs____________________________631728cc369091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561228b57600080fd5b505af415801561229f573d6000803e3d6000fd5b505050506040513d60208110156122b557600080fd5b8101908080519060200190929190505050905092915050565b60006122d86145b7565b15156122e357600080fd5b607660008360001916600019168152602001908152602001600020601101549050919050565b6123146018546142b5565b151561231f57600080fd5b80607660008560001916600019168152602001908152602001600020601001600084815260200190815260200160002060050160016101000a81548160ff021916908315150217905550505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561240857600080fd5b505af115801561241c573d6000803e3d6000fd5b505050506040513d602081101561243257600080fd5b81019080805190602001909291905050509050919050565b60006124546145b7565b151561245f57600080fd5b607660008460001916600019168152602001908152602001600020601001600083815260200190815260200160002060050160029054906101000a900460ff16905092915050565b6124b26014546142b5565b15156124bd57600080fd5b6124c6816119be565b607660008360001916600019168152602001908152602001600020601301816000191690555050565b600080607660008560001916600019168152602001908152602001600020905061251c8160030184614844565b91505092915050565b600061252f6145b7565b151561253a57600080fd5b607660008360001916600019168152602001908152602001600020600a01600001549050919050565b6000607660008360001916600019168152602001908152602001600020601401805490509050919050565b60008060766000856000191660001916815260200190815260200160002090506125bb8160030184614782565b91505092915050565b6125cf6017546142b5565b15156125da57600080fd5b82607660008660001916600019168152602001908152602001600020601001600083815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020816000191690555050505050565b60006126626145b7565b151561266d57600080fd5b607660008560001916600019168152602001908152602001600020601001600084815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490509392505050565b600060766000836000191660001916815260200190815260200160002060150160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061273b607083614782565b9050919050565b606060008061274f6145b7565b151561275a57600080fd5b6076600085600019166000191681526020019081526020016000206013015490506003546000191681600019161415151561279457600080fd5b6076600085600019166000191681526020019081526020016000206009016000826000191660001916815260200190815260200160002060040180548060200260200160405190810160405280929190818152602001828054801561281857602002820191906000526020600020905b815481526020019060010190808311612804575b505050505092506076600085600019166000191681526020019081526020016000206009016000826000191660001916815260200190815260200160002060030154915050915091565b60008060006060607660008760001916600019168152602001908152602001600020601401805480602002602001604051908101604052809291908181526020016000905b8282101561290057838290600052602060002090600302016060604051908101604052908160008201548152602001600182015460001916600019168152602001600282015481525050815260200190600101906128a7565b50505050905080518510151561291557600080fd5b808581518110151561292357fe5b90602001906020020151604001519350808581518110151561294157fe5b90602001906020020151600001519250808581518110151561295f57fe5b90602001906020020151602001519150509250925092565b6129826018546142b5565b151561298d57600080fd5b80607660008460001916600019168152602001908152602001600020600a0160050160006101000a81548160ff0219169083151502179055508015612ba457607760006006546000191660001916815260200190815260200160002073__DoublyLinkedList______________________6352c6bbf49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015612a6557600080fd5b505af4158015612a79573d6000803e3d6000fd5b505050506040513d6020811015612a8f57600080fd5b810190808051906020019092919050505050607760006007546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015612b3a57600080fd5b505af4158015612b4e573d6000803e3d6000fd5b505050506040513d6020811015612b6457600080fd5b8101908080519060200190929190505050506007546076600084600019166000191681526020019081526020016000206001018160001916905550612bae565b612bad826143bf565b5b5050565b6000607660008460001916600019168152602001908152602001600020601001600083815260200190815260200160002060050160019054906101000a900460ff16905092915050565b612c076014546142b5565b1515612c1257600080fd5b80607660008460001916600019168152602001908152602001600020601201819055505050565b6000612c466018546142b5565b1515612c5157600080fd5b60766000836000191660001916815260200190815260200160002060010154905060776000826000191660001916815260200190815260200160002073__DoublyLinkedList______________________6352c6bbf49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015612d0957600080fd5b505af4158015612d1d573d6000803e3d6000fd5b505050506040513d6020811015612d3357600080fd5b81019080805190602001909291905050505060776000600a546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015612dde57600080fd5b505af4158015612df2573d6000803e3d6000fd5b505050506040513d6020811015612e0857600080fd5b810190808051906020019092919050505050600a5460766000846000191660001916815260200190815260200160002060010181600019169055505050565b612e526014546142b5565b1515612e5d57600080fd5b600354600019166076600088600019166000191681526020019081526020016000206000015460001916148015612e9e575060035460001916866000191614155b1515612ea957600080fd5b607073__DoublyLinkedList______________________63582f30b49091886040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015612f2757600080fd5b505af4158015612f3b573d6000803e3d6000fd5b505050506040513d6020811015612f5157600080fd5b810190808051906020019092919050505050607760006005546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091886040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015612ffc57600080fd5b505af4158015613010573d6000803e3d6000fd5b505050506040513d602081101561302657600080fd5b8101908080519060200190929190505050508560766000886000191660001916815260200190815260200160002060000181600019169055508460766000886000191660001916815260200190815260200160002060150160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600554607660008860001916600019168152602001908152602001600020600101816000191690555042607660008860001916600019168152602001908152602001600020600201819055508060766000886000191660001916815260200190815260200160002060160160156101000a81548160ff02191690831515021790555060766000876000191660001916815260200190815260200160002073__DaoStructs____________________________63ea496bc99091888787876040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086815260200185600019166000191681526020018060200183815260200182810382528585828181526020019250602002808284378201915050965050505050505060006040518083038186803b15801561320257600080fd5b505af4158015613216573d6000803e3d6000fd5b50505050505050505050565b60008061322d6145b7565b151561323857600080fd5b607660008760001916600019168152602001908152602001600020601001600086815260200190815260200160002073__DaoStructs____________________________63b31ee28c909186866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018060200182810382528484828181526020019250602002808284378201915050945050505050604080518083038186803b1580156132f757600080fd5b505af415801561330b573d6000803e3d6000fd5b505050506040513d604081101561332157600080fd5b8101908080519060200190929190805190602001909291905050509150915094509492505050565b6133546017546142b5565b151561335f57600080fd5b607660008660001916600019168152602001908152602001600020601001600082815260200190815260200160002073__DaoStructs____________________________631a14c51b90918686866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018315151515815260200182815260200194505050505060006040518083038186803b15801561344257600080fd5b505af4158015613456573d6000803e3d6000fd5b505050505050505050565b600061346b6145b7565b151561347657600080fd5b61349a60776000856000191660001916815260200190815260200160002083614844565b905092915050565b60006134af6014546142b5565b15156134ba57600080fd5b6076600084600019166000191681526020019081526020016000209050818160160160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654816001018160001916905550607760006005546000191660001916815260200190815260200160002073__DoublyLinkedList______________________6352c6bbf49091856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b1580156135c257600080fd5b505af41580156135d6573d6000803e3d6000fd5b505050506040513d60208110156135ec57600080fd5b810190808051906020019092919050505050607760006006546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561369757600080fd5b505af41580156136ab573d6000803e3d6000fd5b505050506040513d60208110156136c157600080fd5b810190808051906020019092919050505050505050565b60006136e26145b7565b15156136ed57600080fd5b607660008460001916600019168152602001908152602001600020601001600083815260200190815260200160002060000154905092915050565b6000806137336145b7565b151561373e57600080fd5b607660008660001916600019168152602001908152602001600020600a0173__DaoStructs____________________________63b31ee28c909186866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018060200182810382528484828181526020019250602002808284378201915050945050505050604080518083038186803b1580156137ec57600080fd5b505af4158015613800573d6000803e3d6000fd5b505050506040513d604081101561381657600080fd5b81019080805190602001909291908051906020019092919050505091509150935093915050565b613845614bf1565b6138506014546142b5565b151561385b57600080fd5b6009546000191660766000876000191660001916815260200190815260200160002060010154600019161415151561389257600080fd5b818160000181815250508281602001906000191690816000191681525050838160400181815250506076600086600019166000191681526020019081526020016000206014018190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001019060001916905560408201518160020155505050600c5484141561397157600160766000876000191660001916815260200190815260200160002060160160146101000a81548160ff0219169083151502179055506139f9565b600d548414156139b757600060766000876000191660001916815260200190815260200160002060160160146101000a81548160ff0219169083151502179055506139f8565b600160766000876000191660001916815260200190815260200160002060160160146101000a81548160ff0219169083151502179055506139f7856143bf565b5b5b5050505050565b6000613a0d6014546142b5565b1515613a1857600080fd5b60766000866000191660001916815260200190815260200160002060130154905060035460001916816000191614151515613a5257600080fd5b8383607660008860001916600019168152602001908152602001600020600901600084600019166000191681526020019081526020016000206004019190613a9b929190614c16565b508160766000876000191660001916815260200190815260200160002060090160008360001916600019168152602001908152602001600020600301819055505050505050565b613b2460606040519081016040528060185460001916600019168152602001601e54600019166000191681526020016014546000191660001916815250614906565b1515613b2f57600080fd5b80607660008460001916600019168152602001908152602001600020601101819055505050565b6000613b626070614a7d565b905090565b6000806000806000806000806000806000613b806145b7565b1515613b8b57600080fd5b607660008d60001916600019168152602001908152602001600020905080600001549a508060150160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1699508060160160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1698508060010154975080600201549650613c1781600301614b2e565b9550613c25816003016146d1565b9450806013015493508060160160149054906101000a900460ff1692508060160160159054906101000a900460ff169150509193959799509193959799565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600060766000846000191660001916815260200190815260200160002060130154905060035460001916816000191614151515613cc857600080fd5b60766000846000191660001916815260200190815260200160002060090160008260001916600019168152602001908152602001600020600501805480602002602001604051908101604052809291908181526020018280548015613d5057602002820191906000526020600020905b81546000191681526020019060010190808311613d38575b5050505050915050919050565b600080613d686145b7565b1515613d7357600080fd5b607660008560001916600019168152602001908152602001600020600a0173__DaoStructs____________________________634bf150b99091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050604080518083038186803b158015613e3057600080fd5b505af4158015613e44573d6000803e3d6000fd5b505050506040513d6040811015613e5a57600080fd5b810190808051906020019092919080519060200190929190505050915091509250929050565b613e8b6014546142b5565b1515613e9657600080fd5b80607660008460001916600019168152602001908152602001600020600a01600001819055505050565b6000806076600084600019166000191681526020019081526020016000209050613eec81600301614a7d565b915050919050565b6000613efe6145b7565b1515613f0957600080fd5b613f2c607760008460001916600019168152602001908152602001600020614a7d565b9050919050565b60606000613f3f6145b7565b1515613f4a57600080fd5b607660008860001916600019168152602001908152602001600020601001600087815260200190815260200160002073__DaoStructs____________________________63f53380cf90918787876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018060200183151515158152602001828103825285858281815260200192506020028082843782019150509550505050505060006040518083038186803b15801561401657600080fd5b505af415801561402a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250604081101561405457600080fd5b81019080805164010000000081111561406c57600080fd5b8281019050602081018481111561408257600080fd5b815185602082028301116401000000008211171561409f57600080fd5b505092919060200180519060200190929190505050915091509550959350505050565b6000607660008360001916600019168152602001908152602001600020601201549050919050565b60006140f76014546142b5565b151561410257600080fd5b6076600084600019166000191681526020019081526020016000206013015490506003546000191681600019161415151561413c57600080fd5b60766000846000191660001916815260200190815260200160002060090160008260001916600019168152602001908152602001600020600501829080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550505050565b60006141b760706146d1565b905090565b6141c76014546142b5565b15156141d257600080fd5b60766000866000191660001916815260200190815260200160002073__DaoStructs____________________________63ea496bc99091868686866040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086815260200185600019166000191681526020018060200183815260200182810382528585828181526020019250602002808284378201915050965050505050505060006040518083038186803b15801561429657600080fd5b505af41580156142aa573d6000803e3d6000fd5b505050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561434f57600080fd5b505af1158015614363573d6000803e3d6000fd5b505050506040513d602081101561437957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b600060766000836000191660001916815260200190815260200160002060010154905060776000826000191660001916815260200190815260200160002073__DoublyLinkedList______________________6352c6bbf49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561447957600080fd5b505af415801561448d573d6000803e3d6000fd5b505050506040513d60208110156144a357600080fd5b810190808051906020019092919050505050607760006009546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561454e57600080fd5b505af4158015614562573d6000803e3d6000fd5b505050506040513d602081101561457857600080fd5b81019080805190602001909291905050505060095460766000846000191660001916815260200190815260200160002060010181600019169055505050565b60003273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806146cc57506145f6614bdf565b73ffffffffffffffffffffffffffffffffffffffff16639b19251a336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561469057600080fd5b505af11580156146a4573d6000803e3d6000fd5b505050506040513d60208110156146ba57600080fd5b81019080805190602001909291905050505b905090565b60008173__DoublyLinkedList______________________632553148290916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b15801561474057600080fd5b505af4158015614754573d6000803e3d6000fd5b505050506040513d602081101561476a57600080fd5b81019080805190602001909291905050509050919050565b60008273__DoublyLinkedList______________________632a1441789091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561480157600080fd5b505af4158015614815573d6000803e3d6000fd5b505050506040513d602081101561482b57600080fd5b8101908080519060200190929190505050905092915050565b60008273__DoublyLinkedList______________________63cf06689d9091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b1580156148c357600080fd5b505af41580156148d7573d6000803e3d6000fd5b505050506040513d60208110156148ed57600080fd5b8101908080519060200190929190505050905092915050565b600080600060039150600090505b81811015614a7657600060010260001916848260038110151561493357fe5b602002015160001916141561494757614a69565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff858360038110151561499257fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156149f157600080fd5b505af1158015614a05573d6000803e3d6000fd5b505050506040513d6020811015614a1b57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415614a685760019250614a76565b5b8080600101915050614914565b5050919050565b60008173__DoublyLinkedList______________________6356717c7990916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b158015614aec57600080fd5b505af4158015614b00573d6000803e3d6000fd5b505050506040513d6020811015614b1657600080fd5b81019080805190602001909291905050509050919050565b60008173__DoublyLinkedList______________________630f77955290916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b158015614b9d57600080fd5b505af4158015614bb1573d6000803e3d6000fd5b505050506040513d6020811015614bc757600080fd5b81019080805190602001909291905050509050919050565b6000614bec602e5461236e565b905090565b6060604051908101604052806000815260200160008019168152602001600081525090565b828054828255906000526020600020908101928215614c52579160200282015b82811115614c51578235825591602001919060010190614c36565b5b509050614c5f9190614c63565b5090565b614c8591905b80821115614c81576000816000905550600101614c69565b5090565b905600a165627a7a723058205de6767964bde5eca2f8cfcd439898fbdb97c9d649b86a2c999b1bcbabaeeff30029", + "deployedBytecode": "0x6080604052600436106102ca576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303020ea9146102cf57806304f3bcec14610380578063078f872c146103d75780630bcaa451146104085780630c012e591461045b5780630ec8f125146104a85780631478fff1146104f15780631d2103d11461054c5780631d47c3d3146105c65780631ea5d62f14610613578063237286e91461065a57806327618ad9146106a757806327a9bb0e146106e45780632fd010da1461071f578063344e436e146107865780633943380c146107cb578063395ddde9146107fe5780633a85b822146108475780633be88369146108965780633e020d2f146108db5780633f83acff1461092257806341a715891461099357806347d0da14146109e657806347d621a314610a1757806349a428d014610a725780634c5b318a14610ab757806356674c9f14610afc57806358cec13914610b57578063598f0eaf14610bc05780635b712eb614610c3757806370a6f59114610ca85780637246d5a714610cf55780637aafacae14610d8257806382e445c614610de757806385f5276f14610e245780638a2d659714610e7757806395ecdf9e14610eb2578063a1d444a414610ee3578063a1e55acf14610f62578063a6129f8c14610fd0578063a692e0ef14611041578063ac443d9f1461109c578063baf42660146110ed578063bb3b5f6d1461113c578063c004b7de146111a0578063c3093bb1146111f3578063c362c79014611246578063cfd5917214611281578063d8d50179146112b4578063db4ecbc1146113b8578063de233e421461140f578063e14b2c2614611495578063e3f3f7a214611505578063e415667514611540578063e7853aac1461158d578063e81362fe146115da578063eb82718a14611695578063eef7b8f5146116da578063f0ab3dd914611719578063ffec1b211461174c575b600080fd5b3480156102db57600080fd5b5061030c600480360381019080803560001916906020019092919080356000191690602001909291905050506117ad565b60405180856000191660001916815260200184815260200180602001838152602001828103825284818151815260200191508051906020019060200280838360005b8381101561036957808201518184015260208101905061034e565b505050509050019550505050505060405180910390f35b34801561038c57600080fd5b5061039561191a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103e357600080fd5b50610406600480360381019080803560001916906020019092919050505061193f565b005b34801561041457600080fd5b50610441600480360381019080803560001916906020019092919080359060200190929190505050611961565b604051808215151515815260200191505060405180910390f35b34801561046757600080fd5b5061048a60048036038101908080356000191690602001909291905050506119be565b60405180826000191660001916815260200191505060405180910390f35b3480156104b457600080fd5b506104d760048036038101908080356000191690602001909291905050506119f2565b604051808215151515815260200191505060405180910390f35b3480156104fd57600080fd5b5061052e60048036038101908080356000191690602001909291908035600019169060200190929190505050611a3d565b60405180826000191660001916815260200191505060405180910390f35b34801561055857600080fd5b506105a5600480360381019080803560001916906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a7e565b60405180831515151581526020018281526020019250505060405180910390f35b3480156105d257600080fd5b506105f56004803603810190808035600019169060200190929190505050611bb3565b60405180826000191660001916815260200191505060405180910390f35b34801561061f57600080fd5b50610658600480360381019080803560001916906020019092919080359060200190929190803515159060200190929190505050611bf2565b005b34801561066657600080fd5b506106896004803603810190808035600019169060200190929190505050611e4a565b60405180826000191660001916815260200191505060405180910390f35b3480156106b357600080fd5b506106e26004803603810190808035600019169060200190929190803515159060200190929190505050611e5e565b005b3480156106f057600080fd5b5061071d600480360381019080803560001916906020019092919080359060200190929190505050611eb1565b005b34801561072b57600080fd5b506107846004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919080359060200190929190505050611f16565b005b34801561079257600080fd5b506107c960048036038101908080356000191690602001909291908035906020019092919080359060200190929190505050612120565b005b3480156107d757600080fd5b506107e06121a9565b60405180826000191660001916815260200191505060405180910390f35b34801561080a57600080fd5b5061082d60048036038101908080356000191690602001909291905050506121af565b604051808215151515815260200191505060405180910390f35b34801561085357600080fd5b506108806004803603810190808035600019169060200190929190803590602001909291905050506121e7565b6040518082815260200191505060405180910390f35b3480156108a257600080fd5b506108c560048036038101908080356000191690602001909291905050506122ce565b6040518082815260200191505060405180910390f35b3480156108e757600080fd5b50610920600480360381019080803560001916906020019092919080359060200190929190803515159060200190929190505050612309565b005b34801561092e57600080fd5b50610951600480360381019080803560001916906020019092919050505061236e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561099f57600080fd5b506109cc60048036038101908080356000191690602001909291908035906020019092919050505061244a565b604051808215151515815260200191505060405180910390f35b3480156109f257600080fd5b50610a1560048036038101908080356000191690602001909291905050506124a7565b005b348015610a2357600080fd5b50610a54600480360381019080803560001916906020019092919080356000191690602001909291905050506124ef565b60405180826000191660001916815260200191505060405180910390f35b348015610a7e57600080fd5b50610aa16004803603810190808035600019169060200190929190505050612525565b6040518082815260200191505060405180910390f35b348015610ac357600080fd5b50610ae66004803603810190808035600019169060200190929190505050612563565b6040518082815260200191505060405180910390f35b348015610b0857600080fd5b50610b396004803603810190808035600019169060200190929190803560001916906020019092919050505061258e565b60405180826000191660001916815260200191505060405180910390f35b348015610b6357600080fd5b50610bbe60048036038101908080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506125c4565b005b348015610bcc57600080fd5b50610c19600480360381019080803560001916906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612658565b60405180826000191660001916815260200191505060405180910390f35b348015610c4357600080fd5b50610c6660048036038101908080356000191690602001909291905050506126e6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610cb457600080fd5b50610cd7600480360381019080803560001916906020019092919050505061272e565b60405180826000191660001916815260200191505060405180910390f35b348015610d0157600080fd5b50610d246004803603810190808035600019169060200190929190505050612742565b6040518080602001838152602001828103825284818151815260200191508051906020019060200280838360005b83811015610d6d578082015181840152602081019050610d52565b50505050905001935050505060405180910390f35b348015610d8e57600080fd5b50610dbb600480360381019080803560001916906020019092919080359060200190929190505050612862565b604051808481526020018381526020018260001916600019168152602001935050505060405180910390f35b348015610df357600080fd5b50610e226004803603810190808035600019169060200190929190803515159060200190929190505050612977565b005b348015610e3057600080fd5b50610e5d600480360381019080803560001916906020019092919080359060200190929190505050612bb2565b604051808215151515815260200191505060405180910390f35b348015610e8357600080fd5b50610eb0600480360381019080803560001916906020019092919080359060200190929190505050612bfc565b005b348015610ebe57600080fd5b50610ee16004803603810190808035600019169060200190929190505050612c39565b005b348015610eef57600080fd5b50610f606004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190820180359060200191909192939192939080359060200190929190803515159060200190929190505050612e47565b005b348015610f6e57600080fd5b50610fb3600480360381019080803560001916906020019092919080359060200190929190803590602001908201803590602001919091929391929390505050613222565b604051808381526020018281526020019250505060405180910390f35b348015610fdc57600080fd5b5061103f6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291908035906020019092919080359060200190929190505050613349565b005b34801561104d57600080fd5b5061107e60048036038101908080356000191690602001909291908035600019169060200190929190505050613461565b60405180826000191660001916815260200191505060405180910390f35b3480156110a857600080fd5b506110eb6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506134a2565b005b3480156110f957600080fd5b506111266004803603810190808035600019169060200190929190803590602001909291905050506136d8565b6040518082815260200191505060405180910390f35b34801561114857600080fd5b506111836004803603810190808035600019169060200190929190803590602001908201803590602001919091929391929390505050613728565b604051808381526020018281526020019250505060405180910390f35b3480156111ac57600080fd5b506111f160048036038101908080356000191690602001909291908035906020019092919080356000191690602001909291908035906020019092919050505061383d565b005b3480156111ff57600080fd5b50611244600480360381019080803560001916906020019092919080359060200190820180359060200191909192939192939080359060200190929190505050613a00565b005b34801561125257600080fd5b5061127f600480360381019080803560001916906020019092919080359060200190929190505050613ae2565b005b34801561128d57600080fd5b50611296613b56565b60405180826000191660001916815260200191505060405180910390f35b3480156112c057600080fd5b506112e36004803603810190808035600019169060200190929190505050613b67565b604051808b600019166000191681526020018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200188600019166000191681526020018781526020018681526020018560001916600019168152602001846000191660001916815260200183151515158152602001821515151581526020019a505050505050505050505060405180910390f35b3480156113c457600080fd5b506113cd613c64565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561141b57600080fd5b5061143e6004803603810190808035600019169060200190929190505050613c8a565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015611481578082015181840152602081019050611466565b505050509050019250505060405180910390f35b3480156114a157600080fd5b506114e46004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613d5d565b60405180831515151581526020018281526020019250505060405180910390f35b34801561151157600080fd5b5061153e600480360381019080803560001916906020019092919080359060200190929190505050613e80565b005b34801561154c57600080fd5b5061156f6004803603810190808035600019169060200190929190505050613ec0565b60405180826000191660001916815260200191505060405180910390f35b34801561159957600080fd5b506115bc6004803603810190808035600019169060200190929190505050613ef4565b60405180826000191660001916815260200191505060405180910390f35b3480156115e657600080fd5b50611637600480360381019080803560001916906020019092919080359060200190929190803590602001908201803590602001919091929391929390803515159060200190929190505050613f33565b6040518080602001838152602001828103825284818151815260200191508051906020019060200280838360005b83811015611680578082015181840152602081019050611665565b50505050905001935050505060405180910390f35b3480156116a157600080fd5b506116c460048036038101908080356000191690602001909291905050506140c2565b6040518082815260200191505060405180910390f35b3480156116e657600080fd5b50611717600480360381019080803560001916906020019092919080356000191690602001909291905050506140ea565b005b34801561172557600080fd5b5061172e6141ab565b60405180826000191660001916815260200191505060405180910390f35b34801561175857600080fd5b506117ab60048036038101908080356000191690602001909291908035600019169060200190929190803590602001908201803590602001919091929391929390803590602001909291905050506141bc565b005b600080606060006076600087600019166000191681526020019081526020016000206009016000866000191660001916815260200190815260200160002073__DaoStructs____________________________6310d31f6490916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060006040518083038186803b15801561185757600080fd5b505af415801561186b573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250608081101561189557600080fd5b81019080805190602001909291908051906020019092919080516401000000008111156118c157600080fd5b828101905060208101848111156118d757600080fd5b81518560208202830111640100000000821117156118f457600080fd5b505092919060200180519060200190929190505050935093509350935092959194509250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61194a6014546142b5565b151561195557600080fd5b61195e816143bf565b50565b600061196b6145b7565b151561197657600080fd5b607660008460001916600019168152602001908152602001600020601001600083815260200190815260200160002060050160009054906101000a900460ff16905092915050565b60008060766000846000191660001916815260200190815260200160002090506119ea816003016146d1565b915050919050565b60006119fc6145b7565b1515611a0757600080fd5b607660008360001916600019168152602001908152602001600020600a0160050160009054906101000a900460ff169050919050565b6000611a476145b7565b1515611a5257600080fd5b611a7660776000856000191660001916815260200190815260200160002083614782565b905092915050565b600080611a896145b7565b1515611a9457600080fd5b607660008660001916600019168152602001908152602001600020601001600085815260200190815260200160002073__DaoStructs____________________________634bf150b99091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050604080518083038186803b158015611b6257600080fd5b505af4158015611b76573d6000803e3d6000fd5b505050506040513d6040811015611b8c57600080fd5b81019080805190602001909291908051906020019092919050505091509150935093915050565b6000611bbd6145b7565b1515611bc857600080fd5b611beb6077600084600019166000191681526020019081526020016000206146d1565b9050919050565b611bfd6018546142b5565b1515611c0857600080fd5b801515611c1d57611c18836143bf565b611dfb565b6000821415611dfa57607760006007546000191660001916815260200190815260200160002073__DoublyLinkedList______________________6352c6bbf49091856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015611cbf57600080fd5b505af4158015611cd3573d6000803e3d6000fd5b505050506040513d6020811015611ce957600080fd5b810190808051906020019092919050505050607760006008546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015611d9457600080fd5b505af4158015611da8573d6000803e3d6000fd5b505050506040513d6020811015611dbe57600080fd5b81019080805190602001909291905050505060085460766000856000191660001916815260200190815260200160002060010181600019169055505b5b80607660008560001916600019168152602001908152602001600020601001600084815260200190815260200160002060050160006101000a81548160ff021916908315150217905550505050565b6000611e57607083614844565b9050919050565b611e696018546142b5565b1515611e7457600080fd5b80607660008460001916600019168152602001908152602001600020600a0160050160016101000a81548160ff0219169083151502179055505050565b611ebc601e546142b5565b1515611ec757600080fd5b6001607660008460001916600019168152602001908152602001600020601001600083815260200190815260200160002060050160026101000a81548160ff0219169083151502179055505050565b6000611f236017546142b5565b1515611f2e57600080fd5b60766000866000191660001916815260200190815260200160002090508215612037578181600a0160030160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600081600a0160040160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561203257600081600a0160040160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b612119565b8181600a0160040160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600081600a0160030160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561211857600081600a0160030160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b5050505050565b61216260606040519081016040528060145460001916600019168152602001601854600019166000191681526020016003546000191660001916815250614906565b151561216d57600080fd5b80607660008560001916600019168152602001908152602001600020601001600084815260200190815260200160002060000181905550505050565b60015481565b6000607660008360001916600019168152602001908152602001600020600a0160050160019054906101000a900460ff169050919050565b60006121f16145b7565b15156121fc57600080fd5b60766000846000191660001916815260200190815260200160002073__DaoStructs____________________________631728cc369091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561228b57600080fd5b505af415801561229f573d6000803e3d6000fd5b505050506040513d60208110156122b557600080fd5b8101908080519060200190929190505050905092915050565b60006122d86145b7565b15156122e357600080fd5b607660008360001916600019168152602001908152602001600020601101549050919050565b6123146018546142b5565b151561231f57600080fd5b80607660008560001916600019168152602001908152602001600020601001600084815260200190815260200160002060050160016101000a81548160ff021916908315150217905550505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561240857600080fd5b505af115801561241c573d6000803e3d6000fd5b505050506040513d602081101561243257600080fd5b81019080805190602001909291905050509050919050565b60006124546145b7565b151561245f57600080fd5b607660008460001916600019168152602001908152602001600020601001600083815260200190815260200160002060050160029054906101000a900460ff16905092915050565b6124b26014546142b5565b15156124bd57600080fd5b6124c6816119be565b607660008360001916600019168152602001908152602001600020601301816000191690555050565b600080607660008560001916600019168152602001908152602001600020905061251c8160030184614844565b91505092915050565b600061252f6145b7565b151561253a57600080fd5b607660008360001916600019168152602001908152602001600020600a01600001549050919050565b6000607660008360001916600019168152602001908152602001600020601401805490509050919050565b60008060766000856000191660001916815260200190815260200160002090506125bb8160030184614782565b91505092915050565b6125cf6017546142b5565b15156125da57600080fd5b82607660008660001916600019168152602001908152602001600020601001600083815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020816000191690555050505050565b60006126626145b7565b151561266d57600080fd5b607660008560001916600019168152602001908152602001600020601001600084815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490509392505050565b600060766000836000191660001916815260200190815260200160002060150160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061273b607083614782565b9050919050565b606060008061274f6145b7565b151561275a57600080fd5b6076600085600019166000191681526020019081526020016000206013015490506003546000191681600019161415151561279457600080fd5b6076600085600019166000191681526020019081526020016000206009016000826000191660001916815260200190815260200160002060040180548060200260200160405190810160405280929190818152602001828054801561281857602002820191906000526020600020905b815481526020019060010190808311612804575b505050505092506076600085600019166000191681526020019081526020016000206009016000826000191660001916815260200190815260200160002060030154915050915091565b60008060006060607660008760001916600019168152602001908152602001600020601401805480602002602001604051908101604052809291908181526020016000905b8282101561290057838290600052602060002090600302016060604051908101604052908160008201548152602001600182015460001916600019168152602001600282015481525050815260200190600101906128a7565b50505050905080518510151561291557600080fd5b808581518110151561292357fe5b90602001906020020151604001519350808581518110151561294157fe5b90602001906020020151600001519250808581518110151561295f57fe5b90602001906020020151602001519150509250925092565b6129826018546142b5565b151561298d57600080fd5b80607660008460001916600019168152602001908152602001600020600a0160050160006101000a81548160ff0219169083151502179055508015612ba457607760006006546000191660001916815260200190815260200160002073__DoublyLinkedList______________________6352c6bbf49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015612a6557600080fd5b505af4158015612a79573d6000803e3d6000fd5b505050506040513d6020811015612a8f57600080fd5b810190808051906020019092919050505050607760006007546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015612b3a57600080fd5b505af4158015612b4e573d6000803e3d6000fd5b505050506040513d6020811015612b6457600080fd5b8101908080519060200190929190505050506007546076600084600019166000191681526020019081526020016000206001018160001916905550612bae565b612bad826143bf565b5b5050565b6000607660008460001916600019168152602001908152602001600020601001600083815260200190815260200160002060050160019054906101000a900460ff16905092915050565b612c076014546142b5565b1515612c1257600080fd5b80607660008460001916600019168152602001908152602001600020601201819055505050565b6000612c466018546142b5565b1515612c5157600080fd5b60766000836000191660001916815260200190815260200160002060010154905060776000826000191660001916815260200190815260200160002073__DoublyLinkedList______________________6352c6bbf49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015612d0957600080fd5b505af4158015612d1d573d6000803e3d6000fd5b505050506040513d6020811015612d3357600080fd5b81019080805190602001909291905050505060776000600a546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015612dde57600080fd5b505af4158015612df2573d6000803e3d6000fd5b505050506040513d6020811015612e0857600080fd5b810190808051906020019092919050505050600a5460766000846000191660001916815260200190815260200160002060010181600019169055505050565b612e526014546142b5565b1515612e5d57600080fd5b600354600019166076600088600019166000191681526020019081526020016000206000015460001916148015612e9e575060035460001916866000191614155b1515612ea957600080fd5b607073__DoublyLinkedList______________________63582f30b49091886040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015612f2757600080fd5b505af4158015612f3b573d6000803e3d6000fd5b505050506040513d6020811015612f5157600080fd5b810190808051906020019092919050505050607760006005546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091886040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015612ffc57600080fd5b505af4158015613010573d6000803e3d6000fd5b505050506040513d602081101561302657600080fd5b8101908080519060200190929190505050508560766000886000191660001916815260200190815260200160002060000181600019169055508460766000886000191660001916815260200190815260200160002060150160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600554607660008860001916600019168152602001908152602001600020600101816000191690555042607660008860001916600019168152602001908152602001600020600201819055508060766000886000191660001916815260200190815260200160002060160160156101000a81548160ff02191690831515021790555060766000876000191660001916815260200190815260200160002073__DaoStructs____________________________63ea496bc99091888787876040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086815260200185600019166000191681526020018060200183815260200182810382528585828181526020019250602002808284378201915050965050505050505060006040518083038186803b15801561320257600080fd5b505af4158015613216573d6000803e3d6000fd5b50505050505050505050565b60008061322d6145b7565b151561323857600080fd5b607660008760001916600019168152602001908152602001600020601001600086815260200190815260200160002073__DaoStructs____________________________63b31ee28c909186866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018060200182810382528484828181526020019250602002808284378201915050945050505050604080518083038186803b1580156132f757600080fd5b505af415801561330b573d6000803e3d6000fd5b505050506040513d604081101561332157600080fd5b8101908080519060200190929190805190602001909291905050509150915094509492505050565b6133546017546142b5565b151561335f57600080fd5b607660008660001916600019168152602001908152602001600020601001600082815260200190815260200160002073__DaoStructs____________________________631a14c51b90918686866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018315151515815260200182815260200194505050505060006040518083038186803b15801561344257600080fd5b505af4158015613456573d6000803e3d6000fd5b505050505050505050565b600061346b6145b7565b151561347657600080fd5b61349a60776000856000191660001916815260200190815260200160002083614844565b905092915050565b60006134af6014546142b5565b15156134ba57600080fd5b6076600084600019166000191681526020019081526020016000209050818160160160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654816001018160001916905550607760006005546000191660001916815260200190815260200160002073__DoublyLinkedList______________________6352c6bbf49091856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b1580156135c257600080fd5b505af41580156135d6573d6000803e3d6000fd5b505050506040513d60208110156135ec57600080fd5b810190808051906020019092919050505050607760006006546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561369757600080fd5b505af41580156136ab573d6000803e3d6000fd5b505050506040513d60208110156136c157600080fd5b810190808051906020019092919050505050505050565b60006136e26145b7565b15156136ed57600080fd5b607660008460001916600019168152602001908152602001600020601001600083815260200190815260200160002060000154905092915050565b6000806137336145b7565b151561373e57600080fd5b607660008660001916600019168152602001908152602001600020600a0173__DaoStructs____________________________63b31ee28c909186866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018060200182810382528484828181526020019250602002808284378201915050945050505050604080518083038186803b1580156137ec57600080fd5b505af4158015613800573d6000803e3d6000fd5b505050506040513d604081101561381657600080fd5b81019080805190602001909291908051906020019092919050505091509150935093915050565b613845614bf1565b6138506014546142b5565b151561385b57600080fd5b6009546000191660766000876000191660001916815260200190815260200160002060010154600019161415151561389257600080fd5b818160000181815250508281602001906000191690816000191681525050838160400181815250506076600086600019166000191681526020019081526020016000206014018190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001019060001916905560408201518160020155505050600c5484141561397157600160766000876000191660001916815260200190815260200160002060160160146101000a81548160ff0219169083151502179055506139f9565b600d548414156139b757600060766000876000191660001916815260200190815260200160002060160160146101000a81548160ff0219169083151502179055506139f8565b600160766000876000191660001916815260200190815260200160002060160160146101000a81548160ff0219169083151502179055506139f7856143bf565b5b5b5050505050565b6000613a0d6014546142b5565b1515613a1857600080fd5b60766000866000191660001916815260200190815260200160002060130154905060035460001916816000191614151515613a5257600080fd5b8383607660008860001916600019168152602001908152602001600020600901600084600019166000191681526020019081526020016000206004019190613a9b929190614c16565b508160766000876000191660001916815260200190815260200160002060090160008360001916600019168152602001908152602001600020600301819055505050505050565b613b2460606040519081016040528060185460001916600019168152602001601e54600019166000191681526020016014546000191660001916815250614906565b1515613b2f57600080fd5b80607660008460001916600019168152602001908152602001600020601101819055505050565b6000613b626070614a7d565b905090565b6000806000806000806000806000806000613b806145b7565b1515613b8b57600080fd5b607660008d60001916600019168152602001908152602001600020905080600001549a508060150160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1699508060160160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1698508060010154975080600201549650613c1781600301614b2e565b9550613c25816003016146d1565b9450806013015493508060160160149054906101000a900460ff1692508060160160159054906101000a900460ff169150509193959799509193959799565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600060766000846000191660001916815260200190815260200160002060130154905060035460001916816000191614151515613cc857600080fd5b60766000846000191660001916815260200190815260200160002060090160008260001916600019168152602001908152602001600020600501805480602002602001604051908101604052809291908181526020018280548015613d5057602002820191906000526020600020905b81546000191681526020019060010190808311613d38575b5050505050915050919050565b600080613d686145b7565b1515613d7357600080fd5b607660008560001916600019168152602001908152602001600020600a0173__DaoStructs____________________________634bf150b99091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050604080518083038186803b158015613e3057600080fd5b505af4158015613e44573d6000803e3d6000fd5b505050506040513d6040811015613e5a57600080fd5b810190808051906020019092919080519060200190929190505050915091509250929050565b613e8b6014546142b5565b1515613e9657600080fd5b80607660008460001916600019168152602001908152602001600020600a01600001819055505050565b6000806076600084600019166000191681526020019081526020016000209050613eec81600301614a7d565b915050919050565b6000613efe6145b7565b1515613f0957600080fd5b613f2c607760008460001916600019168152602001908152602001600020614a7d565b9050919050565b60606000613f3f6145b7565b1515613f4a57600080fd5b607660008860001916600019168152602001908152602001600020601001600087815260200190815260200160002073__DaoStructs____________________________63f53380cf90918787876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018060200183151515158152602001828103825285858281815260200192506020028082843782019150509550505050505060006040518083038186803b15801561401657600080fd5b505af415801561402a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250604081101561405457600080fd5b81019080805164010000000081111561406c57600080fd5b8281019050602081018481111561408257600080fd5b815185602082028301116401000000008211171561409f57600080fd5b505092919060200180519060200190929190505050915091509550959350505050565b6000607660008360001916600019168152602001908152602001600020601201549050919050565b60006140f76014546142b5565b151561410257600080fd5b6076600084600019166000191681526020019081526020016000206013015490506003546000191681600019161415151561413c57600080fd5b60766000846000191660001916815260200190815260200160002060090160008260001916600019168152602001908152602001600020600501829080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550505050565b60006141b760706146d1565b905090565b6141c76014546142b5565b15156141d257600080fd5b60766000866000191660001916815260200190815260200160002073__DaoStructs____________________________63ea496bc99091868686866040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086815260200185600019166000191681526020018060200183815260200182810382528585828181526020019250602002808284378201915050965050505050505060006040518083038186803b15801561429657600080fd5b505af41580156142aa573d6000803e3d6000fd5b505050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561434f57600080fd5b505af1158015614363573d6000803e3d6000fd5b505050506040513d602081101561437957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b600060766000836000191660001916815260200190815260200160002060010154905060776000826000191660001916815260200190815260200160002073__DoublyLinkedList______________________6352c6bbf49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561447957600080fd5b505af415801561448d573d6000803e3d6000fd5b505050506040513d60208110156144a357600080fd5b810190808051906020019092919050505050607760006009546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561454e57600080fd5b505af4158015614562573d6000803e3d6000fd5b505050506040513d602081101561457857600080fd5b81019080805190602001909291905050505060095460766000846000191660001916815260200190815260200160002060010181600019169055505050565b60003273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806146cc57506145f6614bdf565b73ffffffffffffffffffffffffffffffffffffffff16639b19251a336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561469057600080fd5b505af11580156146a4573d6000803e3d6000fd5b505050506040513d60208110156146ba57600080fd5b81019080805190602001909291905050505b905090565b60008173__DoublyLinkedList______________________632553148290916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b15801561474057600080fd5b505af4158015614754573d6000803e3d6000fd5b505050506040513d602081101561476a57600080fd5b81019080805190602001909291905050509050919050565b60008273__DoublyLinkedList______________________632a1441789091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561480157600080fd5b505af4158015614815573d6000803e3d6000fd5b505050506040513d602081101561482b57600080fd5b8101908080519060200190929190505050905092915050565b60008273__DoublyLinkedList______________________63cf06689d9091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b1580156148c357600080fd5b505af41580156148d7573d6000803e3d6000fd5b505050506040513d60208110156148ed57600080fd5b8101908080519060200190929190505050905092915050565b600080600060039150600090505b81811015614a7657600060010260001916848260038110151561493357fe5b602002015160001916141561494757614a69565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff858360038110151561499257fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156149f157600080fd5b505af1158015614a05573d6000803e3d6000fd5b505050506040513d6020811015614a1b57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415614a685760019250614a76565b5b8080600101915050614914565b5050919050565b60008173__DoublyLinkedList______________________6356717c7990916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b158015614aec57600080fd5b505af4158015614b00573d6000803e3d6000fd5b505050506040513d6020811015614b1657600080fd5b81019080805190602001909291905050509050919050565b60008173__DoublyLinkedList______________________630f77955290916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b158015614b9d57600080fd5b505af4158015614bb1573d6000803e3d6000fd5b505050506040513d6020811015614bc757600080fd5b81019080805190602001909291905050509050919050565b6000614bec602e5461236e565b905090565b6060604051908101604052806000815260200160008019168152602001600081525090565b828054828255906000526020600020908101928215614c52579160200282015b82811115614c51578235825591602001919060010190614c36565b5b509050614c5f9190614c63565b5090565b614c8591905b80821115614c81576000816000905550600101614c69565b5090565b905600a165627a7a723058205de6767964bde5eca2f8cfcd439898fbdb97c9d649b86a2c999b1bcbabaeeff30029", + "sourceMap": "299:24567:60:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;1148:101:60;8:9:-1;5:2;;;30:1;27;20:12;5:2;1148:101:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1204:37;1209:20;;1231:9;1204:4;;;:37;;;:::i;:::-;1196:46;;;;;;;;1148:101;299:24567;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;299:24567:60:-;;;;;;;", + "deployedSourceMap": "299:24567:60:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10694:350;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10694:350:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;10694:350:60;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;24051:156:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24051:156:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4361:257;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4361:257:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12667:280;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12667:280:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4118:237;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4118:237:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10053:306;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10053:306:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6838:279;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6838:279:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9113:230;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9113:230:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19321:582;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19321:582:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7861:217;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7861:217:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20455:214;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20455:214:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24632:232;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24632:232:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22636:798;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22636:798:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20144:305;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20144:305:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14169:183:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14169:183:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11751:261;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11751:261:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14567:237;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14567:237:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20675:234;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20675:234:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15498:266:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15498:266:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18076:203;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18076:203:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13193:350;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13193:350:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4624:239;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4624:239:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3503:187;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3503:187:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13797:366;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13797:366:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23440:283;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23440:283:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6547:285;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6547:285:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3314:183;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3314:183:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8277:225;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8277:225:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11234:511;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11234:511:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;11234:511:60;;;;;;;;;;;;;;;;;;3696:416;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3696:416:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18771:544;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18771:544:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14358:203;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14358:203:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21192:206;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21192:206:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24213:413;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24213:413:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15853:816;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15853:816:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5421:301;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5421:301:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23729:316;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23729:316:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9547:298;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9547:298:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18285:480;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18285:480:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4869:259;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4869:259:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5134:281;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5134:281:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21404:859;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21404:859:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17113:496;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17113:496:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20915:271;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20915:271:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7240:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7240:153:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2240:1068;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2240:1068:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;15159:333:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15159:333:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;15159:333:60;;;;;;;;;;;;;;;;;6069:259;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6069:259:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19909:229;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19909:229:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12199:282;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12199:282:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8692:232;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8692:232:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5728:335;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5728:335:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;5728:335:60;;;;;;;;;;;;;;;;;;14810:195;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14810:195:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17676:394;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17676:394:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7515:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7515:151:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16675:325;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16675:325:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10694:350;10820:12;10846:16;10876:28;10918:20;10970:13;:26;10984:11;10970:26;;;;;;;;;;;;;;;;;:43;;:53;11014:8;10970:53;;;;;;;;;;;;;;;;;:65;;;;:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10970:67:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10970:67:60;;;;;;39:16:-1;36:1;17:17;2:54;10970:67:60;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:3;8;5:12;2:2;;;30:1;27;20:12;2:2;10970:67:60;;;;;;;;;;;;;;;;;;;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;10970:67:60;;;;;;;;;;;;;;;;;10963:74;;;;;;;;10694:350;;;;;;;:::o;237:23:67:-;;;;;;;;;;;;;:::o;24051:156:60:-;24132:23;24142:12;;24132:9;:23::i;:::-;24124:32;;;;;;;;24166:34;24188:11;24166:21;:34::i;:::-;24051:156;:::o;4361:257::-;4477:12;4513:23;:21;:23::i;:::-;4505:32;;;;;;;;4557:13;:26;4571:11;4557:26;;;;;;;;;;;;;;;;;:39;;:47;4597:6;4557:47;;;;;;;;;;;:54;;;;;;;;;;;;4547:64;;4361:257;;;;:::o;12667:280::-;12765:16;12797:37;12837:13;:26;12851:11;12837:26;;;;;;;;;;;;;;;;;12797:66;;12884:56;12910:9;:29;;12884:25;:56::i;:::-;12873:67;;12667:280;;;;:::o;4118:237::-;4223:12;4259:23;:21;:23::i;:::-;4251:32;;;;;;;;4303:13;:26;4317:11;4303:26;;;;;;;;;;;;;;;;;:38;;:45;;;;;;;;;;;;4293:55;;4118:237;;;:::o;10053:306::-;10173:11;10208:23;:21;:23::i;:::-;10200:32;;;;;;;;10248:104;10291:16;:26;10308:8;10291:26;;;;;;;;;;;;;;;;;10331:11;10248:29;:104::i;:::-;10242:110;;10053:306;;;;:::o;6838:279::-;6954:10;6966:15;7005:23;:21;:23::i;:::-;6997:32;;;;;;;;7046:13;:26;7060:11;7046:26;;;;;;;;;;;;;;;;;:39;;:47;7086:6;7046:47;;;;;;;;;;;:56;;;;7103:6;7046:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7046:64:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7046:64:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7046:64:60;;;;;;;;;;;;;;;;;;;;;;;;;7039:71;;;;6838:279;;;;;;:::o;9113:230::-;9208:11;9243:23;:21;:23::i;:::-;9235:32;;;;;;;;9283:53;9309:16;:26;9326:8;9309:26;;;;;;;;;;;;;;;;;9283:25;:53::i;:::-;9277:59;;9113:230;;;:::o;19321:582::-;19434:37;19444:26;;19434:9;:37::i;:::-;19426:46;;;;;;;;19488:7;19487:8;19483:340;;;19511:34;19533:11;19511:21;:34::i;:::-;19483:340;;;19576:1;19566:6;:11;19562:261;;;19593:16;:42;19610:24;;19593:42;;;;;;;;;;;;;;;;;:54;;;;19648:11;19593:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19593:67:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19593:67:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19593:67:60;;;;;;;;;;;;;;;;;19674:16;:40;19691:22;;19674:40;;;;;;;;;;;;;;;;;:47;;;;19722:11;19674:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19674:60:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19674:60:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19674:60:60;;;;;;;;;;;;;;;;;19790:22;;19748:13;:26;19762:11;19748:26;;;;;;;;;;;;;;;;;:39;;:64;;;;;;;19562:261;19483:340;19889:7;19832:13;:26;19846:11;19832:26;;;;;;;;;;;;;;;;;:39;;:47;19872:6;19832:47;;;;;;;;;;;:54;;;:64;;;;;;;;;;;;;;;;;;19321:582;;;:::o;7861:217::-;7952:11;7985:86;8024:12;8050:11;7985:25;:86::i;:::-;7979:92;;7861:217;;;:::o;20455:214::-;20557:37;20567:26;;20557:9;:37::i;:::-;20549:46;;;;;;;;20654:8;20605:13;:26;20619:11;20605:26;;;;;;;;;;;;;;;;;:38;;:46;;;:57;;;;;;;;;;;;;;;;;;20455:214;;:::o;24632:232::-;24740:39;24750:28;;24740:9;:39::i;:::-;24732:48;;;;;;;;24853:4;24790:13;:26;24804:11;24790:26;;;;;;;;;;;;;;;;;:39;;:53;24830:12;24790:53;;;;;;;;;;;:60;;;:67;;;;;;;;;;;;;;;;;;24632:232;;:::o;22636:798::-;22841:37;22799:30;22809:19;;22799:9;:30::i;:::-;22791:39;;;;;;;;22881:13;:26;22895:11;22881:26;;;;;;;;;;;;;;;;;22841:66;;22921:5;22917:511;;;22983:7;22942:9;:21;;:30;;:38;22973:6;22942:38;;;;;;;;;;;;;;;:48;;;;23048:1;23008:9;:21;;:29;;:37;23038:6;23008:37;;;;;;;;;;;;;;;;:41;23004:200;;;23188:1;23148:9;:21;;:29;;:37;23178:6;23148:37;;;;;;;;;;;;;;;:41;;;;23004:200;22917:511;;;23274:7;23234:9;:21;;:29;;:37;23264:6;23234:37;;;;;;;;;;;;;;;:47;;;;23340:1;23299:9;:21;;:30;;:38;23330:6;23299:38;;;;;;;;;;;;;;;;:42;23295:123;;;23402:1;23361:9;:21;;:30;;:38;23392:6;23361:38;;;;;;;;;;;;;;;:42;;;;23295:123;22917:511;22636:798;;;;;:::o;20144:305::-;20294:71;;;;;;;;;;20310:12;;20294:71;;;;;;;;;;20324:26;;20294:71;;;;;;;;;;20352:11;;20294:71;;;;;;;;;:14;:71::i;:::-;20286:80;;;;;;;;20437:5;20377:13;:26;20391:11;20377:26;;;;;;;;;;;;;;;;;:39;;:47;20417:6;20377:47;;;;;;;;;;;:57;;:65;;;;20144:305;;;:::o;264:18:67:-;;;;:::o;14169:183:60:-;14259:13;14299;:26;14313:11;14299:26;;;;;;;;;;;;;;;;;:38;;:46;;;;;;;;;;;;14288:57;;14169:183;;;:::o;11751:261::-;11864:16;11904:23;:21;:23::i;:::-;11896:32;;;;;;;;11949:13;:26;11963:11;11949:26;;;;;;;;;;;;;;;;;:48;;;;11998:6;11949:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11949:56:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11949:56:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11949:56:60;;;;;;;;;;;;;;;;11938:67;;11751:261;;;;:::o;14567:237::-;14671:15;14710:23;:21;:23::i;:::-;14702:32;;;;;;;;14754:13;:26;14768:11;14754:26;;;;;;;;;;;;;;;;;:43;;;14744:53;;14567:237;;;:::o;20675:234::-;20788:37;20798:26;;20788:9;:37::i;:::-;20780:46;;;;;;;;20894:8;20836:13;:26;20850:11;20836:26;;;;;;;;;;;;;;;;;:39;;:47;20876:6;20836:47;;;;;;;;;;;:55;;;:66;;;;;;;;;;;;;;;;;;20675:234;;;:::o;2380:179:67:-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;15498:266:60:-;15617:12;15653:23;:21;:23::i;:::-;15645:32;;;;;;;;15697:13;:26;15711:11;15697:26;;;;;;;;;;;;;;;;;:39;;:53;15737:12;15697:53;;;;;;;;;;;:60;;;;;;;;;;;;15687:70;;15498:266;;;;:::o;18076:203::-;18160:23;18170:12;;18160:9;:23::i;:::-;18152:32;;;;;;;;18237:35;18260:11;18237:22;:35::i;:::-;18195:13;:26;18209:11;18195:26;;;;;;;;;;;;;;;;;:39;;:77;;;;;;;18076:203;:::o;13193:350::-;13309:20;13345:37;13385:13;:26;13399:11;13385:26;;;;;;;;;;;;;;;;;13345:66;;13436:100;13475:9;:29;;13518:8;13436:25;:100::i;:::-;13421:115;;13193:350;;;;;:::o;4624:239::-;4727:14;4765:23;:21;:23::i;:::-;4757:32;;;;;;;;4808:13;:26;4822:11;4808:26;;;;;;;;;;;;;;;;;:38;;:48;;;4799:57;;4624:239;;;:::o;3503:187::-;3598:15;3639:13;:26;3653:11;3639:26;;;;;;;;;;;;;;;;;:37;;:44;;;;3629:54;;3503:187;;;:::o;13797:366::-;13917:24;13957:37;13997:13;:26;14011:11;13997:26;;;;;;;;;;;;;;;;;13957:66;;14052:104;14095:9;:29;;14138:8;14052:29;:104::i;:::-;14033:123;;13797:366;;;;;:::o;23440:283::-;23603:30;23613:19;;23603:9;:30::i;:::-;23595:39;;;;;;;;23711:5;23645:13;:26;23659:11;23645:26;;;;;;;;;;;;;;;;;:39;;:47;23685:6;23645:47;;;;;;;;;;;:55;;:63;23701:6;23645:63;;;;;;;;;;;;;;;:71;;;;;;;23440:283;;;;:::o;6547:285::-;6671:19;6714:23;:21;:23::i;:::-;6706:32;;;;;;;;6762:13;:26;6776:11;6762:26;;;;;;;;;;;;;;;;;:39;;:47;6802:6;6762:47;;;;;;;;;;;:55;;:63;6818:6;6762:63;;;;;;;;;;;;;;;;6748:77;;6547:285;;;;;:::o;3314:183::-;3410:17;3455:13;:26;3469:11;3455:26;;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;3443:47;;3314:183;;;:::o;8277:225::-;8372:11;8405:90;8448:12;8474:11;8405:29;:90::i;:::-;8399:96;;8277:225;;;:::o;11234:511::-;11329:26;11357:20;11435:21;11401:23;:21;:23::i;:::-;11393:32;;;;;;;;11459:13;:26;11473:11;11459:26;;;;;;;;;;;;;;;;;:39;;;11435:63;;11533:11;;11516:28;;;:13;:28;;;;;11508:37;;;;;;;;11567:13;:26;11581:11;11567:26;;;;;;;;;;;;;;;;;:43;;:58;11611:13;11567:58;;;;;;;;;;;;;;;;;:76;;11555:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11668:13;:26;11682:11;11668:26;;;;;;;;;;;;;;;;;:43;;:58;11712:13;11668:58;;;;;;;;;;;;;;;;;:70;;;11653:85;;11234:511;;;;:::o;3696:416::-;3801:17;3820:13;3835:12;3863:38;3904:13;:26;3918:11;3904:26;;;;;;;;;;;;;;;;;:37;;3863:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3968:8;:15;3959:6;:24;3951:33;;;;;;;;4006:8;4015:6;4006:16;;;;;;;;;;;;;;;;;;:25;;;3994:37;;4049:8;4058:6;4049:16;;;;;;;;;;;;;;;;;;:19;;;4041:27;;4085:8;4094:6;4085:16;;;;;;;;;;;;;;;;;;:20;;;4078:27;;3696:416;;;;;;:::o;18771:544::-;18873:37;18883:26;;18873:9;:37::i;:::-;18865:46;;;;;;;;18970:7;18922:13;:26;18936:11;18922:26;;;;;;;;;;;;;;;;;:38;;:45;;;:55;;;;;;;;;;;;;;;;;;18991:7;18987:322;;;19014:16;:38;19031:20;;19014:38;;;;;;;;;;;;;;;;;:50;;;;19065:11;19014:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19014:63:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19014:63:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19014:63:60;;;;;;;;;;;;;;;;;19091:16;:42;19108:24;;19091:42;;;;;;;;;;;;;;;;;:49;;;;19141:11;19091:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19091:62:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19091:62:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19091:62:60;;;;;;;;;;;;;;;;;19209:24;;19167:13;:26;19181:11;19167:26;;;;;;;;;;;;;;;;;:39;;:66;;;;;;;18987:322;;;19264:34;19286:11;19264:21;:34::i;:::-;18987:322;18771:544;;:::o;14358:203::-;14459:13;14499;:26;14513:11;14499:26;;;;;;;;;;;;;;;;;:39;;:47;14539:6;14499:47;;;;;;;;;;;:55;;;;;;;;;;;;14488:66;;14358:203;;;;:::o;21192:206::-;21304:23;21314:12;;21304:9;:23::i;:::-;21296:32;;;;;;;;21384:7;21338:13;:26;21352:11;21338:26;;;;;;;;;;;;;;;;;:43;;:53;;;;21192:206;;:::o;24213:413::-;24344:21;24296:37;24306:26;;24296:9;:37::i;:::-;24288:46;;;;;;;;24368:13;:26;24382:11;24368:26;;;;;;;;;;;;;;;;;:39;;;24344:63;;24417:16;:31;24434:13;24417:31;;;;;;;;;;;;;;;;;:43;;;;24461:11;24417:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24417:56:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;24417:56:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;24417:56:60;;;;;;;;;;;;;;;;;24483:16;:41;24500:23;;24483:41;;;;;;;;;;;;;;;;;:48;;;;24532:11;24483:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24483:61:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;24483:61:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;24483:61:60;;;;;;;;;;;;;;;;;24596:23;;24554:13;:26;24568:11;24554:26;;;;;;;;;;;;;;;;;:39;;:65;;;;;;;24213:413;;:::o;15853:816::-;16061:23;16071:12;;16061:9;:23::i;:::-;16053:32;;;;;;;;16149:11;;16115:45;;;:13;:19;16129:4;16115:19;;;;;;;;;;;;;;;;;:30;;;:45;;;;16114:82;;;;;16184:11;;16176:19;;;:4;:19;;;;;16114:82;16095:111;;;;;;;;16217:12;:19;;;;16237:4;16217:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16217:25:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16217:25:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16217:25:60;;;;;;;;;;;;;;;;;16252:16;:44;16269:26;;16252:44;;;;;;;;;;;;;;;;;:51;;;;16304:4;16252:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16252:57:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16252:57:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16252:57:60;;;;;;;;;;;;;;;;;16352:4;16319:13;:19;16333:4;16319:19;;;;;;;;;;;;;;;;;:30;;:37;;;;;;;16397:9;16366:13;:19;16380:4;16366:19;;;;;;;;;;;;;;;;;:28;;;:40;;;;;;;;;;;;;;;;;;16451:26;;16416:13;:19;16430:4;16416:19;;;;;;;;;;;;;;;;;:32;;:61;;;;;;;16521:3;16487:13;:19;16501:4;16487:19;;;;;;;;;;;;;;;;;:31;;:37;;;;16564:10;16534:13;:19;16548:4;16534:19;;;;;;;;;;;;;;;;;:27;;;:40;;;;;;;;;;;;;;;;;;16584:13;:19;16598:4;16584:19;;;;;;;;;;;;;;;;;:38;;;;16623:4;16629:18;;16649:12;16584:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16584:78:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16584:78:60;;;;15853:816;;;;;;:::o;5421:301::-;5551:12;5565:16;5605:23;:21;:23::i;:::-;5597:32;;;;;;;;5646:13;:26;5660:11;5646:26;;;;;;;;;;;;;;;;;:39;;:47;5686:6;5646:47;;;;;;;;;;;:58;;;;5705:9;;5646:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5646:69:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5646:69:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5646:69:60;;;;;;;;;;;;;;;;;;;;;;;;;5639:76;;;;5421:301;;;;;;;:::o;23729:316::-;23914:30;23924:19;;23914:9;:30::i;:::-;23906:39;;;;;;;;23956:13;:26;23970:11;23956:26;;;;;;;;;;;;;;;;;:39;;:47;23996:6;23956:47;;;;;;;;;;;:58;;;;24015:6;24023:5;24030:7;23956:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23956:82:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23956:82:60;;;;23729:316;;;;;:::o;9547:298::-;9663:11;9698:23;:21;:23::i;:::-;9690:32;;;;;;;;9738:100;9777:16;:26;9794:8;9777:26;;;;;;;;;;;;;;;;;9817:11;9738:25;:100::i;:::-;9732:106;;9547:298;;;;:::o;18285:480::-;18450:37;18415:23;18425:12;;18415:9;:23::i;:::-;18407:32;;;;;;;;18490:13;:26;18504:11;18490:26;;;;;;;;;;;;;;;;;18450:66;;18547:9;18526;:18;;;:30;;;;;;;;;;;;;;;;;;18591:20;;18566:9;:22;;:45;;;;;;;18621:16;:44;18638:26;;18621:44;;;;;;;;;;;;;;;;;:56;;;;18678:11;18621:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18621:69:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18621:69:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18621:69:60;;;;;;;;;;;;;;;;;18700:16;:38;18717:20;;18700:38;;;;;;;;;;;;;;;;;:45;;;;18746:11;18700:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18700:58:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18700:58:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18700:58:60;;;;;;;;;;;;;;;;;18285:480;;;:::o;4869:259::-;4983:14;5021:23;:21;:23::i;:::-;5013:32;;;;;;;;5064:13;:26;5078:11;5064:26;;;;;;;;;;;;;;;;;:39;;:47;5104:6;5064:47;;;;;;;;;;;:57;;;5055:66;;4869:259;;;;:::o;5134:281::-;5253:12;5267:16;5307:23;:21;:23::i;:::-;5299:32;;;;;;;;5348:13;:26;5362:11;5348:26;;;;;;;;;;;;;;;;;:38;;:49;;;;5398:9;;5348:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5348:60:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5348:60:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5348:60:60;;;;;;;;;;;;;;;;;;;;;;;;;5341:67;;;;5134:281;;;;;;:::o;21404:859::-;21691:37;;:::i;:::-;21573:23;21583:12;;21573:9;:23::i;:::-;21565:32;;;;;;;;21658:21;;21615:64;;;:13;:26;21629:11;21615:26;;;;;;;;;;;;;;;;;:39;;;:64;;;;;21607:73;;;;;;;;21753:5;21738:9;:12;;:20;;;;;21784:4;21768:9;:13;;:20;;;;;;;;;;;;;21819:7;21798:9;:18;;:28;;;;;21836:13;:26;21850:11;21836:26;;;;;;;;;;;;;;;;;:37;;21879:9;21836:53;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;21836:53:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21915:16;;21904:7;:27;21900:357;;;21992:4;21945:13;:26;21959:11;21945:26;;;;;;;;;;;;;;;;;:44;;;:51;;;;;;;;;;;;;;;;;;21900:357;;;22028:18;;22017:7;:29;22013:244;;;22107:5;22060:13;:26;22074:11;22060:26;;;;;;;;;;;;;;;;;:44;;;:52;;;;;;;;;;;;;;;;;;22013:244;;;22196:4;22149:13;:26;22163:11;22149:26;;;;;;;;;;;;;;;;;:44;;;:51;;;;;;;;;;;;;;;;;;22212:34;22234:11;22212:21;:34::i;:::-;22013:244;21900:357;21404:859;;;;;:::o;17113:496::-;17287:21;17252:23;17262:12;;17252:9;:23::i;:::-;17244:32;;;;;;;;17311:13;:26;17325:11;17311:26;;;;;;;;;;;;;;;;;:39;;;17287:63;;17385:11;;17368:28;;;:13;:28;;;;;17360:37;;;;;;;;17486:21;;17407:13;:26;17421:11;17407:26;;;;;;;;;;;;;;;;;:43;;:58;17451:13;17407:58;;;;;;;;;;;;;;;;;:76;;:100;;;;;;;:::i;:::-;;17590:12;17517:13;:26;17531:11;17517:26;;;;;;;;;;;;;;;;;:43;;:58;17561:13;17517:58;;;;;;;;;;;;;;;;;:70;;:85;;;;17113:496;;;;;:::o;20915:271::-;21027:88;;;;;;;;;;21043:26;;21027:88;;;;;;;;;;21071:28;;21027:88;;;;;;;;;;21101:12;;21027:88;;;;;;;;;:14;:88::i;:::-;21019:97;;;;;;;;21172:7;21126:13;:26;21140:11;21126:26;;;;;;;;;;;;;;;;;:43;;:53;;;;20915:271;;:::o;7240:153::-;7313:11;7346:40;7373:12;7346:26;:40::i;:::-;7340:46;;7240:153;:::o;2240:1068::-;2341:12;2367:17;2398;2429:14;2457:20;2491:18;2523:25;2562:21;2597;2632;2720:37;2686:23;:21;:23::i;:::-;2678:32;;;;;;;;2760:13;:26;2774:11;2760:26;;;;;;;;;;;;;;;;;2720:66;;2803:9;:20;;;2796:27;;2845:9;:18;;;;;;;;;;;;2833:30;;2885:9;:18;;;;;;;;;;;;2873:30;;2922:9;:22;;;2913:31;;2969:9;:21;;;2954:36;;3013:52;3035:9;:29;;3013:21;:52::i;:::-;3000:65;;3095:56;3121:9;:29;;3095:25;:56::i;:::-;3075:76;;3177:9;:22;;;3161:38;;3228:9;:27;;;;;;;;;;;;3209:46;;3284:9;:17;;;;;;;;;;;;3265:36;;2240:1068;;;;;;;;;;;;:::o;344:31:67:-;;;;;;;;;;;;;:::o;15159:333:60:-;15251:19;15286:21;15310:13;:26;15324:11;15310:26;;;;;;;;;;;;;;;;;:39;;;15286:63;;15384:11;;15367:28;;;:13;:28;;;;;15359:37;;;;;;;;15418:13;:26;15432:11;15418:26;;;;;;;;;;;;;;;;;:43;;:58;15462:13;15418:58;;;;;;;;;;;;;;;;;:67;;15406:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15159:333;;;;:::o;6069:259::-;6174:10;6186:15;6225:23;:21;:23::i;:::-;6217:32;;;;;;;;6266:13;:26;6280:11;6266:26;;;;;;;;;;;;;;;;;:38;;:47;;;;6314:6;6266:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6266:55:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6266:55:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6266:55:60;;;;;;;;;;;;;;;;;;;;;;;;;6259:62;;;;6069:259;;;;;:::o;19909:229::-;20040:23;20050:12;;20040:9;:23::i;:::-;20032:32;;;;;;;;20126:5;20075:13;:26;20089:11;20075:26;;;;;;;;;;;;;;;;;:38;;:48;;:56;;;;19909:229;;:::o;12199:282::-;12298:16;12330:37;12370:13;:26;12384:11;12370:26;;;;;;;;;;;;;;;;;12330:66;;12417:57;12444:9;:29;;12417:26;:57::i;:::-;12406:68;;12199:282;;;;:::o;8692:232::-;8788:11;8823:23;:21;:23::i;:::-;8815:32;;;;;;;;8863:54;8890:16;:26;8907:8;8890:26;;;;;;;;;;;;;;;;;8863;:54::i;:::-;8857:60;;8692:232;;;:::o;5728:335::-;5875:24;5901:15;5940:23;:21;:23::i;:::-;5932:32;;;;;;;;5981:13;:26;5995:11;5981:26;;;;;;;;;;;;;;;;;:39;;:47;6021:6;5981:47;;;;;;;;;;;:57;;;;6039:9;;6050:5;5981:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5981:75:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5981:75:60;;;;;;39:16:-1;36:1;17:17;2:54;5981:75:60;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5981:75:60;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;5981:75:60;;;;;;;;;;;;;;;;;5974:82;;;;5728:335;;;;;;;;:::o;14810:195::-;14914:15;14955:13;:26;14969:11;14955:26;;;;;;;;;;;;;;;;;:43;;;14945:53;;14810:195;;;:::o;17676:394::-;17810:21;17775:23;17785:12;;17775:9;:23::i;:::-;17767:32;;;;;;;;17834:13;:26;17848:11;17834:26;;;;;;;;;;;;;;;;;:39;;;17810:63;;17908:11;;17891:28;;;:13;:28;;;;;17883:37;;;;;;;;17982:13;:26;17996:11;17982:26;;;;;;;;;;;;;;;;;:43;;:58;18026:13;17982:58;;;;;;;;;;;;;;;;;:67;;18055:7;17982:81;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;17982:81:60;;;;;;;;;;;;;;;;;;;;;;;;;;;17676:394;;;:::o;7515:151::-;7587:11;7620:39;7646:12;7620:25;:39::i;:::-;7614:45;;7515:151;:::o;16675:325::-;16867:23;16877:12;;16867:9;:23::i;:::-;16859:32;;;;;;;;16902:13;:26;16916:11;16902:26;;;;;;;;;;;;;;;;;:45;;;;16948:7;16957:21;;16980:12;16902:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16902:91:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16902:91:60;;;;16675:325;;;;;:::o;610:160:67:-;671:12;732:8;;;;;;;;;;;715:39;;;755:9;715:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;715:50:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;715:50:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;715:50:67;;;;;;;;;;;;;;;;701:64;;:10;:64;;;691:74;;610:160;;;:::o;22269:361:60:-;22352:21;22376:13;:26;22390:11;22376:26;;;;;;;;;;;;;;;;;:39;;;22352:63;;22425:16;:31;22442:13;22425:31;;;;;;;;;;;;;;;;;:43;;;;22469:11;22425:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22425:56:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22425:56:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22425:56:60;;;;;;;;;;;;;;;;;22491:16;:39;22508:21;;22491:39;;;;;;;;;;;;;;;;;:46;;;;22538:11;22491:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22491:59:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22491:59:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22491:59:60;;;;;;;;;;;;;;;;;22602:21;;22560:13;:26;22574:11;22560:26;;;;;;;;;;;;;;;;;:39;;:63;;;;;;;22269:361;;:::o;707:316:6:-;787:27;956:9;942:23;;:10;:23;;;941:75;;;;970:24;:22;:24::i;:::-;:34;;;1005:10;970:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;970:46:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;970:46:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;970:46:6;;;;;;;;;;;;;;;;941:75;916:100;;707:316;:::o;766:185:77:-;899:13;930:5;:14;;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;930:16:77;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;930:16:77;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;930:16:77;;;;;;;;;;;;;;;;922:24;;766:185;;;:::o;1902:230::-;2062:13;2093:5;:19;;;;2113:13;2093:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2093:34:77;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2093:34:77;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2093:34:77;;;;;;;;;;;;;;;;2085:42;;1902:230;;;;:::o;1311:222::-;1467:13;1498:5;:15;;;;1514:13;1498:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1498:30:77;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1498:30:77;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1498:30:77;;;;;;;;;;;;;;;;1490:38;;1311:222;;;;:::o;881:350:67:-;951:12;971:10;1012:9;984:17;971:30;;1024:1;1012:13;;1007:220;1031:2;1027:1;:6;1007:220;;;1077:3;1069:12;;1052:29;;;:10;1063:1;1052:13;;;;;;;;;;;;;:29;;;;1048:43;;;1083:8;;1048:43;1134:8;;;;;;;;;;;1117:39;;;1157:10;1168:1;1157:13;;;;;;;;;;;;;1117:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1117:54:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1117:54:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1117:54:67;;;;;;;;;;;;;;;;1103:68;;:10;:68;;;1099:122;;;1193:4;1183:14;;1207:5;;1099:122;1007:220;1035:3;;;;;;;1007:220;;;881:350;;;;;:::o;422:188:77:-;556:13;587:5;:16;;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;587:18:77;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;587:18:77;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;587:18:77;;;;;;;;;;;;;;;;579:26;;422:188;;;:::o;2310:180::-;2439:14;2472:5;:11;;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2472:13:77;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2472:13:77;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2472:13:77;;;;;;;;;;;;;;;;2463:22;;2310:180;;;:::o;240:219:6:-;321:32;404:47;417:33;;404:12;:47::i;:::-;369:83;;240:219;:::o;299:24567:60:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"@digix/solidity-collections/contracts/abstract/BytesIteratorStorage.sol\";\nimport \"@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol\";\nimport \"../common/DaoWhitelistingCommon.sol\";\nimport \"../lib/DaoStructs.sol\";\nimport \"./DaoWhitelistingStorage.sol\";\n\ncontract DaoStorage is DaoWhitelistingCommon, BytesIteratorStorage {\n using DoublyLinkedList for DoublyLinkedList.Bytes;\n using DaoStructs for DaoStructs.Voting;\n using DaoStructs for DaoStructs.Proposal;\n using DaoStructs for DaoStructs.ProposalVersion;\n\n // List of all the proposals ever created in DigixDAO\n DoublyLinkedList.Bytes allProposals;\n\n // mapping of Proposal struct by its ID\n // ID is also the IPFS doc hash of the first ever version of this proposal\n mapping (bytes32 => DaoStructs.Proposal) proposalsById;\n\n // mapping from state of a proposal to list of all proposals in that state\n // proposals are added/removed from the state's list as their states change\n // eg. when proposal is endorsed, when proposal is funded, etc\n mapping (bytes32 => DoublyLinkedList.Bytes) proposalsByState;\n\n constructor(address _resolver) public {\n require(init(CONTRACT_STORAGE_DAO, _resolver));\n }\n\n /////////////////////////////// READ FUNCTIONS //////////////////////////////\n\n /// @notice read all information and details of proposal\n /// @param _proposalId Proposal ID, i.e. hash of IPFS doc Proposal ID, i.e. hash of IPFS doc\n /// return {\n /// \"_doc\": \"Original IPFS doc of proposal, also ID of proposal\",\n /// \"_proposer\": \"Address of the proposer\",\n /// \"_endorser\": \"Address of the moderator that endorsed the proposal\",\n /// \"_state\": \"Current state of the proposal\",\n /// \"_timeCreated\": \"UTC timestamp at which proposal was created\",\n /// \"_nVersions\": \"Number of versions of the proposal\",\n /// \"_latestVersionDoc\": \"IPFS doc hash of the latest version of this proposal\",\n /// \"_finalVersion\": \"If finalized, the version of the final proposal\",\n /// \"_pausedOrStopped\": \"If the proposal is paused/stopped at the moment\",\n /// \"_isDigixProposal\": \"If the proposal has been created by founder or not\"\n /// }\n function readProposal(bytes32 _proposalId)\n public\n view\n returns (\n bytes32 _doc,\n address _proposer,\n address _endorser,\n bytes32 _state,\n uint256 _timeCreated,\n uint256 _nVersions,\n bytes32 _latestVersionDoc,\n bytes32 _finalVersion,\n bool _pausedOrStopped,\n bool _isDigixProposal\n )\n {\n require(senderIsAllowedToRead());\n DaoStructs.Proposal storage _proposal = proposalsById[_proposalId];\n _doc = _proposal.proposalId;\n _proposer = _proposal.proposer;\n _endorser = _proposal.endorser;\n _state = _proposal.currentState;\n _timeCreated = _proposal.timeCreated;\n _nVersions = read_total_bytesarray(_proposal.proposalVersionDocs);\n _latestVersionDoc = read_last_from_bytesarray(_proposal.proposalVersionDocs);\n _finalVersion = _proposal.finalVersion;\n _pausedOrStopped = _proposal.isPausedOrStopped;\n _isDigixProposal = _proposal.isDigix;\n }\n\n function readProposalProposer(bytes32 _proposalId)\n public\n view\n returns (address _proposer)\n {\n _proposer = proposalsById[_proposalId].proposer;\n }\n\n function readTotalPrlActions(bytes32 _proposalId)\n public\n view\n returns (uint256 _length)\n {\n _length = proposalsById[_proposalId].prlActions.length;\n }\n\n function readPrlAction(bytes32 _proposalId, uint256 _index)\n public\n view\n returns (uint256 _actionId, uint256 _time, bytes32 _doc)\n {\n DaoStructs.PrlAction[] memory _actions = proposalsById[_proposalId].prlActions;\n require(_index < _actions.length);\n _actionId = _actions[_index].actionId;\n _time = _actions[_index].at;\n _doc = _actions[_index].doc;\n }\n\n function readProposalDraftVotingResult(bytes32 _proposalId)\n public\n view\n returns (bool _result)\n {\n require(senderIsAllowedToRead());\n _result = proposalsById[_proposalId].draftVoting.passed;\n }\n\n function readProposalVotingResult(bytes32 _proposalId, uint256 _index)\n public\n view\n returns (bool _result)\n {\n require(senderIsAllowedToRead());\n _result = proposalsById[_proposalId].votingRounds[_index].passed;\n }\n\n function readProposalDraftVotingTime(bytes32 _proposalId)\n public\n view\n returns (uint256 _start)\n {\n require(senderIsAllowedToRead());\n _start = proposalsById[_proposalId].draftVoting.startTime;\n }\n\n function readProposalVotingTime(bytes32 _proposalId, uint256 _index)\n public\n view\n returns (uint256 _start)\n {\n require(senderIsAllowedToRead());\n _start = proposalsById[_proposalId].votingRounds[_index].startTime;\n }\n\n function readDraftVotingCount(bytes32 _proposalId, address[] _allUsers)\n external\n view\n returns (uint256 _for, uint256 _against)\n {\n require(senderIsAllowedToRead());\n return proposalsById[_proposalId].draftVoting.countVotes(_allUsers);\n }\n\n function readVotingCount(bytes32 _proposalId, uint256 _index, address[] _allUsers)\n external\n view\n returns (uint256 _for, uint256 _against)\n {\n require(senderIsAllowedToRead());\n return proposalsById[_proposalId].votingRounds[_index].countVotes(_allUsers);\n }\n\n function readVotingRoundVotes(bytes32 _proposalId, uint256 _index, address[] _allUsers, bool _vote)\n external\n view\n returns (address[] memory _voters, uint256 _length)\n {\n require(senderIsAllowedToRead());\n return proposalsById[_proposalId].votingRounds[_index].listVotes(_allUsers, _vote);\n }\n\n function readDraftVote(bytes32 _proposalId, address _voter)\n public\n view\n returns (bool _vote, uint256 _weight)\n {\n require(senderIsAllowedToRead());\n return proposalsById[_proposalId].draftVoting.readVote(_voter);\n }\n\n /// @notice returns the latest committed vote by a voter on a proposal\n /// @param _proposalId proposal ID\n /// @param _voter address of the voter\n /// @return {\n /// \"_commitHash\": \"\"\n /// }\n function readComittedVote(bytes32 _proposalId, uint256 _index, address _voter)\n public\n view\n returns (bytes32 _commitHash)\n {\n require(senderIsAllowedToRead());\n _commitHash = proposalsById[_proposalId].votingRounds[_index].commits[_voter];\n }\n\n function readVote(bytes32 _proposalId, uint256 _index, address _voter)\n public\n view\n returns (bool _vote, uint256 _weight)\n {\n require(senderIsAllowedToRead());\n return proposalsById[_proposalId].votingRounds[_index].readVote(_voter);\n }\n\n /// @notice get all information and details of the first proposal\n /// return {\n /// \"_id\": \"\"\n /// }\n function getFirstProposal()\n public\n view\n returns (bytes32 _id)\n {\n _id = read_first_from_bytesarray(allProposals);\n }\n\n /// @notice get all information and details of the last proposal\n /// return {\n /// \"_id\": \"\"\n /// }\n function getLastProposal()\n public\n view\n returns (bytes32 _id)\n {\n _id = read_last_from_bytesarray(allProposals);\n }\n\n /// @notice get all information and details of proposal next to _proposalId\n /// @param _proposalId Proposal ID, i.e. hash of IPFS doc\n /// return {\n /// \"_id\": \"\"\n /// }\n function getNextProposal(bytes32 _proposalId)\n public\n view\n returns (bytes32 _id)\n {\n _id = read_next_from_bytesarray(\n allProposals,\n _proposalId\n );\n }\n\n /// @notice get all information and details of proposal previous to _proposalId\n /// @param _proposalId Proposal ID, i.e. hash of IPFS doc\n /// return {\n /// \"_id\": \"\"\n /// }\n function getPreviousProposal(bytes32 _proposalId)\n public\n view\n returns (bytes32 _id)\n {\n _id = read_previous_from_bytesarray(\n allProposals,\n _proposalId\n );\n }\n\n /// @notice get all information and details of the first proposal in state _stateId\n /// @param _stateId State ID of the proposal\n /// return {\n /// \"_id\": \"\"\n /// }\n function getFirstProposalInState(bytes32 _stateId)\n public\n view\n returns (bytes32 _id)\n {\n require(senderIsAllowedToRead());\n _id = read_first_from_bytesarray(proposalsByState[_stateId]);\n }\n\n /// @notice get all information and details of the last proposal in state _stateId\n /// @param _stateId State ID of the proposal\n /// return {\n /// \"_id\": \"\"\n /// }\n function getLastProposalInState(bytes32 _stateId)\n public\n view\n returns (bytes32 _id)\n {\n require(senderIsAllowedToRead());\n _id = read_last_from_bytesarray(proposalsByState[_stateId]);\n }\n\n /// @notice get all information and details of the next proposal to _proposalId in state _stateId\n /// @param _stateId State ID of the proposal\n /// return {\n /// \"_id\": \"\"\n /// }\n function getNextProposalInState(bytes32 _stateId, bytes32 _proposalId)\n public\n view\n returns (bytes32 _id)\n {\n require(senderIsAllowedToRead());\n _id = read_next_from_bytesarray(\n proposalsByState[_stateId],\n _proposalId\n );\n }\n\n /// @notice get all information and details of the previous proposal to _proposalId in state _stateId\n /// @param _stateId State ID of the proposal\n /// return {\n /// \"_id\": \"\"\n /// }\n function getPreviousProposalInState(bytes32 _stateId, bytes32 _proposalId)\n public\n view\n returns (bytes32 _id)\n {\n require(senderIsAllowedToRead());\n _id = read_previous_from_bytesarray(\n proposalsByState[_stateId],\n _proposalId\n );\n }\n\n /// @notice read proposal version details for a specific version\n /// @param _proposalId Proposal ID, i.e. hash of IPFS doc\n /// @param _version Version of proposal, i.e. hash of IPFS doc for specific version\n /// return {\n /// \"_doc\": \"\",\n /// \"_created\": \"\",\n /// \"_milestoneFundings\": \"\"\n /// }\n function readProposalVersion(bytes32 _proposalId, bytes32 _version)\n public\n view\n returns (\n bytes32 _doc,\n uint256 _created,\n uint256[] _milestoneFundings,\n uint256 _finalReward\n )\n {\n return proposalsById[_proposalId].proposalVersions[_version].readVersion();\n }\n\n /**\n @notice Read the fundings of a finalized proposal\n @return {\n \"_fundings\": \"fundings for the milestones\",\n \"_finalReward\": \"the final reward\"\n }\n */\n function readProposalFunding(bytes32 _proposalId)\n public\n view\n returns (uint256[] memory _fundings, uint256 _finalReward)\n {\n require(senderIsAllowedToRead());\n bytes32 _finalVersion = proposalsById[_proposalId].finalVersion;\n require(_finalVersion != EMPTY_BYTES);\n _fundings = proposalsById[_proposalId].proposalVersions[_finalVersion].milestoneFundings;\n _finalReward = proposalsById[_proposalId].proposalVersions[_finalVersion].finalReward;\n }\n\n function readProposalMilestone(bytes32 _proposalId, uint256 _index)\n public\n view\n returns (uint256 _funding)\n {\n require(senderIsAllowedToRead());\n _funding = proposalsById[_proposalId].readProposalMilestone(_index);\n }\n\n /// @notice get proposal version details for the first version\n /// @param _proposalId Proposal ID, i.e. hash of IPFS doc\n /// return {\n /// \"_version\": \"\"\n /// }\n function getFirstProposalVersion(bytes32 _proposalId)\n public\n view\n returns (bytes32 _version)\n {\n DaoStructs.Proposal storage _proposal = proposalsById[_proposalId];\n _version = read_first_from_bytesarray(_proposal.proposalVersionDocs);\n }\n\n /// @notice get proposal version details for the last version\n /// @param _proposalId Proposal ID, i.e. hash of IPFS doc\n /// return {\n /// \"_version\": \"\"\n /// }\n function getLastProposalVersion(bytes32 _proposalId)\n public\n view\n returns (bytes32 _version)\n {\n DaoStructs.Proposal storage _proposal = proposalsById[_proposalId];\n _version = read_last_from_bytesarray(_proposal.proposalVersionDocs);\n }\n\n /// @notice get proposal version details for the next version to _version\n /// @param _proposalId Proposal ID, i.e. hash of IPFS doc\n /// @param _version Version of proposal\n /// return {\n /// \"_nextVersion\": \"\"\n /// }\n function getNextProposalVersion(bytes32 _proposalId, bytes32 _version)\n public\n view\n returns (bytes32 _nextVersion)\n {\n DaoStructs.Proposal storage _proposal = proposalsById[_proposalId];\n _nextVersion = read_next_from_bytesarray(\n _proposal.proposalVersionDocs,\n _version\n );\n }\n\n /// @notice get proposal version details for the previous version to _version\n /// @param _proposalId Proposal ID, i.e. hash of IPFS doc\n /// @param _version Version of proposal\n /// return {\n /// \"_previousVersion\": \"\"\n /// }\n function getPreviousProposalVersion(bytes32 _proposalId, bytes32 _version)\n public\n view\n returns (bytes32 _previousVersion)\n {\n DaoStructs.Proposal storage _proposal = proposalsById[_proposalId];\n _previousVersion = read_previous_from_bytesarray(\n _proposal.proposalVersionDocs,\n _version\n );\n }\n\n function isDraftClaimed(bytes32 _proposalId)\n public\n view\n returns (bool _claimed)\n {\n _claimed = proposalsById[_proposalId].draftVoting.claimed;\n }\n\n function isClaimed(bytes32 _proposalId, uint256 _index)\n public\n view\n returns (bool _claimed)\n {\n _claimed = proposalsById[_proposalId].votingRounds[_index].claimed;\n }\n\n function readProposalCollateralStatus(bytes32 _proposalId)\n public\n view\n returns (uint256 _status)\n {\n require(senderIsAllowedToRead());\n _status = proposalsById[_proposalId].collateralStatus;\n }\n\n function readProposalCollateralAmount(bytes32 _proposalId)\n public\n view\n returns (uint256 _amount)\n {\n _amount = proposalsById[_proposalId].collateralAmount;\n }\n\n /// @notice Read the additional docs that are added after the proposal is finalized\n /// @dev Will throw if the propsal is not finalized yet\n function readProposalDocs(bytes32 _proposalId)\n public\n view\n returns (bytes32[] _moreDocs)\n {\n bytes32 _finalVersion = proposalsById[_proposalId].finalVersion;\n require(_finalVersion != EMPTY_BYTES);\n _moreDocs = proposalsById[_proposalId].proposalVersions[_finalVersion].moreDocs;\n }\n\n function readIfMilestoneFunded(bytes32 _proposalId, uint256 _milestoneId)\n public\n view\n returns (bool _funded)\n {\n require(senderIsAllowedToRead());\n _funded = proposalsById[_proposalId].votingRounds[_milestoneId].funded;\n }\n\n ////////////////////////////// WRITE FUNCTIONS //////////////////////////////\n\n function addProposal(\n bytes32 _doc,\n address _proposer,\n uint256[] _milestoneFundings,\n uint256 _finalReward,\n bool _isFounder\n )\n external\n {\n require(sender_is(CONTRACT_DAO));\n require(\n (proposalsById[_doc].proposalId == EMPTY_BYTES) &&\n (_doc != EMPTY_BYTES)\n );\n\n allProposals.append(_doc);\n proposalsByState[PROPOSAL_STATE_PREPROPOSAL].append(_doc);\n proposalsById[_doc].proposalId = _doc;\n proposalsById[_doc].proposer = _proposer;\n proposalsById[_doc].currentState = PROPOSAL_STATE_PREPROPOSAL;\n proposalsById[_doc].timeCreated = now;\n proposalsById[_doc].isDigix = _isFounder;\n proposalsById[_doc].addProposalVersion(_doc, _milestoneFundings, _finalReward);\n }\n\n function editProposal(\n bytes32 _proposalId,\n bytes32 _newDoc,\n uint256[] _newMilestoneFundings,\n uint256 _finalReward\n )\n external\n {\n require(sender_is(CONTRACT_DAO));\n\n proposalsById[_proposalId].addProposalVersion(_newDoc, _newMilestoneFundings, _finalReward);\n }\n\n /// @notice change fundings of a proposal\n /// @dev Will throw if the proposal is not finalized yet\n function changeFundings(bytes32 _proposalId, uint256[] _newMilestoneFundings, uint256 _finalReward)\n external\n {\n require(sender_is(CONTRACT_DAO));\n\n bytes32 _finalVersion = proposalsById[_proposalId].finalVersion;\n require(_finalVersion != EMPTY_BYTES);\n proposalsById[_proposalId].proposalVersions[_finalVersion].milestoneFundings = _newMilestoneFundings;\n proposalsById[_proposalId].proposalVersions[_finalVersion].finalReward = _finalReward;\n }\n\n /// @dev Will throw if the proposal is not finalized yet\n function addProposalDoc(bytes32 _proposalId, bytes32 _newDoc)\n public\n {\n require(sender_is(CONTRACT_DAO));\n\n bytes32 _finalVersion = proposalsById[_proposalId].finalVersion;\n require(_finalVersion != EMPTY_BYTES); //already checked in interactive layer, but why not\n proposalsById[_proposalId].proposalVersions[_finalVersion].moreDocs.push(_newDoc);\n }\n\n function finalizeProposal(bytes32 _proposalId)\n public\n {\n require(sender_is(CONTRACT_DAO));\n\n proposalsById[_proposalId].finalVersion = getLastProposalVersion(_proposalId);\n }\n\n function updateProposalEndorse(\n bytes32 _proposalId,\n address _endorser\n )\n public\n {\n require(sender_is(CONTRACT_DAO));\n\n DaoStructs.Proposal storage _proposal = proposalsById[_proposalId];\n _proposal.endorser = _endorser;\n _proposal.currentState = PROPOSAL_STATE_DRAFT;\n proposalsByState[PROPOSAL_STATE_PREPROPOSAL].remove_item(_proposalId);\n proposalsByState[PROPOSAL_STATE_DRAFT].append(_proposalId);\n }\n\n function setProposalDraftPass(bytes32 _proposalId, bool _result)\n public\n {\n require(sender_is(CONTRACT_DAO_VOTING_CLAIMS));\n\n proposalsById[_proposalId].draftVoting.passed = _result;\n if (_result) {\n proposalsByState[PROPOSAL_STATE_DRAFT].remove_item(_proposalId);\n proposalsByState[PROPOSAL_STATE_MODERATED].append(_proposalId);\n proposalsById[_proposalId].currentState = PROPOSAL_STATE_MODERATED;\n } else {\n closeProposalInternal(_proposalId);\n }\n }\n\n function setProposalPass(bytes32 _proposalId, uint256 _index, bool _result)\n public\n {\n require(sender_is(CONTRACT_DAO_VOTING_CLAIMS));\n\n if (!_result) {\n closeProposalInternal(_proposalId);\n } else if (_index == 0) {\n proposalsByState[PROPOSAL_STATE_MODERATED].remove_item(_proposalId);\n proposalsByState[PROPOSAL_STATE_ONGOING].append(_proposalId);\n proposalsById[_proposalId].currentState = PROPOSAL_STATE_ONGOING;\n }\n proposalsById[_proposalId].votingRounds[_index].passed = _result;\n }\n\n function setProposalDraftVotingTime(\n bytes32 _proposalId,\n uint256 _time\n )\n public\n {\n require(sender_is(CONTRACT_DAO));\n\n proposalsById[_proposalId].draftVoting.startTime = _time;\n }\n\n function setProposalVotingTime(\n bytes32 _proposalId,\n uint256 _index,\n uint256 _time\n )\n public\n {\n require(sender_is_from([CONTRACT_DAO, CONTRACT_DAO_VOTING_CLAIMS, EMPTY_BYTES]));\n\n proposalsById[_proposalId].votingRounds[_index].startTime = _time;\n }\n\n function setDraftVotingClaim(bytes32 _proposalId, bool _claimed)\n public\n {\n require(sender_is(CONTRACT_DAO_VOTING_CLAIMS));\n proposalsById[_proposalId].draftVoting.claimed = _claimed;\n }\n\n function setVotingClaim(bytes32 _proposalId, uint256 _index, bool _claimed)\n public\n {\n require(sender_is(CONTRACT_DAO_VOTING_CLAIMS));\n proposalsById[_proposalId].votingRounds[_index].claimed = _claimed;\n }\n\n function setProposalCollateralStatus(bytes32 _proposalId, uint256 _status)\n public\n {\n require(sender_is_from([CONTRACT_DAO_VOTING_CLAIMS, CONTRACT_DAO_FUNDING_MANAGER, CONTRACT_DAO]));\n proposalsById[_proposalId].collateralStatus = _status;\n }\n\n function setProposalCollateralAmount(bytes32 _proposalId, uint256 _amount)\n public\n {\n require(sender_is(CONTRACT_DAO));\n proposalsById[_proposalId].collateralAmount = _amount;\n }\n\n function updateProposalPRL(\n bytes32 _proposalId,\n uint256 _action,\n bytes32 _doc,\n uint256 _time\n )\n public\n {\n require(sender_is(CONTRACT_DAO));\n require(proposalsById[_proposalId].currentState != PROPOSAL_STATE_CLOSED);\n\n DaoStructs.PrlAction memory prlAction;\n prlAction.at = _time;\n prlAction.doc = _doc;\n prlAction.actionId = _action;\n proposalsById[_proposalId].prlActions.push(prlAction);\n\n if (_action == PRL_ACTION_PAUSE) {\n proposalsById[_proposalId].isPausedOrStopped = true;\n } else if (_action == PRL_ACTION_UNPAUSE) {\n proposalsById[_proposalId].isPausedOrStopped = false;\n } else { // STOP\n proposalsById[_proposalId].isPausedOrStopped = true;\n closeProposalInternal(_proposalId);\n }\n }\n\n function closeProposalInternal(bytes32 _proposalId)\n internal\n {\n bytes32 _currentState = proposalsById[_proposalId].currentState;\n proposalsByState[_currentState].remove_item(_proposalId);\n proposalsByState[PROPOSAL_STATE_CLOSED].append(_proposalId);\n proposalsById[_proposalId].currentState = PROPOSAL_STATE_CLOSED;\n }\n\n function addDraftVote(\n bytes32 _proposalId,\n address _voter,\n bool _vote,\n uint256 _weight\n )\n public\n {\n require(sender_is(CONTRACT_DAO_VOTING));\n\n DaoStructs.Proposal storage _proposal = proposalsById[_proposalId];\n if (_vote) {\n _proposal.draftVoting.yesVotes[_voter] = _weight;\n if (_proposal.draftVoting.noVotes[_voter] > 0) { // minimize number of writes to storage, since EIP-1087 is not implemented yet\n _proposal.draftVoting.noVotes[_voter] = 0;\n }\n } else {\n _proposal.draftVoting.noVotes[_voter] = _weight;\n if (_proposal.draftVoting.yesVotes[_voter] > 0) {\n _proposal.draftVoting.yesVotes[_voter] = 0;\n }\n }\n }\n\n function commitVote(\n bytes32 _proposalId,\n bytes32 _hash,\n address _voter,\n uint256 _index\n )\n public\n {\n require(sender_is(CONTRACT_DAO_VOTING));\n\n proposalsById[_proposalId].votingRounds[_index].commits[_voter] = _hash;\n }\n\n function revealVote(\n bytes32 _proposalId,\n address _voter,\n bool _vote,\n uint256 _weight,\n uint256 _index\n )\n public\n {\n require(sender_is(CONTRACT_DAO_VOTING));\n\n proposalsById[_proposalId].votingRounds[_index].revealVote(_voter, _vote, _weight);\n }\n\n function closeProposal(bytes32 _proposalId)\n public\n {\n require(sender_is(CONTRACT_DAO));\n closeProposalInternal(_proposalId);\n }\n\n function archiveProposal(bytes32 _proposalId)\n public\n {\n require(sender_is(CONTRACT_DAO_VOTING_CLAIMS));\n bytes32 _currentState = proposalsById[_proposalId].currentState;\n proposalsByState[_currentState].remove_item(_proposalId);\n proposalsByState[PROPOSAL_STATE_ARCHIVED].append(_proposalId);\n proposalsById[_proposalId].currentState = PROPOSAL_STATE_ARCHIVED;\n }\n\n function setMilestoneFunded(bytes32 _proposalId, uint256 _milestoneId)\n public\n {\n require(sender_is(CONTRACT_DAO_FUNDING_MANAGER));\n proposalsById[_proposalId].votingRounds[_milestoneId].funded = true;\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStorage.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStorage.sol", + "exportedSymbols": { + "DaoStorage": [ + 18304 + ] + }, + "id": 18305, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 16458, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:60" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/abstract/BytesIteratorStorage.sol", + "file": "@digix/solidity-collections/contracts/abstract/BytesIteratorStorage.sol", + "id": 16459, + "nodeType": "ImportDirective", + "scope": 18305, + "sourceUnit": 22480, + "src": "26:81:60", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "file": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "id": 16460, + "nodeType": "ImportDirective", + "scope": 18305, + "sourceUnit": 25547, + "src": "108:72:60", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoWhitelistingCommon.sol", + "file": "../common/DaoWhitelistingCommon.sol", + "id": 16461, + "nodeType": "ImportDirective", + "scope": 18305, + "sourceUnit": 1820, + "src": "181:45:60", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoStructs.sol", + "file": "../lib/DaoStructs.sol", + "id": 16462, + "nodeType": "ImportDirective", + "scope": 18305, + "sourceUnit": 8492, + "src": "227:31:60", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoWhitelistingStorage.sol", + "file": "./DaoWhitelistingStorage.sol", + "id": 16463, + "nodeType": "ImportDirective", + "scope": 18305, + "sourceUnit": 18441, + "src": "259:38:60", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 16464, + "name": "DaoWhitelistingCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1819, + "src": "322:21:60", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingCommon_$1819", + "typeString": "contract DaoWhitelistingCommon" + } + }, + "id": 16465, + "nodeType": "InheritanceSpecifier", + "src": "322:21:60" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 16466, + "name": "BytesIteratorStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 22479, + "src": "345:20:60", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BytesIteratorStorage_$22479", + "typeString": "contract BytesIteratorStorage" + } + }, + "id": 16467, + "nodeType": "InheritanceSpecifier", + "src": "345:20:60" + } + ], + "contractDependencies": [ + 1580, + 1819, + 19058, + 22479 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 18304, + "linearizedBaseContracts": [ + 18304, + 22479, + 1819, + 1580, + 19058 + ], + "name": "DaoStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 16470, + "libraryName": { + "contractScope": null, + "id": 16468, + "name": "DoublyLinkedList", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25546, + "src": "378:16:60", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DoublyLinkedList_$25546", + "typeString": "library DoublyLinkedList" + } + }, + "nodeType": "UsingForDirective", + "src": "372:50:60", + "typeName": { + "contractScope": null, + "id": 16469, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "399:22:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + } + }, + { + "id": 16473, + "libraryName": { + "contractScope": null, + "id": 16471, + "name": "DaoStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8491, + "src": "433:10:60", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStructs_$8491", + "typeString": "library DaoStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "427:39:60", + "typeName": { + "contractScope": null, + "id": 16472, + "name": "DaoStructs.Voting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7970, + "src": "448:17:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + } + } + }, + { + "id": 16476, + "libraryName": { + "contractScope": null, + "id": 16474, + "name": "DaoStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8491, + "src": "477:10:60", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStructs_$8491", + "typeString": "library DaoStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "471:41:60", + "typeName": { + "contractScope": null, + "id": 16475, + "name": "DaoStructs.Proposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8021, + "src": "492:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + } + } + }, + { + "id": 16479, + "libraryName": { + "contractScope": null, + "id": 16477, + "name": "DaoStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8491, + "src": "523:10:60", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStructs_$8491", + "typeString": "library DaoStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "517:48:60", + "typeName": { + "contractScope": null, + "id": 16478, + "name": "DaoStructs.ProposalVersion", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7985, + "src": "538:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage_ptr", + "typeString": "struct DaoStructs.ProposalVersion" + } + } + }, + { + "constant": false, + "id": 16481, + "name": "allProposals", + "nodeType": "VariableDeclaration", + "scope": 18304, + "src": "629:35:60", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 16480, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "629:22:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16485, + "name": "proposalsById", + "nodeType": "VariableDeclaration", + "scope": 18304, + "src": "794:54:60", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal)" + }, + "typeName": { + "id": 16484, + "keyType": { + "id": 16482, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "803:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "794:40:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal)" + }, + "valueType": { + "contractScope": null, + "id": 16483, + "name": "DaoStructs.Proposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8021, + "src": "814:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16489, + "name": "proposalsByState", + "nodeType": "VariableDeclaration", + "scope": 18304, + "src": "1081:60:60", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes)" + }, + "typeName": { + "id": 16488, + "keyType": { + "id": 16486, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1090:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "1081:43:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes)" + }, + "valueType": { + "contractScope": null, + "id": 16487, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "1101:22:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 16501, + "nodeType": "Block", + "src": "1186:63:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16496, + "name": "CONTRACT_STORAGE_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1348, + "src": "1209:20:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 16497, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16491, + "src": "1231:9:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 16495, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "1204:4:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 16498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1204:37:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16494, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1196:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1196:46:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16500, + "nodeType": "ExpressionStatement", + "src": "1196:46:60" + } + ] + }, + "documentation": null, + "id": 16502, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16492, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16491, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 16502, + "src": "1160:17:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16490, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1160:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1159:19:60" + }, + "payable": false, + "returnParameters": { + "id": 16493, + "nodeType": "ParameterList", + "parameters": [], + "src": "1186:0:60" + }, + "scope": 18304, + "src": "1148:101:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16594, + "nodeType": "Block", + "src": "2668:640:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 16528, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "2686:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 16529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2686:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16527, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2678:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2678:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16531, + "nodeType": "ExpressionStatement", + "src": "2678:32:60" + }, + { + "assignments": [ + 16535 + ], + "declarations": [ + { + "constant": false, + "id": 16535, + "name": "_proposal", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2720:37:60", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + }, + "typeName": { + "contractScope": null, + "id": 16534, + "name": "DaoStructs.Proposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8021, + "src": "2720:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 16539, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16536, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "2760:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16538, + "indexExpression": { + "argumentTypes": null, + "id": 16537, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16504, + "src": "2774:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2760:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2720:66:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16540, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16507, + "src": "2796:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 16541, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16535, + "src": "2803:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 16542, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 7987, + "src": "2803:20:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2796:27:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 16544, + "nodeType": "ExpressionStatement", + "src": "2796:27:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16545, + "name": "_proposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16509, + "src": "2833:9:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 16546, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16535, + "src": "2845:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 16547, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 8014, + "src": "2845:18:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2833:30:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16549, + "nodeType": "ExpressionStatement", + "src": "2833:30:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16550, + "name": "_endorser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16511, + "src": "2873:9:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 16551, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16535, + "src": "2885:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 16552, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "endorser", + "nodeType": "MemberAccess", + "referencedDeclaration": 8016, + "src": "2885:18:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2873:30:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16554, + "nodeType": "ExpressionStatement", + "src": "2873:30:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16555, + "name": "_state", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16513, + "src": "2913:6:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 16556, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16535, + "src": "2922:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 16557, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "2922:22:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2913:31:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 16559, + "nodeType": "ExpressionStatement", + "src": "2913:31:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16560, + "name": "_timeCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16515, + "src": "2954:12:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 16561, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16535, + "src": "2969:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 16562, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "timeCreated", + "nodeType": "MemberAccess", + "referencedDeclaration": 7991, + "src": "2969:21:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2954:36:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16564, + "nodeType": "ExpressionStatement", + "src": "2954:36:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16565, + "name": "_nVersions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16517, + "src": "3000:10:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 16567, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16535, + "src": "3035:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 16568, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersionDocs", + "nodeType": "MemberAccess", + "referencedDeclaration": 7993, + "src": "3035:29:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + ], + "id": 16566, + "name": "read_total_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22478, + "src": "3013:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer) view returns (uint256)" + } + }, + "id": 16569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3013:52:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3000:65:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16571, + "nodeType": "ExpressionStatement", + "src": "3000:65:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16572, + "name": "_latestVersionDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16519, + "src": "3075:17:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 16574, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16535, + "src": "3121:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 16575, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersionDocs", + "nodeType": "MemberAccess", + "referencedDeclaration": 7993, + "src": "3121:29:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + ], + "id": 16573, + "name": "read_last_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22430, + "src": "3095:25:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer) view returns (bytes32)" + } + }, + "id": 16576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3095:56:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3075:76:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 16578, + "nodeType": "ExpressionStatement", + "src": "3075:76:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16579, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16521, + "src": "3161:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 16580, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16535, + "src": "3177:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 16581, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "finalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8009, + "src": "3177:22:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3161:38:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 16583, + "nodeType": "ExpressionStatement", + "src": "3161:38:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16584, + "name": "_pausedOrStopped", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16523, + "src": "3209:16:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 16585, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16535, + "src": "3228:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 16586, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isPausedOrStopped", + "nodeType": "MemberAccess", + "referencedDeclaration": 8018, + "src": "3228:27:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3209:46:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16588, + "nodeType": "ExpressionStatement", + "src": "3209:46:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16589, + "name": "_isDigixProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16525, + "src": "3265:16:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 16590, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16535, + "src": "3284:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 16591, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isDigix", + "nodeType": "MemberAccess", + "referencedDeclaration": 8020, + "src": "3284:17:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3265:36:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16593, + "nodeType": "ExpressionStatement", + "src": "3265:36:60" + } + ] + }, + "documentation": "//////////////////////////// READ FUNCTIONS //////////////////////////////\n @notice read all information and details of proposal\n @param _proposalId Proposal ID, i.e. hash of IPFS doc Proposal ID, i.e. hash of IPFS doc\n return {\n \"_doc\": \"Original IPFS doc of proposal, also ID of proposal\",\n \"_proposer\": \"Address of the proposer\",\n \"_endorser\": \"Address of the moderator that endorsed the proposal\",\n \"_state\": \"Current state of the proposal\",\n \"_timeCreated\": \"UTC timestamp at which proposal was created\",\n \"_nVersions\": \"Number of versions of the proposal\",\n \"_latestVersionDoc\": \"IPFS doc hash of the latest version of this proposal\",\n \"_finalVersion\": \"If finalized, the version of the final proposal\",\n \"_pausedOrStopped\": \"If the proposal is paused/stopped at the moment\",\n \"_isDigixProposal\": \"If the proposal has been created by founder or not\"\n }", + "id": 16595, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16505, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16504, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2262:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16503, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2262:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2261:21:60" + }, + "payable": false, + "returnParameters": { + "id": 16526, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16507, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2341:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16506, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2341:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16509, + "name": "_proposer", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2367:17:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16508, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2367:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16511, + "name": "_endorser", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2398:17:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16510, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2398:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16513, + "name": "_state", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2429:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16512, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2429:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16515, + "name": "_timeCreated", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2457:20:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16514, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2457:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16517, + "name": "_nVersions", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2491:18:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16516, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2491:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16519, + "name": "_latestVersionDoc", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2523:25:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16518, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2523:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16521, + "name": "_finalVersion", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2562:21:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16520, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2562:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16523, + "name": "_pausedOrStopped", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2597:21:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16522, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2597:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16525, + "name": "_isDigixProposal", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2632:21:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16524, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2632:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2327:336:60" + }, + "scope": 18304, + "src": "2240:1068:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16609, + "nodeType": "Block", + "src": "3433:64:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16602, + "name": "_proposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16600, + "src": "3443:9:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16603, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3455:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16605, + "indexExpression": { + "argumentTypes": null, + "id": 16604, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16597, + "src": "3469:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3455:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16606, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 8014, + "src": "3455:35:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3443:47:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16608, + "nodeType": "ExpressionStatement", + "src": "3443:47:60" + } + ] + }, + "documentation": null, + "id": 16610, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalProposer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16598, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16597, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16610, + "src": "3344:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16596, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3344:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3343:21:60" + }, + "payable": false, + "returnParameters": { + "id": 16601, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16600, + "name": "_proposer", + "nodeType": "VariableDeclaration", + "scope": 16610, + "src": "3410:17:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16599, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3410:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3409:19:60" + }, + "scope": 18304, + "src": "3314:183:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16625, + "nodeType": "Block", + "src": "3619:71:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16617, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16615, + "src": "3629:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16618, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3639:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16620, + "indexExpression": { + "argumentTypes": null, + "id": 16619, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16612, + "src": "3653:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3639:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16621, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "prlActions", + "nodeType": "MemberAccess", + "referencedDeclaration": 8012, + "src": "3639:37:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PrlAction_$7945_storage_$dyn_storage", + "typeString": "struct DaoStructs.PrlAction storage ref[] storage ref" + } + }, + "id": 16622, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3639:44:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3629:54:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16624, + "nodeType": "ExpressionStatement", + "src": "3629:54:60" + } + ] + }, + "documentation": null, + "id": 16626, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readTotalPrlActions", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16613, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16612, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16626, + "src": "3532:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16611, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3532:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3531:21:60" + }, + "payable": false, + "returnParameters": { + "id": 16616, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16615, + "name": "_length", + "nodeType": "VariableDeclaration", + "scope": 16626, + "src": "3598:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16614, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3598:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3597:17:60" + }, + "scope": 18304, + "src": "3503:187:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16677, + "nodeType": "Block", + "src": "3853:259:60", + "statements": [ + { + "assignments": [ + 16643 + ], + "declarations": [ + { + "constant": false, + "id": 16643, + "name": "_actions", + "nodeType": "VariableDeclaration", + "scope": 16678, + "src": "3863:38:60", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PrlAction_$7945_memory_$dyn_memory_ptr", + "typeString": "struct DaoStructs.PrlAction[]" + }, + "typeName": { + "baseType": { + "contractScope": null, + "id": 16641, + "name": "DaoStructs.PrlAction", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7945, + "src": "3863:20:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PrlAction_$7945_storage_ptr", + "typeString": "struct DaoStructs.PrlAction" + } + }, + "id": 16642, + "length": null, + "nodeType": "ArrayTypeName", + "src": "3863:22:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PrlAction_$7945_storage_$dyn_storage_ptr", + "typeString": "struct DaoStructs.PrlAction[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 16648, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16644, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3904:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16646, + "indexExpression": { + "argumentTypes": null, + "id": 16645, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16628, + "src": "3918:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3904:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16647, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "prlActions", + "nodeType": "MemberAccess", + "referencedDeclaration": 8012, + "src": "3904:37:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PrlAction_$7945_storage_$dyn_storage", + "typeString": "struct DaoStructs.PrlAction storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3863:78:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 16653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 16650, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16630, + "src": "3959:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 16651, + "name": "_actions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16643, + "src": "3968:8:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PrlAction_$7945_memory_$dyn_memory_ptr", + "typeString": "struct DaoStructs.PrlAction memory[] memory" + } + }, + "id": 16652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3968:15:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3959:24:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16649, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3951:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3951:33:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16655, + "nodeType": "ExpressionStatement", + "src": "3951:33:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16656, + "name": "_actionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16633, + "src": "3994:9:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16657, + "name": "_actions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16643, + "src": "4006:8:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PrlAction_$7945_memory_$dyn_memory_ptr", + "typeString": "struct DaoStructs.PrlAction memory[] memory" + } + }, + "id": 16659, + "indexExpression": { + "argumentTypes": null, + "id": 16658, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16630, + "src": "4015:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4006:16:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PrlAction_$7945_memory", + "typeString": "struct DaoStructs.PrlAction memory" + } + }, + "id": 16660, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "actionId", + "nodeType": "MemberAccess", + "referencedDeclaration": 7944, + "src": "4006:25:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3994:37:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16662, + "nodeType": "ExpressionStatement", + "src": "3994:37:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16663, + "name": "_time", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16635, + "src": "4041:5:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16664, + "name": "_actions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16643, + "src": "4049:8:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PrlAction_$7945_memory_$dyn_memory_ptr", + "typeString": "struct DaoStructs.PrlAction memory[] memory" + } + }, + "id": 16666, + "indexExpression": { + "argumentTypes": null, + "id": 16665, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16630, + "src": "4058:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4049:16:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PrlAction_$7945_memory", + "typeString": "struct DaoStructs.PrlAction memory" + } + }, + "id": 16667, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "at", + "nodeType": "MemberAccess", + "referencedDeclaration": 7940, + "src": "4049:19:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4041:27:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16669, + "nodeType": "ExpressionStatement", + "src": "4041:27:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16670, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16637, + "src": "4078:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16671, + "name": "_actions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16643, + "src": "4085:8:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PrlAction_$7945_memory_$dyn_memory_ptr", + "typeString": "struct DaoStructs.PrlAction memory[] memory" + } + }, + "id": 16673, + "indexExpression": { + "argumentTypes": null, + "id": 16672, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16630, + "src": "4094:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4085:16:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PrlAction_$7945_memory", + "typeString": "struct DaoStructs.PrlAction memory" + } + }, + "id": 16674, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "doc", + "nodeType": "MemberAccess", + "referencedDeclaration": 7942, + "src": "4085:20:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4078:27:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 16676, + "nodeType": "ExpressionStatement", + "src": "4078:27:60" + } + ] + }, + "documentation": null, + "id": 16678, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readPrlAction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16631, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16628, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16678, + "src": "3719:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16627, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3719:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16630, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 16678, + "src": "3740:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16629, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3740:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3718:37:60" + }, + "payable": false, + "returnParameters": { + "id": 16638, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16633, + "name": "_actionId", + "nodeType": "VariableDeclaration", + "scope": 16678, + "src": "3801:17:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16632, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3801:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16635, + "name": "_time", + "nodeType": "VariableDeclaration", + "scope": 16678, + "src": "3820:13:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16634, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3820:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16637, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 16678, + "src": "3835:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16636, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3835:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3800:48:60" + }, + "scope": 18304, + "src": "3696:416:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16698, + "nodeType": "Block", + "src": "4241:114:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 16686, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "4259:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 16687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4259:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16685, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4251:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4251:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16689, + "nodeType": "ExpressionStatement", + "src": "4251:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16690, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16683, + "src": "4293:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16691, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "4303:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16693, + "indexExpression": { + "argumentTypes": null, + "id": 16692, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16680, + "src": "4317:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4303:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16694, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "4303:38:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 16695, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "passed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7965, + "src": "4303:45:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4293:55:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16697, + "nodeType": "ExpressionStatement", + "src": "4293:55:60" + } + ] + }, + "documentation": null, + "id": 16699, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalDraftVotingResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16681, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16680, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16699, + "src": "4157:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16679, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4157:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4156:21:60" + }, + "payable": false, + "returnParameters": { + "id": 16684, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16683, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 16699, + "src": "4223:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16682, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4223:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4222:14:60" + }, + "scope": 18304, + "src": "4118:237:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16723, + "nodeType": "Block", + "src": "4495:123:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 16709, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "4513:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 16710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4513:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16708, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4505:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4505:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16712, + "nodeType": "ExpressionStatement", + "src": "4505:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16713, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16706, + "src": "4547:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16714, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "4557:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16716, + "indexExpression": { + "argumentTypes": null, + "id": 16715, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16701, + "src": "4571:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4557:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16717, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "4557:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 16719, + "indexExpression": { + "argumentTypes": null, + "id": 16718, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16703, + "src": "4597:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4557:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 16720, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "passed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7965, + "src": "4557:54:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4547:64:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16722, + "nodeType": "ExpressionStatement", + "src": "4547:64:60" + } + ] + }, + "documentation": null, + "id": 16724, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalVotingResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16704, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16701, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16724, + "src": "4395:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16700, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4395:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16703, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 16724, + "src": "4416:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16702, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4416:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4394:37:60" + }, + "payable": false, + "returnParameters": { + "id": 16707, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16706, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 16724, + "src": "4477:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16705, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4477:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4476:14:60" + }, + "scope": 18304, + "src": "4361:257:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16744, + "nodeType": "Block", + "src": "4747:116:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 16732, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "4765:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 16733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4765:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16731, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4757:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4757:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16735, + "nodeType": "ExpressionStatement", + "src": "4757:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16736, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16729, + "src": "4799:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16737, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "4808:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16739, + "indexExpression": { + "argumentTypes": null, + "id": 16738, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16726, + "src": "4822:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4808:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16740, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "4808:38:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 16741, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "4808:48:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4799:57:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16743, + "nodeType": "ExpressionStatement", + "src": "4799:57:60" + } + ] + }, + "documentation": null, + "id": 16745, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalDraftVotingTime", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16727, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16726, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16745, + "src": "4661:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16725, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4661:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4660:21:60" + }, + "payable": false, + "returnParameters": { + "id": 16730, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16729, + "name": "_start", + "nodeType": "VariableDeclaration", + "scope": 16745, + "src": "4727:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16728, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4727:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4726:16:60" + }, + "scope": 18304, + "src": "4624:239:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16769, + "nodeType": "Block", + "src": "5003:125:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 16755, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "5021:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 16756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5021:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16754, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5013:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5013:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16758, + "nodeType": "ExpressionStatement", + "src": "5013:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16759, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16752, + "src": "5055:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16760, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "5064:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16762, + "indexExpression": { + "argumentTypes": null, + "id": 16761, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16747, + "src": "5078:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5064:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16763, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "5064:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 16765, + "indexExpression": { + "argumentTypes": null, + "id": 16764, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16749, + "src": "5104:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5064:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 16766, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "5064:57:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5055:66:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16768, + "nodeType": "ExpressionStatement", + "src": "5055:66:60" + } + ] + }, + "documentation": null, + "id": 16770, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalVotingTime", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16750, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16747, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16770, + "src": "4901:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16746, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4901:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16749, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 16770, + "src": "4922:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16748, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4922:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4900:37:60" + }, + "payable": false, + "returnParameters": { + "id": 16753, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16752, + "name": "_start", + "nodeType": "VariableDeclaration", + "scope": 16770, + "src": "4983:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16751, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4983:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4982:16:60" + }, + "scope": 18304, + "src": "4869:259:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16795, + "nodeType": "Block", + "src": "5289:126:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 16783, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "5307:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 16784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5307:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16782, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5299:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5299:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16786, + "nodeType": "ExpressionStatement", + "src": "5299:32:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16792, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16775, + "src": "5398:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16787, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "5348:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16789, + "indexExpression": { + "argumentTypes": null, + "id": 16788, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16772, + "src": "5362:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5348:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16790, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "5348:38:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 16791, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 8095, + "src": "5348:49:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Voting_$7970_storage_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$_t_uint256_$bound_to$_t_struct$_Voting_$7970_storage_ptr_$", + "typeString": "function (struct DaoStructs.Voting storage pointer,address[] memory) view returns (uint256,uint256)" + } + }, + "id": 16793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5348:60:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "functionReturnParameters": 16781, + "id": 16794, + "nodeType": "Return", + "src": "5341:67:60" + } + ] + }, + "documentation": null, + "id": 16796, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readDraftVotingCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16776, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16772, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16796, + "src": "5164:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16771, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5164:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16775, + "name": "_allUsers", + "nodeType": "VariableDeclaration", + "scope": 16796, + "src": "5185:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 16773, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5185:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16774, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5185:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5163:42:60" + }, + "payable": false, + "returnParameters": { + "id": 16781, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16778, + "name": "_for", + "nodeType": "VariableDeclaration", + "scope": 16796, + "src": "5253:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16777, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5253:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16780, + "name": "_against", + "nodeType": "VariableDeclaration", + "scope": 16796, + "src": "5267:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16779, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5267:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5252:32:60" + }, + "scope": 18304, + "src": "5134:281:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 16825, + "nodeType": "Block", + "src": "5587:135:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 16811, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "5605:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 16812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5605:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16810, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5597:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5597:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16814, + "nodeType": "ExpressionStatement", + "src": "5597:32:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16822, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16803, + "src": "5705:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16815, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "5646:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16817, + "indexExpression": { + "argumentTypes": null, + "id": 16816, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16798, + "src": "5660:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5646:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16818, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "5646:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 16820, + "indexExpression": { + "argumentTypes": null, + "id": 16819, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16800, + "src": "5686:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5646:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 16821, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 8095, + "src": "5646:58:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Voting_$7970_storage_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$_t_uint256_$bound_to$_t_struct$_Voting_$7970_storage_ptr_$", + "typeString": "function (struct DaoStructs.Voting storage pointer,address[] memory) view returns (uint256,uint256)" + } + }, + "id": 16823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5646:69:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "functionReturnParameters": 16809, + "id": 16824, + "nodeType": "Return", + "src": "5639:76:60" + } + ] + }, + "documentation": null, + "id": 16826, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVotingCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16804, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16798, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16826, + "src": "5446:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16797, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5446:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16800, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 16826, + "src": "5467:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16799, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5467:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16803, + "name": "_allUsers", + "nodeType": "VariableDeclaration", + "scope": 16826, + "src": "5483:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 16801, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5483:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16802, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5483:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5445:58:60" + }, + "payable": false, + "returnParameters": { + "id": 16809, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16806, + "name": "_for", + "nodeType": "VariableDeclaration", + "scope": 16826, + "src": "5551:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16805, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5551:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16808, + "name": "_against", + "nodeType": "VariableDeclaration", + "scope": 16826, + "src": "5565:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16807, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5565:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5550:32:60" + }, + "scope": 18304, + "src": "5421:301:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 16859, + "nodeType": "Block", + "src": "5922:141:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 16844, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "5940:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 16845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5940:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16843, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5932:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5932:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16847, + "nodeType": "ExpressionStatement", + "src": "5932:32:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16855, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16833, + "src": "6039:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + { + "argumentTypes": null, + "id": 16856, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16835, + "src": "6050:5:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16848, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "5981:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16850, + "indexExpression": { + "argumentTypes": null, + "id": 16849, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16828, + "src": "5995:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5981:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16851, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "5981:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 16853, + "indexExpression": { + "argumentTypes": null, + "id": 16852, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16830, + "src": "6021:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5981:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 16854, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "listVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 8203, + "src": "5981:57:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Voting_$7970_storage_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$bound_to$_t_struct$_Voting_$7970_storage_ptr_$", + "typeString": "function (struct DaoStructs.Voting storage pointer,address[] memory,bool) view returns (address[] memory,uint256)" + } + }, + "id": 16857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5981:75:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(address[] memory,uint256)" + } + }, + "functionReturnParameters": 16842, + "id": 16858, + "nodeType": "Return", + "src": "5974:82:60" + } + ] + }, + "documentation": null, + "id": 16860, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVotingRoundVotes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16836, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16828, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16860, + "src": "5758:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16827, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5758:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16830, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 16860, + "src": "5779:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16829, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5779:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16833, + "name": "_allUsers", + "nodeType": "VariableDeclaration", + "scope": 16860, + "src": "5795:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 16831, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5795:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16832, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5795:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16835, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 16860, + "src": "5816:10:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16834, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5816:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5757:70:60" + }, + "payable": false, + "returnParameters": { + "id": 16842, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16839, + "name": "_voters", + "nodeType": "VariableDeclaration", + "scope": 16860, + "src": "5875:24:60", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 16837, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5875:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16838, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5875:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16841, + "name": "_length", + "nodeType": "VariableDeclaration", + "scope": 16860, + "src": "5901:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16840, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5901:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5874:43:60" + }, + "scope": 18304, + "src": "5728:335:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 16884, + "nodeType": "Block", + "src": "6207:121:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 16872, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "6225:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 16873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6225:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16871, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "6217:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6217:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16875, + "nodeType": "ExpressionStatement", + "src": "6217:32:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16881, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16864, + "src": "6314:6:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16876, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "6266:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16878, + "indexExpression": { + "argumentTypes": null, + "id": 16877, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16862, + "src": "6280:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6266:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16879, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "6266:38:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 16880, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "readVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 8246, + "src": "6266:47:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Voting_$7970_storage_ptr_$_t_address_$returns$_t_bool_$_t_uint256_$bound_to$_t_struct$_Voting_$7970_storage_ptr_$", + "typeString": "function (struct DaoStructs.Voting storage pointer,address) view returns (bool,uint256)" + } + }, + "id": 16882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6266:55:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "functionReturnParameters": 16870, + "id": 16883, + "nodeType": "Return", + "src": "6259:62:60" + } + ] + }, + "documentation": null, + "id": 16885, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readDraftVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16865, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16862, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16885, + "src": "6092:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16861, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6092:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16864, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 16885, + "src": "6113:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16863, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6113:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6091:37:60" + }, + "payable": false, + "returnParameters": { + "id": 16870, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16867, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 16885, + "src": "6174:10:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16866, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6174:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16869, + "name": "_weight", + "nodeType": "VariableDeclaration", + "scope": 16885, + "src": "6186:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16868, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6186:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6173:29:60" + }, + "scope": 18304, + "src": "6069:259:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16913, + "nodeType": "Block", + "src": "6696:136:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 16897, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "6714:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 16898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6714:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16896, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "6706:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6706:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16900, + "nodeType": "ExpressionStatement", + "src": "6706:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16901, + "name": "_commitHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16894, + "src": "6748:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16902, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "6762:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16904, + "indexExpression": { + "argumentTypes": null, + "id": 16903, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16887, + "src": "6776:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6762:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16905, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "6762:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 16907, + "indexExpression": { + "argumentTypes": null, + "id": 16906, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16889, + "src": "6802:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6762:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 16908, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "commits", + "nodeType": "MemberAccess", + "referencedDeclaration": 7955, + "src": "6762:55:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$", + "typeString": "mapping(address => bytes32)" + } + }, + "id": 16910, + "indexExpression": { + "argumentTypes": null, + "id": 16909, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16891, + "src": "6818:6:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6762:63:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6748:77:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 16912, + "nodeType": "ExpressionStatement", + "src": "6748:77:60" + } + ] + }, + "documentation": "@notice returns the latest committed vote by a voter on a proposal\n @param _proposalId proposal ID\n @param _voter address of the voter\n @return {\n \"_commitHash\": \"\"\n }", + "id": 16914, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readComittedVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16892, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16887, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16914, + "src": "6573:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16886, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6573:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16889, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 16914, + "src": "6594:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16888, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6594:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16891, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 16914, + "src": "6610:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16890, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6610:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6572:53:60" + }, + "payable": false, + "returnParameters": { + "id": 16895, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16894, + "name": "_commitHash", + "nodeType": "VariableDeclaration", + "scope": 16914, + "src": "6671:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16893, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6671:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6670:21:60" + }, + "scope": 18304, + "src": "6547:285:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16942, + "nodeType": "Block", + "src": "6987:130:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 16928, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "7005:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 16929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7005:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16927, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "6997:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6997:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16931, + "nodeType": "ExpressionStatement", + "src": "6997:32:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16939, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16920, + "src": "7103:6:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16932, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "7046:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16934, + "indexExpression": { + "argumentTypes": null, + "id": 16933, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16916, + "src": "7060:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7046:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16935, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "7046:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 16937, + "indexExpression": { + "argumentTypes": null, + "id": 16936, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16918, + "src": "7086:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7046:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 16938, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "readVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 8246, + "src": "7046:56:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Voting_$7970_storage_ptr_$_t_address_$returns$_t_bool_$_t_uint256_$bound_to$_t_struct$_Voting_$7970_storage_ptr_$", + "typeString": "function (struct DaoStructs.Voting storage pointer,address) view returns (bool,uint256)" + } + }, + "id": 16940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7046:64:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "functionReturnParameters": 16926, + "id": 16941, + "nodeType": "Return", + "src": "7039:71:60" + } + ] + }, + "documentation": null, + "id": 16943, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16921, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16916, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16943, + "src": "6856:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16915, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6856:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16918, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 16943, + "src": "6877:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16917, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6877:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16920, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 16943, + "src": "6893:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16919, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6893:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6855:53:60" + }, + "payable": false, + "returnParameters": { + "id": 16926, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16923, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 16943, + "src": "6954:10:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16922, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6954:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16925, + "name": "_weight", + "nodeType": "VariableDeclaration", + "scope": 16943, + "src": "6966:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16924, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6966:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6953:29:60" + }, + "scope": 18304, + "src": "6838:279:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16954, + "nodeType": "Block", + "src": "7330:63:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16948, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16946, + "src": "7340:3:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16950, + "name": "allProposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16481, + "src": "7373:12:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + ], + "id": 16949, + "name": "read_first_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22416, + "src": "7346:26:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer) view returns (bytes32)" + } + }, + "id": 16951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7346:40:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7340:46:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 16953, + "nodeType": "ExpressionStatement", + "src": "7340:46:60" + } + ] + }, + "documentation": "@notice get all information and details of the first proposal\n return {\n \"_id\": \"\"\n }", + "id": 16955, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getFirstProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16944, + "nodeType": "ParameterList", + "parameters": [], + "src": "7265:2:60" + }, + "payable": false, + "returnParameters": { + "id": 16947, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16946, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 16955, + "src": "7313:11:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16945, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7313:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7312:13:60" + }, + "scope": 18304, + "src": "7240:153:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16966, + "nodeType": "Block", + "src": "7604:62:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16960, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16958, + "src": "7614:3:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16962, + "name": "allProposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16481, + "src": "7646:12:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + ], + "id": 16961, + "name": "read_last_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22430, + "src": "7620:25:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer) view returns (bytes32)" + } + }, + "id": 16963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7620:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7614:45:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 16965, + "nodeType": "ExpressionStatement", + "src": "7614:45:60" + } + ] + }, + "documentation": "@notice get all information and details of the last proposal\n return {\n \"_id\": \"\"\n }", + "id": 16967, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getLastProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16956, + "nodeType": "ParameterList", + "parameters": [], + "src": "7539:2:60" + }, + "payable": false, + "returnParameters": { + "id": 16959, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16958, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 16967, + "src": "7587:11:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16957, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7587:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7586:13:60" + }, + "scope": 18304, + "src": "7515:151:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16981, + "nodeType": "Block", + "src": "7969:109:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16974, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16972, + "src": "7979:3:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16976, + "name": "allProposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16481, + "src": "8024:12:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + { + "argumentTypes": null, + "id": 16977, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16969, + "src": "8050:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 16975, + "name": "read_next_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22447, + "src": "7985:25:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 16978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7985:86:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7979:92:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 16980, + "nodeType": "ExpressionStatement", + "src": "7979:92:60" + } + ] + }, + "documentation": "@notice get all information and details of proposal next to _proposalId\n @param _proposalId Proposal ID, i.e. hash of IPFS doc\n return {\n \"_id\": \"\"\n }", + "id": 16982, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getNextProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16970, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16969, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16982, + "src": "7886:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16968, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7886:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7885:21:60" + }, + "payable": false, + "returnParameters": { + "id": 16973, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16972, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 16982, + "src": "7952:11:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16971, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7952:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7951:13:60" + }, + "scope": 18304, + "src": "7861:217:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16996, + "nodeType": "Block", + "src": "8389:113:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16989, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16987, + "src": "8399:3:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16991, + "name": "allProposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16481, + "src": "8448:12:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + { + "argumentTypes": null, + "id": 16992, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16984, + "src": "8474:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 16990, + "name": "read_previous_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22464, + "src": "8405:29:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 16993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8405:90:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "8399:96:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 16995, + "nodeType": "ExpressionStatement", + "src": "8399:96:60" + } + ] + }, + "documentation": "@notice get all information and details of proposal previous to _proposalId\n @param _proposalId Proposal ID, i.e. hash of IPFS doc\n return {\n \"_id\": \"\"\n }", + "id": 16997, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getPreviousProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16985, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16984, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16997, + "src": "8306:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16983, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8306:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8305:21:60" + }, + "payable": false, + "returnParameters": { + "id": 16988, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16987, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 16997, + "src": "8372:11:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16986, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8372:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8371:13:60" + }, + "scope": 18304, + "src": "8277:225:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17017, + "nodeType": "Block", + "src": "8805:119:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 17005, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "8823:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 17006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8823:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17004, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "8815:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8815:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17008, + "nodeType": "ExpressionStatement", + "src": "8815:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17009, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17002, + "src": "8857:3:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17011, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "8890:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 17013, + "indexExpression": { + "argumentTypes": null, + "id": 17012, + "name": "_stateId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16999, + "src": "8907:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8890:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + ], + "id": 17010, + "name": "read_first_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22416, + "src": "8863:26:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer) view returns (bytes32)" + } + }, + "id": 17014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8863:54:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "8857:60:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17016, + "nodeType": "ExpressionStatement", + "src": "8857:60:60" + } + ] + }, + "documentation": "@notice get all information and details of the first proposal in state _stateId\n @param _stateId State ID of the proposal\n return {\n \"_id\": \"\"\n }", + "id": 17018, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getFirstProposalInState", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17000, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16999, + "name": "_stateId", + "nodeType": "VariableDeclaration", + "scope": 17018, + "src": "8725:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16998, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8725:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8724:18:60" + }, + "payable": false, + "returnParameters": { + "id": 17003, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17002, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 17018, + "src": "8788:11:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17001, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8788:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8787:13:60" + }, + "scope": 18304, + "src": "8692:232:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17038, + "nodeType": "Block", + "src": "9225:118:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 17026, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "9243:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 17027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9243:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17025, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "9235:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17028, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9235:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17029, + "nodeType": "ExpressionStatement", + "src": "9235:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17030, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17023, + "src": "9277:3:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17032, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "9309:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 17034, + "indexExpression": { + "argumentTypes": null, + "id": 17033, + "name": "_stateId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17020, + "src": "9326:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9309:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + ], + "id": 17031, + "name": "read_last_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22430, + "src": "9283:25:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer) view returns (bytes32)" + } + }, + "id": 17035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9283:53:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "9277:59:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17037, + "nodeType": "ExpressionStatement", + "src": "9277:59:60" + } + ] + }, + "documentation": "@notice get all information and details of the last proposal in state _stateId\n @param _stateId State ID of the proposal\n return {\n \"_id\": \"\"\n }", + "id": 17039, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getLastProposalInState", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17021, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17020, + "name": "_stateId", + "nodeType": "VariableDeclaration", + "scope": 17039, + "src": "9145:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17019, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9145:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9144:18:60" + }, + "payable": false, + "returnParameters": { + "id": 17024, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17023, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 17039, + "src": "9208:11:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17022, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9208:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9207:13:60" + }, + "scope": 18304, + "src": "9113:230:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17062, + "nodeType": "Block", + "src": "9680:165:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 17049, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "9698:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 17050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9698:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17048, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "9690:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9690:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17052, + "nodeType": "ExpressionStatement", + "src": "9690:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17053, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17046, + "src": "9732:3:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17055, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "9777:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 17057, + "indexExpression": { + "argumentTypes": null, + "id": 17056, + "name": "_stateId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17041, + "src": "9794:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9777:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + { + "argumentTypes": null, + "id": 17058, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17043, + "src": "9817:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17054, + "name": "read_next_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22447, + "src": "9738:25:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 17059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9738:100:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "9732:106:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17061, + "nodeType": "ExpressionStatement", + "src": "9732:106:60" + } + ] + }, + "documentation": "@notice get all information and details of the next proposal to _proposalId in state _stateId\n @param _stateId State ID of the proposal\n return {\n \"_id\": \"\"\n }", + "id": 17063, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getNextProposalInState", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17044, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17041, + "name": "_stateId", + "nodeType": "VariableDeclaration", + "scope": 17063, + "src": "9579:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17040, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9579:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17043, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17063, + "src": "9597:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17042, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9597:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9578:39:60" + }, + "payable": false, + "returnParameters": { + "id": 17047, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17046, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 17063, + "src": "9663:11:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17045, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9663:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9662:13:60" + }, + "scope": 18304, + "src": "9547:298:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17086, + "nodeType": "Block", + "src": "10190:169:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 17073, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "10208:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 17074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10208:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17072, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "10200:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10200:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17076, + "nodeType": "ExpressionStatement", + "src": "10200:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17077, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17070, + "src": "10242:3:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17079, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "10291:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 17081, + "indexExpression": { + "argumentTypes": null, + "id": 17080, + "name": "_stateId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17065, + "src": "10308:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10291:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + { + "argumentTypes": null, + "id": 17082, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17067, + "src": "10331:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17078, + "name": "read_previous_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22464, + "src": "10248:29:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 17083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10248:104:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "10242:110:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17085, + "nodeType": "ExpressionStatement", + "src": "10242:110:60" + } + ] + }, + "documentation": "@notice get all information and details of the previous proposal to _proposalId in state _stateId\n @param _stateId State ID of the proposal\n return {\n \"_id\": \"\"\n }", + "id": 17087, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getPreviousProposalInState", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17068, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17065, + "name": "_stateId", + "nodeType": "VariableDeclaration", + "scope": 17087, + "src": "10089:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17064, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10089:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17067, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17087, + "src": "10107:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17066, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10107:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10088:39:60" + }, + "payable": false, + "returnParameters": { + "id": 17071, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17070, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 17087, + "src": "10173:11:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17069, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10173:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10172:13:60" + }, + "scope": 18304, + "src": "10053:306:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17112, + "nodeType": "Block", + "src": "10953:91:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17103, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "10970:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17105, + "indexExpression": { + "argumentTypes": null, + "id": 17104, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17089, + "src": "10984:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10970:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17106, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "10970:43:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 17108, + "indexExpression": { + "argumentTypes": null, + "id": 17107, + "name": "_version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17091, + "src": "11014:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10970:53:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 17109, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "readVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8313, + "src": "10970:65:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_ProposalVersion_$7985_storage_ptr_$returns$_t_bytes32_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$bound_to$_t_struct$_ProposalVersion_$7985_storage_ptr_$", + "typeString": "function (struct DaoStructs.ProposalVersion storage pointer) view returns (bytes32,uint256,uint256[] memory,uint256)" + } + }, + "id": 17110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10970:67:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(bytes32,uint256,uint256[] memory,uint256)" + } + }, + "functionReturnParameters": 17102, + "id": 17111, + "nodeType": "Return", + "src": "10963:74:60" + } + ] + }, + "documentation": "@notice read proposal version details for a specific version\n @param _proposalId Proposal ID, i.e. hash of IPFS doc\n @param _version Version of proposal, i.e. hash of IPFS doc for specific version\n return {\n \"_doc\": \"\",\n \"_created\": \"\",\n \"_milestoneFundings\": \"\"\n }", + "id": 17113, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalVersion", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17092, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17089, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17113, + "src": "10723:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17088, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10723:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17091, + "name": "_version", + "nodeType": "VariableDeclaration", + "scope": 17113, + "src": "10744:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17090, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10744:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10722:39:60" + }, + "payable": false, + "returnParameters": { + "id": 17102, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17094, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 17113, + "src": "10820:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17093, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10820:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17096, + "name": "_created", + "nodeType": "VariableDeclaration", + "scope": 17113, + "src": "10846:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17095, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10846:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17099, + "name": "_milestoneFundings", + "nodeType": "VariableDeclaration", + "scope": 17113, + "src": "10876:28:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 17097, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10876:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17098, + "length": null, + "nodeType": "ArrayTypeName", + "src": "10876:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17101, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 17113, + "src": "10918:20:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17100, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10918:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10806:142:60" + }, + "scope": 18304, + "src": "10694:350:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17161, + "nodeType": "Block", + "src": "11383:362:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 17124, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "11401:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 17125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11401:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17123, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "11393:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11393:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17127, + "nodeType": "ExpressionStatement", + "src": "11393:32:60" + }, + { + "assignments": [ + 17129 + ], + "declarations": [ + { + "constant": false, + "id": 17129, + "name": "_finalVersion", + "nodeType": "VariableDeclaration", + "scope": 17162, + "src": "11435:21:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17128, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11435:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 17134, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17130, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "11459:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17132, + "indexExpression": { + "argumentTypes": null, + "id": 17131, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17115, + "src": "11473:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11459:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17133, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "finalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8009, + "src": "11459:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11435:63:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 17138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 17136, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17129, + "src": "11516:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 17137, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "11533:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "11516:28:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17135, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "11508:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11508:37:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17140, + "nodeType": "ExpressionStatement", + "src": "11508:37:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17141, + "name": "_fundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17119, + "src": "11555:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17142, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "11567:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17144, + "indexExpression": { + "argumentTypes": null, + "id": 17143, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17115, + "src": "11581:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11567:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17145, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "11567:43:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 17147, + "indexExpression": { + "argumentTypes": null, + "id": 17146, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17129, + "src": "11611:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11567:58:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 17148, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "milestoneFundings", + "nodeType": "MemberAccess", + "referencedDeclaration": 7981, + "src": "11567:76:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "src": "11555:88:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 17150, + "nodeType": "ExpressionStatement", + "src": "11555:88:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17151, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17121, + "src": "11653:12:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17152, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "11668:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17154, + "indexExpression": { + "argumentTypes": null, + "id": 17153, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17115, + "src": "11682:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11668:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17155, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "11668:43:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 17157, + "indexExpression": { + "argumentTypes": null, + "id": 17156, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17129, + "src": "11712:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11668:58:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 17158, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "finalReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 7978, + "src": "11668:70:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11653:85:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17160, + "nodeType": "ExpressionStatement", + "src": "11653:85:60" + } + ] + }, + "documentation": "@notice Read the fundings of a finalized proposal\n@return {\n\"_fundings\": \"fundings for the milestones\",\n\"_finalReward\": \"the final reward\"\n}", + "id": 17162, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalFunding", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17116, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17115, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17162, + "src": "11263:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17114, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11263:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11262:21:60" + }, + "payable": false, + "returnParameters": { + "id": 17122, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17119, + "name": "_fundings", + "nodeType": "VariableDeclaration", + "scope": 17162, + "src": "11329:26:60", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 17117, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11329:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17118, + "length": null, + "nodeType": "ArrayTypeName", + "src": "11329:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17121, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 17162, + "src": "11357:20:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17120, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11357:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11328:50:60" + }, + "scope": 18304, + "src": "11234:511:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17185, + "nodeType": "Block", + "src": "11886:126:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 17172, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "11904:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 17173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11904:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17171, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "11896:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11896:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17175, + "nodeType": "ExpressionStatement", + "src": "11896:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17176, + "name": "_funding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17169, + "src": "11938:8:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17181, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17166, + "src": "11998:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17177, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "11949:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17179, + "indexExpression": { + "argumentTypes": null, + "id": 17178, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17164, + "src": "11963:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11949:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17180, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalMilestone", + "nodeType": "MemberAccess", + "referencedDeclaration": 8373, + "src": "11949:48:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Proposal_$8021_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Proposal_$8021_storage_ptr_$", + "typeString": "function (struct DaoStructs.Proposal storage pointer,uint256) view returns (uint256)" + } + }, + "id": 17182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11949:56:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11938:67:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17184, + "nodeType": "ExpressionStatement", + "src": "11938:67:60" + } + ] + }, + "documentation": null, + "id": 17186, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalMilestone", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17167, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17164, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17186, + "src": "11782:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17163, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11782:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17166, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 17186, + "src": "11803:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17165, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11803:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11781:37:60" + }, + "payable": false, + "returnParameters": { + "id": 17170, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17169, + "name": "_funding", + "nodeType": "VariableDeclaration", + "scope": 17186, + "src": "11864:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17168, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11864:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11863:18:60" + }, + "scope": 18304, + "src": "11751:261:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17208, + "nodeType": "Block", + "src": "12320:161:60", + "statements": [ + { + "assignments": [ + 17196 + ], + "declarations": [ + { + "constant": false, + "id": 17196, + "name": "_proposal", + "nodeType": "VariableDeclaration", + "scope": 17209, + "src": "12330:37:60", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + }, + "typeName": { + "contractScope": null, + "id": 17195, + "name": "DaoStructs.Proposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8021, + "src": "12330:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 17200, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17197, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "12370:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17199, + "indexExpression": { + "argumentTypes": null, + "id": 17198, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17188, + "src": "12384:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12370:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12330:66:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17201, + "name": "_version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17191, + "src": "12406:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 17203, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17196, + "src": "12444:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 17204, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersionDocs", + "nodeType": "MemberAccess", + "referencedDeclaration": 7993, + "src": "12444:29:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + ], + "id": 17202, + "name": "read_first_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22416, + "src": "12417:26:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer) view returns (bytes32)" + } + }, + "id": 17205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12417:57:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "12406:68:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17207, + "nodeType": "ExpressionStatement", + "src": "12406:68:60" + } + ] + }, + "documentation": "@notice get proposal version details for the first version\n @param _proposalId Proposal ID, i.e. hash of IPFS doc\n return {\n \"_version\": \"\"\n }", + "id": 17209, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getFirstProposalVersion", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17189, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17188, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17209, + "src": "12232:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17187, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12232:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12231:21:60" + }, + "payable": false, + "returnParameters": { + "id": 17192, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17191, + "name": "_version", + "nodeType": "VariableDeclaration", + "scope": 17209, + "src": "12298:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17190, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12298:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12297:18:60" + }, + "scope": 18304, + "src": "12199:282:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17231, + "nodeType": "Block", + "src": "12787:160:60", + "statements": [ + { + "assignments": [ + 17219 + ], + "declarations": [ + { + "constant": false, + "id": 17219, + "name": "_proposal", + "nodeType": "VariableDeclaration", + "scope": 17232, + "src": "12797:37:60", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + }, + "typeName": { + "contractScope": null, + "id": 17218, + "name": "DaoStructs.Proposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8021, + "src": "12797:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 17223, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17220, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "12837:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17222, + "indexExpression": { + "argumentTypes": null, + "id": 17221, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17211, + "src": "12851:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12837:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12797:66:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17224, + "name": "_version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17214, + "src": "12873:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 17226, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17219, + "src": "12910:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 17227, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersionDocs", + "nodeType": "MemberAccess", + "referencedDeclaration": 7993, + "src": "12910:29:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + ], + "id": 17225, + "name": "read_last_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22430, + "src": "12884:25:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer) view returns (bytes32)" + } + }, + "id": 17228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12884:56:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "12873:67:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17230, + "nodeType": "ExpressionStatement", + "src": "12873:67:60" + } + ] + }, + "documentation": "@notice get proposal version details for the last version\n @param _proposalId Proposal ID, i.e. hash of IPFS doc\n return {\n \"_version\": \"\"\n }", + "id": 17232, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getLastProposalVersion", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17212, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17211, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17232, + "src": "12699:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17210, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12699:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12698:21:60" + }, + "payable": false, + "returnParameters": { + "id": 17215, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17214, + "name": "_version", + "nodeType": "VariableDeclaration", + "scope": 17232, + "src": "12765:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17213, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12765:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12764:18:60" + }, + "scope": 18304, + "src": "12667:280:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17257, + "nodeType": "Block", + "src": "13335:208:60", + "statements": [ + { + "assignments": [ + 17244 + ], + "declarations": [ + { + "constant": false, + "id": 17244, + "name": "_proposal", + "nodeType": "VariableDeclaration", + "scope": 17258, + "src": "13345:37:60", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + }, + "typeName": { + "contractScope": null, + "id": 17243, + "name": "DaoStructs.Proposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8021, + "src": "13345:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 17248, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17245, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "13385:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17247, + "indexExpression": { + "argumentTypes": null, + "id": 17246, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17234, + "src": "13399:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13385:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13345:66:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17249, + "name": "_nextVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17239, + "src": "13421:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 17251, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17244, + "src": "13475:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 17252, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersionDocs", + "nodeType": "MemberAccess", + "referencedDeclaration": 7993, + "src": "13475:29:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + { + "argumentTypes": null, + "id": 17253, + "name": "_version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17236, + "src": "13518:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17250, + "name": "read_next_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22447, + "src": "13436:25:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 17254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13436:100:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "13421:115:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17256, + "nodeType": "ExpressionStatement", + "src": "13421:115:60" + } + ] + }, + "documentation": "@notice get proposal version details for the next version to _version\n @param _proposalId Proposal ID, i.e. hash of IPFS doc\n @param _version Version of proposal\n return {\n \"_nextVersion\": \"\"\n }", + "id": 17258, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getNextProposalVersion", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17237, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17234, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17258, + "src": "13225:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17233, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13225:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17236, + "name": "_version", + "nodeType": "VariableDeclaration", + "scope": 17258, + "src": "13246:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17235, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13246:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13224:39:60" + }, + "payable": false, + "returnParameters": { + "id": 17240, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17239, + "name": "_nextVersion", + "nodeType": "VariableDeclaration", + "scope": 17258, + "src": "13309:20:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17238, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13309:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13308:22:60" + }, + "scope": 18304, + "src": "13193:350:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17283, + "nodeType": "Block", + "src": "13947:216:60", + "statements": [ + { + "assignments": [ + 17270 + ], + "declarations": [ + { + "constant": false, + "id": 17270, + "name": "_proposal", + "nodeType": "VariableDeclaration", + "scope": 17284, + "src": "13957:37:60", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + }, + "typeName": { + "contractScope": null, + "id": 17269, + "name": "DaoStructs.Proposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8021, + "src": "13957:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 17274, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17271, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "13997:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17273, + "indexExpression": { + "argumentTypes": null, + "id": 17272, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17260, + "src": "14011:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13997:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13957:66:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17275, + "name": "_previousVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17265, + "src": "14033:16:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 17277, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17270, + "src": "14095:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 17278, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersionDocs", + "nodeType": "MemberAccess", + "referencedDeclaration": 7993, + "src": "14095:29:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + { + "argumentTypes": null, + "id": 17279, + "name": "_version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17262, + "src": "14138:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17276, + "name": "read_previous_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22464, + "src": "14052:29:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 17280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14052:104:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "14033:123:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17282, + "nodeType": "ExpressionStatement", + "src": "14033:123:60" + } + ] + }, + "documentation": "@notice get proposal version details for the previous version to _version\n @param _proposalId Proposal ID, i.e. hash of IPFS doc\n @param _version Version of proposal\n return {\n \"_previousVersion\": \"\"\n }", + "id": 17284, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getPreviousProposalVersion", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17263, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17260, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17284, + "src": "13833:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17259, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13833:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17262, + "name": "_version", + "nodeType": "VariableDeclaration", + "scope": 17284, + "src": "13854:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17261, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13854:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13832:39:60" + }, + "payable": false, + "returnParameters": { + "id": 17266, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17265, + "name": "_previousVersion", + "nodeType": "VariableDeclaration", + "scope": 17284, + "src": "13917:24:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17264, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13917:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13916:26:60" + }, + "scope": 18304, + "src": "13797:366:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17299, + "nodeType": "Block", + "src": "14278:74:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 17297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17291, + "name": "_claimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17289, + "src": "14288:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17292, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "14299:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17294, + "indexExpression": { + "argumentTypes": null, + "id": 17293, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17286, + "src": "14313:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14299:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17295, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "14299:38:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 17296, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "claimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7967, + "src": "14299:46:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "14288:57:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17298, + "nodeType": "ExpressionStatement", + "src": "14288:57:60" + } + ] + }, + "documentation": null, + "id": 17300, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isDraftClaimed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17287, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17286, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17300, + "src": "14193:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17285, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14193:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14192:21:60" + }, + "payable": false, + "returnParameters": { + "id": 17290, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17289, + "name": "_claimed", + "nodeType": "VariableDeclaration", + "scope": 17300, + "src": "14259:13:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17288, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14259:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14258:15:60" + }, + "scope": 18304, + "src": "14169:183:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17319, + "nodeType": "Block", + "src": "14478:83:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 17317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17309, + "name": "_claimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17307, + "src": "14488:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17310, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "14499:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17312, + "indexExpression": { + "argumentTypes": null, + "id": 17311, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17302, + "src": "14513:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14499:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17313, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "14499:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 17315, + "indexExpression": { + "argumentTypes": null, + "id": 17314, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17304, + "src": "14539:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14499:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 17316, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "claimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7967, + "src": "14499:55:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "14488:66:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17318, + "nodeType": "ExpressionStatement", + "src": "14488:66:60" + } + ] + }, + "documentation": null, + "id": 17320, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isClaimed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17305, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17302, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17320, + "src": "14377:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17301, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14377:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17304, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 17320, + "src": "14398:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17303, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14398:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14376:37:60" + }, + "payable": false, + "returnParameters": { + "id": 17308, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17307, + "name": "_claimed", + "nodeType": "VariableDeclaration", + "scope": 17320, + "src": "14459:13:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17306, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14459:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14458:15:60" + }, + "scope": 18304, + "src": "14358:203:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17339, + "nodeType": "Block", + "src": "14692:112:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 17328, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "14710:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 17329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14710:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17327, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "14702:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14702:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17331, + "nodeType": "ExpressionStatement", + "src": "14702:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17332, + "name": "_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17325, + "src": "14744:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17333, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "14754:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17335, + "indexExpression": { + "argumentTypes": null, + "id": 17334, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17322, + "src": "14768:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14754:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17336, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collateralStatus", + "nodeType": "MemberAccess", + "referencedDeclaration": 8005, + "src": "14754:43:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14744:53:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17338, + "nodeType": "ExpressionStatement", + "src": "14744:53:60" + } + ] + }, + "documentation": null, + "id": 17340, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalCollateralStatus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17323, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17322, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17340, + "src": "14605:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17321, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14605:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14604:21:60" + }, + "payable": false, + "returnParameters": { + "id": 17326, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17325, + "name": "_status", + "nodeType": "VariableDeclaration", + "scope": 17340, + "src": "14671:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17324, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14671:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14670:17:60" + }, + "scope": 18304, + "src": "14567:237:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17354, + "nodeType": "Block", + "src": "14935:70:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 17352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17347, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17345, + "src": "14945:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17348, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "14955:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17350, + "indexExpression": { + "argumentTypes": null, + "id": 17349, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17342, + "src": "14969:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14955:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17351, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collateralAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8007, + "src": "14955:43:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14945:53:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17353, + "nodeType": "ExpressionStatement", + "src": "14945:53:60" + } + ] + }, + "documentation": null, + "id": 17355, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalCollateralAmount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17343, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17342, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17355, + "src": "14848:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17341, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14848:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14847:21:60" + }, + "payable": false, + "returnParameters": { + "id": 17346, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17345, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 17355, + "src": "14914:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17344, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14914:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14913:17:60" + }, + "scope": 18304, + "src": "14810:195:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17386, + "nodeType": "Block", + "src": "15276:216:60", + "statements": [ + { + "assignments": [ + 17364 + ], + "declarations": [ + { + "constant": false, + "id": 17364, + "name": "_finalVersion", + "nodeType": "VariableDeclaration", + "scope": 17387, + "src": "15286:21:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17363, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15286:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 17369, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17365, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "15310:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17367, + "indexExpression": { + "argumentTypes": null, + "id": 17366, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17357, + "src": "15324:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15310:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17368, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "finalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8009, + "src": "15310:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15286:63:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 17373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 17371, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17364, + "src": "15367:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 17372, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "15384:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "15367:28:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17370, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "15359:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15359:37:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17375, + "nodeType": "ExpressionStatement", + "src": "15359:37:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17376, + "name": "_moreDocs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17361, + "src": "15406:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17377, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "15418:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17379, + "indexExpression": { + "argumentTypes": null, + "id": 17378, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17357, + "src": "15432:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15418:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17380, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "15418:43:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 17382, + "indexExpression": { + "argumentTypes": null, + "id": 17381, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17364, + "src": "15462:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15418:58:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 17383, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moreDocs", + "nodeType": "MemberAccess", + "referencedDeclaration": 7984, + "src": "15418:67:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "src": "15406:79:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 17385, + "nodeType": "ExpressionStatement", + "src": "15406:79:60" + } + ] + }, + "documentation": "@notice Read the additional docs that are added after the proposal is finalized\n @dev Will throw if the propsal is not finalized yet", + "id": 17387, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalDocs", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17358, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17357, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17387, + "src": "15185:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17356, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15185:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15184:21:60" + }, + "payable": false, + "returnParameters": { + "id": 17362, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17361, + "name": "_moreDocs", + "nodeType": "VariableDeclaration", + "scope": 17387, + "src": "15251:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 17359, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15251:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17360, + "length": null, + "nodeType": "ArrayTypeName", + "src": "15251:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15250:21:60" + }, + "scope": 18304, + "src": "15159:333:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17411, + "nodeType": "Block", + "src": "15635:129:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 17397, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "15653:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 17398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15653:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17396, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "15645:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15645:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17400, + "nodeType": "ExpressionStatement", + "src": "15645:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17401, + "name": "_funded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17394, + "src": "15687:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17402, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "15697:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17404, + "indexExpression": { + "argumentTypes": null, + "id": 17403, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17389, + "src": "15711:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15697:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17405, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "15697:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 17407, + "indexExpression": { + "argumentTypes": null, + "id": 17406, + "name": "_milestoneId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17391, + "src": "15737:12:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15697:53:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 17408, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "funded", + "nodeType": "MemberAccess", + "referencedDeclaration": 7969, + "src": "15697:60:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "15687:70:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17410, + "nodeType": "ExpressionStatement", + "src": "15687:70:60" + } + ] + }, + "documentation": null, + "id": 17412, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readIfMilestoneFunded", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17392, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17389, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17412, + "src": "15529:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17388, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15529:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17391, + "name": "_milestoneId", + "nodeType": "VariableDeclaration", + "scope": 17412, + "src": "15550:20:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17390, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15550:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15528:43:60" + }, + "payable": false, + "returnParameters": { + "id": 17395, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17394, + "name": "_funded", + "nodeType": "VariableDeclaration", + "scope": 17412, + "src": "15617:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17393, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15617:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15616:14:60" + }, + "scope": 18304, + "src": "15498:266:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17504, + "nodeType": "Block", + "src": "16043:626:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17428, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "16071:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17427, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "16061:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16061:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17426, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16053:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16053:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17431, + "nodeType": "ExpressionStatement", + "src": "16053:32:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 17444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 17438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17433, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "16115:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17435, + "indexExpression": { + "argumentTypes": null, + "id": 17434, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16129:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16115:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17436, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 7987, + "src": "16115:30:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 17437, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "16149:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16115:45:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 17439, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16114:47:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 17442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 17440, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16176:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 17441, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "16184:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16176:19:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 17443, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16175:21:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16114:82:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17432, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16095:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16095:111:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17446, + "nodeType": "ExpressionStatement", + "src": "16095:111:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17450, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16237:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 17447, + "name": "allProposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16481, + "src": "16217:12:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 17449, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "16217:19:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 17451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16217:25:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17452, + "nodeType": "ExpressionStatement", + "src": "16217:25:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17457, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16304:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17453, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "16252:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 17455, + "indexExpression": { + "argumentTypes": null, + "id": 17454, + "name": "PROPOSAL_STATE_PREPROPOSAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1252, + "src": "16269:26:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16252:44:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 17456, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "16252:51:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 17458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16252:57:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17459, + "nodeType": "ExpressionStatement", + "src": "16252:57:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17460, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "16319:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17462, + "indexExpression": { + "argumentTypes": null, + "id": 17461, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16333:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16319:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17463, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "proposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 7987, + "src": "16319:30:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17464, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16352:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16319:37:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17466, + "nodeType": "ExpressionStatement", + "src": "16319:37:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17467, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "16366:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17469, + "indexExpression": { + "argumentTypes": null, + "id": 17468, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16380:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16366:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17470, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "proposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 8014, + "src": "16366:28:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17471, + "name": "_proposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17416, + "src": "16397:9:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "16366:40:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 17473, + "nodeType": "ExpressionStatement", + "src": "16366:40:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17474, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "16416:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17476, + "indexExpression": { + "argumentTypes": null, + "id": 17475, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16430:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16416:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17477, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "16416:32:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17478, + "name": "PROPOSAL_STATE_PREPROPOSAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1252, + "src": "16451:26:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16416:61:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17480, + "nodeType": "ExpressionStatement", + "src": "16416:61:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17481, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "16487:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17483, + "indexExpression": { + "argumentTypes": null, + "id": 17482, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16501:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16487:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17484, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "timeCreated", + "nodeType": "MemberAccess", + "referencedDeclaration": 7991, + "src": "16487:31:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17485, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "16521:3:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16487:37:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17487, + "nodeType": "ExpressionStatement", + "src": "16487:37:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17488, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "16534:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17490, + "indexExpression": { + "argumentTypes": null, + "id": 17489, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16548:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16534:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17491, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isDigix", + "nodeType": "MemberAccess", + "referencedDeclaration": 8020, + "src": "16534:27:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17492, + "name": "_isFounder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17423, + "src": "16564:10:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16534:40:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17494, + "nodeType": "ExpressionStatement", + "src": "16534:40:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17499, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16623:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 17500, + "name": "_milestoneFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17419, + "src": "16629:18:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "argumentTypes": null, + "id": 17501, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17421, + "src": "16649:12:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17495, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "16584:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17497, + "indexExpression": { + "argumentTypes": null, + "id": 17496, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16598:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16584:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17498, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "addProposalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8440, + "src": "16584:38:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Proposal_$8021_storage_ptr_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Proposal_$8021_storage_ptr_$", + "typeString": "function (struct DaoStructs.Proposal storage pointer,bytes32,uint256[] memory,uint256)" + } + }, + "id": 17502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16584:78:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17503, + "nodeType": "ExpressionStatement", + "src": "16584:78:60" + } + ] + }, + "documentation": "/////////////////////////// WRITE FUNCTIONS //////////////////////////////", + "id": 17505, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17424, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17414, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 17505, + "src": "15883:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17413, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15883:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17416, + "name": "_proposer", + "nodeType": "VariableDeclaration", + "scope": 17505, + "src": "15905:17:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17415, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15905:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17419, + "name": "_milestoneFundings", + "nodeType": "VariableDeclaration", + "scope": 17505, + "src": "15932:28:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 17417, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15932:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17418, + "length": null, + "nodeType": "ArrayTypeName", + "src": "15932:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17421, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 17505, + "src": "15970:20:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17420, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15970:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17423, + "name": "_isFounder", + "nodeType": "VariableDeclaration", + "scope": 17505, + "src": "16000:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17422, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16000:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15873:148:60" + }, + "payable": false, + "returnParameters": { + "id": 17425, + "nodeType": "ParameterList", + "parameters": [], + "src": "16043:0:60" + }, + "scope": 18304, + "src": "15853:816:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 17532, + "nodeType": "Block", + "src": "16849:151:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17519, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "16877:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17518, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "16867:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16867:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17517, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16859:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16859:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17522, + "nodeType": "ExpressionStatement", + "src": "16859:32:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17527, + "name": "_newDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17509, + "src": "16948:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 17528, + "name": "_newMilestoneFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17512, + "src": "16957:21:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "argumentTypes": null, + "id": 17529, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17514, + "src": "16980:12:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17523, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "16902:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17525, + "indexExpression": { + "argumentTypes": null, + "id": 17524, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17507, + "src": "16916:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16902:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17526, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "addProposalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8440, + "src": "16902:45:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Proposal_$8021_storage_ptr_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Proposal_$8021_storage_ptr_$", + "typeString": "function (struct DaoStructs.Proposal storage pointer,bytes32,uint256[] memory,uint256)" + } + }, + "id": 17530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16902:91:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17531, + "nodeType": "ExpressionStatement", + "src": "16902:91:60" + } + ] + }, + "documentation": null, + "id": 17533, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "editProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17515, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17507, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17533, + "src": "16706:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17506, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16706:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17509, + "name": "_newDoc", + "nodeType": "VariableDeclaration", + "scope": 17533, + "src": "16735:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17508, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16735:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17512, + "name": "_newMilestoneFundings", + "nodeType": "VariableDeclaration", + "scope": 17533, + "src": "16760:31:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 17510, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16760:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17511, + "length": null, + "nodeType": "ArrayTypeName", + "src": "16760:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17514, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 17533, + "src": "16801:20:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17513, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16801:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16696:131:60" + }, + "payable": false, + "returnParameters": { + "id": 17516, + "nodeType": "ParameterList", + "parameters": [], + "src": "16849:0:60" + }, + "scope": 18304, + "src": "16675:325:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 17582, + "nodeType": "Block", + "src": "17234:375:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17545, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "17262:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17544, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "17252:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17252:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17543, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "17244:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17244:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17548, + "nodeType": "ExpressionStatement", + "src": "17244:32:60" + }, + { + "assignments": [ + 17550 + ], + "declarations": [ + { + "constant": false, + "id": 17550, + "name": "_finalVersion", + "nodeType": "VariableDeclaration", + "scope": 17583, + "src": "17287:21:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17549, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17287:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 17555, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17551, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "17311:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17553, + "indexExpression": { + "argumentTypes": null, + "id": 17552, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17535, + "src": "17325:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17311:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17554, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "finalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8009, + "src": "17311:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17287:63:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 17559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 17557, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17550, + "src": "17368:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 17558, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "17385:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "17368:28:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17556, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "17360:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17360:37:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17561, + "nodeType": "ExpressionStatement", + "src": "17360:37:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17562, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "17407:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17564, + "indexExpression": { + "argumentTypes": null, + "id": 17563, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17535, + "src": "17421:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17407:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17565, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "17407:43:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 17567, + "indexExpression": { + "argumentTypes": null, + "id": 17566, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17550, + "src": "17451:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17407:58:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 17568, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "milestoneFundings", + "nodeType": "MemberAccess", + "referencedDeclaration": 7981, + "src": "17407:76:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17569, + "name": "_newMilestoneFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17538, + "src": "17486:21:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "src": "17407:100:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 17571, + "nodeType": "ExpressionStatement", + "src": "17407:100:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17572, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "17517:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17574, + "indexExpression": { + "argumentTypes": null, + "id": 17573, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17535, + "src": "17531:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17517:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17575, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "17517:43:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 17577, + "indexExpression": { + "argumentTypes": null, + "id": 17576, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17550, + "src": "17561:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17517:58:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 17578, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "finalReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 7978, + "src": "17517:70:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17579, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17540, + "src": "17590:12:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17517:85:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17581, + "nodeType": "ExpressionStatement", + "src": "17517:85:60" + } + ] + }, + "documentation": "@notice change fundings of a proposal\n @dev Will throw if the proposal is not finalized yet", + "id": 17583, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "changeFundings", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17541, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17535, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17583, + "src": "17137:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17534, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17137:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17538, + "name": "_newMilestoneFundings", + "nodeType": "VariableDeclaration", + "scope": 17583, + "src": "17158:31:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 17536, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17158:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17537, + "length": null, + "nodeType": "ArrayTypeName", + "src": "17158:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17540, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 17583, + "src": "17191:20:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17539, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17191:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17136:76:60" + }, + "payable": false, + "returnParameters": { + "id": 17542, + "nodeType": "ParameterList", + "parameters": [], + "src": "17234:0:60" + }, + "scope": 18304, + "src": "17113:496:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 17620, + "nodeType": "Block", + "src": "17757:313:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17592, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "17785:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17591, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "17775:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17775:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17590, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "17767:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17767:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17595, + "nodeType": "ExpressionStatement", + "src": "17767:32:60" + }, + { + "assignments": [ + 17597 + ], + "declarations": [ + { + "constant": false, + "id": 17597, + "name": "_finalVersion", + "nodeType": "VariableDeclaration", + "scope": 17621, + "src": "17810:21:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17596, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17810:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 17602, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17598, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "17834:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17600, + "indexExpression": { + "argumentTypes": null, + "id": 17599, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17585, + "src": "17848:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17834:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17601, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "finalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8009, + "src": "17834:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17810:63:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 17606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 17604, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17597, + "src": "17891:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 17605, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "17908:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "17891:28:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17603, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "17883:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17883:37:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17608, + "nodeType": "ExpressionStatement", + "src": "17883:37:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17617, + "name": "_newDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17587, + "src": "18055:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17609, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "17982:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17611, + "indexExpression": { + "argumentTypes": null, + "id": 17610, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17585, + "src": "17996:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17982:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17612, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "17982:43:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 17614, + "indexExpression": { + "argumentTypes": null, + "id": 17613, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17597, + "src": "18026:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17982:58:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 17615, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moreDocs", + "nodeType": "MemberAccess", + "referencedDeclaration": 7984, + "src": "17982:67:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "id": 17616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "17982:72:60", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) returns (uint256)" + } + }, + "id": 17618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17982:81:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17619, + "nodeType": "ExpressionStatement", + "src": "17982:81:60" + } + ] + }, + "documentation": "@dev Will throw if the proposal is not finalized yet", + "id": 17621, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addProposalDoc", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17588, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17585, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17621, + "src": "17700:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17584, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17700:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17587, + "name": "_newDoc", + "nodeType": "VariableDeclaration", + "scope": 17621, + "src": "17721:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17586, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17721:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17699:38:60" + }, + "payable": false, + "returnParameters": { + "id": 17589, + "nodeType": "ParameterList", + "parameters": [], + "src": "17757:0:60" + }, + "scope": 18304, + "src": "17676:394:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17641, + "nodeType": "Block", + "src": "18142:137:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17628, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "18170:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17627, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "18160:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18160:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17626, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "18152:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18152:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17631, + "nodeType": "ExpressionStatement", + "src": "18152:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17632, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "18195:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17634, + "indexExpression": { + "argumentTypes": null, + "id": 17633, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17623, + "src": "18209:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18195:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17635, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "finalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8009, + "src": "18195:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17637, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17623, + "src": "18260:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17636, + "name": "getLastProposalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17232, + "src": "18237:22:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view returns (bytes32)" + } + }, + "id": 17638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18237:35:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "18195:77:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17640, + "nodeType": "ExpressionStatement", + "src": "18195:77:60" + } + ] + }, + "documentation": null, + "id": 17642, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "finalizeProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17624, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17623, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17642, + "src": "18102:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17622, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18102:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18101:21:60" + }, + "payable": false, + "returnParameters": { + "id": 17625, + "nodeType": "ParameterList", + "parameters": [], + "src": "18142:0:60" + }, + "scope": 18304, + "src": "18076:203:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17689, + "nodeType": "Block", + "src": "18397:368:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17651, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "18425:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17650, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "18415:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18415:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17649, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "18407:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18407:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17654, + "nodeType": "ExpressionStatement", + "src": "18407:32:60" + }, + { + "assignments": [ + 17658 + ], + "declarations": [ + { + "constant": false, + "id": 17658, + "name": "_proposal", + "nodeType": "VariableDeclaration", + "scope": 17690, + "src": "18450:37:60", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + }, + "typeName": { + "contractScope": null, + "id": 17657, + "name": "DaoStructs.Proposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8021, + "src": "18450:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 17662, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17659, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "18490:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17661, + "indexExpression": { + "argumentTypes": null, + "id": 17660, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17644, + "src": "18504:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18490:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18450:66:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 17663, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17658, + "src": "18526:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 17665, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "endorser", + "nodeType": "MemberAccess", + "referencedDeclaration": 8016, + "src": "18526:18:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17666, + "name": "_endorser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17646, + "src": "18547:9:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "18526:30:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 17668, + "nodeType": "ExpressionStatement", + "src": "18526:30:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 17669, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17658, + "src": "18566:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 17671, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "18566:22:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17672, + "name": "PROPOSAL_STATE_DRAFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1255, + "src": "18591:20:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "18566:45:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17674, + "nodeType": "ExpressionStatement", + "src": "18566:45:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17679, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17644, + "src": "18678:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17675, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "18621:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 17677, + "indexExpression": { + "argumentTypes": null, + "id": 17676, + "name": "PROPOSAL_STATE_PREPROPOSAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1252, + "src": "18638:26:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18621:44:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 17678, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remove_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 25051, + "src": "18621:56:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 17680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18621:69:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17681, + "nodeType": "ExpressionStatement", + "src": "18621:69:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17686, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17644, + "src": "18746:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17682, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "18700:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 17684, + "indexExpression": { + "argumentTypes": null, + "id": 17683, + "name": "PROPOSAL_STATE_DRAFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1255, + "src": "18717:20:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18700:38:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 17685, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "18700:45:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 17687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18700:58:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17688, + "nodeType": "ExpressionStatement", + "src": "18700:58:60" + } + ] + }, + "documentation": null, + "id": 17690, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateProposalEndorse", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17647, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17644, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17690, + "src": "18325:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17643, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18325:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17646, + "name": "_endorser", + "nodeType": "VariableDeclaration", + "scope": 17690, + "src": "18354:17:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17645, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18354:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18315:62:60" + }, + "payable": false, + "returnParameters": { + "id": 17648, + "nodeType": "ParameterList", + "parameters": [], + "src": "18397:0:60" + }, + "scope": 18304, + "src": "18285:480:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17740, + "nodeType": "Block", + "src": "18855:460:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17699, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "18883:26:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17698, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "18873:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18873:37:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17697, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "18865:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18865:46:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17702, + "nodeType": "ExpressionStatement", + "src": "18865:46:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17703, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "18922:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17705, + "indexExpression": { + "argumentTypes": null, + "id": 17704, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17692, + "src": "18936:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18922:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17706, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "18922:38:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 17707, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "passed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7965, + "src": "18922:45:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17708, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17694, + "src": "18970:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "18922:55:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17710, + "nodeType": "ExpressionStatement", + "src": "18922:55:60" + }, + { + "condition": { + "argumentTypes": null, + "id": 17711, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17694, + "src": "18991:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 17738, + "nodeType": "Block", + "src": "19250:59:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17735, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17692, + "src": "19286:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17734, + "name": "closeProposalInternal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18073, + "src": "19264:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 17736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19264:34:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17737, + "nodeType": "ExpressionStatement", + "src": "19264:34:60" + } + ] + }, + "id": 17739, + "nodeType": "IfStatement", + "src": "18987:322:60", + "trueBody": { + "id": 17733, + "nodeType": "Block", + "src": "19000:244:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17716, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17692, + "src": "19065:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17712, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "19014:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 17714, + "indexExpression": { + "argumentTypes": null, + "id": 17713, + "name": "PROPOSAL_STATE_DRAFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1255, + "src": "19031:20:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19014:38:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 17715, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remove_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 25051, + "src": "19014:50:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 17717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19014:63:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17718, + "nodeType": "ExpressionStatement", + "src": "19014:63:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17723, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17692, + "src": "19141:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17719, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "19091:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 17721, + "indexExpression": { + "argumentTypes": null, + "id": 17720, + "name": "PROPOSAL_STATE_MODERATED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1258, + "src": "19108:24:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19091:42:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 17722, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "19091:49:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 17724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19091:62:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17725, + "nodeType": "ExpressionStatement", + "src": "19091:62:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17726, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "19167:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17728, + "indexExpression": { + "argumentTypes": null, + "id": 17727, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17692, + "src": "19181:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19167:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17729, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "19167:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17730, + "name": "PROPOSAL_STATE_MODERATED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1258, + "src": "19209:24:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "19167:66:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17732, + "nodeType": "ExpressionStatement", + "src": "19167:66:60" + } + ] + } + } + ] + }, + "documentation": null, + "id": 17741, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setProposalDraftPass", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17695, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17692, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17741, + "src": "18801:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17691, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18801:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17694, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 17741, + "src": "18822:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17693, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "18822:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18800:35:60" + }, + "payable": false, + "returnParameters": { + "id": 17696, + "nodeType": "ParameterList", + "parameters": [], + "src": "18855:0:60" + }, + "scope": 18304, + "src": "18771:544:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17800, + "nodeType": "Block", + "src": "19416:487:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17752, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "19444:26:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17751, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "19434:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19434:37:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17750, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "19426:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19426:46:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17755, + "nodeType": "ExpressionStatement", + "src": "19426:46:60" + }, + { + "condition": { + "argumentTypes": null, + "id": 17757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "19487:8:60", + "subExpression": { + "argumentTypes": null, + "id": 17756, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17747, + "src": "19488:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 17765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 17763, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17745, + "src": "19566:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 17764, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19576:1:60", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "19566:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 17788, + "nodeType": "IfStatement", + "src": "19562:261:60", + "trueBody": { + "id": 17787, + "nodeType": "Block", + "src": "19579:244:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17770, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17743, + "src": "19648:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17766, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "19593:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 17768, + "indexExpression": { + "argumentTypes": null, + "id": 17767, + "name": "PROPOSAL_STATE_MODERATED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1258, + "src": "19610:24:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19593:42:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 17769, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remove_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 25051, + "src": "19593:54:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 17771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19593:67:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17772, + "nodeType": "ExpressionStatement", + "src": "19593:67:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17777, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17743, + "src": "19722:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17773, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "19674:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 17775, + "indexExpression": { + "argumentTypes": null, + "id": 17774, + "name": "PROPOSAL_STATE_ONGOING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1261, + "src": "19691:22:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19674:40:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 17776, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "19674:47:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 17778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19674:60:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17779, + "nodeType": "ExpressionStatement", + "src": "19674:60:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17780, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "19748:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17782, + "indexExpression": { + "argumentTypes": null, + "id": 17781, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17743, + "src": "19762:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19748:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17783, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "19748:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17784, + "name": "PROPOSAL_STATE_ONGOING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1261, + "src": "19790:22:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "19748:64:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17786, + "nodeType": "ExpressionStatement", + "src": "19748:64:60" + } + ] + } + }, + "id": 17789, + "nodeType": "IfStatement", + "src": "19483:340:60", + "trueBody": { + "id": 17762, + "nodeType": "Block", + "src": "19497:59:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17759, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17743, + "src": "19533:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17758, + "name": "closeProposalInternal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18073, + "src": "19511:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 17760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19511:34:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17761, + "nodeType": "ExpressionStatement", + "src": "19511:34:60" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 17798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17790, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "19832:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17792, + "indexExpression": { + "argumentTypes": null, + "id": 17791, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17743, + "src": "19846:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19832:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17793, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "19832:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 17795, + "indexExpression": { + "argumentTypes": null, + "id": 17794, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17745, + "src": "19872:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19832:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 17796, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "passed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7965, + "src": "19832:54:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17797, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17747, + "src": "19889:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "19832:64:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17799, + "nodeType": "ExpressionStatement", + "src": "19832:64:60" + } + ] + }, + "documentation": null, + "id": 17801, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setProposalPass", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17748, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17743, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17801, + "src": "19346:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17742, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19346:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17745, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 17801, + "src": "19367:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17744, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19367:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17747, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 17801, + "src": "19383:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17746, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "19383:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19345:51:60" + }, + "payable": false, + "returnParameters": { + "id": 17749, + "nodeType": "ParameterList", + "parameters": [], + "src": "19416:0:60" + }, + "scope": 18304, + "src": "19321:582:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17822, + "nodeType": "Block", + "src": "20022:116:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17810, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "20050:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17809, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "20040:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20040:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17808, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "20032:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20032:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17813, + "nodeType": "ExpressionStatement", + "src": "20032:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17814, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "20075:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17816, + "indexExpression": { + "argumentTypes": null, + "id": 17815, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17803, + "src": "20089:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20075:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17817, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "20075:38:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 17818, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "20075:48:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17819, + "name": "_time", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17805, + "src": "20126:5:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20075:56:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17821, + "nodeType": "ExpressionStatement", + "src": "20075:56:60" + } + ] + }, + "documentation": null, + "id": 17823, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setProposalDraftVotingTime", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17806, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17803, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17823, + "src": "19954:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17802, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19954:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17805, + "name": "_time", + "nodeType": "VariableDeclaration", + "scope": 17823, + "src": "19983:13:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17804, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19983:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19944:58:60" + }, + "payable": false, + "returnParameters": { + "id": 17807, + "nodeType": "ParameterList", + "parameters": [], + "src": "20022:0:60" + }, + "scope": 18304, + "src": "19909:229:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17851, + "nodeType": "Block", + "src": "20276:173:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 17834, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "20310:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 17835, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "20324:26:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 17836, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "20352:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 17837, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "20309:55:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 17833, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "20294:14:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 17838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20294:71:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17832, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "20286:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20286:80:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17840, + "nodeType": "ExpressionStatement", + "src": "20286:80:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17841, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "20377:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17843, + "indexExpression": { + "argumentTypes": null, + "id": 17842, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17825, + "src": "20391:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20377:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17844, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "20377:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 17846, + "indexExpression": { + "argumentTypes": null, + "id": 17845, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17827, + "src": "20417:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20377:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 17847, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "20377:57:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17848, + "name": "_time", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17829, + "src": "20437:5:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20377:65:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17850, + "nodeType": "ExpressionStatement", + "src": "20377:65:60" + } + ] + }, + "documentation": null, + "id": 17852, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setProposalVotingTime", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17830, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17825, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17852, + "src": "20184:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17824, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20184:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17827, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 17852, + "src": "20213:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17826, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20213:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17829, + "name": "_time", + "nodeType": "VariableDeclaration", + "scope": 17852, + "src": "20237:13:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17828, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20237:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20174:82:60" + }, + "payable": false, + "returnParameters": { + "id": 17831, + "nodeType": "ParameterList", + "parameters": [], + "src": "20276:0:60" + }, + "scope": 18304, + "src": "20144:305:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17873, + "nodeType": "Block", + "src": "20539:130:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17861, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "20567:26:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17860, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "20557:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20557:37:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17859, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "20549:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20549:46:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17864, + "nodeType": "ExpressionStatement", + "src": "20549:46:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17865, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "20605:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17867, + "indexExpression": { + "argumentTypes": null, + "id": 17866, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17854, + "src": "20619:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20605:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17868, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "20605:38:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 17869, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "claimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7967, + "src": "20605:46:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17870, + "name": "_claimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17856, + "src": "20654:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "20605:57:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17872, + "nodeType": "ExpressionStatement", + "src": "20605:57:60" + } + ] + }, + "documentation": null, + "id": 17874, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setDraftVotingClaim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17857, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17854, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17874, + "src": "20484:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17853, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20484:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17856, + "name": "_claimed", + "nodeType": "VariableDeclaration", + "scope": 17874, + "src": "20505:13:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17855, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "20505:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20483:36:60" + }, + "payable": false, + "returnParameters": { + "id": 17858, + "nodeType": "ParameterList", + "parameters": [], + "src": "20539:0:60" + }, + "scope": 18304, + "src": "20455:214:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17899, + "nodeType": "Block", + "src": "20770:139:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17885, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "20798:26:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17884, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "20788:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20788:37:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17883, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "20780:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20780:46:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17888, + "nodeType": "ExpressionStatement", + "src": "20780:46:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17889, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "20836:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17891, + "indexExpression": { + "argumentTypes": null, + "id": 17890, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17876, + "src": "20850:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20836:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17892, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "20836:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 17894, + "indexExpression": { + "argumentTypes": null, + "id": 17893, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17878, + "src": "20876:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20836:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 17895, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "claimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7967, + "src": "20836:55:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17896, + "name": "_claimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17880, + "src": "20894:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "20836:66:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17898, + "nodeType": "ExpressionStatement", + "src": "20836:66:60" + } + ] + }, + "documentation": null, + "id": 17900, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setVotingClaim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17881, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17876, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17900, + "src": "20699:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17875, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20699:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17878, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 17900, + "src": "20720:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17877, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20720:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17880, + "name": "_claimed", + "nodeType": "VariableDeclaration", + "scope": 17900, + "src": "20736:13:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17879, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "20736:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20698:52:60" + }, + "payable": false, + "returnParameters": { + "id": 17882, + "nodeType": "ParameterList", + "parameters": [], + "src": "20770:0:60" + }, + "scope": 18304, + "src": "20675:234:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17923, + "nodeType": "Block", + "src": "21009:177:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 17909, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "21043:26:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 17910, + "name": "CONTRACT_DAO_FUNDING_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1327, + "src": "21071:28:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 17911, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "21101:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 17912, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "21042:72:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 17908, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "21027:14:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 17913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21027:88:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17907, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "21019:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21019:97:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17915, + "nodeType": "ExpressionStatement", + "src": "21019:97:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17916, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "21126:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17918, + "indexExpression": { + "argumentTypes": null, + "id": 17917, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17902, + "src": "21140:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21126:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17919, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "collateralStatus", + "nodeType": "MemberAccess", + "referencedDeclaration": 8005, + "src": "21126:43:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17920, + "name": "_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17904, + "src": "21172:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21126:53:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17922, + "nodeType": "ExpressionStatement", + "src": "21126:53:60" + } + ] + }, + "documentation": null, + "id": 17924, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setProposalCollateralStatus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17905, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17902, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17924, + "src": "20952:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17901, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20952:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17904, + "name": "_status", + "nodeType": "VariableDeclaration", + "scope": 17924, + "src": "20973:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17903, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20973:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20951:38:60" + }, + "payable": false, + "returnParameters": { + "id": 17906, + "nodeType": "ParameterList", + "parameters": [], + "src": "21009:0:60" + }, + "scope": 18304, + "src": "20915:271:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17944, + "nodeType": "Block", + "src": "21286:112:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17933, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "21314:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17932, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "21304:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21304:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17931, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "21296:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21296:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17936, + "nodeType": "ExpressionStatement", + "src": "21296:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17937, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "21338:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17939, + "indexExpression": { + "argumentTypes": null, + "id": 17938, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17926, + "src": "21352:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21338:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17940, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "collateralAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8007, + "src": "21338:43:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17941, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17928, + "src": "21384:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21338:53:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17943, + "nodeType": "ExpressionStatement", + "src": "21338:53:60" + } + ] + }, + "documentation": null, + "id": 17945, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setProposalCollateralAmount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17929, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17926, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17945, + "src": "21229:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17925, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "21229:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17928, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 17945, + "src": "21250:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17927, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21250:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21228:38:60" + }, + "payable": false, + "returnParameters": { + "id": 17930, + "nodeType": "ParameterList", + "parameters": [], + "src": "21286:0:60" + }, + "scope": 18304, + "src": "21192:206:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18038, + "nodeType": "Block", + "src": "21555:708:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17958, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "21583:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17957, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "21573:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21573:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17956, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "21565:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21565:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17961, + "nodeType": "ExpressionStatement", + "src": "21565:32:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 17968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17963, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "21615:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17965, + "indexExpression": { + "argumentTypes": null, + "id": 17964, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17947, + "src": "21629:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21615:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17966, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "21615:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 17967, + "name": "PROPOSAL_STATE_CLOSED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1264, + "src": "21658:21:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "21615:64:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17962, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "21607:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21607:73:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17970, + "nodeType": "ExpressionStatement", + "src": "21607:73:60" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 17974, + "name": "prlAction", + "nodeType": "VariableDeclaration", + "scope": 18039, + "src": "21691:37:60", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PrlAction_$7945_memory_ptr", + "typeString": "struct DaoStructs.PrlAction" + }, + "typeName": { + "contractScope": null, + "id": 17973, + "name": "DaoStructs.PrlAction", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7945, + "src": "21691:20:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PrlAction_$7945_storage_ptr", + "typeString": "struct DaoStructs.PrlAction" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 17975, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "21691:37:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 17976, + "name": "prlAction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17974, + "src": "21738:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PrlAction_$7945_memory_ptr", + "typeString": "struct DaoStructs.PrlAction memory" + } + }, + "id": 17978, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "at", + "nodeType": "MemberAccess", + "referencedDeclaration": 7940, + "src": "21738:12:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17979, + "name": "_time", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17953, + "src": "21753:5:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21738:20:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17981, + "nodeType": "ExpressionStatement", + "src": "21738:20:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 17982, + "name": "prlAction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17974, + "src": "21768:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PrlAction_$7945_memory_ptr", + "typeString": "struct DaoStructs.PrlAction memory" + } + }, + "id": 17984, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "doc", + "nodeType": "MemberAccess", + "referencedDeclaration": 7942, + "src": "21768:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17985, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17951, + "src": "21784:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "21768:20:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17987, + "nodeType": "ExpressionStatement", + "src": "21768:20:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 17988, + "name": "prlAction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17974, + "src": "21798:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PrlAction_$7945_memory_ptr", + "typeString": "struct DaoStructs.PrlAction memory" + } + }, + "id": 17990, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "actionId", + "nodeType": "MemberAccess", + "referencedDeclaration": 7944, + "src": "21798:18:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17991, + "name": "_action", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17949, + "src": "21819:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21798:28:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17993, + "nodeType": "ExpressionStatement", + "src": "21798:28:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17999, + "name": "prlAction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17974, + "src": "21879:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PrlAction_$7945_memory_ptr", + "typeString": "struct DaoStructs.PrlAction memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PrlAction_$7945_memory_ptr", + "typeString": "struct DaoStructs.PrlAction memory" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17994, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "21836:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17996, + "indexExpression": { + "argumentTypes": null, + "id": 17995, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17947, + "src": "21850:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21836:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17997, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "prlActions", + "nodeType": "MemberAccess", + "referencedDeclaration": 8012, + "src": "21836:37:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PrlAction_$7945_storage_$dyn_storage", + "typeString": "struct DaoStructs.PrlAction storage ref[] storage ref" + } + }, + "id": 17998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "21836:42:60", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_PrlAction_$7945_storage_$returns$_t_uint256_$", + "typeString": "function (struct DaoStructs.PrlAction storage ref) returns (uint256)" + } + }, + "id": 18000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21836:53:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18001, + "nodeType": "ExpressionStatement", + "src": "21836:53:60" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 18004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 18002, + "name": "_action", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17949, + "src": "21904:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 18003, + "name": "PRL_ACTION_PAUSE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1273, + "src": "21915:16:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21904:27:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 18015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 18013, + "name": "_action", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17949, + "src": "22017:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 18014, + "name": "PRL_ACTION_UNPAUSE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1276, + "src": "22028:18:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22017:29:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 18035, + "nodeType": "Block", + "src": "22129:128:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18024, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "22149:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 18026, + "indexExpression": { + "argumentTypes": null, + "id": 18025, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17947, + "src": "22163:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22149:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 18027, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isPausedOrStopped", + "nodeType": "MemberAccess", + "referencedDeclaration": 8018, + "src": "22149:44:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18028, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22196:4:60", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "22149:51:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18030, + "nodeType": "ExpressionStatement", + "src": "22149:51:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18032, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17947, + "src": "22234:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18031, + "name": "closeProposalInternal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18073, + "src": "22212:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 18033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22212:34:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18034, + "nodeType": "ExpressionStatement", + "src": "22212:34:60" + } + ] + }, + "id": 18036, + "nodeType": "IfStatement", + "src": "22013:244:60", + "trueBody": { + "id": 18023, + "nodeType": "Block", + "src": "22048:75:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18016, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "22060:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 18018, + "indexExpression": { + "argumentTypes": null, + "id": 18017, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17947, + "src": "22074:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22060:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 18019, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isPausedOrStopped", + "nodeType": "MemberAccess", + "referencedDeclaration": 8018, + "src": "22060:44:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 18020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22107:5:60", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "22060:52:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18022, + "nodeType": "ExpressionStatement", + "src": "22060:52:60" + } + ] + } + }, + "id": 18037, + "nodeType": "IfStatement", + "src": "21900:357:60", + "trueBody": { + "id": 18012, + "nodeType": "Block", + "src": "21933:74:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18005, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "21945:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 18007, + "indexExpression": { + "argumentTypes": null, + "id": 18006, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17947, + "src": "21959:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21945:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 18008, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isPausedOrStopped", + "nodeType": "MemberAccess", + "referencedDeclaration": 8018, + "src": "21945:44:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18009, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21992:4:60", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "21945:51:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18011, + "nodeType": "ExpressionStatement", + "src": "21945:51:60" + } + ] + } + } + ] + }, + "documentation": null, + "id": 18039, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateProposalPRL", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17954, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17947, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 18039, + "src": "21440:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17946, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "21440:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17949, + "name": "_action", + "nodeType": "VariableDeclaration", + "scope": 18039, + "src": "21469:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17948, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21469:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17951, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 18039, + "src": "21494:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17950, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "21494:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17953, + "name": "_time", + "nodeType": "VariableDeclaration", + "scope": 18039, + "src": "21516:13:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17952, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21516:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21430:105:60" + }, + "payable": false, + "returnParameters": { + "id": 17955, + "nodeType": "ParameterList", + "parameters": [], + "src": "21555:0:60" + }, + "scope": 18304, + "src": "21404:859:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18072, + "nodeType": "Block", + "src": "22342:288:60", + "statements": [ + { + "assignments": [ + 18045 + ], + "declarations": [ + { + "constant": false, + "id": 18045, + "name": "_currentState", + "nodeType": "VariableDeclaration", + "scope": 18073, + "src": "22352:21:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18044, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22352:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 18050, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18046, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "22376:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 18048, + "indexExpression": { + "argumentTypes": null, + "id": 18047, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18041, + "src": "22390:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22376:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 18049, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "22376:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22352:63:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18055, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18041, + "src": "22469:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18051, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "22425:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 18053, + "indexExpression": { + "argumentTypes": null, + "id": 18052, + "name": "_currentState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18045, + "src": "22442:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22425:31:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 18054, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remove_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 25051, + "src": "22425:43:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 18056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22425:56:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18057, + "nodeType": "ExpressionStatement", + "src": "22425:56:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18062, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18041, + "src": "22538:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18058, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "22491:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 18060, + "indexExpression": { + "argumentTypes": null, + "id": 18059, + "name": "PROPOSAL_STATE_CLOSED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1264, + "src": "22508:21:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22491:39:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 18061, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "22491:46:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 18063, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22491:59:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18064, + "nodeType": "ExpressionStatement", + "src": "22491:59:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 18070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18065, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "22560:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 18067, + "indexExpression": { + "argumentTypes": null, + "id": 18066, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18041, + "src": "22574:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22560:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 18068, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "22560:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18069, + "name": "PROPOSAL_STATE_CLOSED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1264, + "src": "22602:21:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "22560:63:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 18071, + "nodeType": "ExpressionStatement", + "src": "22560:63:60" + } + ] + }, + "documentation": null, + "id": 18073, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "closeProposalInternal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18042, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18041, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 18073, + "src": "22300:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18040, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22300:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22299:21:60" + }, + "payable": false, + "returnParameters": { + "id": 18043, + "nodeType": "ParameterList", + "parameters": [], + "src": "22342:0:60" + }, + "scope": 18304, + "src": "22269:361:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 18160, + "nodeType": "Block", + "src": "22781:653:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18086, + "name": "CONTRACT_DAO_VOTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1306, + "src": "22809:19:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18085, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "22799:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 18087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22799:30:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18084, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "22791:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22791:39:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18089, + "nodeType": "ExpressionStatement", + "src": "22791:39:60" + }, + { + "assignments": [ + 18093 + ], + "declarations": [ + { + "constant": false, + "id": 18093, + "name": "_proposal", + "nodeType": "VariableDeclaration", + "scope": 18161, + "src": "22841:37:60", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + }, + "typeName": { + "contractScope": null, + "id": 18092, + "name": "DaoStructs.Proposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8021, + "src": "22841:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 18097, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18094, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "22881:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 18096, + "indexExpression": { + "argumentTypes": null, + "id": 18095, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18075, + "src": "22895:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22881:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22841:66:60" + }, + { + "condition": { + "argumentTypes": null, + "id": 18098, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18079, + "src": "22921:5:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 18158, + "nodeType": "Block", + "src": "23220:208:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18129, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18093, + "src": "23234:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 18133, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "23234:21:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 18134, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "noVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7963, + "src": "23234:29:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 18135, + "indexExpression": { + "argumentTypes": null, + "id": 18132, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18077, + "src": "23264:6:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "23234:37:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18136, + "name": "_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18081, + "src": "23274:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23234:47:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18138, + "nodeType": "ExpressionStatement", + "src": "23234:47:60" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 18145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18139, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18093, + "src": "23299:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 18140, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "23299:21:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 18141, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "yesVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7959, + "src": "23299:30:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 18143, + "indexExpression": { + "argumentTypes": null, + "id": 18142, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18077, + "src": "23330:6:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23299:38:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 18144, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23340:1:60", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "23299:42:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 18157, + "nodeType": "IfStatement", + "src": "23295:123:60", + "trueBody": { + "id": 18156, + "nodeType": "Block", + "src": "23343:75:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18146, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18093, + "src": "23361:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 18150, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "23361:21:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 18151, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "yesVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7959, + "src": "23361:30:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 18152, + "indexExpression": { + "argumentTypes": null, + "id": 18149, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18077, + "src": "23392:6:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "23361:38:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 18153, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23402:1:60", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "23361:42:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18155, + "nodeType": "ExpressionStatement", + "src": "23361:42:60" + } + ] + } + } + ] + }, + "id": 18159, + "nodeType": "IfStatement", + "src": "22917:511:60", + "trueBody": { + "id": 18128, + "nodeType": "Block", + "src": "22928:286:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18099, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18093, + "src": "22942:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 18103, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "22942:21:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 18104, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "yesVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7959, + "src": "22942:30:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 18105, + "indexExpression": { + "argumentTypes": null, + "id": 18102, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18077, + "src": "22973:6:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "22942:38:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18106, + "name": "_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18081, + "src": "22983:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22942:48:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18108, + "nodeType": "ExpressionStatement", + "src": "22942:48:60" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 18115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18109, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18093, + "src": "23008:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 18110, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "23008:21:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 18111, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "noVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7963, + "src": "23008:29:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 18113, + "indexExpression": { + "argumentTypes": null, + "id": 18112, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18077, + "src": "23038:6:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23008:37:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 18114, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23048:1:60", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "23008:41:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 18127, + "nodeType": "IfStatement", + "src": "23004:200:60", + "trueBody": { + "id": 18126, + "nodeType": "Block", + "src": "23051:153:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18116, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18093, + "src": "23148:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 18120, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "23148:21:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 18121, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "noVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7963, + "src": "23148:29:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 18122, + "indexExpression": { + "argumentTypes": null, + "id": 18119, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18077, + "src": "23178:6:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "23148:37:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 18123, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23188:1:60", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "23148:41:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18125, + "nodeType": "ExpressionStatement", + "src": "23148:41:60" + } + ] + } + } + ] + } + } + ] + }, + "documentation": null, + "id": 18161, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addDraftVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18082, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18075, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 18161, + "src": "22667:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18074, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22667:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18077, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 18161, + "src": "22696:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18076, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22696:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18079, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 18161, + "src": "22720:10:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18078, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "22720:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18081, + "name": "_weight", + "nodeType": "VariableDeclaration", + "scope": 18161, + "src": "22740:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18080, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22740:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22657:104:60" + }, + "payable": false, + "returnParameters": { + "id": 18083, + "nodeType": "ParameterList", + "parameters": [], + "src": "22781:0:60" + }, + "scope": 18304, + "src": "22636:798:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18190, + "nodeType": "Block", + "src": "23585:138:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18174, + "name": "CONTRACT_DAO_VOTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1306, + "src": "23613:19:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18173, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "23603:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 18175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23603:30:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18172, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "23595:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23595:39:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18177, + "nodeType": "ExpressionStatement", + "src": "23595:39:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 18188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18178, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "23645:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 18180, + "indexExpression": { + "argumentTypes": null, + "id": 18179, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18163, + "src": "23659:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23645:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 18181, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "23645:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 18183, + "indexExpression": { + "argumentTypes": null, + "id": 18182, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18169, + "src": "23685:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23645:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 18184, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "commits", + "nodeType": "MemberAccess", + "referencedDeclaration": 7955, + "src": "23645:55:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$", + "typeString": "mapping(address => bytes32)" + } + }, + "id": 18186, + "indexExpression": { + "argumentTypes": null, + "id": 18185, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18167, + "src": "23701:6:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "23645:63:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18187, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18165, + "src": "23711:5:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "23645:71:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 18189, + "nodeType": "ExpressionStatement", + "src": "23645:71:60" + } + ] + }, + "documentation": null, + "id": 18191, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "commitVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18170, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18163, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 18191, + "src": "23469:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18162, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23469:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18165, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 18191, + "src": "23498:13:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18164, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23498:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18167, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 18191, + "src": "23521:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18166, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "23521:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18169, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 18191, + "src": "23545:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18168, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23545:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23459:106:60" + }, + "payable": false, + "returnParameters": { + "id": 18171, + "nodeType": "ParameterList", + "parameters": [], + "src": "23585:0:60" + }, + "scope": 18304, + "src": "23440:283:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18222, + "nodeType": "Block", + "src": "23896:149:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18206, + "name": "CONTRACT_DAO_VOTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1306, + "src": "23924:19:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18205, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "23914:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 18207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23914:30:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18204, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "23906:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23906:39:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18209, + "nodeType": "ExpressionStatement", + "src": "23906:39:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18217, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18195, + "src": "24015:6:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 18218, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18197, + "src": "24023:5:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 18219, + "name": "_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18199, + "src": "24030:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18210, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "23956:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 18212, + "indexExpression": { + "argumentTypes": null, + "id": 18211, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18193, + "src": "23970:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23956:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 18213, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "23956:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 18215, + "indexExpression": { + "argumentTypes": null, + "id": 18214, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18201, + "src": "23996:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23956:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 18216, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 8278, + "src": "23956:58:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Voting_$7970_storage_ptr_$_t_address_$_t_bool_$_t_uint256_$returns$__$bound_to$_t_struct$_Voting_$7970_storage_ptr_$", + "typeString": "function (struct DaoStructs.Voting storage pointer,address,bool,uint256)" + } + }, + "id": 18220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23956:82:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18221, + "nodeType": "ExpressionStatement", + "src": "23956:82:60" + } + ] + }, + "documentation": null, + "id": 18223, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "revealVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18202, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18193, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 18223, + "src": "23758:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18192, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23758:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18195, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 18223, + "src": "23787:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18194, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "23787:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18197, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 18223, + "src": "23811:10:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18196, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "23811:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18199, + "name": "_weight", + "nodeType": "VariableDeclaration", + "scope": 18223, + "src": "23831:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18198, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23831:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18201, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 18223, + "src": "23856:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18200, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23856:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23748:128:60" + }, + "payable": false, + "returnParameters": { + "id": 18203, + "nodeType": "ParameterList", + "parameters": [], + "src": "23896:0:60" + }, + "scope": 18304, + "src": "23729:316:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18238, + "nodeType": "Block", + "src": "24114:93:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18230, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "24142:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18229, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "24132:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 18231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24132:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18228, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "24124:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24124:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18233, + "nodeType": "ExpressionStatement", + "src": "24124:32:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18235, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18225, + "src": "24188:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18234, + "name": "closeProposalInternal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18073, + "src": "24166:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 18236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24166:34:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18237, + "nodeType": "ExpressionStatement", + "src": "24166:34:60" + } + ] + }, + "documentation": null, + "id": 18239, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "closeProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18226, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18225, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 18239, + "src": "24074:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18224, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24074:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "24073:21:60" + }, + "payable": false, + "returnParameters": { + "id": 18227, + "nodeType": "ParameterList", + "parameters": [], + "src": "24114:0:60" + }, + "scope": 18304, + "src": "24051:156:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18278, + "nodeType": "Block", + "src": "24278:348:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18246, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "24306:26:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18245, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "24296:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 18247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24296:37:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18244, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "24288:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24288:46:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18249, + "nodeType": "ExpressionStatement", + "src": "24288:46:60" + }, + { + "assignments": [ + 18251 + ], + "declarations": [ + { + "constant": false, + "id": 18251, + "name": "_currentState", + "nodeType": "VariableDeclaration", + "scope": 18279, + "src": "24344:21:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18250, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24344:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 18256, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18252, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "24368:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 18254, + "indexExpression": { + "argumentTypes": null, + "id": 18253, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18241, + "src": "24382:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24368:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 18255, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "24368:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "24344:63:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18261, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18241, + "src": "24461:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18257, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "24417:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 18259, + "indexExpression": { + "argumentTypes": null, + "id": 18258, + "name": "_currentState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18251, + "src": "24434:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24417:31:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 18260, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remove_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 25051, + "src": "24417:43:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 18262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24417:56:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18263, + "nodeType": "ExpressionStatement", + "src": "24417:56:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18268, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18241, + "src": "24532:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18264, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "24483:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 18266, + "indexExpression": { + "argumentTypes": null, + "id": 18265, + "name": "PROPOSAL_STATE_ARCHIVED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1267, + "src": "24500:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24483:41:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 18267, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "24483:48:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 18269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24483:61:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18270, + "nodeType": "ExpressionStatement", + "src": "24483:61:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 18276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18271, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "24554:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 18273, + "indexExpression": { + "argumentTypes": null, + "id": 18272, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18241, + "src": "24568:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24554:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 18274, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "24554:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18275, + "name": "PROPOSAL_STATE_ARCHIVED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1267, + "src": "24596:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "24554:65:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 18277, + "nodeType": "ExpressionStatement", + "src": "24554:65:60" + } + ] + }, + "documentation": null, + "id": 18279, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "archiveProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18242, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18241, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 18279, + "src": "24238:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18240, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24238:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "24237:21:60" + }, + "payable": false, + "returnParameters": { + "id": 18243, + "nodeType": "ParameterList", + "parameters": [], + "src": "24278:0:60" + }, + "scope": 18304, + "src": "24213:413:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18302, + "nodeType": "Block", + "src": "24722:142:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18288, + "name": "CONTRACT_DAO_FUNDING_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1327, + "src": "24750:28:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18287, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "24740:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 18289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24740:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18286, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "24732:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24732:48:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18291, + "nodeType": "ExpressionStatement", + "src": "24732:48:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 18300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18292, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "24790:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 18294, + "indexExpression": { + "argumentTypes": null, + "id": 18293, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18281, + "src": "24804:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24790:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 18295, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "24790:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 18297, + "indexExpression": { + "argumentTypes": null, + "id": 18296, + "name": "_milestoneId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18283, + "src": "24830:12:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24790:53:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 18298, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "funded", + "nodeType": "MemberAccess", + "referencedDeclaration": 7969, + "src": "24790:60:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18299, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24853:4:60", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "24790:67:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18301, + "nodeType": "ExpressionStatement", + "src": "24790:67:60" + } + ] + }, + "documentation": null, + "id": 18303, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setMilestoneFunded", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18284, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18281, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 18303, + "src": "24660:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18280, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24660:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18283, + "name": "_milestoneId", + "nodeType": "VariableDeclaration", + "scope": 18303, + "src": "24681:20:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18282, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24681:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "24659:43:60" + }, + "payable": false, + "returnParameters": { + "id": 18285, + "nodeType": "ParameterList", + "parameters": [], + "src": "24722:0:60" + }, + "scope": 18304, + "src": "24632:232:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 18305, + "src": "299:24567:60" + } + ], + "src": "0:24867:60" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStorage.sol", + "exportedSymbols": { + "DaoStorage": [ + 18304 + ] + }, + "id": 18305, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 16458, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:60" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/abstract/BytesIteratorStorage.sol", + "file": "@digix/solidity-collections/contracts/abstract/BytesIteratorStorage.sol", + "id": 16459, + "nodeType": "ImportDirective", + "scope": 18305, + "sourceUnit": 22480, + "src": "26:81:60", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "file": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "id": 16460, + "nodeType": "ImportDirective", + "scope": 18305, + "sourceUnit": 25547, + "src": "108:72:60", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoWhitelistingCommon.sol", + "file": "../common/DaoWhitelistingCommon.sol", + "id": 16461, + "nodeType": "ImportDirective", + "scope": 18305, + "sourceUnit": 1820, + "src": "181:45:60", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoStructs.sol", + "file": "../lib/DaoStructs.sol", + "id": 16462, + "nodeType": "ImportDirective", + "scope": 18305, + "sourceUnit": 8492, + "src": "227:31:60", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoWhitelistingStorage.sol", + "file": "./DaoWhitelistingStorage.sol", + "id": 16463, + "nodeType": "ImportDirective", + "scope": 18305, + "sourceUnit": 18441, + "src": "259:38:60", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 16464, + "name": "DaoWhitelistingCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1819, + "src": "322:21:60", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingCommon_$1819", + "typeString": "contract DaoWhitelistingCommon" + } + }, + "id": 16465, + "nodeType": "InheritanceSpecifier", + "src": "322:21:60" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 16466, + "name": "BytesIteratorStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 22479, + "src": "345:20:60", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BytesIteratorStorage_$22479", + "typeString": "contract BytesIteratorStorage" + } + }, + "id": 16467, + "nodeType": "InheritanceSpecifier", + "src": "345:20:60" + } + ], + "contractDependencies": [ + 1580, + 1819, + 19058, + 22479 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 18304, + "linearizedBaseContracts": [ + 18304, + 22479, + 1819, + 1580, + 19058 + ], + "name": "DaoStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 16470, + "libraryName": { + "contractScope": null, + "id": 16468, + "name": "DoublyLinkedList", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25546, + "src": "378:16:60", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DoublyLinkedList_$25546", + "typeString": "library DoublyLinkedList" + } + }, + "nodeType": "UsingForDirective", + "src": "372:50:60", + "typeName": { + "contractScope": null, + "id": 16469, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "399:22:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + } + }, + { + "id": 16473, + "libraryName": { + "contractScope": null, + "id": 16471, + "name": "DaoStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8491, + "src": "433:10:60", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStructs_$8491", + "typeString": "library DaoStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "427:39:60", + "typeName": { + "contractScope": null, + "id": 16472, + "name": "DaoStructs.Voting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7970, + "src": "448:17:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + } + } + }, + { + "id": 16476, + "libraryName": { + "contractScope": null, + "id": 16474, + "name": "DaoStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8491, + "src": "477:10:60", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStructs_$8491", + "typeString": "library DaoStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "471:41:60", + "typeName": { + "contractScope": null, + "id": 16475, + "name": "DaoStructs.Proposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8021, + "src": "492:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + } + } + }, + { + "id": 16479, + "libraryName": { + "contractScope": null, + "id": 16477, + "name": "DaoStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8491, + "src": "523:10:60", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStructs_$8491", + "typeString": "library DaoStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "517:48:60", + "typeName": { + "contractScope": null, + "id": 16478, + "name": "DaoStructs.ProposalVersion", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7985, + "src": "538:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage_ptr", + "typeString": "struct DaoStructs.ProposalVersion" + } + } + }, + { + "constant": false, + "id": 16481, + "name": "allProposals", + "nodeType": "VariableDeclaration", + "scope": 18304, + "src": "629:35:60", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 16480, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "629:22:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16485, + "name": "proposalsById", + "nodeType": "VariableDeclaration", + "scope": 18304, + "src": "794:54:60", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal)" + }, + "typeName": { + "id": 16484, + "keyType": { + "id": 16482, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "803:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "794:40:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal)" + }, + "valueType": { + "contractScope": null, + "id": 16483, + "name": "DaoStructs.Proposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8021, + "src": "814:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16489, + "name": "proposalsByState", + "nodeType": "VariableDeclaration", + "scope": 18304, + "src": "1081:60:60", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes)" + }, + "typeName": { + "id": 16488, + "keyType": { + "id": 16486, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1090:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "1081:43:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes)" + }, + "valueType": { + "contractScope": null, + "id": 16487, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "1101:22:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 16501, + "nodeType": "Block", + "src": "1186:63:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16496, + "name": "CONTRACT_STORAGE_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1348, + "src": "1209:20:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 16497, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16491, + "src": "1231:9:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 16495, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "1204:4:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 16498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1204:37:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16494, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1196:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1196:46:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16500, + "nodeType": "ExpressionStatement", + "src": "1196:46:60" + } + ] + }, + "documentation": null, + "id": 16502, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16492, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16491, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 16502, + "src": "1160:17:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16490, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1160:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1159:19:60" + }, + "payable": false, + "returnParameters": { + "id": 16493, + "nodeType": "ParameterList", + "parameters": [], + "src": "1186:0:60" + }, + "scope": 18304, + "src": "1148:101:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16594, + "nodeType": "Block", + "src": "2668:640:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 16528, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "2686:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 16529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2686:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16527, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2678:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2678:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16531, + "nodeType": "ExpressionStatement", + "src": "2678:32:60" + }, + { + "assignments": [ + 16535 + ], + "declarations": [ + { + "constant": false, + "id": 16535, + "name": "_proposal", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2720:37:60", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + }, + "typeName": { + "contractScope": null, + "id": 16534, + "name": "DaoStructs.Proposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8021, + "src": "2720:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 16539, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16536, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "2760:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16538, + "indexExpression": { + "argumentTypes": null, + "id": 16537, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16504, + "src": "2774:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2760:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2720:66:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16540, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16507, + "src": "2796:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 16541, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16535, + "src": "2803:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 16542, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 7987, + "src": "2803:20:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2796:27:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 16544, + "nodeType": "ExpressionStatement", + "src": "2796:27:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16545, + "name": "_proposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16509, + "src": "2833:9:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 16546, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16535, + "src": "2845:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 16547, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 8014, + "src": "2845:18:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2833:30:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16549, + "nodeType": "ExpressionStatement", + "src": "2833:30:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16550, + "name": "_endorser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16511, + "src": "2873:9:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 16551, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16535, + "src": "2885:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 16552, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "endorser", + "nodeType": "MemberAccess", + "referencedDeclaration": 8016, + "src": "2885:18:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2873:30:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16554, + "nodeType": "ExpressionStatement", + "src": "2873:30:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16555, + "name": "_state", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16513, + "src": "2913:6:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 16556, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16535, + "src": "2922:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 16557, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "2922:22:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2913:31:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 16559, + "nodeType": "ExpressionStatement", + "src": "2913:31:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16560, + "name": "_timeCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16515, + "src": "2954:12:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 16561, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16535, + "src": "2969:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 16562, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "timeCreated", + "nodeType": "MemberAccess", + "referencedDeclaration": 7991, + "src": "2969:21:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2954:36:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16564, + "nodeType": "ExpressionStatement", + "src": "2954:36:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16565, + "name": "_nVersions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16517, + "src": "3000:10:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 16567, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16535, + "src": "3035:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 16568, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersionDocs", + "nodeType": "MemberAccess", + "referencedDeclaration": 7993, + "src": "3035:29:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + ], + "id": 16566, + "name": "read_total_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22478, + "src": "3013:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer) view returns (uint256)" + } + }, + "id": 16569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3013:52:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3000:65:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16571, + "nodeType": "ExpressionStatement", + "src": "3000:65:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16572, + "name": "_latestVersionDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16519, + "src": "3075:17:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 16574, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16535, + "src": "3121:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 16575, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersionDocs", + "nodeType": "MemberAccess", + "referencedDeclaration": 7993, + "src": "3121:29:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + ], + "id": 16573, + "name": "read_last_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22430, + "src": "3095:25:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer) view returns (bytes32)" + } + }, + "id": 16576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3095:56:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3075:76:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 16578, + "nodeType": "ExpressionStatement", + "src": "3075:76:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16579, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16521, + "src": "3161:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 16580, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16535, + "src": "3177:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 16581, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "finalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8009, + "src": "3177:22:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3161:38:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 16583, + "nodeType": "ExpressionStatement", + "src": "3161:38:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16584, + "name": "_pausedOrStopped", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16523, + "src": "3209:16:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 16585, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16535, + "src": "3228:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 16586, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isPausedOrStopped", + "nodeType": "MemberAccess", + "referencedDeclaration": 8018, + "src": "3228:27:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3209:46:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16588, + "nodeType": "ExpressionStatement", + "src": "3209:46:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16589, + "name": "_isDigixProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16525, + "src": "3265:16:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 16590, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16535, + "src": "3284:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 16591, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isDigix", + "nodeType": "MemberAccess", + "referencedDeclaration": 8020, + "src": "3284:17:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3265:36:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16593, + "nodeType": "ExpressionStatement", + "src": "3265:36:60" + } + ] + }, + "documentation": "//////////////////////////// READ FUNCTIONS //////////////////////////////\n @notice read all information and details of proposal\n @param _proposalId Proposal ID, i.e. hash of IPFS doc Proposal ID, i.e. hash of IPFS doc\n return {\n \"_doc\": \"Original IPFS doc of proposal, also ID of proposal\",\n \"_proposer\": \"Address of the proposer\",\n \"_endorser\": \"Address of the moderator that endorsed the proposal\",\n \"_state\": \"Current state of the proposal\",\n \"_timeCreated\": \"UTC timestamp at which proposal was created\",\n \"_nVersions\": \"Number of versions of the proposal\",\n \"_latestVersionDoc\": \"IPFS doc hash of the latest version of this proposal\",\n \"_finalVersion\": \"If finalized, the version of the final proposal\",\n \"_pausedOrStopped\": \"If the proposal is paused/stopped at the moment\",\n \"_isDigixProposal\": \"If the proposal has been created by founder or not\"\n }", + "id": 16595, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16505, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16504, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2262:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16503, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2262:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2261:21:60" + }, + "payable": false, + "returnParameters": { + "id": 16526, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16507, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2341:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16506, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2341:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16509, + "name": "_proposer", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2367:17:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16508, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2367:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16511, + "name": "_endorser", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2398:17:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16510, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2398:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16513, + "name": "_state", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2429:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16512, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2429:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16515, + "name": "_timeCreated", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2457:20:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16514, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2457:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16517, + "name": "_nVersions", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2491:18:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16516, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2491:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16519, + "name": "_latestVersionDoc", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2523:25:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16518, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2523:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16521, + "name": "_finalVersion", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2562:21:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16520, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2562:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16523, + "name": "_pausedOrStopped", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2597:21:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16522, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2597:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16525, + "name": "_isDigixProposal", + "nodeType": "VariableDeclaration", + "scope": 16595, + "src": "2632:21:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16524, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2632:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2327:336:60" + }, + "scope": 18304, + "src": "2240:1068:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16609, + "nodeType": "Block", + "src": "3433:64:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16602, + "name": "_proposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16600, + "src": "3443:9:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16603, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3455:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16605, + "indexExpression": { + "argumentTypes": null, + "id": 16604, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16597, + "src": "3469:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3455:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16606, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 8014, + "src": "3455:35:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3443:47:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16608, + "nodeType": "ExpressionStatement", + "src": "3443:47:60" + } + ] + }, + "documentation": null, + "id": 16610, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalProposer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16598, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16597, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16610, + "src": "3344:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16596, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3344:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3343:21:60" + }, + "payable": false, + "returnParameters": { + "id": 16601, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16600, + "name": "_proposer", + "nodeType": "VariableDeclaration", + "scope": 16610, + "src": "3410:17:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16599, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3410:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3409:19:60" + }, + "scope": 18304, + "src": "3314:183:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16625, + "nodeType": "Block", + "src": "3619:71:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16617, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16615, + "src": "3629:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16618, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3639:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16620, + "indexExpression": { + "argumentTypes": null, + "id": 16619, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16612, + "src": "3653:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3639:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16621, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "prlActions", + "nodeType": "MemberAccess", + "referencedDeclaration": 8012, + "src": "3639:37:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PrlAction_$7945_storage_$dyn_storage", + "typeString": "struct DaoStructs.PrlAction storage ref[] storage ref" + } + }, + "id": 16622, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3639:44:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3629:54:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16624, + "nodeType": "ExpressionStatement", + "src": "3629:54:60" + } + ] + }, + "documentation": null, + "id": 16626, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readTotalPrlActions", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16613, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16612, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16626, + "src": "3532:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16611, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3532:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3531:21:60" + }, + "payable": false, + "returnParameters": { + "id": 16616, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16615, + "name": "_length", + "nodeType": "VariableDeclaration", + "scope": 16626, + "src": "3598:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16614, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3598:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3597:17:60" + }, + "scope": 18304, + "src": "3503:187:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16677, + "nodeType": "Block", + "src": "3853:259:60", + "statements": [ + { + "assignments": [ + 16643 + ], + "declarations": [ + { + "constant": false, + "id": 16643, + "name": "_actions", + "nodeType": "VariableDeclaration", + "scope": 16678, + "src": "3863:38:60", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PrlAction_$7945_memory_$dyn_memory_ptr", + "typeString": "struct DaoStructs.PrlAction[]" + }, + "typeName": { + "baseType": { + "contractScope": null, + "id": 16641, + "name": "DaoStructs.PrlAction", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7945, + "src": "3863:20:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PrlAction_$7945_storage_ptr", + "typeString": "struct DaoStructs.PrlAction" + } + }, + "id": 16642, + "length": null, + "nodeType": "ArrayTypeName", + "src": "3863:22:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PrlAction_$7945_storage_$dyn_storage_ptr", + "typeString": "struct DaoStructs.PrlAction[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 16648, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16644, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3904:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16646, + "indexExpression": { + "argumentTypes": null, + "id": 16645, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16628, + "src": "3918:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3904:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16647, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "prlActions", + "nodeType": "MemberAccess", + "referencedDeclaration": 8012, + "src": "3904:37:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PrlAction_$7945_storage_$dyn_storage", + "typeString": "struct DaoStructs.PrlAction storage ref[] storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3863:78:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 16653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 16650, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16630, + "src": "3959:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 16651, + "name": "_actions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16643, + "src": "3968:8:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PrlAction_$7945_memory_$dyn_memory_ptr", + "typeString": "struct DaoStructs.PrlAction memory[] memory" + } + }, + "id": 16652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3968:15:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3959:24:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16649, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3951:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3951:33:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16655, + "nodeType": "ExpressionStatement", + "src": "3951:33:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16656, + "name": "_actionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16633, + "src": "3994:9:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16657, + "name": "_actions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16643, + "src": "4006:8:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PrlAction_$7945_memory_$dyn_memory_ptr", + "typeString": "struct DaoStructs.PrlAction memory[] memory" + } + }, + "id": 16659, + "indexExpression": { + "argumentTypes": null, + "id": 16658, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16630, + "src": "4015:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4006:16:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PrlAction_$7945_memory", + "typeString": "struct DaoStructs.PrlAction memory" + } + }, + "id": 16660, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "actionId", + "nodeType": "MemberAccess", + "referencedDeclaration": 7944, + "src": "4006:25:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3994:37:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16662, + "nodeType": "ExpressionStatement", + "src": "3994:37:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16663, + "name": "_time", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16635, + "src": "4041:5:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16664, + "name": "_actions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16643, + "src": "4049:8:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PrlAction_$7945_memory_$dyn_memory_ptr", + "typeString": "struct DaoStructs.PrlAction memory[] memory" + } + }, + "id": 16666, + "indexExpression": { + "argumentTypes": null, + "id": 16665, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16630, + "src": "4058:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4049:16:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PrlAction_$7945_memory", + "typeString": "struct DaoStructs.PrlAction memory" + } + }, + "id": 16667, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "at", + "nodeType": "MemberAccess", + "referencedDeclaration": 7940, + "src": "4049:19:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4041:27:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16669, + "nodeType": "ExpressionStatement", + "src": "4041:27:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16670, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16637, + "src": "4078:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16671, + "name": "_actions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16643, + "src": "4085:8:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PrlAction_$7945_memory_$dyn_memory_ptr", + "typeString": "struct DaoStructs.PrlAction memory[] memory" + } + }, + "id": 16673, + "indexExpression": { + "argumentTypes": null, + "id": 16672, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16630, + "src": "4094:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4085:16:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PrlAction_$7945_memory", + "typeString": "struct DaoStructs.PrlAction memory" + } + }, + "id": 16674, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "doc", + "nodeType": "MemberAccess", + "referencedDeclaration": 7942, + "src": "4085:20:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4078:27:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 16676, + "nodeType": "ExpressionStatement", + "src": "4078:27:60" + } + ] + }, + "documentation": null, + "id": 16678, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readPrlAction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16631, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16628, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16678, + "src": "3719:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16627, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3719:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16630, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 16678, + "src": "3740:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16629, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3740:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3718:37:60" + }, + "payable": false, + "returnParameters": { + "id": 16638, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16633, + "name": "_actionId", + "nodeType": "VariableDeclaration", + "scope": 16678, + "src": "3801:17:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16632, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3801:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16635, + "name": "_time", + "nodeType": "VariableDeclaration", + "scope": 16678, + "src": "3820:13:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16634, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3820:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16637, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 16678, + "src": "3835:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16636, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3835:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3800:48:60" + }, + "scope": 18304, + "src": "3696:416:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16698, + "nodeType": "Block", + "src": "4241:114:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 16686, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "4259:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 16687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4259:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16685, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4251:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4251:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16689, + "nodeType": "ExpressionStatement", + "src": "4251:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16690, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16683, + "src": "4293:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16691, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "4303:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16693, + "indexExpression": { + "argumentTypes": null, + "id": 16692, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16680, + "src": "4317:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4303:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16694, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "4303:38:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 16695, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "passed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7965, + "src": "4303:45:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4293:55:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16697, + "nodeType": "ExpressionStatement", + "src": "4293:55:60" + } + ] + }, + "documentation": null, + "id": 16699, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalDraftVotingResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16681, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16680, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16699, + "src": "4157:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16679, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4157:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4156:21:60" + }, + "payable": false, + "returnParameters": { + "id": 16684, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16683, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 16699, + "src": "4223:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16682, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4223:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4222:14:60" + }, + "scope": 18304, + "src": "4118:237:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16723, + "nodeType": "Block", + "src": "4495:123:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 16709, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "4513:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 16710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4513:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16708, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4505:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4505:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16712, + "nodeType": "ExpressionStatement", + "src": "4505:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16713, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16706, + "src": "4547:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16714, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "4557:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16716, + "indexExpression": { + "argumentTypes": null, + "id": 16715, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16701, + "src": "4571:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4557:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16717, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "4557:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 16719, + "indexExpression": { + "argumentTypes": null, + "id": 16718, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16703, + "src": "4597:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4557:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 16720, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "passed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7965, + "src": "4557:54:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4547:64:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 16722, + "nodeType": "ExpressionStatement", + "src": "4547:64:60" + } + ] + }, + "documentation": null, + "id": 16724, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalVotingResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16704, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16701, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16724, + "src": "4395:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16700, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4395:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16703, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 16724, + "src": "4416:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16702, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4416:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4394:37:60" + }, + "payable": false, + "returnParameters": { + "id": 16707, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16706, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 16724, + "src": "4477:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16705, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4477:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4476:14:60" + }, + "scope": 18304, + "src": "4361:257:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16744, + "nodeType": "Block", + "src": "4747:116:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 16732, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "4765:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 16733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4765:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16731, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4757:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4757:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16735, + "nodeType": "ExpressionStatement", + "src": "4757:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16736, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16729, + "src": "4799:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16737, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "4808:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16739, + "indexExpression": { + "argumentTypes": null, + "id": 16738, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16726, + "src": "4822:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4808:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16740, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "4808:38:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 16741, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "4808:48:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4799:57:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16743, + "nodeType": "ExpressionStatement", + "src": "4799:57:60" + } + ] + }, + "documentation": null, + "id": 16745, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalDraftVotingTime", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16727, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16726, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16745, + "src": "4661:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16725, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4661:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4660:21:60" + }, + "payable": false, + "returnParameters": { + "id": 16730, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16729, + "name": "_start", + "nodeType": "VariableDeclaration", + "scope": 16745, + "src": "4727:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16728, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4727:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4726:16:60" + }, + "scope": 18304, + "src": "4624:239:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16769, + "nodeType": "Block", + "src": "5003:125:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 16755, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "5021:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 16756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5021:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16754, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5013:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5013:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16758, + "nodeType": "ExpressionStatement", + "src": "5013:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16759, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16752, + "src": "5055:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16760, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "5064:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16762, + "indexExpression": { + "argumentTypes": null, + "id": 16761, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16747, + "src": "5078:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5064:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16763, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "5064:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 16765, + "indexExpression": { + "argumentTypes": null, + "id": 16764, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16749, + "src": "5104:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5064:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 16766, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "5064:57:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5055:66:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16768, + "nodeType": "ExpressionStatement", + "src": "5055:66:60" + } + ] + }, + "documentation": null, + "id": 16770, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalVotingTime", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16750, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16747, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16770, + "src": "4901:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16746, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4901:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16749, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 16770, + "src": "4922:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16748, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4922:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4900:37:60" + }, + "payable": false, + "returnParameters": { + "id": 16753, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16752, + "name": "_start", + "nodeType": "VariableDeclaration", + "scope": 16770, + "src": "4983:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16751, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4983:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4982:16:60" + }, + "scope": 18304, + "src": "4869:259:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16795, + "nodeType": "Block", + "src": "5289:126:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 16783, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "5307:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 16784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5307:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16782, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5299:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5299:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16786, + "nodeType": "ExpressionStatement", + "src": "5299:32:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16792, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16775, + "src": "5398:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16787, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "5348:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16789, + "indexExpression": { + "argumentTypes": null, + "id": 16788, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16772, + "src": "5362:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5348:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16790, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "5348:38:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 16791, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 8095, + "src": "5348:49:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Voting_$7970_storage_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$_t_uint256_$bound_to$_t_struct$_Voting_$7970_storage_ptr_$", + "typeString": "function (struct DaoStructs.Voting storage pointer,address[] memory) view returns (uint256,uint256)" + } + }, + "id": 16793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5348:60:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "functionReturnParameters": 16781, + "id": 16794, + "nodeType": "Return", + "src": "5341:67:60" + } + ] + }, + "documentation": null, + "id": 16796, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readDraftVotingCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16776, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16772, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16796, + "src": "5164:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16771, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5164:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16775, + "name": "_allUsers", + "nodeType": "VariableDeclaration", + "scope": 16796, + "src": "5185:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 16773, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5185:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16774, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5185:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5163:42:60" + }, + "payable": false, + "returnParameters": { + "id": 16781, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16778, + "name": "_for", + "nodeType": "VariableDeclaration", + "scope": 16796, + "src": "5253:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16777, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5253:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16780, + "name": "_against", + "nodeType": "VariableDeclaration", + "scope": 16796, + "src": "5267:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16779, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5267:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5252:32:60" + }, + "scope": 18304, + "src": "5134:281:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 16825, + "nodeType": "Block", + "src": "5587:135:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 16811, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "5605:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 16812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5605:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16810, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5597:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5597:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16814, + "nodeType": "ExpressionStatement", + "src": "5597:32:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16822, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16803, + "src": "5705:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16815, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "5646:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16817, + "indexExpression": { + "argumentTypes": null, + "id": 16816, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16798, + "src": "5660:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5646:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16818, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "5646:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 16820, + "indexExpression": { + "argumentTypes": null, + "id": 16819, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16800, + "src": "5686:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5646:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 16821, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 8095, + "src": "5646:58:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Voting_$7970_storage_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$_t_uint256_$bound_to$_t_struct$_Voting_$7970_storage_ptr_$", + "typeString": "function (struct DaoStructs.Voting storage pointer,address[] memory) view returns (uint256,uint256)" + } + }, + "id": 16823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5646:69:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "functionReturnParameters": 16809, + "id": 16824, + "nodeType": "Return", + "src": "5639:76:60" + } + ] + }, + "documentation": null, + "id": 16826, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVotingCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16804, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16798, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16826, + "src": "5446:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16797, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5446:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16800, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 16826, + "src": "5467:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16799, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5467:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16803, + "name": "_allUsers", + "nodeType": "VariableDeclaration", + "scope": 16826, + "src": "5483:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 16801, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5483:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16802, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5483:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5445:58:60" + }, + "payable": false, + "returnParameters": { + "id": 16809, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16806, + "name": "_for", + "nodeType": "VariableDeclaration", + "scope": 16826, + "src": "5551:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16805, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5551:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16808, + "name": "_against", + "nodeType": "VariableDeclaration", + "scope": 16826, + "src": "5565:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16807, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5565:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5550:32:60" + }, + "scope": 18304, + "src": "5421:301:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 16859, + "nodeType": "Block", + "src": "5922:141:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 16844, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "5940:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 16845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5940:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16843, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5932:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5932:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16847, + "nodeType": "ExpressionStatement", + "src": "5932:32:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16855, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16833, + "src": "6039:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + { + "argumentTypes": null, + "id": 16856, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16835, + "src": "6050:5:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16848, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "5981:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16850, + "indexExpression": { + "argumentTypes": null, + "id": 16849, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16828, + "src": "5995:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5981:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16851, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "5981:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 16853, + "indexExpression": { + "argumentTypes": null, + "id": 16852, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16830, + "src": "6021:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5981:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 16854, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "listVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 8203, + "src": "5981:57:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Voting_$7970_storage_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$bound_to$_t_struct$_Voting_$7970_storage_ptr_$", + "typeString": "function (struct DaoStructs.Voting storage pointer,address[] memory,bool) view returns (address[] memory,uint256)" + } + }, + "id": 16857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5981:75:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(address[] memory,uint256)" + } + }, + "functionReturnParameters": 16842, + "id": 16858, + "nodeType": "Return", + "src": "5974:82:60" + } + ] + }, + "documentation": null, + "id": 16860, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVotingRoundVotes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16836, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16828, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16860, + "src": "5758:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16827, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5758:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16830, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 16860, + "src": "5779:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16829, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5779:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16833, + "name": "_allUsers", + "nodeType": "VariableDeclaration", + "scope": 16860, + "src": "5795:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 16831, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5795:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16832, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5795:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16835, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 16860, + "src": "5816:10:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16834, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5816:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5757:70:60" + }, + "payable": false, + "returnParameters": { + "id": 16842, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16839, + "name": "_voters", + "nodeType": "VariableDeclaration", + "scope": 16860, + "src": "5875:24:60", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 16837, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5875:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 16838, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5875:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16841, + "name": "_length", + "nodeType": "VariableDeclaration", + "scope": 16860, + "src": "5901:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16840, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5901:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5874:43:60" + }, + "scope": 18304, + "src": "5728:335:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 16884, + "nodeType": "Block", + "src": "6207:121:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 16872, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "6225:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 16873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6225:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16871, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "6217:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6217:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16875, + "nodeType": "ExpressionStatement", + "src": "6217:32:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16881, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16864, + "src": "6314:6:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16876, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "6266:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16878, + "indexExpression": { + "argumentTypes": null, + "id": 16877, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16862, + "src": "6280:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6266:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16879, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "6266:38:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 16880, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "readVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 8246, + "src": "6266:47:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Voting_$7970_storage_ptr_$_t_address_$returns$_t_bool_$_t_uint256_$bound_to$_t_struct$_Voting_$7970_storage_ptr_$", + "typeString": "function (struct DaoStructs.Voting storage pointer,address) view returns (bool,uint256)" + } + }, + "id": 16882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6266:55:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "functionReturnParameters": 16870, + "id": 16883, + "nodeType": "Return", + "src": "6259:62:60" + } + ] + }, + "documentation": null, + "id": 16885, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readDraftVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16865, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16862, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16885, + "src": "6092:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16861, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6092:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16864, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 16885, + "src": "6113:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16863, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6113:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6091:37:60" + }, + "payable": false, + "returnParameters": { + "id": 16870, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16867, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 16885, + "src": "6174:10:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16866, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6174:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16869, + "name": "_weight", + "nodeType": "VariableDeclaration", + "scope": 16885, + "src": "6186:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16868, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6186:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6173:29:60" + }, + "scope": 18304, + "src": "6069:259:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16913, + "nodeType": "Block", + "src": "6696:136:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 16897, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "6714:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 16898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6714:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16896, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "6706:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6706:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16900, + "nodeType": "ExpressionStatement", + "src": "6706:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 16911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16901, + "name": "_commitHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16894, + "src": "6748:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16902, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "6762:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16904, + "indexExpression": { + "argumentTypes": null, + "id": 16903, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16887, + "src": "6776:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6762:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16905, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "6762:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 16907, + "indexExpression": { + "argumentTypes": null, + "id": 16906, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16889, + "src": "6802:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6762:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 16908, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "commits", + "nodeType": "MemberAccess", + "referencedDeclaration": 7955, + "src": "6762:55:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$", + "typeString": "mapping(address => bytes32)" + } + }, + "id": 16910, + "indexExpression": { + "argumentTypes": null, + "id": 16909, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16891, + "src": "6818:6:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6762:63:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6748:77:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 16912, + "nodeType": "ExpressionStatement", + "src": "6748:77:60" + } + ] + }, + "documentation": "@notice returns the latest committed vote by a voter on a proposal\n @param _proposalId proposal ID\n @param _voter address of the voter\n @return {\n \"_commitHash\": \"\"\n }", + "id": 16914, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readComittedVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16892, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16887, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16914, + "src": "6573:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16886, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6573:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16889, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 16914, + "src": "6594:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16888, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6594:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16891, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 16914, + "src": "6610:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16890, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6610:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6572:53:60" + }, + "payable": false, + "returnParameters": { + "id": 16895, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16894, + "name": "_commitHash", + "nodeType": "VariableDeclaration", + "scope": 16914, + "src": "6671:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16893, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6671:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6670:21:60" + }, + "scope": 18304, + "src": "6547:285:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16942, + "nodeType": "Block", + "src": "6987:130:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 16928, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "7005:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 16929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7005:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 16927, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "6997:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 16930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6997:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 16931, + "nodeType": "ExpressionStatement", + "src": "6997:32:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16939, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16920, + "src": "7103:6:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 16932, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "7046:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 16934, + "indexExpression": { + "argumentTypes": null, + "id": 16933, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16916, + "src": "7060:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7046:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 16935, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "7046:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 16937, + "indexExpression": { + "argumentTypes": null, + "id": 16936, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16918, + "src": "7086:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7046:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 16938, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "readVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 8246, + "src": "7046:56:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Voting_$7970_storage_ptr_$_t_address_$returns$_t_bool_$_t_uint256_$bound_to$_t_struct$_Voting_$7970_storage_ptr_$", + "typeString": "function (struct DaoStructs.Voting storage pointer,address) view returns (bool,uint256)" + } + }, + "id": 16940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7046:64:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "functionReturnParameters": 16926, + "id": 16941, + "nodeType": "Return", + "src": "7039:71:60" + } + ] + }, + "documentation": null, + "id": 16943, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16921, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16916, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16943, + "src": "6856:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16915, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6856:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16918, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 16943, + "src": "6877:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16917, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6877:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16920, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 16943, + "src": "6893:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16919, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6893:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6855:53:60" + }, + "payable": false, + "returnParameters": { + "id": 16926, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16923, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 16943, + "src": "6954:10:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 16922, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6954:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 16925, + "name": "_weight", + "nodeType": "VariableDeclaration", + "scope": 16943, + "src": "6966:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 16924, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6966:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6953:29:60" + }, + "scope": 18304, + "src": "6838:279:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16954, + "nodeType": "Block", + "src": "7330:63:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16948, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16946, + "src": "7340:3:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16950, + "name": "allProposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16481, + "src": "7373:12:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + ], + "id": 16949, + "name": "read_first_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22416, + "src": "7346:26:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer) view returns (bytes32)" + } + }, + "id": 16951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7346:40:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7340:46:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 16953, + "nodeType": "ExpressionStatement", + "src": "7340:46:60" + } + ] + }, + "documentation": "@notice get all information and details of the first proposal\n return {\n \"_id\": \"\"\n }", + "id": 16955, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getFirstProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16944, + "nodeType": "ParameterList", + "parameters": [], + "src": "7265:2:60" + }, + "payable": false, + "returnParameters": { + "id": 16947, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16946, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 16955, + "src": "7313:11:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16945, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7313:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7312:13:60" + }, + "scope": 18304, + "src": "7240:153:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16966, + "nodeType": "Block", + "src": "7604:62:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16960, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16958, + "src": "7614:3:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16962, + "name": "allProposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16481, + "src": "7646:12:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + ], + "id": 16961, + "name": "read_last_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22430, + "src": "7620:25:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer) view returns (bytes32)" + } + }, + "id": 16963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7620:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7614:45:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 16965, + "nodeType": "ExpressionStatement", + "src": "7614:45:60" + } + ] + }, + "documentation": "@notice get all information and details of the last proposal\n return {\n \"_id\": \"\"\n }", + "id": 16967, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getLastProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16956, + "nodeType": "ParameterList", + "parameters": [], + "src": "7539:2:60" + }, + "payable": false, + "returnParameters": { + "id": 16959, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16958, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 16967, + "src": "7587:11:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16957, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7587:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7586:13:60" + }, + "scope": 18304, + "src": "7515:151:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16981, + "nodeType": "Block", + "src": "7969:109:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16974, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16972, + "src": "7979:3:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16976, + "name": "allProposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16481, + "src": "8024:12:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + { + "argumentTypes": null, + "id": 16977, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16969, + "src": "8050:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 16975, + "name": "read_next_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22447, + "src": "7985:25:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 16978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7985:86:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7979:92:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 16980, + "nodeType": "ExpressionStatement", + "src": "7979:92:60" + } + ] + }, + "documentation": "@notice get all information and details of proposal next to _proposalId\n @param _proposalId Proposal ID, i.e. hash of IPFS doc\n return {\n \"_id\": \"\"\n }", + "id": 16982, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getNextProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16970, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16969, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16982, + "src": "7886:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16968, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7886:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7885:21:60" + }, + "payable": false, + "returnParameters": { + "id": 16973, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16972, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 16982, + "src": "7952:11:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16971, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7952:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7951:13:60" + }, + "scope": 18304, + "src": "7861:217:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 16996, + "nodeType": "Block", + "src": "8389:113:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 16994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 16989, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16987, + "src": "8399:3:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 16991, + "name": "allProposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16481, + "src": "8448:12:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + { + "argumentTypes": null, + "id": 16992, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16984, + "src": "8474:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 16990, + "name": "read_previous_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22464, + "src": "8405:29:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 16993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8405:90:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "8399:96:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 16995, + "nodeType": "ExpressionStatement", + "src": "8399:96:60" + } + ] + }, + "documentation": "@notice get all information and details of proposal previous to _proposalId\n @param _proposalId Proposal ID, i.e. hash of IPFS doc\n return {\n \"_id\": \"\"\n }", + "id": 16997, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getPreviousProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 16985, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16984, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 16997, + "src": "8306:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16983, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8306:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8305:21:60" + }, + "payable": false, + "returnParameters": { + "id": 16988, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16987, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 16997, + "src": "8372:11:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16986, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8372:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8371:13:60" + }, + "scope": 18304, + "src": "8277:225:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17017, + "nodeType": "Block", + "src": "8805:119:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 17005, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "8823:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 17006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8823:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17004, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "8815:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8815:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17008, + "nodeType": "ExpressionStatement", + "src": "8815:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17009, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17002, + "src": "8857:3:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17011, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "8890:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 17013, + "indexExpression": { + "argumentTypes": null, + "id": 17012, + "name": "_stateId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16999, + "src": "8907:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8890:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + ], + "id": 17010, + "name": "read_first_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22416, + "src": "8863:26:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer) view returns (bytes32)" + } + }, + "id": 17014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8863:54:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "8857:60:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17016, + "nodeType": "ExpressionStatement", + "src": "8857:60:60" + } + ] + }, + "documentation": "@notice get all information and details of the first proposal in state _stateId\n @param _stateId State ID of the proposal\n return {\n \"_id\": \"\"\n }", + "id": 17018, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getFirstProposalInState", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17000, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16999, + "name": "_stateId", + "nodeType": "VariableDeclaration", + "scope": 17018, + "src": "8725:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 16998, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8725:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8724:18:60" + }, + "payable": false, + "returnParameters": { + "id": 17003, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17002, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 17018, + "src": "8788:11:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17001, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8788:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8787:13:60" + }, + "scope": 18304, + "src": "8692:232:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17038, + "nodeType": "Block", + "src": "9225:118:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 17026, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "9243:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 17027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9243:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17025, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "9235:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17028, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9235:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17029, + "nodeType": "ExpressionStatement", + "src": "9235:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17030, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17023, + "src": "9277:3:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17032, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "9309:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 17034, + "indexExpression": { + "argumentTypes": null, + "id": 17033, + "name": "_stateId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17020, + "src": "9326:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9309:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + ], + "id": 17031, + "name": "read_last_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22430, + "src": "9283:25:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer) view returns (bytes32)" + } + }, + "id": 17035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9283:53:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "9277:59:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17037, + "nodeType": "ExpressionStatement", + "src": "9277:59:60" + } + ] + }, + "documentation": "@notice get all information and details of the last proposal in state _stateId\n @param _stateId State ID of the proposal\n return {\n \"_id\": \"\"\n }", + "id": 17039, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getLastProposalInState", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17021, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17020, + "name": "_stateId", + "nodeType": "VariableDeclaration", + "scope": 17039, + "src": "9145:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17019, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9145:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9144:18:60" + }, + "payable": false, + "returnParameters": { + "id": 17024, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17023, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 17039, + "src": "9208:11:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17022, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9208:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9207:13:60" + }, + "scope": 18304, + "src": "9113:230:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17062, + "nodeType": "Block", + "src": "9680:165:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 17049, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "9698:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 17050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9698:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17048, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "9690:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9690:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17052, + "nodeType": "ExpressionStatement", + "src": "9690:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17053, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17046, + "src": "9732:3:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17055, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "9777:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 17057, + "indexExpression": { + "argumentTypes": null, + "id": 17056, + "name": "_stateId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17041, + "src": "9794:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9777:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + { + "argumentTypes": null, + "id": 17058, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17043, + "src": "9817:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17054, + "name": "read_next_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22447, + "src": "9738:25:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 17059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9738:100:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "9732:106:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17061, + "nodeType": "ExpressionStatement", + "src": "9732:106:60" + } + ] + }, + "documentation": "@notice get all information and details of the next proposal to _proposalId in state _stateId\n @param _stateId State ID of the proposal\n return {\n \"_id\": \"\"\n }", + "id": 17063, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getNextProposalInState", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17044, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17041, + "name": "_stateId", + "nodeType": "VariableDeclaration", + "scope": 17063, + "src": "9579:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17040, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9579:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17043, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17063, + "src": "9597:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17042, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9597:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9578:39:60" + }, + "payable": false, + "returnParameters": { + "id": 17047, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17046, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 17063, + "src": "9663:11:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17045, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9663:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9662:13:60" + }, + "scope": 18304, + "src": "9547:298:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17086, + "nodeType": "Block", + "src": "10190:169:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 17073, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "10208:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 17074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10208:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17072, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "10200:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10200:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17076, + "nodeType": "ExpressionStatement", + "src": "10200:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17077, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17070, + "src": "10242:3:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17079, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "10291:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 17081, + "indexExpression": { + "argumentTypes": null, + "id": 17080, + "name": "_stateId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17065, + "src": "10308:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10291:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + { + "argumentTypes": null, + "id": 17082, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17067, + "src": "10331:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17078, + "name": "read_previous_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22464, + "src": "10248:29:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 17083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10248:104:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "10242:110:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17085, + "nodeType": "ExpressionStatement", + "src": "10242:110:60" + } + ] + }, + "documentation": "@notice get all information and details of the previous proposal to _proposalId in state _stateId\n @param _stateId State ID of the proposal\n return {\n \"_id\": \"\"\n }", + "id": 17087, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getPreviousProposalInState", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17068, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17065, + "name": "_stateId", + "nodeType": "VariableDeclaration", + "scope": 17087, + "src": "10089:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17064, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10089:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17067, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17087, + "src": "10107:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17066, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10107:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10088:39:60" + }, + "payable": false, + "returnParameters": { + "id": 17071, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17070, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 17087, + "src": "10173:11:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17069, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10173:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10172:13:60" + }, + "scope": 18304, + "src": "10053:306:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17112, + "nodeType": "Block", + "src": "10953:91:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17103, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "10970:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17105, + "indexExpression": { + "argumentTypes": null, + "id": 17104, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17089, + "src": "10984:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10970:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17106, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "10970:43:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 17108, + "indexExpression": { + "argumentTypes": null, + "id": 17107, + "name": "_version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17091, + "src": "11014:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10970:53:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 17109, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "readVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8313, + "src": "10970:65:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_ProposalVersion_$7985_storage_ptr_$returns$_t_bytes32_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$bound_to$_t_struct$_ProposalVersion_$7985_storage_ptr_$", + "typeString": "function (struct DaoStructs.ProposalVersion storage pointer) view returns (bytes32,uint256,uint256[] memory,uint256)" + } + }, + "id": 17110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10970:67:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(bytes32,uint256,uint256[] memory,uint256)" + } + }, + "functionReturnParameters": 17102, + "id": 17111, + "nodeType": "Return", + "src": "10963:74:60" + } + ] + }, + "documentation": "@notice read proposal version details for a specific version\n @param _proposalId Proposal ID, i.e. hash of IPFS doc\n @param _version Version of proposal, i.e. hash of IPFS doc for specific version\n return {\n \"_doc\": \"\",\n \"_created\": \"\",\n \"_milestoneFundings\": \"\"\n }", + "id": 17113, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalVersion", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17092, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17089, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17113, + "src": "10723:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17088, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10723:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17091, + "name": "_version", + "nodeType": "VariableDeclaration", + "scope": 17113, + "src": "10744:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17090, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10744:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10722:39:60" + }, + "payable": false, + "returnParameters": { + "id": 17102, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17094, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 17113, + "src": "10820:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17093, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10820:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17096, + "name": "_created", + "nodeType": "VariableDeclaration", + "scope": 17113, + "src": "10846:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17095, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10846:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17099, + "name": "_milestoneFundings", + "nodeType": "VariableDeclaration", + "scope": 17113, + "src": "10876:28:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 17097, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10876:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17098, + "length": null, + "nodeType": "ArrayTypeName", + "src": "10876:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17101, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 17113, + "src": "10918:20:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17100, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10918:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10806:142:60" + }, + "scope": 18304, + "src": "10694:350:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17161, + "nodeType": "Block", + "src": "11383:362:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 17124, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "11401:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 17125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11401:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17123, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "11393:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11393:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17127, + "nodeType": "ExpressionStatement", + "src": "11393:32:60" + }, + { + "assignments": [ + 17129 + ], + "declarations": [ + { + "constant": false, + "id": 17129, + "name": "_finalVersion", + "nodeType": "VariableDeclaration", + "scope": 17162, + "src": "11435:21:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17128, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11435:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 17134, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17130, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "11459:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17132, + "indexExpression": { + "argumentTypes": null, + "id": 17131, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17115, + "src": "11473:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11459:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17133, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "finalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8009, + "src": "11459:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11435:63:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 17138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 17136, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17129, + "src": "11516:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 17137, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "11533:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "11516:28:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17135, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "11508:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11508:37:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17140, + "nodeType": "ExpressionStatement", + "src": "11508:37:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17141, + "name": "_fundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17119, + "src": "11555:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17142, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "11567:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17144, + "indexExpression": { + "argumentTypes": null, + "id": 17143, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17115, + "src": "11581:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11567:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17145, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "11567:43:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 17147, + "indexExpression": { + "argumentTypes": null, + "id": 17146, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17129, + "src": "11611:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11567:58:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 17148, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "milestoneFundings", + "nodeType": "MemberAccess", + "referencedDeclaration": 7981, + "src": "11567:76:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "src": "11555:88:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 17150, + "nodeType": "ExpressionStatement", + "src": "11555:88:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17151, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17121, + "src": "11653:12:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17152, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "11668:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17154, + "indexExpression": { + "argumentTypes": null, + "id": 17153, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17115, + "src": "11682:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11668:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17155, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "11668:43:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 17157, + "indexExpression": { + "argumentTypes": null, + "id": 17156, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17129, + "src": "11712:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11668:58:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 17158, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "finalReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 7978, + "src": "11668:70:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11653:85:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17160, + "nodeType": "ExpressionStatement", + "src": "11653:85:60" + } + ] + }, + "documentation": "@notice Read the fundings of a finalized proposal\n@return {\n\"_fundings\": \"fundings for the milestones\",\n\"_finalReward\": \"the final reward\"\n}", + "id": 17162, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalFunding", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17116, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17115, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17162, + "src": "11263:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17114, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11263:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11262:21:60" + }, + "payable": false, + "returnParameters": { + "id": 17122, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17119, + "name": "_fundings", + "nodeType": "VariableDeclaration", + "scope": 17162, + "src": "11329:26:60", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 17117, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11329:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17118, + "length": null, + "nodeType": "ArrayTypeName", + "src": "11329:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17121, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 17162, + "src": "11357:20:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17120, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11357:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11328:50:60" + }, + "scope": 18304, + "src": "11234:511:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17185, + "nodeType": "Block", + "src": "11886:126:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 17172, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "11904:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 17173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11904:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17171, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "11896:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11896:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17175, + "nodeType": "ExpressionStatement", + "src": "11896:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17176, + "name": "_funding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17169, + "src": "11938:8:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17181, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17166, + "src": "11998:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17177, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "11949:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17179, + "indexExpression": { + "argumentTypes": null, + "id": 17178, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17164, + "src": "11963:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11949:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17180, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalMilestone", + "nodeType": "MemberAccess", + "referencedDeclaration": 8373, + "src": "11949:48:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Proposal_$8021_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Proposal_$8021_storage_ptr_$", + "typeString": "function (struct DaoStructs.Proposal storage pointer,uint256) view returns (uint256)" + } + }, + "id": 17182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11949:56:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11938:67:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17184, + "nodeType": "ExpressionStatement", + "src": "11938:67:60" + } + ] + }, + "documentation": null, + "id": 17186, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalMilestone", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17167, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17164, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17186, + "src": "11782:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17163, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11782:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17166, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 17186, + "src": "11803:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17165, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11803:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11781:37:60" + }, + "payable": false, + "returnParameters": { + "id": 17170, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17169, + "name": "_funding", + "nodeType": "VariableDeclaration", + "scope": 17186, + "src": "11864:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17168, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11864:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11863:18:60" + }, + "scope": 18304, + "src": "11751:261:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17208, + "nodeType": "Block", + "src": "12320:161:60", + "statements": [ + { + "assignments": [ + 17196 + ], + "declarations": [ + { + "constant": false, + "id": 17196, + "name": "_proposal", + "nodeType": "VariableDeclaration", + "scope": 17209, + "src": "12330:37:60", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + }, + "typeName": { + "contractScope": null, + "id": 17195, + "name": "DaoStructs.Proposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8021, + "src": "12330:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 17200, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17197, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "12370:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17199, + "indexExpression": { + "argumentTypes": null, + "id": 17198, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17188, + "src": "12384:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12370:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12330:66:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17201, + "name": "_version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17191, + "src": "12406:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 17203, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17196, + "src": "12444:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 17204, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersionDocs", + "nodeType": "MemberAccess", + "referencedDeclaration": 7993, + "src": "12444:29:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + ], + "id": 17202, + "name": "read_first_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22416, + "src": "12417:26:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer) view returns (bytes32)" + } + }, + "id": 17205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12417:57:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "12406:68:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17207, + "nodeType": "ExpressionStatement", + "src": "12406:68:60" + } + ] + }, + "documentation": "@notice get proposal version details for the first version\n @param _proposalId Proposal ID, i.e. hash of IPFS doc\n return {\n \"_version\": \"\"\n }", + "id": 17209, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getFirstProposalVersion", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17189, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17188, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17209, + "src": "12232:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17187, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12232:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12231:21:60" + }, + "payable": false, + "returnParameters": { + "id": 17192, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17191, + "name": "_version", + "nodeType": "VariableDeclaration", + "scope": 17209, + "src": "12298:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17190, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12298:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12297:18:60" + }, + "scope": 18304, + "src": "12199:282:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17231, + "nodeType": "Block", + "src": "12787:160:60", + "statements": [ + { + "assignments": [ + 17219 + ], + "declarations": [ + { + "constant": false, + "id": 17219, + "name": "_proposal", + "nodeType": "VariableDeclaration", + "scope": 17232, + "src": "12797:37:60", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + }, + "typeName": { + "contractScope": null, + "id": 17218, + "name": "DaoStructs.Proposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8021, + "src": "12797:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 17223, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17220, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "12837:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17222, + "indexExpression": { + "argumentTypes": null, + "id": 17221, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17211, + "src": "12851:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12837:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12797:66:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17224, + "name": "_version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17214, + "src": "12873:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 17226, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17219, + "src": "12910:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 17227, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersionDocs", + "nodeType": "MemberAccess", + "referencedDeclaration": 7993, + "src": "12910:29:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + ], + "id": 17225, + "name": "read_last_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22430, + "src": "12884:25:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer) view returns (bytes32)" + } + }, + "id": 17228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12884:56:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "12873:67:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17230, + "nodeType": "ExpressionStatement", + "src": "12873:67:60" + } + ] + }, + "documentation": "@notice get proposal version details for the last version\n @param _proposalId Proposal ID, i.e. hash of IPFS doc\n return {\n \"_version\": \"\"\n }", + "id": 17232, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getLastProposalVersion", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17212, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17211, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17232, + "src": "12699:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17210, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12699:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12698:21:60" + }, + "payable": false, + "returnParameters": { + "id": 17215, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17214, + "name": "_version", + "nodeType": "VariableDeclaration", + "scope": 17232, + "src": "12765:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17213, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12765:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12764:18:60" + }, + "scope": 18304, + "src": "12667:280:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17257, + "nodeType": "Block", + "src": "13335:208:60", + "statements": [ + { + "assignments": [ + 17244 + ], + "declarations": [ + { + "constant": false, + "id": 17244, + "name": "_proposal", + "nodeType": "VariableDeclaration", + "scope": 17258, + "src": "13345:37:60", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + }, + "typeName": { + "contractScope": null, + "id": 17243, + "name": "DaoStructs.Proposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8021, + "src": "13345:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 17248, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17245, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "13385:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17247, + "indexExpression": { + "argumentTypes": null, + "id": 17246, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17234, + "src": "13399:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13385:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13345:66:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17249, + "name": "_nextVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17239, + "src": "13421:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 17251, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17244, + "src": "13475:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 17252, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersionDocs", + "nodeType": "MemberAccess", + "referencedDeclaration": 7993, + "src": "13475:29:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + { + "argumentTypes": null, + "id": 17253, + "name": "_version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17236, + "src": "13518:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17250, + "name": "read_next_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22447, + "src": "13436:25:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 17254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13436:100:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "13421:115:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17256, + "nodeType": "ExpressionStatement", + "src": "13421:115:60" + } + ] + }, + "documentation": "@notice get proposal version details for the next version to _version\n @param _proposalId Proposal ID, i.e. hash of IPFS doc\n @param _version Version of proposal\n return {\n \"_nextVersion\": \"\"\n }", + "id": 17258, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getNextProposalVersion", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17237, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17234, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17258, + "src": "13225:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17233, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13225:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17236, + "name": "_version", + "nodeType": "VariableDeclaration", + "scope": 17258, + "src": "13246:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17235, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13246:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13224:39:60" + }, + "payable": false, + "returnParameters": { + "id": 17240, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17239, + "name": "_nextVersion", + "nodeType": "VariableDeclaration", + "scope": 17258, + "src": "13309:20:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17238, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13309:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13308:22:60" + }, + "scope": 18304, + "src": "13193:350:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17283, + "nodeType": "Block", + "src": "13947:216:60", + "statements": [ + { + "assignments": [ + 17270 + ], + "declarations": [ + { + "constant": false, + "id": 17270, + "name": "_proposal", + "nodeType": "VariableDeclaration", + "scope": 17284, + "src": "13957:37:60", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + }, + "typeName": { + "contractScope": null, + "id": 17269, + "name": "DaoStructs.Proposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8021, + "src": "13957:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 17274, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17271, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "13997:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17273, + "indexExpression": { + "argumentTypes": null, + "id": 17272, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17260, + "src": "14011:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13997:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13957:66:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17275, + "name": "_previousVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17265, + "src": "14033:16:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 17277, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17270, + "src": "14095:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 17278, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersionDocs", + "nodeType": "MemberAccess", + "referencedDeclaration": 7993, + "src": "14095:29:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + { + "argumentTypes": null, + "id": 17279, + "name": "_version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17262, + "src": "14138:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17276, + "name": "read_previous_from_bytesarray", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22464, + "src": "14052:29:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 17280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14052:104:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "14033:123:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17282, + "nodeType": "ExpressionStatement", + "src": "14033:123:60" + } + ] + }, + "documentation": "@notice get proposal version details for the previous version to _version\n @param _proposalId Proposal ID, i.e. hash of IPFS doc\n @param _version Version of proposal\n return {\n \"_previousVersion\": \"\"\n }", + "id": 17284, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getPreviousProposalVersion", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17263, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17260, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17284, + "src": "13833:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17259, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13833:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17262, + "name": "_version", + "nodeType": "VariableDeclaration", + "scope": 17284, + "src": "13854:16:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17261, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13854:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13832:39:60" + }, + "payable": false, + "returnParameters": { + "id": 17266, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17265, + "name": "_previousVersion", + "nodeType": "VariableDeclaration", + "scope": 17284, + "src": "13917:24:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17264, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13917:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13916:26:60" + }, + "scope": 18304, + "src": "13797:366:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17299, + "nodeType": "Block", + "src": "14278:74:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 17297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17291, + "name": "_claimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17289, + "src": "14288:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17292, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "14299:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17294, + "indexExpression": { + "argumentTypes": null, + "id": 17293, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17286, + "src": "14313:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14299:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17295, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "14299:38:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 17296, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "claimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7967, + "src": "14299:46:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "14288:57:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17298, + "nodeType": "ExpressionStatement", + "src": "14288:57:60" + } + ] + }, + "documentation": null, + "id": 17300, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isDraftClaimed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17287, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17286, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17300, + "src": "14193:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17285, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14193:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14192:21:60" + }, + "payable": false, + "returnParameters": { + "id": 17290, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17289, + "name": "_claimed", + "nodeType": "VariableDeclaration", + "scope": 17300, + "src": "14259:13:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17288, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14259:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14258:15:60" + }, + "scope": 18304, + "src": "14169:183:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17319, + "nodeType": "Block", + "src": "14478:83:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 17317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17309, + "name": "_claimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17307, + "src": "14488:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17310, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "14499:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17312, + "indexExpression": { + "argumentTypes": null, + "id": 17311, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17302, + "src": "14513:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14499:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17313, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "14499:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 17315, + "indexExpression": { + "argumentTypes": null, + "id": 17314, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17304, + "src": "14539:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14499:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 17316, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "claimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7967, + "src": "14499:55:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "14488:66:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17318, + "nodeType": "ExpressionStatement", + "src": "14488:66:60" + } + ] + }, + "documentation": null, + "id": 17320, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isClaimed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17305, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17302, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17320, + "src": "14377:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17301, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14377:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17304, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 17320, + "src": "14398:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17303, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14398:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14376:37:60" + }, + "payable": false, + "returnParameters": { + "id": 17308, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17307, + "name": "_claimed", + "nodeType": "VariableDeclaration", + "scope": 17320, + "src": "14459:13:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17306, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14459:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14458:15:60" + }, + "scope": 18304, + "src": "14358:203:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17339, + "nodeType": "Block", + "src": "14692:112:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 17328, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "14710:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 17329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14710:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17327, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "14702:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14702:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17331, + "nodeType": "ExpressionStatement", + "src": "14702:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17332, + "name": "_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17325, + "src": "14744:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17333, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "14754:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17335, + "indexExpression": { + "argumentTypes": null, + "id": 17334, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17322, + "src": "14768:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14754:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17336, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collateralStatus", + "nodeType": "MemberAccess", + "referencedDeclaration": 8005, + "src": "14754:43:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14744:53:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17338, + "nodeType": "ExpressionStatement", + "src": "14744:53:60" + } + ] + }, + "documentation": null, + "id": 17340, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalCollateralStatus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17323, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17322, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17340, + "src": "14605:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17321, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14605:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14604:21:60" + }, + "payable": false, + "returnParameters": { + "id": 17326, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17325, + "name": "_status", + "nodeType": "VariableDeclaration", + "scope": 17340, + "src": "14671:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17324, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14671:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14670:17:60" + }, + "scope": 18304, + "src": "14567:237:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17354, + "nodeType": "Block", + "src": "14935:70:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 17352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17347, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17345, + "src": "14945:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17348, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "14955:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17350, + "indexExpression": { + "argumentTypes": null, + "id": 17349, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17342, + "src": "14969:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14955:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17351, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collateralAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8007, + "src": "14955:43:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14945:53:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17353, + "nodeType": "ExpressionStatement", + "src": "14945:53:60" + } + ] + }, + "documentation": null, + "id": 17355, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalCollateralAmount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17343, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17342, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17355, + "src": "14848:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17341, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14848:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14847:21:60" + }, + "payable": false, + "returnParameters": { + "id": 17346, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17345, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 17355, + "src": "14914:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17344, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14914:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14913:17:60" + }, + "scope": 18304, + "src": "14810:195:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17386, + "nodeType": "Block", + "src": "15276:216:60", + "statements": [ + { + "assignments": [ + 17364 + ], + "declarations": [ + { + "constant": false, + "id": 17364, + "name": "_finalVersion", + "nodeType": "VariableDeclaration", + "scope": 17387, + "src": "15286:21:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17363, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15286:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 17369, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17365, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "15310:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17367, + "indexExpression": { + "argumentTypes": null, + "id": 17366, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17357, + "src": "15324:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15310:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17368, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "finalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8009, + "src": "15310:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15286:63:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 17373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 17371, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17364, + "src": "15367:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 17372, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "15384:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "15367:28:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17370, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "15359:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15359:37:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17375, + "nodeType": "ExpressionStatement", + "src": "15359:37:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17376, + "name": "_moreDocs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17361, + "src": "15406:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17377, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "15418:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17379, + "indexExpression": { + "argumentTypes": null, + "id": 17378, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17357, + "src": "15432:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15418:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17380, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "15418:43:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 17382, + "indexExpression": { + "argumentTypes": null, + "id": 17381, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17364, + "src": "15462:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15418:58:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 17383, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moreDocs", + "nodeType": "MemberAccess", + "referencedDeclaration": 7984, + "src": "15418:67:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "src": "15406:79:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 17385, + "nodeType": "ExpressionStatement", + "src": "15406:79:60" + } + ] + }, + "documentation": "@notice Read the additional docs that are added after the proposal is finalized\n @dev Will throw if the propsal is not finalized yet", + "id": 17387, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalDocs", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17358, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17357, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17387, + "src": "15185:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17356, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15185:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15184:21:60" + }, + "payable": false, + "returnParameters": { + "id": 17362, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17361, + "name": "_moreDocs", + "nodeType": "VariableDeclaration", + "scope": 17387, + "src": "15251:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 17359, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15251:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17360, + "length": null, + "nodeType": "ArrayTypeName", + "src": "15251:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15250:21:60" + }, + "scope": 18304, + "src": "15159:333:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17411, + "nodeType": "Block", + "src": "15635:129:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 17397, + "name": "senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "15653:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 17398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15653:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17396, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "15645:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15645:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17400, + "nodeType": "ExpressionStatement", + "src": "15645:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17401, + "name": "_funded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17394, + "src": "15687:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17402, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "15697:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17404, + "indexExpression": { + "argumentTypes": null, + "id": 17403, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17389, + "src": "15711:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15697:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17405, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "15697:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 17407, + "indexExpression": { + "argumentTypes": null, + "id": 17406, + "name": "_milestoneId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17391, + "src": "15737:12:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15697:53:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 17408, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "funded", + "nodeType": "MemberAccess", + "referencedDeclaration": 7969, + "src": "15697:60:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "15687:70:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17410, + "nodeType": "ExpressionStatement", + "src": "15687:70:60" + } + ] + }, + "documentation": null, + "id": 17412, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readIfMilestoneFunded", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17392, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17389, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17412, + "src": "15529:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17388, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15529:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17391, + "name": "_milestoneId", + "nodeType": "VariableDeclaration", + "scope": 17412, + "src": "15550:20:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17390, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15550:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15528:43:60" + }, + "payable": false, + "returnParameters": { + "id": 17395, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17394, + "name": "_funded", + "nodeType": "VariableDeclaration", + "scope": 17412, + "src": "15617:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17393, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15617:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15616:14:60" + }, + "scope": 18304, + "src": "15498:266:60", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17504, + "nodeType": "Block", + "src": "16043:626:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17428, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "16071:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17427, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "16061:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16061:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17426, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16053:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16053:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17431, + "nodeType": "ExpressionStatement", + "src": "16053:32:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 17444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 17438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17433, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "16115:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17435, + "indexExpression": { + "argumentTypes": null, + "id": 17434, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16129:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16115:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17436, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 7987, + "src": "16115:30:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 17437, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "16149:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16115:45:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 17439, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16114:47:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 17442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 17440, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16176:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 17441, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "16184:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16176:19:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 17443, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16175:21:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16114:82:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17432, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16095:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16095:111:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17446, + "nodeType": "ExpressionStatement", + "src": "16095:111:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17450, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16237:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 17447, + "name": "allProposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16481, + "src": "16217:12:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 17449, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "16217:19:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 17451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16217:25:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17452, + "nodeType": "ExpressionStatement", + "src": "16217:25:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17457, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16304:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17453, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "16252:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 17455, + "indexExpression": { + "argumentTypes": null, + "id": 17454, + "name": "PROPOSAL_STATE_PREPROPOSAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1252, + "src": "16269:26:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16252:44:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 17456, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "16252:51:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 17458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16252:57:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17459, + "nodeType": "ExpressionStatement", + "src": "16252:57:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17460, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "16319:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17462, + "indexExpression": { + "argumentTypes": null, + "id": 17461, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16333:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16319:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17463, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "proposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 7987, + "src": "16319:30:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17464, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16352:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16319:37:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17466, + "nodeType": "ExpressionStatement", + "src": "16319:37:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17467, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "16366:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17469, + "indexExpression": { + "argumentTypes": null, + "id": 17468, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16380:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16366:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17470, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "proposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 8014, + "src": "16366:28:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17471, + "name": "_proposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17416, + "src": "16397:9:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "16366:40:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 17473, + "nodeType": "ExpressionStatement", + "src": "16366:40:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17474, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "16416:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17476, + "indexExpression": { + "argumentTypes": null, + "id": 17475, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16430:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16416:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17477, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "16416:32:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17478, + "name": "PROPOSAL_STATE_PREPROPOSAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1252, + "src": "16451:26:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "16416:61:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17480, + "nodeType": "ExpressionStatement", + "src": "16416:61:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17481, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "16487:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17483, + "indexExpression": { + "argumentTypes": null, + "id": 17482, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16501:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16487:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17484, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "timeCreated", + "nodeType": "MemberAccess", + "referencedDeclaration": 7991, + "src": "16487:31:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17485, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "16521:3:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16487:37:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17487, + "nodeType": "ExpressionStatement", + "src": "16487:37:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17488, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "16534:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17490, + "indexExpression": { + "argumentTypes": null, + "id": 17489, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16548:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16534:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17491, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isDigix", + "nodeType": "MemberAccess", + "referencedDeclaration": 8020, + "src": "16534:27:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17492, + "name": "_isFounder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17423, + "src": "16564:10:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16534:40:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17494, + "nodeType": "ExpressionStatement", + "src": "16534:40:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17499, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16623:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 17500, + "name": "_milestoneFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17419, + "src": "16629:18:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "argumentTypes": null, + "id": 17501, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17421, + "src": "16649:12:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17495, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "16584:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17497, + "indexExpression": { + "argumentTypes": null, + "id": 17496, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17414, + "src": "16598:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16584:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17498, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "addProposalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8440, + "src": "16584:38:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Proposal_$8021_storage_ptr_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Proposal_$8021_storage_ptr_$", + "typeString": "function (struct DaoStructs.Proposal storage pointer,bytes32,uint256[] memory,uint256)" + } + }, + "id": 17502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16584:78:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17503, + "nodeType": "ExpressionStatement", + "src": "16584:78:60" + } + ] + }, + "documentation": "/////////////////////////// WRITE FUNCTIONS //////////////////////////////", + "id": 17505, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17424, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17414, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 17505, + "src": "15883:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17413, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15883:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17416, + "name": "_proposer", + "nodeType": "VariableDeclaration", + "scope": 17505, + "src": "15905:17:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17415, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15905:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17419, + "name": "_milestoneFundings", + "nodeType": "VariableDeclaration", + "scope": 17505, + "src": "15932:28:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 17417, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15932:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17418, + "length": null, + "nodeType": "ArrayTypeName", + "src": "15932:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17421, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 17505, + "src": "15970:20:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17420, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15970:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17423, + "name": "_isFounder", + "nodeType": "VariableDeclaration", + "scope": 17505, + "src": "16000:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17422, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16000:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15873:148:60" + }, + "payable": false, + "returnParameters": { + "id": 17425, + "nodeType": "ParameterList", + "parameters": [], + "src": "16043:0:60" + }, + "scope": 18304, + "src": "15853:816:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 17532, + "nodeType": "Block", + "src": "16849:151:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17519, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "16877:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17518, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "16867:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16867:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17517, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "16859:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16859:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17522, + "nodeType": "ExpressionStatement", + "src": "16859:32:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17527, + "name": "_newDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17509, + "src": "16948:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 17528, + "name": "_newMilestoneFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17512, + "src": "16957:21:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + { + "argumentTypes": null, + "id": 17529, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17514, + "src": "16980:12:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17523, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "16902:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17525, + "indexExpression": { + "argumentTypes": null, + "id": 17524, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17507, + "src": "16916:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16902:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17526, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "addProposalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8440, + "src": "16902:45:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Proposal_$8021_storage_ptr_$_t_bytes32_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Proposal_$8021_storage_ptr_$", + "typeString": "function (struct DaoStructs.Proposal storage pointer,bytes32,uint256[] memory,uint256)" + } + }, + "id": 17530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16902:91:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17531, + "nodeType": "ExpressionStatement", + "src": "16902:91:60" + } + ] + }, + "documentation": null, + "id": 17533, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "editProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17515, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17507, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17533, + "src": "16706:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17506, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16706:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17509, + "name": "_newDoc", + "nodeType": "VariableDeclaration", + "scope": 17533, + "src": "16735:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17508, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16735:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17512, + "name": "_newMilestoneFundings", + "nodeType": "VariableDeclaration", + "scope": 17533, + "src": "16760:31:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 17510, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16760:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17511, + "length": null, + "nodeType": "ArrayTypeName", + "src": "16760:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17514, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 17533, + "src": "16801:20:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17513, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16801:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16696:131:60" + }, + "payable": false, + "returnParameters": { + "id": 17516, + "nodeType": "ParameterList", + "parameters": [], + "src": "16849:0:60" + }, + "scope": 18304, + "src": "16675:325:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 17582, + "nodeType": "Block", + "src": "17234:375:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17545, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "17262:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17544, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "17252:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17252:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17543, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "17244:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17244:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17548, + "nodeType": "ExpressionStatement", + "src": "17244:32:60" + }, + { + "assignments": [ + 17550 + ], + "declarations": [ + { + "constant": false, + "id": 17550, + "name": "_finalVersion", + "nodeType": "VariableDeclaration", + "scope": 17583, + "src": "17287:21:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17549, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17287:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 17555, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17551, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "17311:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17553, + "indexExpression": { + "argumentTypes": null, + "id": 17552, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17535, + "src": "17325:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17311:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17554, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "finalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8009, + "src": "17311:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17287:63:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 17559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 17557, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17550, + "src": "17368:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 17558, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "17385:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "17368:28:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17556, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "17360:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17360:37:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17561, + "nodeType": "ExpressionStatement", + "src": "17360:37:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17562, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "17407:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17564, + "indexExpression": { + "argumentTypes": null, + "id": 17563, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17535, + "src": "17421:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17407:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17565, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "17407:43:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 17567, + "indexExpression": { + "argumentTypes": null, + "id": 17566, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17550, + "src": "17451:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17407:58:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 17568, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "milestoneFundings", + "nodeType": "MemberAccess", + "referencedDeclaration": 7981, + "src": "17407:76:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17569, + "name": "_newMilestoneFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17538, + "src": "17486:21:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "src": "17407:100:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 17571, + "nodeType": "ExpressionStatement", + "src": "17407:100:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17572, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "17517:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17574, + "indexExpression": { + "argumentTypes": null, + "id": 17573, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17535, + "src": "17531:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17517:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17575, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "17517:43:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 17577, + "indexExpression": { + "argumentTypes": null, + "id": 17576, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17550, + "src": "17561:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17517:58:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 17578, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "finalReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 7978, + "src": "17517:70:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17579, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17540, + "src": "17590:12:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17517:85:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17581, + "nodeType": "ExpressionStatement", + "src": "17517:85:60" + } + ] + }, + "documentation": "@notice change fundings of a proposal\n @dev Will throw if the proposal is not finalized yet", + "id": 17583, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "changeFundings", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17541, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17535, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17583, + "src": "17137:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17534, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17137:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17538, + "name": "_newMilestoneFundings", + "nodeType": "VariableDeclaration", + "scope": 17583, + "src": "17158:31:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 17536, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17158:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17537, + "length": null, + "nodeType": "ArrayTypeName", + "src": "17158:9:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17540, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 17583, + "src": "17191:20:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17539, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17191:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17136:76:60" + }, + "payable": false, + "returnParameters": { + "id": 17542, + "nodeType": "ParameterList", + "parameters": [], + "src": "17234:0:60" + }, + "scope": 18304, + "src": "17113:496:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 17620, + "nodeType": "Block", + "src": "17757:313:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17592, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "17785:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17591, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "17775:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17775:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17590, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "17767:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17767:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17595, + "nodeType": "ExpressionStatement", + "src": "17767:32:60" + }, + { + "assignments": [ + 17597 + ], + "declarations": [ + { + "constant": false, + "id": 17597, + "name": "_finalVersion", + "nodeType": "VariableDeclaration", + "scope": 17621, + "src": "17810:21:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17596, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17810:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 17602, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17598, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "17834:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17600, + "indexExpression": { + "argumentTypes": null, + "id": 17599, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17585, + "src": "17848:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17834:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17601, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "finalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8009, + "src": "17834:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17810:63:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 17606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 17604, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17597, + "src": "17891:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 17605, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "17908:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "17891:28:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17603, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "17883:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17883:37:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17608, + "nodeType": "ExpressionStatement", + "src": "17883:37:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17617, + "name": "_newDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17587, + "src": "18055:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17609, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "17982:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17611, + "indexExpression": { + "argumentTypes": null, + "id": 17610, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17585, + "src": "17996:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17982:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17612, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "17982:43:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 17614, + "indexExpression": { + "argumentTypes": null, + "id": 17613, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17597, + "src": "18026:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17982:58:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 17615, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "moreDocs", + "nodeType": "MemberAccess", + "referencedDeclaration": 7984, + "src": "17982:67:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "id": 17616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "17982:72:60", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) returns (uint256)" + } + }, + "id": 17618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17982:81:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17619, + "nodeType": "ExpressionStatement", + "src": "17982:81:60" + } + ] + }, + "documentation": "@dev Will throw if the proposal is not finalized yet", + "id": 17621, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addProposalDoc", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17588, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17585, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17621, + "src": "17700:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17584, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17700:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17587, + "name": "_newDoc", + "nodeType": "VariableDeclaration", + "scope": 17621, + "src": "17721:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17586, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17721:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17699:38:60" + }, + "payable": false, + "returnParameters": { + "id": 17589, + "nodeType": "ParameterList", + "parameters": [], + "src": "17757:0:60" + }, + "scope": 18304, + "src": "17676:394:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17641, + "nodeType": "Block", + "src": "18142:137:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17628, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "18170:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17627, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "18160:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18160:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17626, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "18152:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18152:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17631, + "nodeType": "ExpressionStatement", + "src": "18152:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17632, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "18195:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17634, + "indexExpression": { + "argumentTypes": null, + "id": 17633, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17623, + "src": "18209:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18195:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17635, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "finalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8009, + "src": "18195:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17637, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17623, + "src": "18260:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17636, + "name": "getLastProposalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17232, + "src": "18237:22:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view returns (bytes32)" + } + }, + "id": 17638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18237:35:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "18195:77:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17640, + "nodeType": "ExpressionStatement", + "src": "18195:77:60" + } + ] + }, + "documentation": null, + "id": 17642, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "finalizeProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17624, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17623, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17642, + "src": "18102:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17622, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18102:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18101:21:60" + }, + "payable": false, + "returnParameters": { + "id": 17625, + "nodeType": "ParameterList", + "parameters": [], + "src": "18142:0:60" + }, + "scope": 18304, + "src": "18076:203:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17689, + "nodeType": "Block", + "src": "18397:368:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17651, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "18425:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17650, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "18415:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18415:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17649, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "18407:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18407:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17654, + "nodeType": "ExpressionStatement", + "src": "18407:32:60" + }, + { + "assignments": [ + 17658 + ], + "declarations": [ + { + "constant": false, + "id": 17658, + "name": "_proposal", + "nodeType": "VariableDeclaration", + "scope": 17690, + "src": "18450:37:60", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + }, + "typeName": { + "contractScope": null, + "id": 17657, + "name": "DaoStructs.Proposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8021, + "src": "18450:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 17662, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17659, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "18490:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17661, + "indexExpression": { + "argumentTypes": null, + "id": 17660, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17644, + "src": "18504:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18490:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18450:66:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 17663, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17658, + "src": "18526:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 17665, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "endorser", + "nodeType": "MemberAccess", + "referencedDeclaration": 8016, + "src": "18526:18:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17666, + "name": "_endorser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17646, + "src": "18547:9:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "18526:30:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 17668, + "nodeType": "ExpressionStatement", + "src": "18526:30:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 17669, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17658, + "src": "18566:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 17671, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "18566:22:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17672, + "name": "PROPOSAL_STATE_DRAFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1255, + "src": "18591:20:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "18566:45:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17674, + "nodeType": "ExpressionStatement", + "src": "18566:45:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17679, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17644, + "src": "18678:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17675, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "18621:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 17677, + "indexExpression": { + "argumentTypes": null, + "id": 17676, + "name": "PROPOSAL_STATE_PREPROPOSAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1252, + "src": "18638:26:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18621:44:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 17678, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remove_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 25051, + "src": "18621:56:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 17680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18621:69:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17681, + "nodeType": "ExpressionStatement", + "src": "18621:69:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17686, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17644, + "src": "18746:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17682, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "18700:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 17684, + "indexExpression": { + "argumentTypes": null, + "id": 17683, + "name": "PROPOSAL_STATE_DRAFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1255, + "src": "18717:20:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18700:38:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 17685, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "18700:45:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 17687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18700:58:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17688, + "nodeType": "ExpressionStatement", + "src": "18700:58:60" + } + ] + }, + "documentation": null, + "id": 17690, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateProposalEndorse", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17647, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17644, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17690, + "src": "18325:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17643, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18325:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17646, + "name": "_endorser", + "nodeType": "VariableDeclaration", + "scope": 17690, + "src": "18354:17:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 17645, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18354:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18315:62:60" + }, + "payable": false, + "returnParameters": { + "id": 17648, + "nodeType": "ParameterList", + "parameters": [], + "src": "18397:0:60" + }, + "scope": 18304, + "src": "18285:480:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17740, + "nodeType": "Block", + "src": "18855:460:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17699, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "18883:26:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17698, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "18873:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18873:37:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17697, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "18865:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18865:46:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17702, + "nodeType": "ExpressionStatement", + "src": "18865:46:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17703, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "18922:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17705, + "indexExpression": { + "argumentTypes": null, + "id": 17704, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17692, + "src": "18936:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18922:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17706, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "18922:38:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 17707, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "passed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7965, + "src": "18922:45:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17708, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17694, + "src": "18970:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "18922:55:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17710, + "nodeType": "ExpressionStatement", + "src": "18922:55:60" + }, + { + "condition": { + "argumentTypes": null, + "id": 17711, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17694, + "src": "18991:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 17738, + "nodeType": "Block", + "src": "19250:59:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17735, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17692, + "src": "19286:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17734, + "name": "closeProposalInternal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18073, + "src": "19264:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 17736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19264:34:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17737, + "nodeType": "ExpressionStatement", + "src": "19264:34:60" + } + ] + }, + "id": 17739, + "nodeType": "IfStatement", + "src": "18987:322:60", + "trueBody": { + "id": 17733, + "nodeType": "Block", + "src": "19000:244:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17716, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17692, + "src": "19065:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17712, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "19014:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 17714, + "indexExpression": { + "argumentTypes": null, + "id": 17713, + "name": "PROPOSAL_STATE_DRAFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1255, + "src": "19031:20:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19014:38:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 17715, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remove_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 25051, + "src": "19014:50:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 17717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19014:63:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17718, + "nodeType": "ExpressionStatement", + "src": "19014:63:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17723, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17692, + "src": "19141:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17719, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "19091:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 17721, + "indexExpression": { + "argumentTypes": null, + "id": 17720, + "name": "PROPOSAL_STATE_MODERATED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1258, + "src": "19108:24:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19091:42:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 17722, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "19091:49:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 17724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19091:62:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17725, + "nodeType": "ExpressionStatement", + "src": "19091:62:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17726, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "19167:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17728, + "indexExpression": { + "argumentTypes": null, + "id": 17727, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17692, + "src": "19181:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19167:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17729, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "19167:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17730, + "name": "PROPOSAL_STATE_MODERATED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1258, + "src": "19209:24:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "19167:66:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17732, + "nodeType": "ExpressionStatement", + "src": "19167:66:60" + } + ] + } + } + ] + }, + "documentation": null, + "id": 17741, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setProposalDraftPass", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17695, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17692, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17741, + "src": "18801:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17691, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18801:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17694, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 17741, + "src": "18822:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17693, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "18822:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18800:35:60" + }, + "payable": false, + "returnParameters": { + "id": 17696, + "nodeType": "ParameterList", + "parameters": [], + "src": "18855:0:60" + }, + "scope": 18304, + "src": "18771:544:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17800, + "nodeType": "Block", + "src": "19416:487:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17752, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "19444:26:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17751, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "19434:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19434:37:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17750, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "19426:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19426:46:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17755, + "nodeType": "ExpressionStatement", + "src": "19426:46:60" + }, + { + "condition": { + "argumentTypes": null, + "id": 17757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "19487:8:60", + "subExpression": { + "argumentTypes": null, + "id": 17756, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17747, + "src": "19488:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 17765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 17763, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17745, + "src": "19566:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 17764, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19576:1:60", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "19566:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 17788, + "nodeType": "IfStatement", + "src": "19562:261:60", + "trueBody": { + "id": 17787, + "nodeType": "Block", + "src": "19579:244:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17770, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17743, + "src": "19648:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17766, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "19593:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 17768, + "indexExpression": { + "argumentTypes": null, + "id": 17767, + "name": "PROPOSAL_STATE_MODERATED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1258, + "src": "19610:24:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19593:42:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 17769, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remove_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 25051, + "src": "19593:54:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 17771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19593:67:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17772, + "nodeType": "ExpressionStatement", + "src": "19593:67:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17777, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17743, + "src": "19722:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17773, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "19674:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 17775, + "indexExpression": { + "argumentTypes": null, + "id": 17774, + "name": "PROPOSAL_STATE_ONGOING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1261, + "src": "19691:22:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19674:40:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 17776, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "19674:47:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 17778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19674:60:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17779, + "nodeType": "ExpressionStatement", + "src": "19674:60:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17780, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "19748:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17782, + "indexExpression": { + "argumentTypes": null, + "id": 17781, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17743, + "src": "19762:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19748:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17783, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "19748:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17784, + "name": "PROPOSAL_STATE_ONGOING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1261, + "src": "19790:22:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "19748:64:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17786, + "nodeType": "ExpressionStatement", + "src": "19748:64:60" + } + ] + } + }, + "id": 17789, + "nodeType": "IfStatement", + "src": "19483:340:60", + "trueBody": { + "id": 17762, + "nodeType": "Block", + "src": "19497:59:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17759, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17743, + "src": "19533:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17758, + "name": "closeProposalInternal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18073, + "src": "19511:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 17760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19511:34:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17761, + "nodeType": "ExpressionStatement", + "src": "19511:34:60" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 17798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17790, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "19832:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17792, + "indexExpression": { + "argumentTypes": null, + "id": 17791, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17743, + "src": "19846:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19832:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17793, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "19832:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 17795, + "indexExpression": { + "argumentTypes": null, + "id": 17794, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17745, + "src": "19872:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19832:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 17796, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "passed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7965, + "src": "19832:54:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17797, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17747, + "src": "19889:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "19832:64:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17799, + "nodeType": "ExpressionStatement", + "src": "19832:64:60" + } + ] + }, + "documentation": null, + "id": 17801, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setProposalPass", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17748, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17743, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17801, + "src": "19346:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17742, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19346:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17745, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 17801, + "src": "19367:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17744, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19367:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17747, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 17801, + "src": "19383:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17746, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "19383:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19345:51:60" + }, + "payable": false, + "returnParameters": { + "id": 17749, + "nodeType": "ParameterList", + "parameters": [], + "src": "19416:0:60" + }, + "scope": 18304, + "src": "19321:582:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17822, + "nodeType": "Block", + "src": "20022:116:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17810, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "20050:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17809, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "20040:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20040:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17808, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "20032:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20032:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17813, + "nodeType": "ExpressionStatement", + "src": "20032:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17814, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "20075:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17816, + "indexExpression": { + "argumentTypes": null, + "id": 17815, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17803, + "src": "20089:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20075:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17817, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "20075:38:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 17818, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "20075:48:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17819, + "name": "_time", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17805, + "src": "20126:5:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20075:56:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17821, + "nodeType": "ExpressionStatement", + "src": "20075:56:60" + } + ] + }, + "documentation": null, + "id": 17823, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setProposalDraftVotingTime", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17806, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17803, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17823, + "src": "19954:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17802, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19954:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17805, + "name": "_time", + "nodeType": "VariableDeclaration", + "scope": 17823, + "src": "19983:13:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17804, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19983:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19944:58:60" + }, + "payable": false, + "returnParameters": { + "id": 17807, + "nodeType": "ParameterList", + "parameters": [], + "src": "20022:0:60" + }, + "scope": 18304, + "src": "19909:229:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17851, + "nodeType": "Block", + "src": "20276:173:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 17834, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "20310:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 17835, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "20324:26:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 17836, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1244, + "src": "20352:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 17837, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "20309:55:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 17833, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "20294:14:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 17838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20294:71:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17832, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "20286:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20286:80:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17840, + "nodeType": "ExpressionStatement", + "src": "20286:80:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17841, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "20377:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17843, + "indexExpression": { + "argumentTypes": null, + "id": 17842, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17825, + "src": "20391:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20377:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17844, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "20377:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 17846, + "indexExpression": { + "argumentTypes": null, + "id": 17845, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17827, + "src": "20417:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20377:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 17847, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "20377:57:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17848, + "name": "_time", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17829, + "src": "20437:5:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20377:65:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17850, + "nodeType": "ExpressionStatement", + "src": "20377:65:60" + } + ] + }, + "documentation": null, + "id": 17852, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setProposalVotingTime", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17830, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17825, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17852, + "src": "20184:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17824, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20184:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17827, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 17852, + "src": "20213:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17826, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20213:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17829, + "name": "_time", + "nodeType": "VariableDeclaration", + "scope": 17852, + "src": "20237:13:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17828, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20237:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20174:82:60" + }, + "payable": false, + "returnParameters": { + "id": 17831, + "nodeType": "ParameterList", + "parameters": [], + "src": "20276:0:60" + }, + "scope": 18304, + "src": "20144:305:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17873, + "nodeType": "Block", + "src": "20539:130:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17861, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "20567:26:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17860, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "20557:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20557:37:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17859, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "20549:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20549:46:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17864, + "nodeType": "ExpressionStatement", + "src": "20549:46:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17865, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "20605:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17867, + "indexExpression": { + "argumentTypes": null, + "id": 17866, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17854, + "src": "20619:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20605:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17868, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "20605:38:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 17869, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "claimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7967, + "src": "20605:46:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17870, + "name": "_claimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17856, + "src": "20654:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "20605:57:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17872, + "nodeType": "ExpressionStatement", + "src": "20605:57:60" + } + ] + }, + "documentation": null, + "id": 17874, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setDraftVotingClaim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17857, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17854, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17874, + "src": "20484:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17853, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20484:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17856, + "name": "_claimed", + "nodeType": "VariableDeclaration", + "scope": 17874, + "src": "20505:13:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17855, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "20505:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20483:36:60" + }, + "payable": false, + "returnParameters": { + "id": 17858, + "nodeType": "ParameterList", + "parameters": [], + "src": "20539:0:60" + }, + "scope": 18304, + "src": "20455:214:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17899, + "nodeType": "Block", + "src": "20770:139:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17885, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "20798:26:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17884, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "20788:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20788:37:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17883, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "20780:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20780:46:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17888, + "nodeType": "ExpressionStatement", + "src": "20780:46:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17889, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "20836:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17891, + "indexExpression": { + "argumentTypes": null, + "id": 17890, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17876, + "src": "20850:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20836:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17892, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "20836:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 17894, + "indexExpression": { + "argumentTypes": null, + "id": 17893, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17878, + "src": "20876:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20836:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 17895, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "claimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7967, + "src": "20836:55:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17896, + "name": "_claimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17880, + "src": "20894:8:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "20836:66:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 17898, + "nodeType": "ExpressionStatement", + "src": "20836:66:60" + } + ] + }, + "documentation": null, + "id": 17900, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setVotingClaim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17881, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17876, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17900, + "src": "20699:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17875, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20699:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17878, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 17900, + "src": "20720:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17877, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20720:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17880, + "name": "_claimed", + "nodeType": "VariableDeclaration", + "scope": 17900, + "src": "20736:13:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 17879, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "20736:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20698:52:60" + }, + "payable": false, + "returnParameters": { + "id": 17882, + "nodeType": "ParameterList", + "parameters": [], + "src": "20770:0:60" + }, + "scope": 18304, + "src": "20675:234:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17923, + "nodeType": "Block", + "src": "21009:177:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 17909, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "21043:26:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 17910, + "name": "CONTRACT_DAO_FUNDING_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1327, + "src": "21071:28:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 17911, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "21101:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 17912, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "21042:72:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 17908, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "21027:14:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 17913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21027:88:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17907, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "21019:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21019:97:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17915, + "nodeType": "ExpressionStatement", + "src": "21019:97:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17916, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "21126:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17918, + "indexExpression": { + "argumentTypes": null, + "id": 17917, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17902, + "src": "21140:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21126:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17919, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "collateralStatus", + "nodeType": "MemberAccess", + "referencedDeclaration": 8005, + "src": "21126:43:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17920, + "name": "_status", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17904, + "src": "21172:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21126:53:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17922, + "nodeType": "ExpressionStatement", + "src": "21126:53:60" + } + ] + }, + "documentation": null, + "id": 17924, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setProposalCollateralStatus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17905, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17902, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17924, + "src": "20952:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17901, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20952:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17904, + "name": "_status", + "nodeType": "VariableDeclaration", + "scope": 17924, + "src": "20973:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17903, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20973:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20951:38:60" + }, + "payable": false, + "returnParameters": { + "id": 17906, + "nodeType": "ParameterList", + "parameters": [], + "src": "21009:0:60" + }, + "scope": 18304, + "src": "20915:271:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 17944, + "nodeType": "Block", + "src": "21286:112:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17933, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "21314:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17932, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "21304:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21304:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17931, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "21296:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21296:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17936, + "nodeType": "ExpressionStatement", + "src": "21296:32:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17937, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "21338:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17939, + "indexExpression": { + "argumentTypes": null, + "id": 17938, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17926, + "src": "21352:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21338:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17940, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "collateralAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8007, + "src": "21338:43:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17941, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17928, + "src": "21384:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21338:53:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17943, + "nodeType": "ExpressionStatement", + "src": "21338:53:60" + } + ] + }, + "documentation": null, + "id": 17945, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setProposalCollateralAmount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17929, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17926, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 17945, + "src": "21229:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17925, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "21229:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17928, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 17945, + "src": "21250:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17927, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21250:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21228:38:60" + }, + "payable": false, + "returnParameters": { + "id": 17930, + "nodeType": "ParameterList", + "parameters": [], + "src": "21286:0:60" + }, + "scope": 18304, + "src": "21192:206:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18038, + "nodeType": "Block", + "src": "21555:708:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17958, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "21583:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 17957, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "21573:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 17959, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21573:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17956, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "21565:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21565:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17961, + "nodeType": "ExpressionStatement", + "src": "21565:32:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 17968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17963, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "21615:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17965, + "indexExpression": { + "argumentTypes": null, + "id": 17964, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17947, + "src": "21629:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21615:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17966, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "21615:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 17967, + "name": "PROPOSAL_STATE_CLOSED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1264, + "src": "21658:21:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "21615:64:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 17962, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "21607:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 17969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21607:73:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 17970, + "nodeType": "ExpressionStatement", + "src": "21607:73:60" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 17974, + "name": "prlAction", + "nodeType": "VariableDeclaration", + "scope": 18039, + "src": "21691:37:60", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PrlAction_$7945_memory_ptr", + "typeString": "struct DaoStructs.PrlAction" + }, + "typeName": { + "contractScope": null, + "id": 17973, + "name": "DaoStructs.PrlAction", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7945, + "src": "21691:20:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PrlAction_$7945_storage_ptr", + "typeString": "struct DaoStructs.PrlAction" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 17975, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "21691:37:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 17976, + "name": "prlAction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17974, + "src": "21738:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PrlAction_$7945_memory_ptr", + "typeString": "struct DaoStructs.PrlAction memory" + } + }, + "id": 17978, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "at", + "nodeType": "MemberAccess", + "referencedDeclaration": 7940, + "src": "21738:12:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17979, + "name": "_time", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17953, + "src": "21753:5:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21738:20:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17981, + "nodeType": "ExpressionStatement", + "src": "21738:20:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 17982, + "name": "prlAction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17974, + "src": "21768:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PrlAction_$7945_memory_ptr", + "typeString": "struct DaoStructs.PrlAction memory" + } + }, + "id": 17984, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "doc", + "nodeType": "MemberAccess", + "referencedDeclaration": 7942, + "src": "21768:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17985, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17951, + "src": "21784:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "21768:20:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 17987, + "nodeType": "ExpressionStatement", + "src": "21768:20:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 17992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 17988, + "name": "prlAction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17974, + "src": "21798:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PrlAction_$7945_memory_ptr", + "typeString": "struct DaoStructs.PrlAction memory" + } + }, + "id": 17990, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "actionId", + "nodeType": "MemberAccess", + "referencedDeclaration": 7944, + "src": "21798:18:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 17991, + "name": "_action", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17949, + "src": "21819:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21798:28:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 17993, + "nodeType": "ExpressionStatement", + "src": "21798:28:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 17999, + "name": "prlAction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17974, + "src": "21879:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PrlAction_$7945_memory_ptr", + "typeString": "struct DaoStructs.PrlAction memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_PrlAction_$7945_memory_ptr", + "typeString": "struct DaoStructs.PrlAction memory" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 17994, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "21836:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 17996, + "indexExpression": { + "argumentTypes": null, + "id": 17995, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17947, + "src": "21850:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21836:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 17997, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "prlActions", + "nodeType": "MemberAccess", + "referencedDeclaration": 8012, + "src": "21836:37:60", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PrlAction_$7945_storage_$dyn_storage", + "typeString": "struct DaoStructs.PrlAction storage ref[] storage ref" + } + }, + "id": 17998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "21836:42:60", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_PrlAction_$7945_storage_$returns$_t_uint256_$", + "typeString": "function (struct DaoStructs.PrlAction storage ref) returns (uint256)" + } + }, + "id": 18000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21836:53:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18001, + "nodeType": "ExpressionStatement", + "src": "21836:53:60" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 18004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 18002, + "name": "_action", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17949, + "src": "21904:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 18003, + "name": "PRL_ACTION_PAUSE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1273, + "src": "21915:16:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21904:27:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 18015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 18013, + "name": "_action", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17949, + "src": "22017:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 18014, + "name": "PRL_ACTION_UNPAUSE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1276, + "src": "22028:18:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22017:29:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 18035, + "nodeType": "Block", + "src": "22129:128:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18024, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "22149:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 18026, + "indexExpression": { + "argumentTypes": null, + "id": 18025, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17947, + "src": "22163:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22149:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 18027, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isPausedOrStopped", + "nodeType": "MemberAccess", + "referencedDeclaration": 8018, + "src": "22149:44:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18028, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22196:4:60", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "22149:51:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18030, + "nodeType": "ExpressionStatement", + "src": "22149:51:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18032, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17947, + "src": "22234:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18031, + "name": "closeProposalInternal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18073, + "src": "22212:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 18033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22212:34:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18034, + "nodeType": "ExpressionStatement", + "src": "22212:34:60" + } + ] + }, + "id": 18036, + "nodeType": "IfStatement", + "src": "22013:244:60", + "trueBody": { + "id": 18023, + "nodeType": "Block", + "src": "22048:75:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18016, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "22060:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 18018, + "indexExpression": { + "argumentTypes": null, + "id": 18017, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17947, + "src": "22074:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22060:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 18019, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isPausedOrStopped", + "nodeType": "MemberAccess", + "referencedDeclaration": 8018, + "src": "22060:44:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 18020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22107:5:60", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "22060:52:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18022, + "nodeType": "ExpressionStatement", + "src": "22060:52:60" + } + ] + } + }, + "id": 18037, + "nodeType": "IfStatement", + "src": "21900:357:60", + "trueBody": { + "id": 18012, + "nodeType": "Block", + "src": "21933:74:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18005, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "21945:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 18007, + "indexExpression": { + "argumentTypes": null, + "id": 18006, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 17947, + "src": "21959:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21945:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 18008, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isPausedOrStopped", + "nodeType": "MemberAccess", + "referencedDeclaration": 8018, + "src": "21945:44:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18009, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21992:4:60", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "21945:51:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18011, + "nodeType": "ExpressionStatement", + "src": "21945:51:60" + } + ] + } + } + ] + }, + "documentation": null, + "id": 18039, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateProposalPRL", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 17954, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 17947, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 18039, + "src": "21440:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17946, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "21440:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17949, + "name": "_action", + "nodeType": "VariableDeclaration", + "scope": 18039, + "src": "21469:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17948, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21469:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17951, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 18039, + "src": "21494:12:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17950, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "21494:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17953, + "name": "_time", + "nodeType": "VariableDeclaration", + "scope": 18039, + "src": "21516:13:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 17952, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21516:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21430:105:60" + }, + "payable": false, + "returnParameters": { + "id": 17955, + "nodeType": "ParameterList", + "parameters": [], + "src": "21555:0:60" + }, + "scope": 18304, + "src": "21404:859:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18072, + "nodeType": "Block", + "src": "22342:288:60", + "statements": [ + { + "assignments": [ + 18045 + ], + "declarations": [ + { + "constant": false, + "id": 18045, + "name": "_currentState", + "nodeType": "VariableDeclaration", + "scope": 18073, + "src": "22352:21:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18044, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22352:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 18050, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18046, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "22376:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 18048, + "indexExpression": { + "argumentTypes": null, + "id": 18047, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18041, + "src": "22390:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22376:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 18049, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "22376:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22352:63:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18055, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18041, + "src": "22469:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18051, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "22425:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 18053, + "indexExpression": { + "argumentTypes": null, + "id": 18052, + "name": "_currentState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18045, + "src": "22442:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22425:31:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 18054, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remove_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 25051, + "src": "22425:43:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 18056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22425:56:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18057, + "nodeType": "ExpressionStatement", + "src": "22425:56:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18062, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18041, + "src": "22538:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18058, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "22491:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 18060, + "indexExpression": { + "argumentTypes": null, + "id": 18059, + "name": "PROPOSAL_STATE_CLOSED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1264, + "src": "22508:21:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22491:39:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 18061, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "22491:46:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 18063, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22491:59:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18064, + "nodeType": "ExpressionStatement", + "src": "22491:59:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 18070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18065, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "22560:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 18067, + "indexExpression": { + "argumentTypes": null, + "id": 18066, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18041, + "src": "22574:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22560:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 18068, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "22560:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18069, + "name": "PROPOSAL_STATE_CLOSED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1264, + "src": "22602:21:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "22560:63:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 18071, + "nodeType": "ExpressionStatement", + "src": "22560:63:60" + } + ] + }, + "documentation": null, + "id": 18073, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "closeProposalInternal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18042, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18041, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 18073, + "src": "22300:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18040, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22300:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22299:21:60" + }, + "payable": false, + "returnParameters": { + "id": 18043, + "nodeType": "ParameterList", + "parameters": [], + "src": "22342:0:60" + }, + "scope": 18304, + "src": "22269:361:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 18160, + "nodeType": "Block", + "src": "22781:653:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18086, + "name": "CONTRACT_DAO_VOTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1306, + "src": "22809:19:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18085, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "22799:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 18087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22799:30:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18084, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "22791:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22791:39:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18089, + "nodeType": "ExpressionStatement", + "src": "22791:39:60" + }, + { + "assignments": [ + 18093 + ], + "declarations": [ + { + "constant": false, + "id": 18093, + "name": "_proposal", + "nodeType": "VariableDeclaration", + "scope": 18161, + "src": "22841:37:60", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + }, + "typeName": { + "contractScope": null, + "id": 18092, + "name": "DaoStructs.Proposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8021, + "src": "22841:19:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 18097, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18094, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "22881:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 18096, + "indexExpression": { + "argumentTypes": null, + "id": 18095, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18075, + "src": "22895:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22881:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22841:66:60" + }, + { + "condition": { + "argumentTypes": null, + "id": 18098, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18079, + "src": "22921:5:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 18158, + "nodeType": "Block", + "src": "23220:208:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18129, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18093, + "src": "23234:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 18133, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "23234:21:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 18134, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "noVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7963, + "src": "23234:29:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 18135, + "indexExpression": { + "argumentTypes": null, + "id": 18132, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18077, + "src": "23264:6:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "23234:37:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18136, + "name": "_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18081, + "src": "23274:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23234:47:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18138, + "nodeType": "ExpressionStatement", + "src": "23234:47:60" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 18145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18139, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18093, + "src": "23299:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 18140, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "23299:21:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 18141, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "yesVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7959, + "src": "23299:30:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 18143, + "indexExpression": { + "argumentTypes": null, + "id": 18142, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18077, + "src": "23330:6:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23299:38:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 18144, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23340:1:60", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "23299:42:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 18157, + "nodeType": "IfStatement", + "src": "23295:123:60", + "trueBody": { + "id": 18156, + "nodeType": "Block", + "src": "23343:75:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18146, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18093, + "src": "23361:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 18150, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "23361:21:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 18151, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "yesVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7959, + "src": "23361:30:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 18152, + "indexExpression": { + "argumentTypes": null, + "id": 18149, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18077, + "src": "23392:6:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "23361:38:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 18153, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23402:1:60", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "23361:42:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18155, + "nodeType": "ExpressionStatement", + "src": "23361:42:60" + } + ] + } + } + ] + }, + "id": 18159, + "nodeType": "IfStatement", + "src": "22917:511:60", + "trueBody": { + "id": 18128, + "nodeType": "Block", + "src": "22928:286:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18099, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18093, + "src": "22942:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 18103, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "22942:21:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 18104, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "yesVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7959, + "src": "22942:30:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 18105, + "indexExpression": { + "argumentTypes": null, + "id": 18102, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18077, + "src": "22973:6:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "22942:38:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18106, + "name": "_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18081, + "src": "22983:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22942:48:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18108, + "nodeType": "ExpressionStatement", + "src": "22942:48:60" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 18115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18109, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18093, + "src": "23008:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 18110, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "23008:21:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 18111, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "noVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7963, + "src": "23008:29:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 18113, + "indexExpression": { + "argumentTypes": null, + "id": 18112, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18077, + "src": "23038:6:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23008:37:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 18114, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23048:1:60", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "23008:41:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 18127, + "nodeType": "IfStatement", + "src": "23004:200:60", + "trueBody": { + "id": 18126, + "nodeType": "Block", + "src": "23051:153:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18116, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18093, + "src": "23148:9:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 18120, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "23148:21:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 18121, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "noVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7963, + "src": "23148:29:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 18122, + "indexExpression": { + "argumentTypes": null, + "id": 18119, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18077, + "src": "23178:6:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "23148:37:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 18123, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23188:1:60", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "23148:41:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18125, + "nodeType": "ExpressionStatement", + "src": "23148:41:60" + } + ] + } + } + ] + } + } + ] + }, + "documentation": null, + "id": 18161, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addDraftVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18082, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18075, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 18161, + "src": "22667:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18074, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22667:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18077, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 18161, + "src": "22696:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18076, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22696:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18079, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 18161, + "src": "22720:10:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18078, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "22720:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18081, + "name": "_weight", + "nodeType": "VariableDeclaration", + "scope": 18161, + "src": "22740:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18080, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22740:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22657:104:60" + }, + "payable": false, + "returnParameters": { + "id": 18083, + "nodeType": "ParameterList", + "parameters": [], + "src": "22781:0:60" + }, + "scope": 18304, + "src": "22636:798:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18190, + "nodeType": "Block", + "src": "23585:138:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18174, + "name": "CONTRACT_DAO_VOTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1306, + "src": "23613:19:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18173, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "23603:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 18175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23603:30:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18172, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "23595:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23595:39:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18177, + "nodeType": "ExpressionStatement", + "src": "23595:39:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 18188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18178, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "23645:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 18180, + "indexExpression": { + "argumentTypes": null, + "id": 18179, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18163, + "src": "23659:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23645:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 18181, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "23645:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 18183, + "indexExpression": { + "argumentTypes": null, + "id": 18182, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18169, + "src": "23685:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23645:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 18184, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "commits", + "nodeType": "MemberAccess", + "referencedDeclaration": 7955, + "src": "23645:55:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$", + "typeString": "mapping(address => bytes32)" + } + }, + "id": 18186, + "indexExpression": { + "argumentTypes": null, + "id": 18185, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18167, + "src": "23701:6:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "23645:63:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18187, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18165, + "src": "23711:5:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "23645:71:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 18189, + "nodeType": "ExpressionStatement", + "src": "23645:71:60" + } + ] + }, + "documentation": null, + "id": 18191, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "commitVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18170, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18163, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 18191, + "src": "23469:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18162, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23469:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18165, + "name": "_hash", + "nodeType": "VariableDeclaration", + "scope": 18191, + "src": "23498:13:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18164, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23498:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18167, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 18191, + "src": "23521:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18166, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "23521:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18169, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 18191, + "src": "23545:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18168, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23545:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23459:106:60" + }, + "payable": false, + "returnParameters": { + "id": 18171, + "nodeType": "ParameterList", + "parameters": [], + "src": "23585:0:60" + }, + "scope": 18304, + "src": "23440:283:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18222, + "nodeType": "Block", + "src": "23896:149:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18206, + "name": "CONTRACT_DAO_VOTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1306, + "src": "23924:19:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18205, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "23914:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 18207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23914:30:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18204, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "23906:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23906:39:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18209, + "nodeType": "ExpressionStatement", + "src": "23906:39:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18217, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18195, + "src": "24015:6:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 18218, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18197, + "src": "24023:5:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 18219, + "name": "_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18199, + "src": "24030:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18210, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "23956:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 18212, + "indexExpression": { + "argumentTypes": null, + "id": 18211, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18193, + "src": "23970:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23956:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 18213, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "23956:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 18215, + "indexExpression": { + "argumentTypes": null, + "id": 18214, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18201, + "src": "23996:6:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23956:47:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 18216, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 8278, + "src": "23956:58:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Voting_$7970_storage_ptr_$_t_address_$_t_bool_$_t_uint256_$returns$__$bound_to$_t_struct$_Voting_$7970_storage_ptr_$", + "typeString": "function (struct DaoStructs.Voting storage pointer,address,bool,uint256)" + } + }, + "id": 18220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23956:82:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18221, + "nodeType": "ExpressionStatement", + "src": "23956:82:60" + } + ] + }, + "documentation": null, + "id": 18223, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "revealVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18202, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18193, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 18223, + "src": "23758:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18192, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23758:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18195, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 18223, + "src": "23787:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18194, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "23787:7:60", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18197, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 18223, + "src": "23811:10:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18196, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "23811:4:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18199, + "name": "_weight", + "nodeType": "VariableDeclaration", + "scope": 18223, + "src": "23831:15:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18198, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23831:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18201, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 18223, + "src": "23856:14:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18200, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23856:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23748:128:60" + }, + "payable": false, + "returnParameters": { + "id": 18203, + "nodeType": "ParameterList", + "parameters": [], + "src": "23896:0:60" + }, + "scope": 18304, + "src": "23729:316:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18238, + "nodeType": "Block", + "src": "24114:93:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18230, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "24142:12:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18229, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "24132:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 18231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24132:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18228, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "24124:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24124:32:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18233, + "nodeType": "ExpressionStatement", + "src": "24124:32:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18235, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18225, + "src": "24188:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18234, + "name": "closeProposalInternal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18073, + "src": "24166:21:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 18236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24166:34:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18237, + "nodeType": "ExpressionStatement", + "src": "24166:34:60" + } + ] + }, + "documentation": null, + "id": 18239, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "closeProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18226, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18225, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 18239, + "src": "24074:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18224, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24074:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "24073:21:60" + }, + "payable": false, + "returnParameters": { + "id": 18227, + "nodeType": "ParameterList", + "parameters": [], + "src": "24114:0:60" + }, + "scope": 18304, + "src": "24051:156:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18278, + "nodeType": "Block", + "src": "24278:348:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18246, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "24306:26:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18245, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "24296:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 18247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24296:37:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18244, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "24288:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24288:46:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18249, + "nodeType": "ExpressionStatement", + "src": "24288:46:60" + }, + { + "assignments": [ + 18251 + ], + "declarations": [ + { + "constant": false, + "id": 18251, + "name": "_currentState", + "nodeType": "VariableDeclaration", + "scope": 18279, + "src": "24344:21:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18250, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24344:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 18256, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18252, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "24368:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 18254, + "indexExpression": { + "argumentTypes": null, + "id": 18253, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18241, + "src": "24382:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24368:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 18255, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "24368:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "24344:63:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18261, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18241, + "src": "24461:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18257, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "24417:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 18259, + "indexExpression": { + "argumentTypes": null, + "id": 18258, + "name": "_currentState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18251, + "src": "24434:13:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24417:31:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 18260, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remove_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 25051, + "src": "24417:43:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 18262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24417:56:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18263, + "nodeType": "ExpressionStatement", + "src": "24417:56:60" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18268, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18241, + "src": "24532:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18264, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "24483:16:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 18266, + "indexExpression": { + "argumentTypes": null, + "id": 18265, + "name": "PROPOSAL_STATE_ARCHIVED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1267, + "src": "24500:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24483:41:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 18267, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "24483:48:60", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 18269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24483:61:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18270, + "nodeType": "ExpressionStatement", + "src": "24483:61:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 18276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18271, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "24554:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 18273, + "indexExpression": { + "argumentTypes": null, + "id": 18272, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18241, + "src": "24568:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24554:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 18274, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "24554:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18275, + "name": "PROPOSAL_STATE_ARCHIVED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1267, + "src": "24596:23:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "24554:65:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 18277, + "nodeType": "ExpressionStatement", + "src": "24554:65:60" + } + ] + }, + "documentation": null, + "id": 18279, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "archiveProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18242, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18241, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 18279, + "src": "24238:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18240, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24238:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "24237:21:60" + }, + "payable": false, + "returnParameters": { + "id": 18243, + "nodeType": "ParameterList", + "parameters": [], + "src": "24278:0:60" + }, + "scope": 18304, + "src": "24213:413:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18302, + "nodeType": "Block", + "src": "24722:142:60", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18288, + "name": "CONTRACT_DAO_FUNDING_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1327, + "src": "24750:28:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18287, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "24740:9:60", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 18289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24740:39:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18286, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "24732:7:60", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24732:48:60", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18291, + "nodeType": "ExpressionStatement", + "src": "24732:48:60" + }, + { + "expression": { + "argumentTypes": null, + "id": 18300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18292, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "24790:13:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 18294, + "indexExpression": { + "argumentTypes": null, + "id": 18293, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18281, + "src": "24804:11:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24790:26:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 18295, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "24790:39:60", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 18297, + "indexExpression": { + "argumentTypes": null, + "id": 18296, + "name": "_milestoneId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18283, + "src": "24830:12:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24790:53:60", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 18298, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "funded", + "nodeType": "MemberAccess", + "referencedDeclaration": 7969, + "src": "24790:60:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18299, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24853:4:60", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "24790:67:60", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18301, + "nodeType": "ExpressionStatement", + "src": "24790:67:60" + } + ] + }, + "documentation": null, + "id": 18303, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setMilestoneFunded", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18284, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18281, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 18303, + "src": "24660:19:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18280, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24660:7:60", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18283, + "name": "_milestoneId", + "nodeType": "VariableDeclaration", + "scope": 18303, + "src": "24681:20:60", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18282, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24681:7:60", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "24659:43:60" + }, + "payable": false, + "returnParameters": { + "id": 18285, + "nodeType": "ParameterList", + "parameters": [], + "src": "24722:0:60" + }, + "scope": 18304, + "src": "24632:232:60", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 18305, + "src": "299:24567:60" + } + ], + "src": "0:24867:60" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": { + "DaoStructs": "0xfbee614dcfa54c561e532eff217c2e0c63dcd64f", + "DoublyLinkedList": "0x5dcbac109092766a169a82b9add3551bac7068f6" + }, + "address": "0x3f54ced72a1d82f32fdb7b744cb085207f232c57", + "transactionHash": "0x5dd989c37b6c192288990a70a4281f6b83b8fbadee104d8db7ed5b18966ca47e" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T09:18:32.989Z" +} \ No newline at end of file diff --git a/build/contracts/DaoStorageInterface.json b/build/contracts/DaoStorageInterface.json new file mode 100644 index 0000000..6135eae --- /dev/null +++ b/build/contracts/DaoStorageInterface.json @@ -0,0 +1,1496 @@ +{ + "contractName": "DaoStorageInterface", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + }, + { + "name": "", + "type": "uint256" + }, + { + "name": "", + "type": "address[]" + }, + { + "name": "", + "type": "bool" + } + ], + "name": "readVotingRoundVotes", + "outputs": [ + { + "name": "", + "type": "address[]" + }, + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + }, + { + "name": "", + "type": "address" + } + ], + "name": "readDraftVote", + "outputs": [ + { + "name": "", + "type": "bool" + }, + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + }, + { + "name": "", + "type": "uint256" + }, + { + "name": "", + "type": "address" + } + ], + "name": "readComittedVote", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + }, + { + "name": "", + "type": "uint256" + }, + { + "name": "", + "type": "address" + } + ], + "name": "readVote", + "outputs": [ + { + "name": "", + "type": "bool" + }, + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.4.25;\n\ncontract DaoStorageInterface {\n function readVotingRoundVotes(bytes32, uint256, address[], bool) public view returns (address[], uint256);\n function readDraftVote(bytes32, address) public view returns (bool, uint256);\n function readComittedVote(bytes32, uint256, address) public view returns (bytes32);\n function readVote(bytes32, uint256, address) public view returns (bool, uint256);\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/mock/interface/DaoStorageInterface.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/interface/DaoStorageInterface.sol", + "exportedSymbols": { + "DaoStorageInterface": [ + 9393 + ] + }, + "id": 9394, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9340, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:36" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 9393, + "linearizedBaseContracts": [ + 9393 + ], + "name": "DaoStorageInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 9357, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVotingRoundVotes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9350, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9342, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9357, + "src": "91:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9341, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "91:7:36", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9344, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9357, + "src": "100:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9343, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "100:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9347, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9357, + "src": "109:9:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 9345, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "109:7:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9346, + "length": null, + "nodeType": "ArrayTypeName", + "src": "109:9:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9349, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9357, + "src": "120:4:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9348, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "120:4:36", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "90:35:36" + }, + "payable": false, + "returnParameters": { + "id": 9356, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9353, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9357, + "src": "147:9:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 9351, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "147:7:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9352, + "length": null, + "nodeType": "ArrayTypeName", + "src": "147:9:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9355, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9357, + "src": "158:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9354, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "158:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "146:20:36" + }, + "scope": 9393, + "src": "61:106:36", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 9368, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readDraftVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9362, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9359, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9368, + "src": "195:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9358, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "195:7:36", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9361, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9368, + "src": "204:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9360, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "204:7:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "194:18:36" + }, + "payable": false, + "returnParameters": { + "id": 9367, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9364, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9368, + "src": "234:4:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9363, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "234:4:36", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9366, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9368, + "src": "240:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9365, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "240:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "233:15:36" + }, + "scope": 9393, + "src": "172:77:36", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 9379, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readComittedVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9375, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9370, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9379, + "src": "280:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9369, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "280:7:36", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9372, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9379, + "src": "289:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9371, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "289:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9374, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9379, + "src": "298:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9373, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "298:7:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "279:27:36" + }, + "payable": false, + "returnParameters": { + "id": 9378, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9377, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9379, + "src": "328:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9376, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "328:7:36", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "327:9:36" + }, + "scope": 9393, + "src": "254:83:36", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 9392, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9386, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9381, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9392, + "src": "360:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9380, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "360:7:36", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9383, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9392, + "src": "369:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9382, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "369:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9385, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9392, + "src": "378:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9384, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "378:7:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "359:27:36" + }, + "payable": false, + "returnParameters": { + "id": 9391, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9388, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9392, + "src": "408:4:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9387, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "408:4:36", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9390, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9392, + "src": "414:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9389, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "414:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "407:15:36" + }, + "scope": 9393, + "src": "342:81:36", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 9394, + "src": "26:399:36" + } + ], + "src": "0:426:36" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/interface/DaoStorageInterface.sol", + "exportedSymbols": { + "DaoStorageInterface": [ + 9393 + ] + }, + "id": 9394, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9340, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:36" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 9393, + "linearizedBaseContracts": [ + 9393 + ], + "name": "DaoStorageInterface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 9357, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVotingRoundVotes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9350, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9342, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9357, + "src": "91:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9341, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "91:7:36", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9344, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9357, + "src": "100:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9343, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "100:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9347, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9357, + "src": "109:9:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 9345, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "109:7:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9346, + "length": null, + "nodeType": "ArrayTypeName", + "src": "109:9:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9349, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9357, + "src": "120:4:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9348, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "120:4:36", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "90:35:36" + }, + "payable": false, + "returnParameters": { + "id": 9356, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9353, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9357, + "src": "147:9:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 9351, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "147:7:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9352, + "length": null, + "nodeType": "ArrayTypeName", + "src": "147:9:36", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9355, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9357, + "src": "158:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9354, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "158:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "146:20:36" + }, + "scope": 9393, + "src": "61:106:36", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 9368, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readDraftVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9362, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9359, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9368, + "src": "195:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9358, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "195:7:36", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9361, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9368, + "src": "204:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9360, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "204:7:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "194:18:36" + }, + "payable": false, + "returnParameters": { + "id": 9367, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9364, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9368, + "src": "234:4:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9363, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "234:4:36", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9366, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9368, + "src": "240:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9365, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "240:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "233:15:36" + }, + "scope": 9393, + "src": "172:77:36", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 9379, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readComittedVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9375, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9370, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9379, + "src": "280:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9369, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "280:7:36", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9372, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9379, + "src": "289:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9371, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "289:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9374, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9379, + "src": "298:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9373, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "298:7:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "279:27:36" + }, + "payable": false, + "returnParameters": { + "id": 9378, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9377, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9379, + "src": "328:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9376, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "328:7:36", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "327:9:36" + }, + "scope": 9393, + "src": "254:83:36", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 9392, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9386, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9381, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9392, + "src": "360:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9380, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "360:7:36", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9383, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9392, + "src": "369:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9382, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "369:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9385, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9392, + "src": "378:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9384, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "378:7:36", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "359:27:36" + }, + "payable": false, + "returnParameters": { + "id": 9391, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9388, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9392, + "src": "408:4:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9387, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "408:4:36", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9390, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 9392, + "src": "414:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9389, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "414:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "407:15:36" + }, + "scope": 9393, + "src": "342:81:36", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 9394, + "src": "26:399:36" + } + ], + "src": "0:426:36" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.867Z" +} \ No newline at end of file diff --git a/build/contracts/DaoStructs.json b/build/contracts/DaoStructs.json new file mode 100644 index 0000000..1a2a867 --- /dev/null +++ b/build/contracts/DaoStructs.json @@ -0,0 +1,14296 @@ +{ + "contractName": "DaoStructs", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "_voting", + "type": "DaoStructs.Voting storage" + }, + { + "name": "_allUsers", + "type": "address[]" + } + ], + "name": "countVotes", + "outputs": [ + { + "name": "_for", + "type": "uint256" + }, + { + "name": "_against", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_voting", + "type": "DaoStructs.Voting storage" + }, + { + "name": "_allUsers", + "type": "address[]" + }, + { + "name": "_vote", + "type": "bool" + } + ], + "name": "listVotes", + "outputs": [ + { + "name": "_voters", + "type": "address[]" + }, + { + "name": "_length", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_voting", + "type": "DaoStructs.Voting storage" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "readVote", + "outputs": [ + { + "name": "_vote", + "type": "bool" + }, + { + "name": "_weight", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_voting", + "type": "DaoStructs.Voting storage" + }, + { + "name": "_voter", + "type": "address" + }, + { + "name": "_vote", + "type": "bool" + }, + { + "name": "_weight", + "type": "uint256" + } + ], + "name": "revealVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_version", + "type": "DaoStructs.ProposalVersion storage" + } + ], + "name": "readVersion", + "outputs": [ + { + "name": "_doc", + "type": "bytes32" + }, + { + "name": "_created", + "type": "uint256" + }, + { + "name": "_milestoneFundings", + "type": "uint256[]" + }, + { + "name": "_finalReward", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposal", + "type": "DaoStructs.Proposal storage" + }, + { + "name": "_milestoneIndex", + "type": "uint256" + } + ], + "name": "readProposalMilestone", + "outputs": [ + { + "name": "_funding", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposal", + "type": "DaoStructs.Proposal storage" + }, + { + "name": "_newDoc", + "type": "bytes32" + }, + { + "name": "_newMilestoneFundings", + "type": "uint256[]" + }, + { + "name": "_finalReward", + "type": "uint256" + } + ], + "name": "addProposalVersion", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x610d5d610030600b82828239805160001a6073146000811461002057610022565bfe5b5030600052607381538281f300730000000000000000000000000000000000000000301460806040526004361061009a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806310d31f641461009f5780631728cc36146101315780631a14c51b1461016f5780634bf150b9146101d2578063b31ee28c14610231578063ea496bc914610284578063f53380cf1461030c575b600080fd5b6100bd600480360381019080803590602001909291905050506103ac565b60405180856000191660001916815260200184815260200180602001838152602001828103825284818151815260200191508051906020019060200280838360005b8381101561011a5780820151818401526020810190506100ff565b505050509050019550505050505060405180910390f35b6101596004803603810190808035906020019092919080359060200190929190505050610424565b6040518082815260200191505060405180910390f35b81801561017b57600080fd5b506101d060048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190803590602001909291905050506104f3565b005b61021060048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610591565b60405180831515151581526020018281526020019250505060405180910390f35b6102676004803603810190808035906020019092919080359060200190820180359060200191909192939192939050505061067b565b604051808381526020018281526020019250505060405180910390f35b81801561029057600080fd5b5061030a600480360381019080803590602001909291908035600019169060200190929190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019092919050505061089a565b005b61034e60048036038101908080359060200190929190803590602001908201803590602001919091929391929390803515159060200190929190505050610a2a565b6040518080602001838152602001828103825284818151815260200191508051906020019060200280838360005b8381101561039757808201518184015260208101905061037c565b50505050905001935050505060405180910390f35b6000806060600084600001549350846001015492508460040180548060200260200160405190810160405280929190818152602001828054801561040f57602002820191906000526020600020905b8154815260200190600101908083116103fb575b50505050509150846003015490509193509193565b600080600084601301549150846009016000836000191660001916815260200190815260200160002060040180549050905080841115151561046557600080fd5b60006001026000191682600019161415151561048057600080fd5b808410156104c7578460090160008360001916600019168152602001908152602001600020600401848154811015156104b557fe5b906000526020600020015492506104eb565b84600901600083600019166000191681526020019081526020016000206003015492505b505092915050565b811561054457808460030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061058b565b808460040160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b50505050565b60008060008460030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561062b578360030160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060019150610674565b8360040160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600091505b9250929050565b600080600080858590509150600090505b8181101561089057600087600301600088888581811015156106aa57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561078d57610786876003016000888885818110151561071f57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485610ca390919063ffffffff16565b9350610883565b600087600401600088888581811015156107a357fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156108825761087f876004016000888885818110151561081857fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484610ca390919063ffffffff16565b92505b5b808060010191505061068c565b5050935093915050565b8360030173__DoublyLinkedList______________________63582f30b49091856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561091a57600080fd5b505af415801561092e573d6000803e3d6000fd5b505050506040513d602081101561094457600080fd5b810190808051906020019092919050505050828460090160008560001916600019168152602001908152602001600020600001816000191690555042846009016000856000191660001916815260200190815260200160002060010181905550815184600901600085600019166000191681526020019081526020016000206002018190555081846009016000856000191660001916815260200190815260200160002060040190805190602001906109fe929190610cbf565b508084600901600085600019166000191681526020019081526020016000206003018190555050505050565b606060008060008686905091506000925081604051908082528060200260200182016040528015610a6a5781602001602082028038833980820191505090505b509350600115158515151415610b8b57600090505b81811015610b865760008860030160008989858181101515610a9d57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115610b79578686828181101515610b0957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168484815181101515610b3457fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505082806001019350505b8080600101915050610a7f565b610c98565b600090505b81811015610c975760008860040160008989858181101515610bae57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115610c8a578686828181101515610c1a57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168484815181101515610c4557fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505082806001019350505b8080600101915050610b90565b5b505094509492505050565b60008183019050828110151515610cb657fe5b80905092915050565b828054828255906000526020600020908101928215610cfb579160200282015b82811115610cfa578251825591602001919060010190610cdf565b5b509050610d089190610d0c565b5090565b610d2e91905b80821115610d2a576000816000905550600101610d12565b5090565b905600a165627a7a7230582039fd3f9c820c3b4d7baeb734852dcbb1bfbf67fb38b75aefae183a1261f85d1c0029", + "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061009a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806310d31f641461009f5780631728cc36146101315780631a14c51b1461016f5780634bf150b9146101d2578063b31ee28c14610231578063ea496bc914610284578063f53380cf1461030c575b600080fd5b6100bd600480360381019080803590602001909291905050506103ac565b60405180856000191660001916815260200184815260200180602001838152602001828103825284818151815260200191508051906020019060200280838360005b8381101561011a5780820151818401526020810190506100ff565b505050509050019550505050505060405180910390f35b6101596004803603810190808035906020019092919080359060200190929190505050610424565b6040518082815260200191505060405180910390f35b81801561017b57600080fd5b506101d060048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190803590602001909291905050506104f3565b005b61021060048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610591565b60405180831515151581526020018281526020019250505060405180910390f35b6102676004803603810190808035906020019092919080359060200190820180359060200191909192939192939050505061067b565b604051808381526020018281526020019250505060405180910390f35b81801561029057600080fd5b5061030a600480360381019080803590602001909291908035600019169060200190929190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019092919050505061089a565b005b61034e60048036038101908080359060200190929190803590602001908201803590602001919091929391929390803515159060200190929190505050610a2a565b6040518080602001838152602001828103825284818151815260200191508051906020019060200280838360005b8381101561039757808201518184015260208101905061037c565b50505050905001935050505060405180910390f35b6000806060600084600001549350846001015492508460040180548060200260200160405190810160405280929190818152602001828054801561040f57602002820191906000526020600020905b8154815260200190600101908083116103fb575b50505050509150846003015490509193509193565b600080600084601301549150846009016000836000191660001916815260200190815260200160002060040180549050905080841115151561046557600080fd5b60006001026000191682600019161415151561048057600080fd5b808410156104c7578460090160008360001916600019168152602001908152602001600020600401848154811015156104b557fe5b906000526020600020015492506104eb565b84600901600083600019166000191681526020019081526020016000206003015492505b505092915050565b811561054457808460030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061058b565b808460040160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b50505050565b60008060008460030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561062b578360030160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060019150610674565b8360040160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600091505b9250929050565b600080600080858590509150600090505b8181101561089057600087600301600088888581811015156106aa57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561078d57610786876003016000888885818110151561071f57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485610ca390919063ffffffff16565b9350610883565b600087600401600088888581811015156107a357fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156108825761087f876004016000888885818110151561081857fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484610ca390919063ffffffff16565b92505b5b808060010191505061068c565b5050935093915050565b8360030173__DoublyLinkedList______________________63582f30b49091856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561091a57600080fd5b505af415801561092e573d6000803e3d6000fd5b505050506040513d602081101561094457600080fd5b810190808051906020019092919050505050828460090160008560001916600019168152602001908152602001600020600001816000191690555042846009016000856000191660001916815260200190815260200160002060010181905550815184600901600085600019166000191681526020019081526020016000206002018190555081846009016000856000191660001916815260200190815260200160002060040190805190602001906109fe929190610cbf565b508084600901600085600019166000191681526020019081526020016000206003018190555050505050565b606060008060008686905091506000925081604051908082528060200260200182016040528015610a6a5781602001602082028038833980820191505090505b509350600115158515151415610b8b57600090505b81811015610b865760008860030160008989858181101515610a9d57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115610b79578686828181101515610b0957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168484815181101515610b3457fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505082806001019350505b8080600101915050610a7f565b610c98565b600090505b81811015610c975760008860040160008989858181101515610bae57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115610c8a578686828181101515610c1a57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168484815181101515610c4557fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505082806001019350505b8080600101915050610b90565b5b505094509492505050565b60008183019050828110151515610cb657fe5b80905092915050565b828054828255906000526020600020908101928215610cfb579160200282015b82811115610cfa578251825591602001919060010190610cdf565b5b509050610d089190610d0c565b5090565b610d2e91905b80821115610d2a576000816000905550600101610d12565b5090565b905600a165627a7a7230582039fd3f9c820c3b4d7baeb734852dcbb1bfbf67fb38b75aefae183a1261f85d1c0029", + "sourceMap": "160:13237:23:-;;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": "160:13237:23:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7591:429;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;7591:429:23;;;;;;;;;;;;;;;;;;;;8184:713;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7289:296;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7289:296:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6861:422;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5497:512;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8903:623;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8903:623:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6081:774;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;6081:774:23;;;;;;;;;;;;;;;;;;7591:429;7704:12;7730:16;7760:28;7802:20;7854:8;:20;;;7847:27;;7895:8;:16;;;7884:27;;7942:8;:26;;7921:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7993:8;:20;;;7978:35;;7591:429;;;;;:::o;8184:713::-;8313:16;8345:21;8401:23;8369:9;:22;;;8345:46;;8427:9;:26;;:41;8454:13;8427:41;;;;;;;;;;;;;;;;;:59;;:66;;;;8401:92;;8530:15;8511;:34;;8503:43;;;;;;;;311:3;303:12;;8564:28;;;:13;:28;;;;;8556:37;;;;;;;;8667:15;8649;:33;8645:246;;;8709:9;:26;;:41;8736:13;8709:41;;;;;;;;;;;;;;;;;:59;;8769:15;8709:76;;;;;;;;;;;;;;;;;;8698:87;;8645:246;;;8827:9;:26;;:41;8854:13;8827:41;;;;;;;;;;;;;;;;;:53;;;8816:64;;8645:246;8184:713;;;;;;:::o;7289:296::-;7449:5;7445:134;;;7497:7;7470;:16;;:24;7487:6;7470:24;;;;;;;;;;;;;;;:34;;;;7445:134;;;7561:7;7535;:15;;:23;7551:6;7535:23;;;;;;;;;;;;;;;:33;;;;7445:134;7289:296;;;;:::o;6861:422::-;6964:10;6976:15;7038:1;7011:7;:16;;:24;7028:6;7011:24;;;;;;;;;;;;;;;;:28;7007:270;;;7065:7;:16;;:24;7082:6;7065:24;;;;;;;;;;;;;;;;7055:34;;7111:4;7103:12;;7007:270;;;7156:7;:15;;:23;7172:6;7156:23;;;;;;;;;;;;;;;;7146:33;;7261:5;7253:13;;7007:270;6861:422;;;;;:::o;5497:512::-;5609:12;5623:16;5655:10;5699:9;5668;;:16;;5655:29;;5711:1;5699:13;;5694:309;5718:2;5714:1;:6;5694:309;;;5778:1;5745:7;:16;;:30;5762:9;;5772:1;5762:12;;;;;;;;;;;;;;;;;5745:30;;;;;;;;;;;;;;;;:34;5741:252;;;5806:40;5815:7;:16;;:30;5832:9;;5842:1;5832:12;;;;;;;;;;;;;;;;;5815:30;;;;;;;;;;;;;;;;5806:4;:8;;:40;;;;:::i;:::-;5799:47;;5741:252;;;5903:1;5871:7;:15;;:29;5887:9;;5897:1;5887:12;;;;;;;;;;;;;;;;;5871:29;;;;;;;;;;;;;;;;:33;5867:126;;;5935:43;5948:7;:15;;:29;5964:9;;5974:1;5964:12;;;;;;;;;;;;;;;;;5948:29;;;;;;;;;;;;;;;;5935:8;:12;;:43;;;;:::i;:::-;5924:54;;5867:126;5741:252;5722:3;;;;;;;5694:309;;;5497:512;;;;;;;;:::o;8903:623::-;9098:9;:29;;:36;;;;9135:7;9098:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9098:45:23;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9098:45:23;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9098:45:23;;;;;;;;;;;;;;;;;9203:7;9153:9;:26;;:35;9180:7;9153:35;;;;;;;;;;;;;;;;;:47;;:57;;;;;;;9266:3;9220:9;:26;;:35;9247:7;9220:35;;;;;;;;;;;;;;;;;:43;;:49;;;;9332:21;:28;9279:9;:26;;:35;9306:7;9279:35;;;;;;;;;;;;;;;;;:50;;:81;;;;9426:21;9370:9;:26;;:35;9397:7;9370:35;;;;;;;;;;;;;;;;;:53;;:77;;;;;;;;;;;;:::i;:::-;;9507:12;9457:9;:26;;:35;9484:7;9457:35;;;;;;;;;;;;;;;;;:47;;:62;;;;8903:623;;;;:::o;6081:774::-;6204:24;6230:15;6261:10;6300:9;6274;;:16;;6261:29;;6329:1;6319:11;;6364:2;6350:17;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;6350:17:23;;;;6340:27;;6390:4;6381:13;;:5;:13;;;6377:472;;;6419:1;6415:5;;6410:200;6426:2;6422:1;:6;6410:200;;;6490:1;6457:7;:16;;:30;6474:9;;6484:1;6474:12;;;;;;;;;;;;;;;;;6457:30;;;;;;;;;;;;;;;;:34;6453:143;;;6534:9;;6544:1;6534:12;;;;;;;;;;;;;;;;;6515:7;6523;6515:16;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;6568:9;;;;;;;6453:143;6430:3;;;;;;;6410:200;;;6377:472;;;6649:1;6645:5;;6640:199;6656:2;6652:1;:6;6640:199;;;6719:1;6687:7;:15;;:29;6703:9;;6713:1;6703:12;;;;;;;;;;;;;;;;;6687:29;;;;;;;;;;;;;;;;:33;6683:142;;;6763:9;;6773:1;6763:12;;;;;;;;;;;;;;;;;6744:7;6752;6744:16;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;6797:9;;;;;;;6683:142;6660:3;;;;;;;6640:199;;;6377:472;6081:774;;;;;;;;;:::o;1238:128:84:-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o;160:13237:23:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol\";\nimport 'openzeppelin-solidity/contracts/math/SafeMath.sol';\n\nlibrary DaoStructs {\n using DoublyLinkedList for DoublyLinkedList.Bytes;\n using SafeMath for uint256;\n bytes32 constant EMPTY_BYTES = bytes32(0x0);\n\n struct PrlAction {\n // UTC timestamp at which the PRL action was done\n uint256 at;\n\n // IPFS hash of the document summarizing the action\n bytes32 doc;\n\n // Type of action\n // check PRL_ACTION_* in \"./../common/DaoConstants.sol\"\n uint256 actionId;\n }\n\n struct Voting {\n // UTC timestamp at which the voting round starts\n uint256 startTime;\n\n // Mapping of whether a commit was used in this voting round\n mapping (bytes32 => bool) usedCommits;\n\n // Mapping of commits by address. These are the commits during the commit phase in a voting round\n // This only stores the most recent commit in the voting round\n // In case a vote is edited, the previous commit is overwritten by the new commit\n // Only this new commit is verified at the reveal phase\n mapping (address => bytes32) commits;\n\n // This mapping is updated after the reveal phase, when votes are revealed\n // It is a mapping of address to weight of vote\n // Weight implies the lockedDGDStake of the address, at the time of revealing\n // If the address voted \"NO\", or didn't vote, this would be 0\n mapping (address => uint256) yesVotes;\n\n // This mapping is updated after the reveal phase, when votes are revealed\n // It is a mapping of address to weight of vote\n // Weight implies the lockedDGDStake of the address, at the time of revealing\n // If the address voted \"YES\", or didn't vote, this would be 0\n mapping (address => uint256) noVotes;\n\n // Boolean whether the voting round passed or not\n bool passed;\n\n // Boolean whether the voting round results were claimed or not\n // refer the claimProposalVotingResult function in \"./../interative/DaoVotingClaims.sol\"\n bool claimed;\n\n // Boolean whether the milestone following this voting round was funded or not\n // The milestone is funded when the proposer calls claimFunding in \"./../interactive/DaoFundingManager.sol\"\n bool funded;\n }\n\n struct ProposalVersion {\n // IPFS doc hash of this version of the proposal\n bytes32 docIpfsHash;\n\n // UTC timestamp at which this version was created\n uint256 created;\n\n // The number of milestones in the proposal as per this version\n uint256 milestoneCount;\n\n // The final reward asked by the proposer for completion of the entire proposal\n uint256 finalReward;\n\n // List of fundings required by the proposal as per this version\n // The numbers are in wei\n uint256[] milestoneFundings;\n\n // When a proposal is finalized (calling Dao.finalizeProposal), the proposer can no longer add proposal versions\n // However, they can still add more details to this final proposal version, in the form of IPFS docs.\n // These IPFS docs are stored in this array\n bytes32[] moreDocs;\n }\n\n struct Proposal {\n // ID of the proposal. Also the IPFS hash of the first ProposalVersion\n bytes32 proposalId;\n\n // current state of the proposal\n // refer PROPOSAL_STATE_* in \"./../common/DaoConstants.sol\"\n bytes32 currentState;\n\n // UTC timestamp at which the proposal was created\n uint256 timeCreated;\n\n // DoublyLinkedList of IPFS doc hashes of the various versions of the proposal\n DoublyLinkedList.Bytes proposalVersionDocs;\n\n // Mapping of version (IPFS doc hash) to ProposalVersion struct\n mapping (bytes32 => ProposalVersion) proposalVersions;\n\n // Voting struct for the draft voting round\n Voting draftVoting;\n\n // Mapping of voting round index (starts from 0) to Voting struct\n // votingRounds[0] is the Voting round of the proposal, which lasts for get_uint_config(CONFIG_VOTING_PHASE_TOTAL)\n // votingRounds[i] for i>0 are the Interim Voting rounds of the proposal, which lasts for get_uint_config(CONFIG_INTERIM_PHASE_TOTAL)\n mapping (uint256 => Voting) votingRounds;\n\n // Every proposal has a collateral tied to it with a value of\n // get_uint_config(CONFIG_PREPROPOSAL_COLLATERAL) (refer \"./../storage/DaoConfigsStorage.sol\")\n // Collateral can be in different states\n // refer COLLATERAL_STATUS_* in \"./../common/DaoConstants.sol\"\n uint256 collateralStatus;\n uint256 collateralAmount;\n\n // The final version of the proposal\n // Every proposal needs to be finalized before it can be voted on\n // This is the IPFS doc hash of the final version\n bytes32 finalVersion;\n\n // List of PrlAction structs\n // These are all the actions done by the PRL on the proposal\n PrlAction[] prlActions;\n\n // Address of the user who created the proposal\n address proposer;\n\n // Address of the moderator who endorsed the proposal\n address endorser;\n\n // Boolean whether the proposal is paused/stopped at the moment\n bool isPausedOrStopped;\n\n // Boolean whether the proposal was created by a founder role\n bool isDigix;\n }\n\n function countVotes(Voting storage _voting, address[] _allUsers)\n external\n view\n returns (uint256 _for, uint256 _against)\n {\n uint256 _n = _allUsers.length;\n for (uint256 i = 0; i < _n; i++) {\n if (_voting.yesVotes[_allUsers[i]] > 0) {\n _for = _for.add(_voting.yesVotes[_allUsers[i]]);\n } else if (_voting.noVotes[_allUsers[i]] > 0) {\n _against = _against.add(_voting.noVotes[_allUsers[i]]);\n }\n }\n }\n\n // get the list of voters who voted _vote (true-yes/false-no)\n function listVotes(Voting storage _voting, address[] _allUsers, bool _vote)\n external\n view\n returns (address[] memory _voters, uint256 _length)\n {\n uint256 _n = _allUsers.length;\n uint256 i;\n _length = 0;\n _voters = new address[](_n);\n if (_vote == true) {\n for (i = 0; i < _n; i++) {\n if (_voting.yesVotes[_allUsers[i]] > 0) {\n _voters[_length] = _allUsers[i];\n _length++;\n }\n }\n } else {\n for (i = 0; i < _n; i++) {\n if (_voting.noVotes[_allUsers[i]] > 0) {\n _voters[_length] = _allUsers[i];\n _length++;\n }\n }\n }\n }\n\n function readVote(Voting storage _voting, address _voter)\n public\n view\n returns (bool _vote, uint256 _weight)\n {\n if (_voting.yesVotes[_voter] > 0) {\n _weight = _voting.yesVotes[_voter];\n _vote = true;\n } else {\n _weight = _voting.noVotes[_voter]; // if _voter didnt vote at all, the weight will be 0 anyway\n _vote = false;\n }\n }\n\n function revealVote(\n Voting storage _voting,\n address _voter,\n bool _vote,\n uint256 _weight\n )\n public\n {\n if (_vote) {\n _voting.yesVotes[_voter] = _weight;\n } else {\n _voting.noVotes[_voter] = _weight;\n }\n }\n\n function readVersion(ProposalVersion storage _version)\n public\n view\n returns (\n bytes32 _doc,\n uint256 _created,\n uint256[] _milestoneFundings,\n uint256 _finalReward\n )\n {\n _doc = _version.docIpfsHash;\n _created = _version.created;\n _milestoneFundings = _version.milestoneFundings;\n _finalReward = _version.finalReward;\n }\n\n // read the funding for a particular milestone of a finalized proposal\n // if _milestoneId is the same as _milestoneCount, it returns the final reward\n function readProposalMilestone(Proposal storage _proposal, uint256 _milestoneIndex)\n public\n view\n returns (uint256 _funding)\n {\n bytes32 _finalVersion = _proposal.finalVersion;\n uint256 _milestoneCount = _proposal.proposalVersions[_finalVersion].milestoneFundings.length;\n require(_milestoneIndex <= _milestoneCount);\n require(_finalVersion != EMPTY_BYTES); // the proposal must have been finalized\n\n if (_milestoneIndex < _milestoneCount) {\n _funding = _proposal.proposalVersions[_finalVersion].milestoneFundings[_milestoneIndex];\n } else {\n _funding = _proposal.proposalVersions[_finalVersion].finalReward;\n }\n }\n\n function addProposalVersion(\n Proposal storage _proposal,\n bytes32 _newDoc,\n uint256[] _newMilestoneFundings,\n uint256 _finalReward\n )\n public\n {\n _proposal.proposalVersionDocs.append(_newDoc);\n _proposal.proposalVersions[_newDoc].docIpfsHash = _newDoc;\n _proposal.proposalVersions[_newDoc].created = now;\n _proposal.proposalVersions[_newDoc].milestoneCount = _newMilestoneFundings.length;\n _proposal.proposalVersions[_newDoc].milestoneFundings = _newMilestoneFundings;\n _proposal.proposalVersions[_newDoc].finalReward = _finalReward;\n }\n\n struct SpecialProposal {\n // ID of the special proposal\n // This is the IPFS doc hash of the proposal\n bytes32 proposalId;\n\n // UTC timestamp at which the proposal was created\n uint256 timeCreated;\n\n // Voting struct for the special proposal\n Voting voting;\n\n // List of the new uint256 configs as per the special proposal\n uint256[] uintConfigs;\n\n // List of the new address configs as per the special proposal\n address[] addressConfigs;\n\n // List of the new bytes32 configs as per the special proposal\n bytes32[] bytesConfigs;\n\n // Address of the user who created the special proposal\n // This address should also be in the ROLES_FOUNDERS group\n // refer \"./../storage/DaoIdentityStorage.sol\"\n address proposer;\n }\n\n // All configs are as per the DaoConfigsStorage values at the time when\n // calculateGlobalRewardsBeforeNewQuarter is called by founder in that quarter\n struct DaoQuarterInfo {\n // The minimum quarter points required\n // below this, reputation will be deducted\n uint256 minimalParticipationPoint;\n\n // The scaling factor for quarter point\n uint256 quarterPointScalingFactor;\n\n // The scaling factor for reputation point\n uint256 reputationPointScalingFactor;\n\n // The summation of effectiveDGDs in the previous quarter\n // The effectiveDGDs represents the effective participation in DigixDAO in a quarter\n // Which depends on lockedDGDStake, quarter point and reputation point\n // This value is the summation of all participant effectiveDGDs\n // It will be used to calculate the fraction of effectiveDGD a user has,\n // which will determine his portion of DGX rewards for that quarter\n uint256 totalEffectiveDGDPreviousQuarter;\n\n // The minimum moderator quarter point required\n // below this, reputation will be deducted for moderators\n uint256 moderatorMinimalParticipationPoint;\n\n // the scaling factor for moderator quarter point\n uint256 moderatorQuarterPointScalingFactor;\n\n // the scaling factor for moderator reputation point\n uint256 moderatorReputationPointScalingFactor;\n\n // The summation of effectiveDGDs (only specific to moderators)\n uint256 totalEffectiveModeratorDGDLastQuarter;\n\n // UTC timestamp from which the DGX rewards for the previous quarter are distributable to Holders\n uint256 dgxDistributionDay;\n\n // This is the rewards pool for the previous quarter. This is the sum of the DGX fees coming in from the collector, and the demurrage that has incurred\n // when user call claimRewards() in the previous quarter.\n // more graphical explanation: https://ipfs.io/ipfs/QmZDgFFMbyF3dvuuDfoXv5F6orq4kaDPo7m3QvnseUguzo\n uint256 dgxRewardsPoolLastQuarter;\n\n // The summation of all dgxRewardsPoolLastQuarter up until this quarter\n uint256 sumRewardsFromBeginning;\n }\n\n // There are many function calls where all calculations/summations cannot be done in one transaction\n // and require multiple transactions.\n // This struct stores the intermediate results in between the calculating transactions\n // These intermediate results are stored in IntermediateResultsStorage\n struct IntermediateResults {\n // weight of \"FOR\" votes counted up until the current calculation step\n uint256 currentForCount;\n\n // weight of \"AGAINST\" votes counted up until the current calculation step\n uint256 currentAgainstCount;\n\n // summation of effectiveDGDs up until the iteration of calculation\n uint256 currentSumOfEffectiveBalance;\n\n // Address of user until which the calculation has been done\n address countedUntil;\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoStructs.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoStructs.sol", + "exportedSymbols": { + "DaoStructs": [ + 8491 + ] + }, + "id": 8492, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 7925, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:23" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "file": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "id": 7926, + "nodeType": "ImportDirective", + "scope": 8492, + "sourceUnit": 25547, + "src": "26:72:23", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", + "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", + "id": 7927, + "nodeType": "ImportDirective", + "scope": 8492, + "sourceUnit": 26042, + "src": "99:59:23", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 8491, + "linearizedBaseContracts": [ + 8491 + ], + "name": "DaoStructs", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 7930, + "libraryName": { + "contractScope": null, + "id": 7928, + "name": "DoublyLinkedList", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25546, + "src": "191:16:23", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DoublyLinkedList_$25546", + "typeString": "library DoublyLinkedList" + } + }, + "nodeType": "UsingForDirective", + "src": "185:50:23", + "typeName": { + "contractScope": null, + "id": 7929, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "212:22:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + } + }, + { + "id": 7933, + "libraryName": { + "contractScope": null, + "id": 7931, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 26041, + "src": "246:8:23", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$26041", + "typeString": "library SafeMath" + } + }, + "nodeType": "UsingForDirective", + "src": "240:27:23", + "typeName": { + "id": 7932, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "259:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": true, + "id": 7938, + "name": "EMPTY_BYTES", + "nodeType": "VariableDeclaration", + "scope": 8491, + "src": "272:43:23", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7934, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "272:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 7936, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "311:3:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 7935, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "303:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 7937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "303:12:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "canonicalName": "DaoStructs.PrlAction", + "id": 7945, + "members": [ + { + "constant": false, + "id": 7940, + "name": "at", + "nodeType": "VariableDeclaration", + "scope": 7945, + "src": "407:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7939, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "407:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7942, + "name": "doc", + "nodeType": "VariableDeclaration", + "scope": 7945, + "src": "488:11:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7941, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "488:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7944, + "name": "actionId", + "nodeType": "VariableDeclaration", + "scope": 7945, + "src": "600:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7943, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "600:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "PrlAction", + "nodeType": "StructDefinition", + "scope": 8491, + "src": "322:301:23", + "visibility": "public" + }, + { + "canonicalName": "DaoStructs.Voting", + "id": 7970, + "members": [ + { + "constant": false, + "id": 7947, + "name": "startTime", + "nodeType": "VariableDeclaration", + "scope": 7970, + "src": "711:17:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7946, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "711:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7951, + "name": "usedCommits", + "nodeType": "VariableDeclaration", + "scope": 7970, + "src": "808:37:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + }, + "typeName": { + "id": 7950, + "keyType": { + "id": 7948, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "817:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "808:25:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + }, + "valueType": { + "id": 7949, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "828:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7955, + "name": "commits", + "nodeType": "VariableDeclaration", + "scope": 7970, + "src": "1187:36:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$", + "typeString": "mapping(address => bytes32)" + }, + "typeName": { + "id": 7954, + "keyType": { + "id": 7952, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1196:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1187:28:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$", + "typeString": "mapping(address => bytes32)" + }, + "valueType": { + "id": 7953, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1207:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7959, + "name": "yesVotes", + "nodeType": "VariableDeclaration", + "scope": 7970, + "src": "1529:37:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 7958, + "keyType": { + "id": 7956, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1538:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1529:28:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 7957, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1549:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7963, + "name": "noVotes", + "nodeType": "VariableDeclaration", + "scope": 7970, + "src": "1873:36:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 7962, + "keyType": { + "id": 7960, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1882:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1873:28:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 7961, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1893:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7965, + "name": "passed", + "nodeType": "VariableDeclaration", + "scope": 7970, + "src": "1978:11:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7964, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1978:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7967, + "name": "claimed", + "nodeType": "VariableDeclaration", + "scope": 7970, + "src": "2169:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7966, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2169:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7969, + "name": "funded", + "nodeType": "VariableDeclaration", + "scope": 7970, + "src": "2395:11:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7968, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2395:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Voting", + "nodeType": "StructDefinition", + "scope": 8491, + "src": "629:1784:23", + "visibility": "public" + }, + { + "canonicalName": "DaoStructs.ProposalVersion", + "id": 7985, + "members": [ + { + "constant": false, + "id": 7972, + "name": "docIpfsHash", + "nodeType": "VariableDeclaration", + "scope": 7985, + "src": "2509:19:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7971, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2509:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7974, + "name": "created", + "nodeType": "VariableDeclaration", + "scope": 7985, + "src": "2598:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7973, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2598:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7976, + "name": "milestoneCount", + "nodeType": "VariableDeclaration", + "scope": 7985, + "src": "2696:22:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7975, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2696:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7978, + "name": "finalReward", + "nodeType": "VariableDeclaration", + "scope": 7985, + "src": "2817:19:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7977, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2817:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7981, + "name": "milestoneFundings", + "nodeType": "VariableDeclaration", + "scope": 7985, + "src": "2954:27:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 7979, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2954:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7980, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2954:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7984, + "name": "moreDocs", + "nodeType": "VariableDeclaration", + "scope": 7985, + "src": "3275:18:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 7982, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3275:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 7983, + "length": null, + "nodeType": "ArrayTypeName", + "src": "3275:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "ProposalVersion", + "nodeType": "StructDefinition", + "scope": 8491, + "src": "2419:881:23", + "visibility": "public" + }, + { + "canonicalName": "DaoStructs.Proposal", + "id": 8021, + "members": [ + { + "constant": false, + "id": 7987, + "name": "proposalId", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "3411:18:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7986, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3411:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7989, + "name": "currentState", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "3549:20:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7988, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3549:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7991, + "name": "timeCreated", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "3639:19:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7990, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3639:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7993, + "name": "proposalVersionDocs", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "3756:42:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 7992, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "3756:22:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7997, + "name": "proposalVersions", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "3881:53:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion)" + }, + "typeName": { + "id": 7996, + "keyType": { + "id": 7994, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3890:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "3881:36:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion)" + }, + "valueType": { + "contractScope": null, + "id": 7995, + "name": "ProposalVersion", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7985, + "src": "3901:15:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage_ptr", + "typeString": "struct DaoStructs.ProposalVersion" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7999, + "name": "draftVoting", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "3997:18:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + }, + "typeName": { + "contractScope": null, + "id": 7998, + "name": "Voting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7970, + "src": "3997:6:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8003, + "name": "votingRounds", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "4365:40:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting)" + }, + "typeName": { + "id": 8002, + "keyType": { + "id": 8000, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4374:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "4365:27:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting)" + }, + "valueType": { + "contractScope": null, + "id": 8001, + "name": "Voting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7970, + "src": "4385:6:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8005, + "name": "collateralStatus", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "4709:24:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8004, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4709:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8007, + "name": "collateralAmount", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "4743:24:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8006, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4743:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8009, + "name": "finalVersion", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "4955:20:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8008, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4955:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8012, + "name": "prlActions", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "5092:22:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PrlAction_$7945_storage_$dyn_storage_ptr", + "typeString": "struct DaoStructs.PrlAction[]" + }, + "typeName": { + "baseType": { + "contractScope": null, + "id": 8010, + "name": "PrlAction", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7945, + "src": "5092:9:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PrlAction_$7945_storage_ptr", + "typeString": "struct DaoStructs.PrlAction" + } + }, + "id": 8011, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5092:11:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PrlAction_$7945_storage_$dyn_storage_ptr", + "typeString": "struct DaoStructs.PrlAction[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8014, + "name": "proposer", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "5181:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8013, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5181:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8016, + "name": "endorser", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "5270:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8015, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5270:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8018, + "name": "isPausedOrStopped", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "5369:22:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8017, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5369:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8020, + "name": "isDigix", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "5472:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8019, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5472:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Proposal", + "nodeType": "StructDefinition", + "scope": 8491, + "src": "3306:2185:23", + "visibility": "public" + }, + { + "body": { + "id": 8094, + "nodeType": "Block", + "src": "5645:364:23", + "statements": [ + { + "assignments": [ + 8034 + ], + "declarations": [ + { + "constant": false, + "id": 8034, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 8095, + "src": "5655:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8033, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5655:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8037, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8035, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8026, + "src": "5668:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 8036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5668:16:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5655:29:23" + }, + { + "body": { + "id": 8092, + "nodeType": "Block", + "src": "5727:276:23", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8048, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8023, + "src": "5745:7:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 8049, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "yesVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7959, + "src": "5745:16:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8053, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8050, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8026, + "src": "5762:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 8052, + "indexExpression": { + "argumentTypes": null, + "id": 8051, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8039, + "src": "5772:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5762:12:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5745:30:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 8054, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5778:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5745:34:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8076, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8069, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8023, + "src": "5871:7:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 8070, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "noVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7963, + "src": "5871:15:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8074, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8071, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8026, + "src": "5887:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 8073, + "indexExpression": { + "argumentTypes": null, + "id": 8072, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8039, + "src": "5897:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5887:12:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5871:29:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 8075, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5903:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5871:33:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 8090, + "nodeType": "IfStatement", + "src": "5867:126:23", + "trueBody": { + "id": 8089, + "nodeType": "Block", + "src": "5906:87:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8077, + "name": "_against", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8031, + "src": "5924:8:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8080, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8023, + "src": "5948:7:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 8081, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "noVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7963, + "src": "5948:15:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8085, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8082, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8026, + "src": "5964:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 8084, + "indexExpression": { + "argumentTypes": null, + "id": 8083, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8039, + "src": "5974:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5964:12:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5948:29:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 8078, + "name": "_against", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8031, + "src": "5935:8:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "5935:12:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 8086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5935:43:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5924:54:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8088, + "nodeType": "ExpressionStatement", + "src": "5924:54:23" + } + ] + } + }, + "id": 8091, + "nodeType": "IfStatement", + "src": "5741:252:23", + "trueBody": { + "id": 8068, + "nodeType": "Block", + "src": "5781:80:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8056, + "name": "_for", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8029, + "src": "5799:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8059, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8023, + "src": "5815:7:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 8060, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "yesVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7959, + "src": "5815:16:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8064, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8061, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8026, + "src": "5832:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 8063, + "indexExpression": { + "argumentTypes": null, + "id": 8062, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8039, + "src": "5842:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5832:12:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5815:30:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 8057, + "name": "_for", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8029, + "src": "5806:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "5806:8:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 8065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5806:40:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5799:47:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8067, + "nodeType": "ExpressionStatement", + "src": "5799:47:23" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8042, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8039, + "src": "5714:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 8043, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8034, + "src": "5718:2:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5714:6:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8093, + "initializationExpression": { + "assignments": [ + 8039 + ], + "declarations": [ + { + "constant": false, + "id": 8039, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 8095, + "src": "5699:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8038, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5699:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8041, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 8040, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5711:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5699:13:23" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 8046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5722:3:23", + "subExpression": { + "argumentTypes": null, + "id": 8045, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8039, + "src": "5722:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8047, + "nodeType": "ExpressionStatement", + "src": "5722:3:23" + }, + "nodeType": "ForStatement", + "src": "5694:309:23" + } + ] + }, + "documentation": null, + "id": 8095, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "countVotes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8027, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8023, + "name": "_voting", + "nodeType": "VariableDeclaration", + "scope": 8095, + "src": "5517:22:23", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + }, + "typeName": { + "contractScope": null, + "id": 8022, + "name": "Voting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7970, + "src": "5517:6:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8026, + "name": "_allUsers", + "nodeType": "VariableDeclaration", + "scope": 8095, + "src": "5541:19:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 8024, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5541:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8025, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5541:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5516:45:23" + }, + "payable": false, + "returnParameters": { + "id": 8032, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8029, + "name": "_for", + "nodeType": "VariableDeclaration", + "scope": 8095, + "src": "5609:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8028, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5609:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8031, + "name": "_against", + "nodeType": "VariableDeclaration", + "scope": 8095, + "src": "5623:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8030, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5623:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5608:32:23" + }, + "scope": 8491, + "src": "5497:512:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 8202, + "nodeType": "Block", + "src": "6251:604:23", + "statements": [ + { + "assignments": [ + 8111 + ], + "declarations": [ + { + "constant": false, + "id": 8111, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 8203, + "src": "6261:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8110, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6261:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8114, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8112, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8100, + "src": "6274:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 8113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6274:16:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6261:29:23" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 8116, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 8203, + "src": "6300:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8115, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6300:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8117, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "6300:9:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8118, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8108, + "src": "6319:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 8119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6329:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6319:11:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8121, + "nodeType": "ExpressionStatement", + "src": "6319:11:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8122, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8106, + "src": "6340:7:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 8126, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8111, + "src": "6364:2:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8125, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "6350:13:23", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", + "typeString": "function (uint256) pure returns (address[] memory)" + }, + "typeName": { + "baseType": { + "id": 8123, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6354:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8124, + "length": null, + "nodeType": "ArrayTypeName", + "src": "6354:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + } + }, + "id": 8127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6350:17:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "src": "6340:27:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 8129, + "nodeType": "ExpressionStatement", + "src": "6340:27:23" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 8132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8130, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8102, + "src": "6381:5:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 8131, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6390:4:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6381:13:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 8200, + "nodeType": "Block", + "src": "6626:223:23", + "statements": [ + { + "body": { + "id": 8198, + "nodeType": "Block", + "src": "6665:174:23", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8177, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8097, + "src": "6687:7:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 8178, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "noVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7963, + "src": "6687:15:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8182, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8179, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8100, + "src": "6703:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 8181, + "indexExpression": { + "argumentTypes": null, + "id": 8180, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8116, + "src": "6713:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6703:12:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6687:29:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 8183, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6719:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6687:33:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 8197, + "nodeType": "IfStatement", + "src": "6683:142:23", + "trueBody": { + "id": 8196, + "nodeType": "Block", + "src": "6722:103:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8185, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8106, + "src": "6744:7:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 8187, + "indexExpression": { + "argumentTypes": null, + "id": 8186, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8108, + "src": "6752:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6744:16:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8188, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8100, + "src": "6763:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 8190, + "indexExpression": { + "argumentTypes": null, + "id": 8189, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8116, + "src": "6773:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6763:12:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6744:31:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8192, + "nodeType": "ExpressionStatement", + "src": "6744:31:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "6797:9:23", + "subExpression": { + "argumentTypes": null, + "id": 8193, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8108, + "src": "6797:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8195, + "nodeType": "ExpressionStatement", + "src": "6797:9:23" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8171, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8116, + "src": "6652:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 8172, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8111, + "src": "6656:2:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6652:6:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8199, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 8169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8167, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8116, + "src": "6645:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 8168, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6649:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6645:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8170, + "nodeType": "ExpressionStatement", + "src": "6645:5:23" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 8175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "6660:3:23", + "subExpression": { + "argumentTypes": null, + "id": 8174, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8116, + "src": "6660:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8176, + "nodeType": "ExpressionStatement", + "src": "6660:3:23" + }, + "nodeType": "ForStatement", + "src": "6640:199:23" + } + ] + }, + "id": 8201, + "nodeType": "IfStatement", + "src": "6377:472:23", + "trueBody": { + "id": 8166, + "nodeType": "Block", + "src": "6396:224:23", + "statements": [ + { + "body": { + "id": 8164, + "nodeType": "Block", + "src": "6435:175:23", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8143, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8097, + "src": "6457:7:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 8144, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "yesVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7959, + "src": "6457:16:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8148, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8145, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8100, + "src": "6474:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 8147, + "indexExpression": { + "argumentTypes": null, + "id": 8146, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8116, + "src": "6484:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6474:12:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6457:30:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 8149, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6490:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6457:34:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 8163, + "nodeType": "IfStatement", + "src": "6453:143:23", + "trueBody": { + "id": 8162, + "nodeType": "Block", + "src": "6493:103:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8151, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8106, + "src": "6515:7:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 8153, + "indexExpression": { + "argumentTypes": null, + "id": 8152, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8108, + "src": "6523:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6515:16:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8154, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8100, + "src": "6534:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 8156, + "indexExpression": { + "argumentTypes": null, + "id": 8155, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8116, + "src": "6544:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6534:12:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6515:31:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8158, + "nodeType": "ExpressionStatement", + "src": "6515:31:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "6568:9:23", + "subExpression": { + "argumentTypes": null, + "id": 8159, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8108, + "src": "6568:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8161, + "nodeType": "ExpressionStatement", + "src": "6568:9:23" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8137, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8116, + "src": "6422:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 8138, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8111, + "src": "6426:2:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6422:6:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8165, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 8135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8133, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8116, + "src": "6415:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 8134, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6419:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6415:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8136, + "nodeType": "ExpressionStatement", + "src": "6415:5:23" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 8141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "6430:3:23", + "subExpression": { + "argumentTypes": null, + "id": 8140, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8116, + "src": "6430:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8142, + "nodeType": "ExpressionStatement", + "src": "6430:3:23" + }, + "nodeType": "ForStatement", + "src": "6410:200:23" + } + ] + } + } + ] + }, + "documentation": null, + "id": 8203, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "listVotes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8103, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8097, + "name": "_voting", + "nodeType": "VariableDeclaration", + "scope": 8203, + "src": "6100:22:23", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + }, + "typeName": { + "contractScope": null, + "id": 8096, + "name": "Voting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7970, + "src": "6100:6:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8100, + "name": "_allUsers", + "nodeType": "VariableDeclaration", + "scope": 8203, + "src": "6124:19:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 8098, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6124:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8099, + "length": null, + "nodeType": "ArrayTypeName", + "src": "6124:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8102, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 8203, + "src": "6145:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8101, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6145:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6099:57:23" + }, + "payable": false, + "returnParameters": { + "id": 8109, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8106, + "name": "_voters", + "nodeType": "VariableDeclaration", + "scope": 8203, + "src": "6204:24:23", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 8104, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6204:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8105, + "length": null, + "nodeType": "ArrayTypeName", + "src": "6204:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8108, + "name": "_length", + "nodeType": "VariableDeclaration", + "scope": 8203, + "src": "6230:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8107, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6230:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6203:43:23" + }, + "scope": 8491, + "src": "6081:774:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 8245, + "nodeType": "Block", + "src": "6997:286:23", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8214, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8205, + "src": "7011:7:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 8215, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "yesVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7959, + "src": "7011:16:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8217, + "indexExpression": { + "argumentTypes": null, + "id": 8216, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8207, + "src": "7028:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7011:24:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 8218, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7038:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7011:28:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 8243, + "nodeType": "Block", + "src": "7132:145:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8232, + "name": "_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8212, + "src": "7146:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8233, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8205, + "src": "7156:7:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 8234, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "noVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7963, + "src": "7156:15:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8236, + "indexExpression": { + "argumentTypes": null, + "id": 8235, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8207, + "src": "7172:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7156:23:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7146:33:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8238, + "nodeType": "ExpressionStatement", + "src": "7146:33:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8239, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8210, + "src": "7253:5:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 8240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7261:5:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "7253:13:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8242, + "nodeType": "ExpressionStatement", + "src": "7253:13:23" + } + ] + }, + "id": 8244, + "nodeType": "IfStatement", + "src": "7007:270:23", + "trueBody": { + "id": 8231, + "nodeType": "Block", + "src": "7041:85:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8220, + "name": "_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8212, + "src": "7055:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8221, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8205, + "src": "7065:7:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 8222, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "yesVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7959, + "src": "7065:16:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8224, + "indexExpression": { + "argumentTypes": null, + "id": 8223, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8207, + "src": "7082:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7065:24:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7055:34:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8226, + "nodeType": "ExpressionStatement", + "src": "7055:34:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8227, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8210, + "src": "7103:5:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 8228, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7111:4:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "7103:12:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8230, + "nodeType": "ExpressionStatement", + "src": "7103:12:23" + } + ] + } + } + ] + }, + "documentation": null, + "id": 8246, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8208, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8205, + "name": "_voting", + "nodeType": "VariableDeclaration", + "scope": 8246, + "src": "6879:22:23", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + }, + "typeName": { + "contractScope": null, + "id": 8204, + "name": "Voting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7970, + "src": "6879:6:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8207, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 8246, + "src": "6903:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8206, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6903:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6878:40:23" + }, + "payable": false, + "returnParameters": { + "id": 8213, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8210, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 8246, + "src": "6964:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8209, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6964:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8212, + "name": "_weight", + "nodeType": "VariableDeclaration", + "scope": 8246, + "src": "6976:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8211, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6976:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6963:29:23" + }, + "scope": 8491, + "src": "6861:422:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 8277, + "nodeType": "Block", + "src": "7435:150:23", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 8257, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8252, + "src": "7449:5:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 8275, + "nodeType": "Block", + "src": "7521:58:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8267, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8248, + "src": "7535:7:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 8270, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "noVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7963, + "src": "7535:15:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8271, + "indexExpression": { + "argumentTypes": null, + "id": 8269, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8250, + "src": "7551:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7535:23:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8272, + "name": "_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8254, + "src": "7561:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7535:33:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8274, + "nodeType": "ExpressionStatement", + "src": "7535:33:23" + } + ] + }, + "id": 8276, + "nodeType": "IfStatement", + "src": "7445:134:23", + "trueBody": { + "id": 8266, + "nodeType": "Block", + "src": "7456:59:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8258, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8248, + "src": "7470:7:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 8261, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "yesVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7959, + "src": "7470:16:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8262, + "indexExpression": { + "argumentTypes": null, + "id": 8260, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8250, + "src": "7487:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7470:24:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8263, + "name": "_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8254, + "src": "7497:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7470:34:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8265, + "nodeType": "ExpressionStatement", + "src": "7470:34:23" + } + ] + } + } + ] + }, + "documentation": null, + "id": 8278, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "revealVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8255, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8248, + "name": "_voting", + "nodeType": "VariableDeclaration", + "scope": 8278, + "src": "7318:22:23", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + }, + "typeName": { + "contractScope": null, + "id": 8247, + "name": "Voting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7970, + "src": "7318:6:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8250, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 8278, + "src": "7350:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8249, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7350:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8252, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 8278, + "src": "7374:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8251, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7374:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8254, + "name": "_weight", + "nodeType": "VariableDeclaration", + "scope": 8278, + "src": "7394:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8253, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7394:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7308:107:23" + }, + "payable": false, + "returnParameters": { + "id": 8256, + "nodeType": "ParameterList", + "parameters": [], + "src": "7435:0:23" + }, + "scope": 8491, + "src": "7289:296:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 8312, + "nodeType": "Block", + "src": "7837:183:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8292, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8283, + "src": "7847:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8293, + "name": "_version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8280, + "src": "7854:8:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage_ptr", + "typeString": "struct DaoStructs.ProposalVersion storage pointer" + } + }, + "id": 8294, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "docIpfsHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 7972, + "src": "7854:20:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7847:27:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 8296, + "nodeType": "ExpressionStatement", + "src": "7847:27:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8297, + "name": "_created", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8285, + "src": "7884:8:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8298, + "name": "_version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8280, + "src": "7895:8:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage_ptr", + "typeString": "struct DaoStructs.ProposalVersion storage pointer" + } + }, + "id": 8299, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "created", + "nodeType": "MemberAccess", + "referencedDeclaration": 7974, + "src": "7895:16:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7884:27:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8301, + "nodeType": "ExpressionStatement", + "src": "7884:27:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8302, + "name": "_milestoneFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8288, + "src": "7921:18:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8303, + "name": "_version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8280, + "src": "7942:8:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage_ptr", + "typeString": "struct DaoStructs.ProposalVersion storage pointer" + } + }, + "id": 8304, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "milestoneFundings", + "nodeType": "MemberAccess", + "referencedDeclaration": 7981, + "src": "7942:26:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "src": "7921:47:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 8306, + "nodeType": "ExpressionStatement", + "src": "7921:47:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8307, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8290, + "src": "7978:12:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8308, + "name": "_version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8280, + "src": "7993:8:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage_ptr", + "typeString": "struct DaoStructs.ProposalVersion storage pointer" + } + }, + "id": 8309, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "finalReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 7978, + "src": "7993:20:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7978:35:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8311, + "nodeType": "ExpressionStatement", + "src": "7978:35:23" + } + ] + }, + "documentation": null, + "id": 8313, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVersion", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8281, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8280, + "name": "_version", + "nodeType": "VariableDeclaration", + "scope": 8313, + "src": "7612:32:23", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage_ptr", + "typeString": "struct DaoStructs.ProposalVersion" + }, + "typeName": { + "contractScope": null, + "id": 8279, + "name": "ProposalVersion", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7985, + "src": "7612:15:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage_ptr", + "typeString": "struct DaoStructs.ProposalVersion" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7611:34:23" + }, + "payable": false, + "returnParameters": { + "id": 8291, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8283, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 8313, + "src": "7704:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8282, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7704:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8285, + "name": "_created", + "nodeType": "VariableDeclaration", + "scope": 8313, + "src": "7730:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8284, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7730:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8288, + "name": "_milestoneFundings", + "nodeType": "VariableDeclaration", + "scope": 8313, + "src": "7760:28:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 8286, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7760:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8287, + "length": null, + "nodeType": "ArrayTypeName", + "src": "7760:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8290, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 8313, + "src": "7802:20:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8289, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7802:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7690:142:23" + }, + "scope": 8491, + "src": "7591:429:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 8372, + "nodeType": "Block", + "src": "8335:562:23", + "statements": [ + { + "assignments": [ + 8323 + ], + "declarations": [ + { + "constant": false, + "id": 8323, + "name": "_finalVersion", + "nodeType": "VariableDeclaration", + "scope": 8373, + "src": "8345:21:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8322, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8345:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8326, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8324, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8315, + "src": "8369:9:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 8325, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "finalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8009, + "src": "8369:22:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8345:46:23" + }, + { + "assignments": [ + 8328 + ], + "declarations": [ + { + "constant": false, + "id": 8328, + "name": "_milestoneCount", + "nodeType": "VariableDeclaration", + "scope": 8373, + "src": "8401:23:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8327, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8401:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8335, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8329, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8315, + "src": "8427:9:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 8330, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "8427:26:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 8332, + "indexExpression": { + "argumentTypes": null, + "id": 8331, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8323, + "src": "8454:13:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8427:41:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 8333, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "milestoneFundings", + "nodeType": "MemberAccess", + "referencedDeclaration": 7981, + "src": "8427:59:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 8334, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8427:66:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8401:92:23" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8337, + "name": "_milestoneIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8317, + "src": "8511:15:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 8338, + "name": "_milestoneCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8328, + "src": "8530:15:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8511:34:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 8336, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "8503:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 8340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8503:43:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8341, + "nodeType": "ExpressionStatement", + "src": "8503:43:23" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 8345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8343, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8323, + "src": "8564:13:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 8344, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7938, + "src": "8581:11:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "8564:28:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 8342, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "8556:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 8346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8556:37:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8347, + "nodeType": "ExpressionStatement", + "src": "8556:37:23" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8348, + "name": "_milestoneIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8317, + "src": "8649:15:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 8349, + "name": "_milestoneCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8328, + "src": "8667:15:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8649:33:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 8370, + "nodeType": "Block", + "src": "8802:89:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8362, + "name": "_funding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8320, + "src": "8816:8:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8363, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8315, + "src": "8827:9:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 8364, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "8827:26:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 8366, + "indexExpression": { + "argumentTypes": null, + "id": 8365, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8323, + "src": "8854:13:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8827:41:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 8367, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "finalReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 7978, + "src": "8827:53:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8816:64:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8369, + "nodeType": "ExpressionStatement", + "src": "8816:64:23" + } + ] + }, + "id": 8371, + "nodeType": "IfStatement", + "src": "8645:246:23", + "trueBody": { + "id": 8361, + "nodeType": "Block", + "src": "8684:112:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8351, + "name": "_funding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8320, + "src": "8698:8:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8352, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8315, + "src": "8709:9:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 8353, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "8709:26:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 8355, + "indexExpression": { + "argumentTypes": null, + "id": 8354, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8323, + "src": "8736:13:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8709:41:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 8356, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "milestoneFundings", + "nodeType": "MemberAccess", + "referencedDeclaration": 7981, + "src": "8709:59:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 8358, + "indexExpression": { + "argumentTypes": null, + "id": 8357, + "name": "_milestoneIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8317, + "src": "8769:15:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8709:76:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8698:87:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8360, + "nodeType": "ExpressionStatement", + "src": "8698:87:23" + } + ] + } + } + ] + }, + "documentation": null, + "id": 8373, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalMilestone", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8318, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8315, + "name": "_proposal", + "nodeType": "VariableDeclaration", + "scope": 8373, + "src": "8215:26:23", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + }, + "typeName": { + "contractScope": null, + "id": 8314, + "name": "Proposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8021, + "src": "8215:8:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8317, + "name": "_milestoneIndex", + "nodeType": "VariableDeclaration", + "scope": 8373, + "src": "8243:23:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8316, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8243:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8214:53:23" + }, + "payable": false, + "returnParameters": { + "id": 8321, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8320, + "name": "_funding", + "nodeType": "VariableDeclaration", + "scope": 8373, + "src": "8313:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8319, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8313:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8312:18:23" + }, + "scope": 8491, + "src": "8184:713:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 8439, + "nodeType": "Block", + "src": "9088:438:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 8390, + "name": "_newDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8377, + "src": "9135:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8385, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8375, + "src": "9098:9:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 8388, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersionDocs", + "nodeType": "MemberAccess", + "referencedDeclaration": 7993, + "src": "9098:29:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 8389, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "9098:36:23", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 8391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9098:45:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8392, + "nodeType": "ExpressionStatement", + "src": "9098:45:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8393, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8375, + "src": "9153:9:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 8396, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "9153:26:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 8397, + "indexExpression": { + "argumentTypes": null, + "id": 8395, + "name": "_newDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8377, + "src": "9180:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9153:35:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 8398, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "docIpfsHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 7972, + "src": "9153:47:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8399, + "name": "_newDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8377, + "src": "9203:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "9153:57:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 8401, + "nodeType": "ExpressionStatement", + "src": "9153:57:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8402, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8375, + "src": "9220:9:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 8405, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "9220:26:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 8406, + "indexExpression": { + "argumentTypes": null, + "id": 8404, + "name": "_newDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8377, + "src": "9247:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9220:35:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 8407, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "created", + "nodeType": "MemberAccess", + "referencedDeclaration": 7974, + "src": "9220:43:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8408, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "9266:3:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9220:49:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8410, + "nodeType": "ExpressionStatement", + "src": "9220:49:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8411, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8375, + "src": "9279:9:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 8414, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "9279:26:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 8415, + "indexExpression": { + "argumentTypes": null, + "id": 8413, + "name": "_newDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8377, + "src": "9306:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9279:35:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 8416, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "milestoneCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7976, + "src": "9279:50:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8417, + "name": "_newMilestoneFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8380, + "src": "9332:21:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 8418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9332:28:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9279:81:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8420, + "nodeType": "ExpressionStatement", + "src": "9279:81:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8421, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8375, + "src": "9370:9:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 8424, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "9370:26:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 8425, + "indexExpression": { + "argumentTypes": null, + "id": 8423, + "name": "_newDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8377, + "src": "9397:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9370:35:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 8426, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "milestoneFundings", + "nodeType": "MemberAccess", + "referencedDeclaration": 7981, + "src": "9370:53:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8427, + "name": "_newMilestoneFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8380, + "src": "9426:21:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "9370:77:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 8429, + "nodeType": "ExpressionStatement", + "src": "9370:77:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8430, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8375, + "src": "9457:9:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 8433, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "9457:26:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 8434, + "indexExpression": { + "argumentTypes": null, + "id": 8432, + "name": "_newDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8377, + "src": "9484:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9457:35:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 8435, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "finalReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 7978, + "src": "9457:47:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8436, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8382, + "src": "9507:12:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9457:62:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8438, + "nodeType": "ExpressionStatement", + "src": "9457:62:23" + } + ] + }, + "documentation": null, + "id": 8440, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addProposalVersion", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8383, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8375, + "name": "_proposal", + "nodeType": "VariableDeclaration", + "scope": 8440, + "src": "8940:26:23", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + }, + "typeName": { + "contractScope": null, + "id": 8374, + "name": "Proposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8021, + "src": "8940:8:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8377, + "name": "_newDoc", + "nodeType": "VariableDeclaration", + "scope": 8440, + "src": "8976:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8376, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8976:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8380, + "name": "_newMilestoneFundings", + "nodeType": "VariableDeclaration", + "scope": 8440, + "src": "9001:31:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 8378, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9001:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8379, + "length": null, + "nodeType": "ArrayTypeName", + "src": "9001:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8382, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 8440, + "src": "9042:20:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8381, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9042:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8930:138:23" + }, + "payable": false, + "returnParameters": { + "id": 8384, + "nodeType": "ParameterList", + "parameters": [], + "src": "9088:0:23" + }, + "scope": 8491, + "src": "8903:623:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "canonicalName": "DaoStructs.SpecialProposal", + "id": 8458, + "members": [ + { + "constant": false, + "id": 8442, + "name": "proposalId", + "nodeType": "VariableDeclaration", + "scope": 8458, + "src": "9656:18:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8441, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9656:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8444, + "name": "timeCreated", + "nodeType": "VariableDeclaration", + "scope": 8458, + "src": "9744:19:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8443, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9744:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8446, + "name": "voting", + "nodeType": "VariableDeclaration", + "scope": 8458, + "src": "9824:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + }, + "typeName": { + "contractScope": null, + "id": 8445, + "name": "Voting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7970, + "src": "9824:6:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8449, + "name": "uintConfigs", + "nodeType": "VariableDeclaration", + "scope": 8458, + "src": "9919:21:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 8447, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9919:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8448, + "length": null, + "nodeType": "ArrayTypeName", + "src": "9919:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8452, + "name": "addressConfigs", + "nodeType": "VariableDeclaration", + "scope": 8458, + "src": "10022:24:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 8450, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10022:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8451, + "length": null, + "nodeType": "ArrayTypeName", + "src": "10022:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8455, + "name": "bytesConfigs", + "nodeType": "VariableDeclaration", + "scope": 8458, + "src": "10128:22:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 8453, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10128:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 8454, + "length": null, + "nodeType": "ArrayTypeName", + "src": "10128:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8457, + "name": "proposer", + "nodeType": "VariableDeclaration", + "scope": 8458, + "src": "10347:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8456, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10347:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "SpecialProposal", + "nodeType": "StructDefinition", + "scope": 8491, + "src": "9532:838:23", + "visibility": "public" + }, + { + "canonicalName": "DaoStructs.DaoQuarterInfo", + "id": 8481, + "members": [ + { + "constant": false, + "id": 8460, + "name": "minimalParticipationPoint", + "nodeType": "VariableDeclaration", + "scope": 8481, + "src": "10665:33:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8459, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10665:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8462, + "name": "quarterPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 8481, + "src": "10757:33:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8461, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10757:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8464, + "name": "reputationPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 8481, + "src": "10852:36:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8463, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10852:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8466, + "name": "totalEffectiveDGDPreviousQuarter", + "nodeType": "VariableDeclaration", + "scope": 8481, + "src": "11366:40:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8465, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11366:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8468, + "name": "moderatorMinimalParticipationPoint", + "nodeType": "VariableDeclaration", + "scope": 8481, + "src": "11539:42:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8467, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11539:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8470, + "name": "moderatorQuarterPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 8481, + "src": "11650:42:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8469, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11650:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8472, + "name": "moderatorReputationPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 8481, + "src": "11764:45:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8471, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11764:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8474, + "name": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "VariableDeclaration", + "scope": 8481, + "src": "11892:45:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8473, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11892:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8476, + "name": "dgxDistributionDay", + "nodeType": "VariableDeclaration", + "scope": 8481, + "src": "12054:26:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8475, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12054:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8478, + "name": "dgxRewardsPoolLastQuarter", + "nodeType": "VariableDeclaration", + "scope": 8481, + "src": "12424:33:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8477, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12424:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8480, + "name": "sumRewardsFromBeginning", + "nodeType": "VariableDeclaration", + "scope": 8481, + "src": "12548:31:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8479, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12548:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "DaoQuarterInfo", + "nodeType": "StructDefinition", + "scope": 8491, + "src": "10535:2051:23", + "visibility": "public" + }, + { + "canonicalName": "DaoStructs.IntermediateResults", + "id": 8490, + "members": [ + { + "constant": false, + "id": 8483, + "name": "currentForCount", + "nodeType": "VariableDeclaration", + "scope": 8490, + "src": "13021:23:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8482, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13021:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8485, + "name": "currentAgainstCount", + "nodeType": "VariableDeclaration", + "scope": 8490, + "src": "13138:27:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8484, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13138:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8487, + "name": "currentSumOfEffectiveBalance", + "nodeType": "VariableDeclaration", + "scope": 8490, + "src": "13252:36:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8486, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13252:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8489, + "name": "countedUntil", + "nodeType": "VariableDeclaration", + "scope": 8490, + "src": "13368:20:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8488, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13368:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "IntermediateResults", + "nodeType": "StructDefinition", + "scope": 8491, + "src": "12905:490:23", + "visibility": "public" + } + ], + "scope": 8492, + "src": "160:13237:23" + } + ], + "src": "0:13398:23" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoStructs.sol", + "exportedSymbols": { + "DaoStructs": [ + 8491 + ] + }, + "id": 8492, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 7925, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:23" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "file": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "id": 7926, + "nodeType": "ImportDirective", + "scope": 8492, + "sourceUnit": 25547, + "src": "26:72:23", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", + "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", + "id": 7927, + "nodeType": "ImportDirective", + "scope": 8492, + "sourceUnit": 26042, + "src": "99:59:23", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 8491, + "linearizedBaseContracts": [ + 8491 + ], + "name": "DaoStructs", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 7930, + "libraryName": { + "contractScope": null, + "id": 7928, + "name": "DoublyLinkedList", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25546, + "src": "191:16:23", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DoublyLinkedList_$25546", + "typeString": "library DoublyLinkedList" + } + }, + "nodeType": "UsingForDirective", + "src": "185:50:23", + "typeName": { + "contractScope": null, + "id": 7929, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "212:22:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + } + }, + { + "id": 7933, + "libraryName": { + "contractScope": null, + "id": 7931, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 26041, + "src": "246:8:23", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$26041", + "typeString": "library SafeMath" + } + }, + "nodeType": "UsingForDirective", + "src": "240:27:23", + "typeName": { + "id": 7932, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "259:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": true, + "id": 7938, + "name": "EMPTY_BYTES", + "nodeType": "VariableDeclaration", + "scope": 8491, + "src": "272:43:23", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7934, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "272:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 7936, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "311:3:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 7935, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "303:7:23", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 7937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "303:12:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "canonicalName": "DaoStructs.PrlAction", + "id": 7945, + "members": [ + { + "constant": false, + "id": 7940, + "name": "at", + "nodeType": "VariableDeclaration", + "scope": 7945, + "src": "407:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7939, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "407:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7942, + "name": "doc", + "nodeType": "VariableDeclaration", + "scope": 7945, + "src": "488:11:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7941, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "488:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7944, + "name": "actionId", + "nodeType": "VariableDeclaration", + "scope": 7945, + "src": "600:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7943, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "600:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "PrlAction", + "nodeType": "StructDefinition", + "scope": 8491, + "src": "322:301:23", + "visibility": "public" + }, + { + "canonicalName": "DaoStructs.Voting", + "id": 7970, + "members": [ + { + "constant": false, + "id": 7947, + "name": "startTime", + "nodeType": "VariableDeclaration", + "scope": 7970, + "src": "711:17:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7946, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "711:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7951, + "name": "usedCommits", + "nodeType": "VariableDeclaration", + "scope": 7970, + "src": "808:37:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + }, + "typeName": { + "id": 7950, + "keyType": { + "id": 7948, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "817:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "808:25:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", + "typeString": "mapping(bytes32 => bool)" + }, + "valueType": { + "id": 7949, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "828:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7955, + "name": "commits", + "nodeType": "VariableDeclaration", + "scope": 7970, + "src": "1187:36:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$", + "typeString": "mapping(address => bytes32)" + }, + "typeName": { + "id": 7954, + "keyType": { + "id": 7952, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1196:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1187:28:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$", + "typeString": "mapping(address => bytes32)" + }, + "valueType": { + "id": 7953, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1207:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7959, + "name": "yesVotes", + "nodeType": "VariableDeclaration", + "scope": 7970, + "src": "1529:37:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 7958, + "keyType": { + "id": 7956, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1538:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1529:28:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 7957, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1549:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7963, + "name": "noVotes", + "nodeType": "VariableDeclaration", + "scope": 7970, + "src": "1873:36:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 7962, + "keyType": { + "id": 7960, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1882:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1873:28:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 7961, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1893:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7965, + "name": "passed", + "nodeType": "VariableDeclaration", + "scope": 7970, + "src": "1978:11:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7964, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1978:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7967, + "name": "claimed", + "nodeType": "VariableDeclaration", + "scope": 7970, + "src": "2169:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7966, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2169:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7969, + "name": "funded", + "nodeType": "VariableDeclaration", + "scope": 7970, + "src": "2395:11:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7968, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2395:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Voting", + "nodeType": "StructDefinition", + "scope": 8491, + "src": "629:1784:23", + "visibility": "public" + }, + { + "canonicalName": "DaoStructs.ProposalVersion", + "id": 7985, + "members": [ + { + "constant": false, + "id": 7972, + "name": "docIpfsHash", + "nodeType": "VariableDeclaration", + "scope": 7985, + "src": "2509:19:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7971, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2509:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7974, + "name": "created", + "nodeType": "VariableDeclaration", + "scope": 7985, + "src": "2598:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7973, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2598:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7976, + "name": "milestoneCount", + "nodeType": "VariableDeclaration", + "scope": 7985, + "src": "2696:22:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7975, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2696:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7978, + "name": "finalReward", + "nodeType": "VariableDeclaration", + "scope": 7985, + "src": "2817:19:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7977, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2817:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7981, + "name": "milestoneFundings", + "nodeType": "VariableDeclaration", + "scope": 7985, + "src": "2954:27:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 7979, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2954:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7980, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2954:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7984, + "name": "moreDocs", + "nodeType": "VariableDeclaration", + "scope": 7985, + "src": "3275:18:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 7982, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3275:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 7983, + "length": null, + "nodeType": "ArrayTypeName", + "src": "3275:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "ProposalVersion", + "nodeType": "StructDefinition", + "scope": 8491, + "src": "2419:881:23", + "visibility": "public" + }, + { + "canonicalName": "DaoStructs.Proposal", + "id": 8021, + "members": [ + { + "constant": false, + "id": 7987, + "name": "proposalId", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "3411:18:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7986, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3411:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7989, + "name": "currentState", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "3549:20:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7988, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3549:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7991, + "name": "timeCreated", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "3639:19:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7990, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3639:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7993, + "name": "proposalVersionDocs", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "3756:42:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 7992, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "3756:22:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7997, + "name": "proposalVersions", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "3881:53:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion)" + }, + "typeName": { + "id": 7996, + "keyType": { + "id": 7994, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3890:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "3881:36:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion)" + }, + "valueType": { + "contractScope": null, + "id": 7995, + "name": "ProposalVersion", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7985, + "src": "3901:15:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage_ptr", + "typeString": "struct DaoStructs.ProposalVersion" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7999, + "name": "draftVoting", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "3997:18:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + }, + "typeName": { + "contractScope": null, + "id": 7998, + "name": "Voting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7970, + "src": "3997:6:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8003, + "name": "votingRounds", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "4365:40:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting)" + }, + "typeName": { + "id": 8002, + "keyType": { + "id": 8000, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4374:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "4365:27:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting)" + }, + "valueType": { + "contractScope": null, + "id": 8001, + "name": "Voting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7970, + "src": "4385:6:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8005, + "name": "collateralStatus", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "4709:24:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8004, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4709:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8007, + "name": "collateralAmount", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "4743:24:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8006, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4743:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8009, + "name": "finalVersion", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "4955:20:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8008, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4955:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8012, + "name": "prlActions", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "5092:22:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PrlAction_$7945_storage_$dyn_storage_ptr", + "typeString": "struct DaoStructs.PrlAction[]" + }, + "typeName": { + "baseType": { + "contractScope": null, + "id": 8010, + "name": "PrlAction", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7945, + "src": "5092:9:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PrlAction_$7945_storage_ptr", + "typeString": "struct DaoStructs.PrlAction" + } + }, + "id": 8011, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5092:11:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PrlAction_$7945_storage_$dyn_storage_ptr", + "typeString": "struct DaoStructs.PrlAction[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8014, + "name": "proposer", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "5181:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8013, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5181:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8016, + "name": "endorser", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "5270:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8015, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5270:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8018, + "name": "isPausedOrStopped", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "5369:22:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8017, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5369:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8020, + "name": "isDigix", + "nodeType": "VariableDeclaration", + "scope": 8021, + "src": "5472:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8019, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5472:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Proposal", + "nodeType": "StructDefinition", + "scope": 8491, + "src": "3306:2185:23", + "visibility": "public" + }, + { + "body": { + "id": 8094, + "nodeType": "Block", + "src": "5645:364:23", + "statements": [ + { + "assignments": [ + 8034 + ], + "declarations": [ + { + "constant": false, + "id": 8034, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 8095, + "src": "5655:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8033, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5655:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8037, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8035, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8026, + "src": "5668:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 8036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5668:16:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5655:29:23" + }, + { + "body": { + "id": 8092, + "nodeType": "Block", + "src": "5727:276:23", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8048, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8023, + "src": "5745:7:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 8049, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "yesVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7959, + "src": "5745:16:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8053, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8050, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8026, + "src": "5762:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 8052, + "indexExpression": { + "argumentTypes": null, + "id": 8051, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8039, + "src": "5772:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5762:12:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5745:30:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 8054, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5778:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5745:34:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8076, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8069, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8023, + "src": "5871:7:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 8070, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "noVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7963, + "src": "5871:15:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8074, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8071, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8026, + "src": "5887:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 8073, + "indexExpression": { + "argumentTypes": null, + "id": 8072, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8039, + "src": "5897:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5887:12:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5871:29:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 8075, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5903:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5871:33:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 8090, + "nodeType": "IfStatement", + "src": "5867:126:23", + "trueBody": { + "id": 8089, + "nodeType": "Block", + "src": "5906:87:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8077, + "name": "_against", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8031, + "src": "5924:8:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8080, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8023, + "src": "5948:7:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 8081, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "noVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7963, + "src": "5948:15:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8085, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8082, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8026, + "src": "5964:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 8084, + "indexExpression": { + "argumentTypes": null, + "id": 8083, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8039, + "src": "5974:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5964:12:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5948:29:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 8078, + "name": "_against", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8031, + "src": "5935:8:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "5935:12:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 8086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5935:43:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5924:54:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8088, + "nodeType": "ExpressionStatement", + "src": "5924:54:23" + } + ] + } + }, + "id": 8091, + "nodeType": "IfStatement", + "src": "5741:252:23", + "trueBody": { + "id": 8068, + "nodeType": "Block", + "src": "5781:80:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8056, + "name": "_for", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8029, + "src": "5799:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8059, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8023, + "src": "5815:7:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 8060, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "yesVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7959, + "src": "5815:16:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8064, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8061, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8026, + "src": "5832:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 8063, + "indexExpression": { + "argumentTypes": null, + "id": 8062, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8039, + "src": "5842:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5832:12:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5815:30:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 8057, + "name": "_for", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8029, + "src": "5806:4:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "5806:8:23", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 8065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5806:40:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5799:47:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8067, + "nodeType": "ExpressionStatement", + "src": "5799:47:23" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8042, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8039, + "src": "5714:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 8043, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8034, + "src": "5718:2:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5714:6:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8093, + "initializationExpression": { + "assignments": [ + 8039 + ], + "declarations": [ + { + "constant": false, + "id": 8039, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 8095, + "src": "5699:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8038, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5699:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8041, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 8040, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5711:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5699:13:23" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 8046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5722:3:23", + "subExpression": { + "argumentTypes": null, + "id": 8045, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8039, + "src": "5722:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8047, + "nodeType": "ExpressionStatement", + "src": "5722:3:23" + }, + "nodeType": "ForStatement", + "src": "5694:309:23" + } + ] + }, + "documentation": null, + "id": 8095, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "countVotes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8027, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8023, + "name": "_voting", + "nodeType": "VariableDeclaration", + "scope": 8095, + "src": "5517:22:23", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + }, + "typeName": { + "contractScope": null, + "id": 8022, + "name": "Voting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7970, + "src": "5517:6:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8026, + "name": "_allUsers", + "nodeType": "VariableDeclaration", + "scope": 8095, + "src": "5541:19:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 8024, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5541:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8025, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5541:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5516:45:23" + }, + "payable": false, + "returnParameters": { + "id": 8032, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8029, + "name": "_for", + "nodeType": "VariableDeclaration", + "scope": 8095, + "src": "5609:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8028, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5609:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8031, + "name": "_against", + "nodeType": "VariableDeclaration", + "scope": 8095, + "src": "5623:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8030, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5623:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5608:32:23" + }, + "scope": 8491, + "src": "5497:512:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 8202, + "nodeType": "Block", + "src": "6251:604:23", + "statements": [ + { + "assignments": [ + 8111 + ], + "declarations": [ + { + "constant": false, + "id": 8111, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 8203, + "src": "6261:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8110, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6261:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8114, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8112, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8100, + "src": "6274:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 8113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6274:16:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6261:29:23" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 8116, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 8203, + "src": "6300:9:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8115, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6300:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8117, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "6300:9:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8118, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8108, + "src": "6319:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 8119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6329:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6319:11:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8121, + "nodeType": "ExpressionStatement", + "src": "6319:11:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8122, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8106, + "src": "6340:7:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 8126, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8111, + "src": "6364:2:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 8125, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "6350:13:23", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", + "typeString": "function (uint256) pure returns (address[] memory)" + }, + "typeName": { + "baseType": { + "id": 8123, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6354:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8124, + "length": null, + "nodeType": "ArrayTypeName", + "src": "6354:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + } + }, + "id": 8127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6350:17:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "src": "6340:27:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 8129, + "nodeType": "ExpressionStatement", + "src": "6340:27:23" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 8132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8130, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8102, + "src": "6381:5:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 8131, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6390:4:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6381:13:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 8200, + "nodeType": "Block", + "src": "6626:223:23", + "statements": [ + { + "body": { + "id": 8198, + "nodeType": "Block", + "src": "6665:174:23", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8177, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8097, + "src": "6687:7:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 8178, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "noVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7963, + "src": "6687:15:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8182, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8179, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8100, + "src": "6703:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 8181, + "indexExpression": { + "argumentTypes": null, + "id": 8180, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8116, + "src": "6713:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6703:12:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6687:29:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 8183, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6719:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6687:33:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 8197, + "nodeType": "IfStatement", + "src": "6683:142:23", + "trueBody": { + "id": 8196, + "nodeType": "Block", + "src": "6722:103:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8185, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8106, + "src": "6744:7:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 8187, + "indexExpression": { + "argumentTypes": null, + "id": 8186, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8108, + "src": "6752:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6744:16:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8188, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8100, + "src": "6763:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 8190, + "indexExpression": { + "argumentTypes": null, + "id": 8189, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8116, + "src": "6773:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6763:12:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6744:31:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8192, + "nodeType": "ExpressionStatement", + "src": "6744:31:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "6797:9:23", + "subExpression": { + "argumentTypes": null, + "id": 8193, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8108, + "src": "6797:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8195, + "nodeType": "ExpressionStatement", + "src": "6797:9:23" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8171, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8116, + "src": "6652:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 8172, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8111, + "src": "6656:2:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6652:6:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8199, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 8169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8167, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8116, + "src": "6645:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 8168, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6649:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6645:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8170, + "nodeType": "ExpressionStatement", + "src": "6645:5:23" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 8175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "6660:3:23", + "subExpression": { + "argumentTypes": null, + "id": 8174, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8116, + "src": "6660:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8176, + "nodeType": "ExpressionStatement", + "src": "6660:3:23" + }, + "nodeType": "ForStatement", + "src": "6640:199:23" + } + ] + }, + "id": 8201, + "nodeType": "IfStatement", + "src": "6377:472:23", + "trueBody": { + "id": 8166, + "nodeType": "Block", + "src": "6396:224:23", + "statements": [ + { + "body": { + "id": 8164, + "nodeType": "Block", + "src": "6435:175:23", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8143, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8097, + "src": "6457:7:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 8144, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "yesVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7959, + "src": "6457:16:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8148, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8145, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8100, + "src": "6474:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 8147, + "indexExpression": { + "argumentTypes": null, + "id": 8146, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8116, + "src": "6484:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6474:12:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6457:30:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 8149, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6490:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6457:34:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 8163, + "nodeType": "IfStatement", + "src": "6453:143:23", + "trueBody": { + "id": 8162, + "nodeType": "Block", + "src": "6493:103:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8151, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8106, + "src": "6515:7:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 8153, + "indexExpression": { + "argumentTypes": null, + "id": 8152, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8108, + "src": "6523:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6515:16:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8154, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8100, + "src": "6534:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 8156, + "indexExpression": { + "argumentTypes": null, + "id": 8155, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8116, + "src": "6544:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6534:12:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6515:31:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8158, + "nodeType": "ExpressionStatement", + "src": "6515:31:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "6568:9:23", + "subExpression": { + "argumentTypes": null, + "id": 8159, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8108, + "src": "6568:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8161, + "nodeType": "ExpressionStatement", + "src": "6568:9:23" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8137, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8116, + "src": "6422:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 8138, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8111, + "src": "6426:2:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6422:6:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8165, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 8135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8133, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8116, + "src": "6415:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 8134, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6419:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6415:5:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8136, + "nodeType": "ExpressionStatement", + "src": "6415:5:23" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 8141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "6430:3:23", + "subExpression": { + "argumentTypes": null, + "id": 8140, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8116, + "src": "6430:1:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8142, + "nodeType": "ExpressionStatement", + "src": "6430:3:23" + }, + "nodeType": "ForStatement", + "src": "6410:200:23" + } + ] + } + } + ] + }, + "documentation": null, + "id": 8203, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "listVotes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8103, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8097, + "name": "_voting", + "nodeType": "VariableDeclaration", + "scope": 8203, + "src": "6100:22:23", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + }, + "typeName": { + "contractScope": null, + "id": 8096, + "name": "Voting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7970, + "src": "6100:6:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8100, + "name": "_allUsers", + "nodeType": "VariableDeclaration", + "scope": 8203, + "src": "6124:19:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 8098, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6124:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8099, + "length": null, + "nodeType": "ArrayTypeName", + "src": "6124:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8102, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 8203, + "src": "6145:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8101, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6145:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6099:57:23" + }, + "payable": false, + "returnParameters": { + "id": 8109, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8106, + "name": "_voters", + "nodeType": "VariableDeclaration", + "scope": 8203, + "src": "6204:24:23", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 8104, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6204:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8105, + "length": null, + "nodeType": "ArrayTypeName", + "src": "6204:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8108, + "name": "_length", + "nodeType": "VariableDeclaration", + "scope": 8203, + "src": "6230:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8107, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6230:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6203:43:23" + }, + "scope": 8491, + "src": "6081:774:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 8245, + "nodeType": "Block", + "src": "6997:286:23", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8214, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8205, + "src": "7011:7:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 8215, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "yesVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7959, + "src": "7011:16:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8217, + "indexExpression": { + "argumentTypes": null, + "id": 8216, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8207, + "src": "7028:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7011:24:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 8218, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7038:1:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7011:28:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 8243, + "nodeType": "Block", + "src": "7132:145:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8232, + "name": "_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8212, + "src": "7146:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8233, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8205, + "src": "7156:7:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 8234, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "noVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7963, + "src": "7156:15:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8236, + "indexExpression": { + "argumentTypes": null, + "id": 8235, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8207, + "src": "7172:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7156:23:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7146:33:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8238, + "nodeType": "ExpressionStatement", + "src": "7146:33:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8239, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8210, + "src": "7253:5:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 8240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7261:5:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "7253:13:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8242, + "nodeType": "ExpressionStatement", + "src": "7253:13:23" + } + ] + }, + "id": 8244, + "nodeType": "IfStatement", + "src": "7007:270:23", + "trueBody": { + "id": 8231, + "nodeType": "Block", + "src": "7041:85:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8220, + "name": "_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8212, + "src": "7055:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8221, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8205, + "src": "7065:7:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 8222, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "yesVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7959, + "src": "7065:16:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8224, + "indexExpression": { + "argumentTypes": null, + "id": 8223, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8207, + "src": "7082:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7065:24:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7055:34:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8226, + "nodeType": "ExpressionStatement", + "src": "7055:34:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8227, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8210, + "src": "7103:5:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 8228, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7111:4:23", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "7103:12:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8230, + "nodeType": "ExpressionStatement", + "src": "7103:12:23" + } + ] + } + } + ] + }, + "documentation": null, + "id": 8246, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8208, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8205, + "name": "_voting", + "nodeType": "VariableDeclaration", + "scope": 8246, + "src": "6879:22:23", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + }, + "typeName": { + "contractScope": null, + "id": 8204, + "name": "Voting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7970, + "src": "6879:6:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8207, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 8246, + "src": "6903:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8206, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6903:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6878:40:23" + }, + "payable": false, + "returnParameters": { + "id": 8213, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8210, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 8246, + "src": "6964:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8209, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6964:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8212, + "name": "_weight", + "nodeType": "VariableDeclaration", + "scope": 8246, + "src": "6976:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8211, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6976:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6963:29:23" + }, + "scope": 8491, + "src": "6861:422:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 8277, + "nodeType": "Block", + "src": "7435:150:23", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 8257, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8252, + "src": "7449:5:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 8275, + "nodeType": "Block", + "src": "7521:58:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8267, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8248, + "src": "7535:7:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 8270, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "noVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7963, + "src": "7535:15:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8271, + "indexExpression": { + "argumentTypes": null, + "id": 8269, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8250, + "src": "7551:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7535:23:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8272, + "name": "_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8254, + "src": "7561:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7535:33:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8274, + "nodeType": "ExpressionStatement", + "src": "7535:33:23" + } + ] + }, + "id": 8276, + "nodeType": "IfStatement", + "src": "7445:134:23", + "trueBody": { + "id": 8266, + "nodeType": "Block", + "src": "7456:59:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8258, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8248, + "src": "7470:7:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 8261, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "yesVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7959, + "src": "7470:16:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 8262, + "indexExpression": { + "argumentTypes": null, + "id": 8260, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8250, + "src": "7487:6:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7470:24:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8263, + "name": "_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8254, + "src": "7497:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7470:34:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8265, + "nodeType": "ExpressionStatement", + "src": "7470:34:23" + } + ] + } + } + ] + }, + "documentation": null, + "id": 8278, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "revealVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8255, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8248, + "name": "_voting", + "nodeType": "VariableDeclaration", + "scope": 8278, + "src": "7318:22:23", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + }, + "typeName": { + "contractScope": null, + "id": 8247, + "name": "Voting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7970, + "src": "7318:6:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8250, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 8278, + "src": "7350:14:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8249, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7350:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8252, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 8278, + "src": "7374:10:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8251, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7374:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8254, + "name": "_weight", + "nodeType": "VariableDeclaration", + "scope": 8278, + "src": "7394:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8253, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7394:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7308:107:23" + }, + "payable": false, + "returnParameters": { + "id": 8256, + "nodeType": "ParameterList", + "parameters": [], + "src": "7435:0:23" + }, + "scope": 8491, + "src": "7289:296:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 8312, + "nodeType": "Block", + "src": "7837:183:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8292, + "name": "_doc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8283, + "src": "7847:4:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8293, + "name": "_version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8280, + "src": "7854:8:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage_ptr", + "typeString": "struct DaoStructs.ProposalVersion storage pointer" + } + }, + "id": 8294, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "docIpfsHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 7972, + "src": "7854:20:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "7847:27:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 8296, + "nodeType": "ExpressionStatement", + "src": "7847:27:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8297, + "name": "_created", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8285, + "src": "7884:8:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8298, + "name": "_version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8280, + "src": "7895:8:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage_ptr", + "typeString": "struct DaoStructs.ProposalVersion storage pointer" + } + }, + "id": 8299, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "created", + "nodeType": "MemberAccess", + "referencedDeclaration": 7974, + "src": "7895:16:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7884:27:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8301, + "nodeType": "ExpressionStatement", + "src": "7884:27:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8302, + "name": "_milestoneFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8288, + "src": "7921:18:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8303, + "name": "_version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8280, + "src": "7942:8:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage_ptr", + "typeString": "struct DaoStructs.ProposalVersion storage pointer" + } + }, + "id": 8304, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "milestoneFundings", + "nodeType": "MemberAccess", + "referencedDeclaration": 7981, + "src": "7942:26:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "src": "7921:47:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 8306, + "nodeType": "ExpressionStatement", + "src": "7921:47:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8307, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8290, + "src": "7978:12:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8308, + "name": "_version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8280, + "src": "7993:8:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage_ptr", + "typeString": "struct DaoStructs.ProposalVersion storage pointer" + } + }, + "id": 8309, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "finalReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 7978, + "src": "7993:20:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7978:35:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8311, + "nodeType": "ExpressionStatement", + "src": "7978:35:23" + } + ] + }, + "documentation": null, + "id": 8313, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readVersion", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8281, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8280, + "name": "_version", + "nodeType": "VariableDeclaration", + "scope": 8313, + "src": "7612:32:23", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage_ptr", + "typeString": "struct DaoStructs.ProposalVersion" + }, + "typeName": { + "contractScope": null, + "id": 8279, + "name": "ProposalVersion", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7985, + "src": "7612:15:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage_ptr", + "typeString": "struct DaoStructs.ProposalVersion" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7611:34:23" + }, + "payable": false, + "returnParameters": { + "id": 8291, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8283, + "name": "_doc", + "nodeType": "VariableDeclaration", + "scope": 8313, + "src": "7704:12:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8282, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7704:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8285, + "name": "_created", + "nodeType": "VariableDeclaration", + "scope": 8313, + "src": "7730:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8284, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7730:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8288, + "name": "_milestoneFundings", + "nodeType": "VariableDeclaration", + "scope": 8313, + "src": "7760:28:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 8286, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7760:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8287, + "length": null, + "nodeType": "ArrayTypeName", + "src": "7760:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8290, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 8313, + "src": "7802:20:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8289, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7802:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7690:142:23" + }, + "scope": 8491, + "src": "7591:429:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 8372, + "nodeType": "Block", + "src": "8335:562:23", + "statements": [ + { + "assignments": [ + 8323 + ], + "declarations": [ + { + "constant": false, + "id": 8323, + "name": "_finalVersion", + "nodeType": "VariableDeclaration", + "scope": 8373, + "src": "8345:21:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8322, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8345:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8326, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8324, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8315, + "src": "8369:9:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 8325, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "finalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8009, + "src": "8369:22:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8345:46:23" + }, + { + "assignments": [ + 8328 + ], + "declarations": [ + { + "constant": false, + "id": 8328, + "name": "_milestoneCount", + "nodeType": "VariableDeclaration", + "scope": 8373, + "src": "8401:23:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8327, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8401:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8335, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8329, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8315, + "src": "8427:9:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 8330, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "8427:26:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 8332, + "indexExpression": { + "argumentTypes": null, + "id": 8331, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8323, + "src": "8454:13:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8427:41:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 8333, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "milestoneFundings", + "nodeType": "MemberAccess", + "referencedDeclaration": 7981, + "src": "8427:59:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 8334, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8427:66:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8401:92:23" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8337, + "name": "_milestoneIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8317, + "src": "8511:15:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 8338, + "name": "_milestoneCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8328, + "src": "8530:15:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8511:34:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 8336, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "8503:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 8340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8503:43:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8341, + "nodeType": "ExpressionStatement", + "src": "8503:43:23" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 8345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8343, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8323, + "src": "8564:13:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 8344, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7938, + "src": "8581:11:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "8564:28:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 8342, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "8556:7:23", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 8346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8556:37:23", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8347, + "nodeType": "ExpressionStatement", + "src": "8556:37:23" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8348, + "name": "_milestoneIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8317, + "src": "8649:15:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 8349, + "name": "_milestoneCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8328, + "src": "8667:15:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8649:33:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 8370, + "nodeType": "Block", + "src": "8802:89:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8362, + "name": "_funding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8320, + "src": "8816:8:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8363, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8315, + "src": "8827:9:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 8364, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "8827:26:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 8366, + "indexExpression": { + "argumentTypes": null, + "id": 8365, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8323, + "src": "8854:13:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8827:41:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 8367, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "finalReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 7978, + "src": "8827:53:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8816:64:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8369, + "nodeType": "ExpressionStatement", + "src": "8816:64:23" + } + ] + }, + "id": 8371, + "nodeType": "IfStatement", + "src": "8645:246:23", + "trueBody": { + "id": 8361, + "nodeType": "Block", + "src": "8684:112:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8351, + "name": "_funding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8320, + "src": "8698:8:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8352, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8315, + "src": "8709:9:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 8353, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "8709:26:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 8355, + "indexExpression": { + "argumentTypes": null, + "id": 8354, + "name": "_finalVersion", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8323, + "src": "8736:13:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8709:41:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 8356, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "milestoneFundings", + "nodeType": "MemberAccess", + "referencedDeclaration": 7981, + "src": "8709:59:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 8358, + "indexExpression": { + "argumentTypes": null, + "id": 8357, + "name": "_milestoneIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8317, + "src": "8769:15:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8709:76:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8698:87:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8360, + "nodeType": "ExpressionStatement", + "src": "8698:87:23" + } + ] + } + } + ] + }, + "documentation": null, + "id": 8373, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "readProposalMilestone", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8318, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8315, + "name": "_proposal", + "nodeType": "VariableDeclaration", + "scope": 8373, + "src": "8215:26:23", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + }, + "typeName": { + "contractScope": null, + "id": 8314, + "name": "Proposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8021, + "src": "8215:8:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8317, + "name": "_milestoneIndex", + "nodeType": "VariableDeclaration", + "scope": 8373, + "src": "8243:23:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8316, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8243:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8214:53:23" + }, + "payable": false, + "returnParameters": { + "id": 8321, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8320, + "name": "_funding", + "nodeType": "VariableDeclaration", + "scope": 8373, + "src": "8313:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8319, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8313:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8312:18:23" + }, + "scope": 8491, + "src": "8184:713:23", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 8439, + "nodeType": "Block", + "src": "9088:438:23", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 8390, + "name": "_newDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8377, + "src": "9135:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8385, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8375, + "src": "9098:9:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 8388, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersionDocs", + "nodeType": "MemberAccess", + "referencedDeclaration": 7993, + "src": "9098:29:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 8389, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "9098:36:23", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 8391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9098:45:23", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8392, + "nodeType": "ExpressionStatement", + "src": "9098:45:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8393, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8375, + "src": "9153:9:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 8396, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "9153:26:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 8397, + "indexExpression": { + "argumentTypes": null, + "id": 8395, + "name": "_newDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8377, + "src": "9180:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9153:35:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 8398, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "docIpfsHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 7972, + "src": "9153:47:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8399, + "name": "_newDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8377, + "src": "9203:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "9153:57:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 8401, + "nodeType": "ExpressionStatement", + "src": "9153:57:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8402, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8375, + "src": "9220:9:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 8405, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "9220:26:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 8406, + "indexExpression": { + "argumentTypes": null, + "id": 8404, + "name": "_newDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8377, + "src": "9247:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9220:35:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 8407, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "created", + "nodeType": "MemberAccess", + "referencedDeclaration": 7974, + "src": "9220:43:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8408, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "9266:3:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9220:49:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8410, + "nodeType": "ExpressionStatement", + "src": "9220:49:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8411, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8375, + "src": "9279:9:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 8414, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "9279:26:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 8415, + "indexExpression": { + "argumentTypes": null, + "id": 8413, + "name": "_newDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8377, + "src": "9306:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9279:35:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 8416, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "milestoneCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7976, + "src": "9279:50:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8417, + "name": "_newMilestoneFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8380, + "src": "9332:21:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 8418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "9332:28:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9279:81:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8420, + "nodeType": "ExpressionStatement", + "src": "9279:81:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8421, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8375, + "src": "9370:9:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 8424, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "9370:26:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 8425, + "indexExpression": { + "argumentTypes": null, + "id": 8423, + "name": "_newDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8377, + "src": "9397:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9370:35:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 8426, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "milestoneFundings", + "nodeType": "MemberAccess", + "referencedDeclaration": 7981, + "src": "9370:53:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8427, + "name": "_newMilestoneFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8380, + "src": "9426:21:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "9370:77:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 8429, + "nodeType": "ExpressionStatement", + "src": "9370:77:23" + }, + { + "expression": { + "argumentTypes": null, + "id": 8437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8430, + "name": "_proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8375, + "src": "9457:9:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal storage pointer" + } + }, + "id": 8433, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "9457:26:23", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 8434, + "indexExpression": { + "argumentTypes": null, + "id": 8432, + "name": "_newDoc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8377, + "src": "9484:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9457:35:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 8435, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "finalReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 7978, + "src": "9457:47:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8436, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8382, + "src": "9507:12:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9457:62:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8438, + "nodeType": "ExpressionStatement", + "src": "9457:62:23" + } + ] + }, + "documentation": null, + "id": 8440, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addProposalVersion", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8383, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8375, + "name": "_proposal", + "nodeType": "VariableDeclaration", + "scope": 8440, + "src": "8940:26:23", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + }, + "typeName": { + "contractScope": null, + "id": 8374, + "name": "Proposal", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8021, + "src": "8940:8:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage_ptr", + "typeString": "struct DaoStructs.Proposal" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8377, + "name": "_newDoc", + "nodeType": "VariableDeclaration", + "scope": 8440, + "src": "8976:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8376, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8976:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8380, + "name": "_newMilestoneFundings", + "nodeType": "VariableDeclaration", + "scope": 8440, + "src": "9001:31:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 8378, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9001:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8379, + "length": null, + "nodeType": "ArrayTypeName", + "src": "9001:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8382, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 8440, + "src": "9042:20:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8381, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9042:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8930:138:23" + }, + "payable": false, + "returnParameters": { + "id": 8384, + "nodeType": "ParameterList", + "parameters": [], + "src": "9088:0:23" + }, + "scope": 8491, + "src": "8903:623:23", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "canonicalName": "DaoStructs.SpecialProposal", + "id": 8458, + "members": [ + { + "constant": false, + "id": 8442, + "name": "proposalId", + "nodeType": "VariableDeclaration", + "scope": 8458, + "src": "9656:18:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8441, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9656:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8444, + "name": "timeCreated", + "nodeType": "VariableDeclaration", + "scope": 8458, + "src": "9744:19:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8443, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9744:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8446, + "name": "voting", + "nodeType": "VariableDeclaration", + "scope": 8458, + "src": "9824:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + }, + "typeName": { + "contractScope": null, + "id": 8445, + "name": "Voting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7970, + "src": "9824:6:23", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8449, + "name": "uintConfigs", + "nodeType": "VariableDeclaration", + "scope": 8458, + "src": "9919:21:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 8447, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9919:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8448, + "length": null, + "nodeType": "ArrayTypeName", + "src": "9919:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8452, + "name": "addressConfigs", + "nodeType": "VariableDeclaration", + "scope": 8458, + "src": "10022:24:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 8450, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10022:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8451, + "length": null, + "nodeType": "ArrayTypeName", + "src": "10022:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8455, + "name": "bytesConfigs", + "nodeType": "VariableDeclaration", + "scope": 8458, + "src": "10128:22:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 8453, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10128:7:23", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 8454, + "length": null, + "nodeType": "ArrayTypeName", + "src": "10128:9:23", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8457, + "name": "proposer", + "nodeType": "VariableDeclaration", + "scope": 8458, + "src": "10347:16:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8456, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10347:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "SpecialProposal", + "nodeType": "StructDefinition", + "scope": 8491, + "src": "9532:838:23", + "visibility": "public" + }, + { + "canonicalName": "DaoStructs.DaoQuarterInfo", + "id": 8481, + "members": [ + { + "constant": false, + "id": 8460, + "name": "minimalParticipationPoint", + "nodeType": "VariableDeclaration", + "scope": 8481, + "src": "10665:33:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8459, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10665:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8462, + "name": "quarterPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 8481, + "src": "10757:33:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8461, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10757:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8464, + "name": "reputationPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 8481, + "src": "10852:36:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8463, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10852:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8466, + "name": "totalEffectiveDGDPreviousQuarter", + "nodeType": "VariableDeclaration", + "scope": 8481, + "src": "11366:40:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8465, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11366:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8468, + "name": "moderatorMinimalParticipationPoint", + "nodeType": "VariableDeclaration", + "scope": 8481, + "src": "11539:42:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8467, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11539:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8470, + "name": "moderatorQuarterPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 8481, + "src": "11650:42:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8469, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11650:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8472, + "name": "moderatorReputationPointScalingFactor", + "nodeType": "VariableDeclaration", + "scope": 8481, + "src": "11764:45:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8471, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11764:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8474, + "name": "totalEffectiveModeratorDGDLastQuarter", + "nodeType": "VariableDeclaration", + "scope": 8481, + "src": "11892:45:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8473, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11892:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8476, + "name": "dgxDistributionDay", + "nodeType": "VariableDeclaration", + "scope": 8481, + "src": "12054:26:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8475, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12054:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8478, + "name": "dgxRewardsPoolLastQuarter", + "nodeType": "VariableDeclaration", + "scope": 8481, + "src": "12424:33:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8477, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12424:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8480, + "name": "sumRewardsFromBeginning", + "nodeType": "VariableDeclaration", + "scope": 8481, + "src": "12548:31:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8479, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12548:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "DaoQuarterInfo", + "nodeType": "StructDefinition", + "scope": 8491, + "src": "10535:2051:23", + "visibility": "public" + }, + { + "canonicalName": "DaoStructs.IntermediateResults", + "id": 8490, + "members": [ + { + "constant": false, + "id": 8483, + "name": "currentForCount", + "nodeType": "VariableDeclaration", + "scope": 8490, + "src": "13021:23:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8482, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13021:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8485, + "name": "currentAgainstCount", + "nodeType": "VariableDeclaration", + "scope": 8490, + "src": "13138:27:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8484, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13138:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8487, + "name": "currentSumOfEffectiveBalance", + "nodeType": "VariableDeclaration", + "scope": 8490, + "src": "13252:36:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8486, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13252:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8489, + "name": "countedUntil", + "nodeType": "VariableDeclaration", + "scope": 8490, + "src": "13368:20:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8488, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13368:7:23", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "IntermediateResults", + "nodeType": "StructDefinition", + "scope": 8491, + "src": "12905:490:23", + "visibility": "public" + } + ], + "scope": 8492, + "src": "160:13237:23" + } + ], + "src": "0:13398:23" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": { + "DoublyLinkedList": "0x5dcbac109092766a169a82b9add3551bac7068f6" + }, + "address": "0xfbee614dcfa54c561e532eff217c2e0c63dcd64f", + "transactionHash": "0x828eb57a20ca0d3f19b322c84e81cee2b2a2f56c69fd5a3aaf5a94637e9f35f1" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T10:33:53.846Z" +} \ No newline at end of file diff --git a/build/contracts/DaoUpgradeStorage.json b/build/contracts/DaoUpgradeStorage.json new file mode 100644 index 0000000..c864d6d --- /dev/null +++ b/build/contracts/DaoUpgradeStorage.json @@ -0,0 +1,2476 @@ +{ + "contractName": "DaoUpgradeStorage", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "newDaoContract", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isReplacedByNewDao", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "newDaoRewardsManager", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "newDaoFundingManager", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "startOfFirstQuarter", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_start", + "type": "uint256" + } + ], + "name": "setStartOfFirstQuarter", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_newDaoContract", + "type": "address" + }, + { + "name": "_newDaoFundingManager", + "type": "address" + }, + { + "name": "_newDaoRewardsManager", + "type": "address" + } + ], + "name": "setNewContractAddresses", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "updateForDaoMigration", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f9060001916905534801561113357600080fd5b50604051602080611c6f8339810180604052810190808051906020019092919050505061117160275482611182640100000000026401000000009004565b151561117c57600080fd5b5061140a565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156111e957600080fd5b505af11580156111fd573d6000803e3d6000fd5b505050506040513d602081101561121357600080fd5b810190808051906020019092919050505090506000151581151514156113fe5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156113af57600080fd5b505af11580156113c3573d6000803e3d6000fd5b505050506040513d60208110156113d957600080fd5b810190808051906020019092919050505015156113f557600080fd5b60019150611403565b600091505b5092915050565b610856806114196000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100bf5780633943380c146101165780633c952b16146101495780633f83acff146101a05780635b30f1cc146102115780638bc865fd1461023e5780638c0c28261461026d5780639c767e37146102c4578063d9c6bb201461031b578063db4ecbc114610346578063ef7ad2dc1461039d578063efa6b9df14610420575b600080fd5b3480156100cb57600080fd5b506100d4610437565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561012257600080fd5b5061012b61045c565b60405180826000191660001916815260200191505060405180910390f35b34801561015557600080fd5b5061015e610462565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101ac57600080fd5b506101cf6004803603810190808035600019169060200190929190505050610488565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561021d57600080fd5b5061023c60048036038101908080359060200190929190505050610564565b005b34801561024a57600080fd5b50610253610584565b604051808215151515815260200191505060405180910390f35b34801561027957600080fd5b50610282610597565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102d057600080fd5b506102d96105bd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032757600080fd5b506103306105e3565b6040518082815260200191505060405180910390f35b34801561035257600080fd5b5061035b6105e9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103a957600080fd5b5061041e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061060f565b005b34801561042c57600080fd5b506104356106ed565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b607160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561052257600080fd5b505af1158015610536573d6000803e3d6000fd5b505050506040513d602081101561054c57600080fd5b81019080805190602001909291905050509050919050565b61056f601454610720565b151561057a57600080fd5b8060708190555050565b607160009054906101000a900460ff1681565b607360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b607260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60705481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61061a601454610720565b151561062557600080fd5b82607160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081607260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080607360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b6106f8601454610720565b151561070357600080fd5b6001607160006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156107ba57600080fd5b505af11580156107ce573d6000803e3d6000fd5b505050506040513d60208110156107e457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161490509190505600a165627a7a723058207fdfcfcd90fe11d69025f5b515468a82397af06b72b971abb50860246ee3340f0029", + "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100bf5780633943380c146101165780633c952b16146101495780633f83acff146101a05780635b30f1cc146102115780638bc865fd1461023e5780638c0c28261461026d5780639c767e37146102c4578063d9c6bb201461031b578063db4ecbc114610346578063ef7ad2dc1461039d578063efa6b9df14610420575b600080fd5b3480156100cb57600080fd5b506100d4610437565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561012257600080fd5b5061012b61045c565b60405180826000191660001916815260200191505060405180910390f35b34801561015557600080fd5b5061015e610462565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101ac57600080fd5b506101cf6004803603810190808035600019169060200190929190505050610488565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561021d57600080fd5b5061023c60048036038101908080359060200190929190505050610564565b005b34801561024a57600080fd5b50610253610584565b604051808215151515815260200191505060405180910390f35b34801561027957600080fd5b50610282610597565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102d057600080fd5b506102d96105bd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032757600080fd5b506103306105e3565b6040518082815260200191505060405180910390f35b34801561035257600080fd5b5061035b6105e9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103a957600080fd5b5061041e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061060f565b005b34801561042c57600080fd5b506104356106ed565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b607160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561052257600080fd5b505af1158015610536573d6000803e3d6000fd5b505050506040513d602081101561054c57600080fd5b81019080805190602001909291905050509050919050565b61056f601454610720565b151561057a57600080fd5b8060708190555050565b607160009054906101000a900460ff1681565b607360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b607260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60705481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61061a601454610720565b151561062557600080fd5b82607160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081607260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080607360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b6106f8601454610720565b151561070357600080fd5b6001607160006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156107ba57600080fd5b505af11580156107ce573d6000803e3d6000fd5b505050506040513d60208110156107e457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161490509190505600a165627a7a723058207fdfcfcd90fe11d69025f5b515468a82397af06b72b971abb50860246ee3340f0029", + "sourceMap": "129:2050:61:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;1382:109:61;8:9:-1;5:2;;;30:1;27;20:12;5:2;1382:109:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1438:45;1443:28;;1473:9;1438:4;;;:45;;;:::i;:::-;1430:54;;;;;;;;1382:109;129:2050;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;129:2050:61:-;;;;;;;", + "deployedSourceMap": "129:2050:61:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;939:29:61;;8:9:-1;5:2;;;30:1;27;20:12;5:2;939:29:61;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1497:154:61;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1497:154:61;;;;;;;;;;;;;;;;;;;;;;;;;;851:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;851:30:61;;;;;;;;;;;;;;;;;;;;;;;;;;;1340:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1340:35:61;;;;;;;;;;;;;;;;;;;;;;;;;;;1137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1137:35:61;;;;;;;;;;;;;;;;;;;;;;;;;;;349:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;349:34:61;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;1662:368:61;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1662:368:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2041:136;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2041:136:61;;;;;;237:23:67;;;;;;;;;;;;;:::o;264:18::-;;;;:::o;939:29:61:-;;;;;;;;;;;;;:::o;2380:179:67:-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;1497:154:61:-;1582:23;1592:12;;1582:9;:23::i;:::-;1574:32;;;;;;;;1638:6;1616:19;:28;;;;1497:154;:::o;851:30::-;;;;;;;;;;;;;:::o;1340:35::-;;;;;;;;;;;;;:::o;1137:::-;;;;;;;;;;;;;:::o;349:34::-;;;;:::o;344:31:67:-;;;;;;;;;;;;;:::o;1662:368:61:-;1849:23;1859:12;;1849:9;:23::i;:::-;1841:32;;;;;;;;1900:15;1883:14;;:32;;;;;;;;;;;;;;;;;;1948:21;1925:20;;:44;;;;;;;;;;;;;;;;;;2002:21;1979:20;;:44;;;;;;;;;;;;;;;;;;1662:368;;;:::o;2041:136::-;2111:23;2121:12;;2111:9;:23::i;:::-;2103:32;;;;;;;;2166:4;2145:18;;:25;;;;;;;;;;;;;;;;;;2041:136::o;610:160:67:-;671:12;732:8;;;;;;;;;;;715:39;;;755:9;715:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;715:50:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;715:50:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;715:50:67;;;;;;;;;;;;;;;;701:64;;:10;:64;;;691:74;;610:160;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"@digix/cacp-contracts-dao/contracts/ResolverClient.sol\";\nimport \"../common/DaoConstants.sol\";\n\ncontract DaoUpgradeStorage is ResolverClient, DaoConstants {\n\n // this UTC timestamp marks the start of the first quarter\n // of DigixDAO. All time related calculations in DaoCommon\n // depend on this value\n uint256 public startOfFirstQuarter;\n\n // this boolean marks whether the DAO contracts have been replaced\n // by newer versions or not. The process of migration is done by deploying\n // a new set of contracts, transferring funds from these contracts to the new ones\n // migrating some state variables, and finally setting this boolean to true\n // All operations in these contracts that may transfer tokens, claim ether,\n // boost one's reputation, etc. SHOULD fail if this is true\n bool public isReplacedByNewDao;\n\n // this is the address of the new Dao contract\n address public newDaoContract;\n\n // this is the address of the new DaoFundingManager contract\n // ether funds will be moved from the current version's contract to this\n // new contract\n address public newDaoFundingManager;\n\n // this is the address of the new DaoRewardsManager contract\n // DGX funds will be moved from the current version of contract to this\n // new contract\n address public newDaoRewardsManager;\n\n constructor(address _resolver) public {\n require(init(CONTRACT_STORAGE_DAO_UPGRADE, _resolver));\n }\n\n function setStartOfFirstQuarter(uint256 _start)\n public\n {\n require(sender_is(CONTRACT_DAO));\n startOfFirstQuarter = _start;\n }\n\n \n function setNewContractAddresses(\n address _newDaoContract,\n address _newDaoFundingManager,\n address _newDaoRewardsManager\n )\n public\n {\n require(sender_is(CONTRACT_DAO));\n newDaoContract = _newDaoContract;\n newDaoFundingManager = _newDaoFundingManager;\n newDaoRewardsManager = _newDaoRewardsManager;\n }\n\n \n function updateForDaoMigration()\n public\n {\n require(sender_is(CONTRACT_DAO));\n isReplacedByNewDao = true;\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoUpgradeStorage.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoUpgradeStorage.sol", + "exportedSymbols": { + "DaoUpgradeStorage": [ + 18394 + ] + }, + "id": 18395, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 18306, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:61" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 18307, + "nodeType": "ImportDirective", + "scope": 18395, + "sourceUnit": 19059, + "src": "26:64:61", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "../common/DaoConstants.sol", + "id": 18308, + "nodeType": "ImportDirective", + "scope": 18395, + "sourceUnit": 1581, + "src": "91:36:61", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 18309, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "159:14:61", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 18310, + "nodeType": "InheritanceSpecifier", + "src": "159:14:61" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 18311, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "175:12:61", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 18312, + "nodeType": "InheritanceSpecifier", + "src": "175:12:61" + } + ], + "contractDependencies": [ + 1580, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 18394, + "linearizedBaseContracts": [ + 18394, + 1580, + 19058 + ], + "name": "DaoUpgradeStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 18314, + "name": "startOfFirstQuarter", + "nodeType": "VariableDeclaration", + "scope": 18394, + "src": "349:34:61", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18313, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "349:7:61", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 18316, + "name": "isReplacedByNewDao", + "nodeType": "VariableDeclaration", + "scope": 18394, + "src": "851:30:61", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18315, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "851:4:61", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 18318, + "name": "newDaoContract", + "nodeType": "VariableDeclaration", + "scope": 18394, + "src": "939:29:61", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18317, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "939:7:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 18320, + "name": "newDaoFundingManager", + "nodeType": "VariableDeclaration", + "scope": 18394, + "src": "1137:35:61", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18319, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1137:7:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 18322, + "name": "newDaoRewardsManager", + "nodeType": "VariableDeclaration", + "scope": 18394, + "src": "1340:35:61", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18321, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1340:7:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 18334, + "nodeType": "Block", + "src": "1420:71:61", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18329, + "name": "CONTRACT_STORAGE_DAO_UPGRADE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1354, + "src": "1443:28:61", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 18330, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18324, + "src": "1473:9:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 18328, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "1438:4:61", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 18331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1438:45:61", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18327, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1430:7:61", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1430:54:61", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18333, + "nodeType": "ExpressionStatement", + "src": "1430:54:61" + } + ] + }, + "documentation": null, + "id": 18335, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18325, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18324, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 18335, + "src": "1394:17:61", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18323, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1394:7:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1393:19:61" + }, + "payable": false, + "returnParameters": { + "id": 18326, + "nodeType": "ParameterList", + "parameters": [], + "src": "1420:0:61" + }, + "scope": 18394, + "src": "1382:109:61", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18350, + "nodeType": "Block", + "src": "1564:87:61", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18342, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "1592:12:61", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18341, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "1582:9:61", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 18343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1582:23:61", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18340, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1574:7:61", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1574:32:61", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18345, + "nodeType": "ExpressionStatement", + "src": "1574:32:61" + }, + { + "expression": { + "argumentTypes": null, + "id": 18348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18346, + "name": "startOfFirstQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18314, + "src": "1616:19:61", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18347, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18337, + "src": "1638:6:61", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1616:28:61", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18349, + "nodeType": "ExpressionStatement", + "src": "1616:28:61" + } + ] + }, + "documentation": null, + "id": 18351, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setStartOfFirstQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18338, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18337, + "name": "_start", + "nodeType": "VariableDeclaration", + "scope": 18351, + "src": "1529:14:61", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18336, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1529:7:61", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1528:16:61" + }, + "payable": false, + "returnParameters": { + "id": 18339, + "nodeType": "ParameterList", + "parameters": [], + "src": "1564:0:61" + }, + "scope": 18394, + "src": "1497:154:61", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18378, + "nodeType": "Block", + "src": "1831:199:61", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18362, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "1859:12:61", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18361, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "1849:9:61", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 18363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1849:23:61", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18360, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1841:7:61", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1841:32:61", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18365, + "nodeType": "ExpressionStatement", + "src": "1841:32:61" + }, + { + "expression": { + "argumentTypes": null, + "id": 18368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18366, + "name": "newDaoContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18318, + "src": "1883:14:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18367, + "name": "_newDaoContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18353, + "src": "1900:15:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1883:32:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18369, + "nodeType": "ExpressionStatement", + "src": "1883:32:61" + }, + { + "expression": { + "argumentTypes": null, + "id": 18372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18370, + "name": "newDaoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18320, + "src": "1925:20:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18371, + "name": "_newDaoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18355, + "src": "1948:21:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1925:44:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18373, + "nodeType": "ExpressionStatement", + "src": "1925:44:61" + }, + { + "expression": { + "argumentTypes": null, + "id": 18376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18374, + "name": "newDaoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "1979:20:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18375, + "name": "_newDaoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18357, + "src": "2002:21:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1979:44:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18377, + "nodeType": "ExpressionStatement", + "src": "1979:44:61" + } + ] + }, + "documentation": null, + "id": 18379, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setNewContractAddresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18358, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18353, + "name": "_newDaoContract", + "nodeType": "VariableDeclaration", + "scope": 18379, + "src": "1704:23:61", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18352, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1704:7:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18355, + "name": "_newDaoFundingManager", + "nodeType": "VariableDeclaration", + "scope": 18379, + "src": "1737:29:61", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18354, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1737:7:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18357, + "name": "_newDaoRewardsManager", + "nodeType": "VariableDeclaration", + "scope": 18379, + "src": "1776:29:61", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18356, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1776:7:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1694:117:61" + }, + "payable": false, + "returnParameters": { + "id": 18359, + "nodeType": "ParameterList", + "parameters": [], + "src": "1831:0:61" + }, + "scope": 18394, + "src": "1662:368:61", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18392, + "nodeType": "Block", + "src": "2093:84:61", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18384, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "2121:12:61", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18383, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "2111:9:61", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 18385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2111:23:61", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18382, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2103:7:61", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2103:32:61", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18387, + "nodeType": "ExpressionStatement", + "src": "2103:32:61" + }, + { + "expression": { + "argumentTypes": null, + "id": 18390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18388, + "name": "isReplacedByNewDao", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18316, + "src": "2145:18:61", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18389, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2166:4:61", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2145:25:61", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18391, + "nodeType": "ExpressionStatement", + "src": "2145:25:61" + } + ] + }, + "documentation": null, + "id": 18393, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateForDaoMigration", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18380, + "nodeType": "ParameterList", + "parameters": [], + "src": "2071:2:61" + }, + "payable": false, + "returnParameters": { + "id": 18381, + "nodeType": "ParameterList", + "parameters": [], + "src": "2093:0:61" + }, + "scope": 18394, + "src": "2041:136:61", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 18395, + "src": "129:2050:61" + } + ], + "src": "0:2180:61" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoUpgradeStorage.sol", + "exportedSymbols": { + "DaoUpgradeStorage": [ + 18394 + ] + }, + "id": 18395, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 18306, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:61" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 18307, + "nodeType": "ImportDirective", + "scope": 18395, + "sourceUnit": 19059, + "src": "26:64:61", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "../common/DaoConstants.sol", + "id": 18308, + "nodeType": "ImportDirective", + "scope": 18395, + "sourceUnit": 1581, + "src": "91:36:61", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 18309, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "159:14:61", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 18310, + "nodeType": "InheritanceSpecifier", + "src": "159:14:61" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 18311, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "175:12:61", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 18312, + "nodeType": "InheritanceSpecifier", + "src": "175:12:61" + } + ], + "contractDependencies": [ + 1580, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 18394, + "linearizedBaseContracts": [ + 18394, + 1580, + 19058 + ], + "name": "DaoUpgradeStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 18314, + "name": "startOfFirstQuarter", + "nodeType": "VariableDeclaration", + "scope": 18394, + "src": "349:34:61", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18313, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "349:7:61", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 18316, + "name": "isReplacedByNewDao", + "nodeType": "VariableDeclaration", + "scope": 18394, + "src": "851:30:61", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18315, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "851:4:61", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 18318, + "name": "newDaoContract", + "nodeType": "VariableDeclaration", + "scope": 18394, + "src": "939:29:61", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18317, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "939:7:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 18320, + "name": "newDaoFundingManager", + "nodeType": "VariableDeclaration", + "scope": 18394, + "src": "1137:35:61", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18319, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1137:7:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 18322, + "name": "newDaoRewardsManager", + "nodeType": "VariableDeclaration", + "scope": 18394, + "src": "1340:35:61", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18321, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1340:7:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 18334, + "nodeType": "Block", + "src": "1420:71:61", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18329, + "name": "CONTRACT_STORAGE_DAO_UPGRADE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1354, + "src": "1443:28:61", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 18330, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18324, + "src": "1473:9:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 18328, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "1438:4:61", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 18331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1438:45:61", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18327, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1430:7:61", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1430:54:61", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18333, + "nodeType": "ExpressionStatement", + "src": "1430:54:61" + } + ] + }, + "documentation": null, + "id": 18335, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18325, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18324, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 18335, + "src": "1394:17:61", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18323, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1394:7:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1393:19:61" + }, + "payable": false, + "returnParameters": { + "id": 18326, + "nodeType": "ParameterList", + "parameters": [], + "src": "1420:0:61" + }, + "scope": 18394, + "src": "1382:109:61", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18350, + "nodeType": "Block", + "src": "1564:87:61", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18342, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "1592:12:61", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18341, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "1582:9:61", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 18343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1582:23:61", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18340, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1574:7:61", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1574:32:61", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18345, + "nodeType": "ExpressionStatement", + "src": "1574:32:61" + }, + { + "expression": { + "argumentTypes": null, + "id": 18348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18346, + "name": "startOfFirstQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18314, + "src": "1616:19:61", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18347, + "name": "_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18337, + "src": "1638:6:61", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1616:28:61", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18349, + "nodeType": "ExpressionStatement", + "src": "1616:28:61" + } + ] + }, + "documentation": null, + "id": 18351, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setStartOfFirstQuarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18338, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18337, + "name": "_start", + "nodeType": "VariableDeclaration", + "scope": 18351, + "src": "1529:14:61", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18336, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1529:7:61", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1528:16:61" + }, + "payable": false, + "returnParameters": { + "id": 18339, + "nodeType": "ParameterList", + "parameters": [], + "src": "1564:0:61" + }, + "scope": 18394, + "src": "1497:154:61", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18378, + "nodeType": "Block", + "src": "1831:199:61", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18362, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "1859:12:61", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18361, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "1849:9:61", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 18363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1849:23:61", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18360, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1841:7:61", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1841:32:61", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18365, + "nodeType": "ExpressionStatement", + "src": "1841:32:61" + }, + { + "expression": { + "argumentTypes": null, + "id": 18368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18366, + "name": "newDaoContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18318, + "src": "1883:14:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18367, + "name": "_newDaoContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18353, + "src": "1900:15:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1883:32:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18369, + "nodeType": "ExpressionStatement", + "src": "1883:32:61" + }, + { + "expression": { + "argumentTypes": null, + "id": 18372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18370, + "name": "newDaoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18320, + "src": "1925:20:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18371, + "name": "_newDaoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18355, + "src": "1948:21:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1925:44:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18373, + "nodeType": "ExpressionStatement", + "src": "1925:44:61" + }, + { + "expression": { + "argumentTypes": null, + "id": 18376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18374, + "name": "newDaoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18322, + "src": "1979:20:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18375, + "name": "_newDaoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18357, + "src": "2002:21:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1979:44:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18377, + "nodeType": "ExpressionStatement", + "src": "1979:44:61" + } + ] + }, + "documentation": null, + "id": 18379, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setNewContractAddresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18358, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18353, + "name": "_newDaoContract", + "nodeType": "VariableDeclaration", + "scope": 18379, + "src": "1704:23:61", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18352, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1704:7:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18355, + "name": "_newDaoFundingManager", + "nodeType": "VariableDeclaration", + "scope": 18379, + "src": "1737:29:61", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18354, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1737:7:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18357, + "name": "_newDaoRewardsManager", + "nodeType": "VariableDeclaration", + "scope": 18379, + "src": "1776:29:61", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18356, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1776:7:61", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1694:117:61" + }, + "payable": false, + "returnParameters": { + "id": 18359, + "nodeType": "ParameterList", + "parameters": [], + "src": "1831:0:61" + }, + "scope": 18394, + "src": "1662:368:61", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18392, + "nodeType": "Block", + "src": "2093:84:61", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18384, + "name": "CONTRACT_DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1297, + "src": "2121:12:61", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18383, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "2111:9:61", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 18385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2111:23:61", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18382, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2103:7:61", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2103:32:61", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18387, + "nodeType": "ExpressionStatement", + "src": "2103:32:61" + }, + { + "expression": { + "argumentTypes": null, + "id": 18390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18388, + "name": "isReplacedByNewDao", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18316, + "src": "2145:18:61", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18389, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2166:4:61", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2145:25:61", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18391, + "nodeType": "ExpressionStatement", + "src": "2145:25:61" + } + ] + }, + "documentation": null, + "id": 18393, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "updateForDaoMigration", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18380, + "nodeType": "ParameterList", + "parameters": [], + "src": "2071:2:61" + }, + "payable": false, + "returnParameters": { + "id": 18381, + "nodeType": "ParameterList", + "parameters": [], + "src": "2093:0:61" + }, + "scope": 18394, + "src": "2041:136:61", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 18395, + "src": "129:2050:61" + } + ], + "src": "0:2180:61" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0xc12a24718831462410039d84cf8c5ffce67b0e00", + "transactionHash": "0x85caaff711f898101df836fcc65747cfa67ceb08cc610f94a94ffd0fdbc58894" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T09:09:53.871Z" +} \ No newline at end of file diff --git a/build/contracts/DaoVoting.json b/build/contracts/DaoVoting.json new file mode 100644 index 0000000..3db1665 --- /dev/null +++ b/build/contracts/DaoVoting.json @@ -0,0 +1,9078 @@ +{ + "contractName": "DaoVoting", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getAddressConfig", + "outputs": [ + { + "name": "_configValue", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentTimeInQuarter", + "outputs": [ + { + "name": "_currentT", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isMainPhase", + "outputs": [ + { + "name": "_isMainPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isLockingPhase", + "outputs": [ + { + "name": "_isLockingPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentQuarterNumber", + "outputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isParticipant", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getBytesConfig", + "outputs": [ + { + "name": "_configValue", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getUintConfig", + "outputs": [ + { + "name": "_configValue", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isDaoNotReplaced", + "outputs": [ + { + "name": "_isNotReplaced", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isModerator", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_vote", + "type": "bool" + } + ], + "name": "voteOnDraft", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_commitHash", + "type": "bytes32" + } + ], + "name": "commitVoteOnSpecialProposal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_vote", + "type": "bool" + }, + { + "name": "_salt", + "type": "bytes32" + } + ], + "name": "revealVoteOnSpecialProposal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint8" + }, + { + "name": "_commitHash", + "type": "bytes32" + } + ], + "name": "commitVoteOnProposal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint8" + }, + { + "name": "_vote", + "type": "bool" + }, + { + "name": "_salt", + "type": "bytes32" + } + ], + "name": "revealVoteOnProposal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b5060405160208062003e1c83398101806040528101908080519060200190929190505050620011756017548262001188640100000000026401000000009004565b15156200118157600080fd5b5062001419565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f057600080fd5b505af115801562001205573d6000803e3d6000fd5b505050506040513d60208110156200121c57600080fd5b810190808051906020019092919050505090506000151581151514156200140d5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013ba57600080fd5b505af1158015620013cf573d6000803e3d6000fd5b505050506040513d6020811015620013e657600080fd5b810190808051906020019092919050505015156200140357600080fd5b6001915062001412565b600091505b5092915050565b6129f380620014296000396000f300608060405260043610610107576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec1461010c5780631d8ccd04146101635780632b051b50146101d45780633943380c1461022c5780633f83acff1461025f578063560a25ea146102d05780635e8254ea146102fb578063610af5701461034757806368533060146103845780637d6fed80146103b35780637f6a26b6146103e2578063929066f51461040d57806393ddad0814610468578063b1e2b9dd146104b5578063be29783f146104fa578063d70d935814610539578063d9db3c7314610568578063db4ecbc1146105b3578063fa6f39361461060a575b600080fd5b34801561011857600080fd5b50610121610665565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016f57600080fd5b50610192600480360381019080803560001916906020019092919050505061068a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101e057600080fd5b5061022a6004803603810190808035600019169060200190929190803560ff169060200190929190803515159060200190929190803560001916906020019092919050505061074c565b005b34801561023857600080fd5b50610241610e74565b60405180826000191660001916815260200191505060405180910390f35b34801561026b57600080fd5b5061028e6004803603810190808035600019169060200190929190505050610e7a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102dc57600080fd5b506102e5610f56565b6040518082815260200191505060405180910390f35b34801561030757600080fd5b506103456004803603810190808035600019169060200190929190803560ff1690602001909291908035600019169060200190929190505050610f66565b005b34801561035357600080fd5b506103826004803603810190808035600019169060200190929190803515159060200190929190505050611155565b005b34801561039057600080fd5b50610399611627565b604051808215151515815260200191505060405180910390f35b3480156103bf57600080fd5b506103c8611653565b604051808215151515815260200191505060405180910390f35b3480156103ee57600080fd5b506103f761166e565b6040518082815260200191505060405180910390f35b34801561041957600080fd5b5061044e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061167e565b604051808215151515815260200191505060405180910390f35b34801561047457600080fd5b50610497600480360381019080803560001916906020019092919050505061185f565b60405180826000191660001916815260200191505060405180910390f35b3480156104c157600080fd5b506104e46004803603810190808035600019169060200190929190505050611921565b6040518082815260200191505060405180910390f35b34801561050657600080fd5b50610537600480360381019080803560001916906020019092919080356000191690602001909291905050506119e3565b005b34801561054557600080fd5b5061054e611ba5565b604051808215151515815260200191505060405180910390f35b34801561057457600080fd5b506105b160048036038101908080356000191690602001909291908035151590602001909291908035600019169060200190929190505050611c53565b005b3480156105bf57600080fd5b506105c8612314565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561061657600080fd5b5061064b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061233a565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061069461260d565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561070a57600080fd5b505af115801561071e573d6000803e3d6000fd5b505050506040513d602081101561073457600080fd5b81019080805190602001909291905050509050919050565b838360ff1661085261075c61261f565b73ffffffffffffffffffffffffffffffffffffffff1663baf4266084846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b1580156107da57600080fd5b505af11580156107ee573d6000803e3d6000fd5b505050506040513d602081101561080457600080fd5b81019080805190602001909291905050506108316000841461082857603c5461082c565b603a545b611921565b61084d6000851461084457603d54610848565b603b545b611921565b612631565b858560ff16600061086161261f565b73ffffffffffffffffffffffffffffffffffffffff16631d2103d18484336040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600019166000191681526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200193505050506040805180830381600087803b15801561091257600080fd5b505af1158015610926573d6000803e3d6000fd5b505050506040513d604081101561093c57600080fd5b81019080805190602001909291908051906020019092919050505090508091505060008114151561096c57600080fd5b6109753361167e565b151561098057600080fd5b61098861261f565b73ffffffffffffffffffffffffffffffffffffffff1663598f0eaf8a8a336040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600019166000191681526020018360ff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015610a3d57600080fd5b505af1158015610a51573d6000803e3d6000fd5b505050506040513d6020811015610a6757600080fd5b810190808051906020019092919050505060001916338888604051602001808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140183151515157f0100000000000000000000000000000000000000000000000000000000000000028152600101826000191660001916815260200193505050506040516020818303038152906040526040518082805190602001908083835b602083101515610b4a5780518252602082019150602081019050602083039250610b25565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916141515610b8757600080fd5b610b8f61261f565b73ffffffffffffffffffffffffffffffffffffffff1663a6129f8c8a338a610bb5612686565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610c4f57600080fd5b505af1158015610c63573d6000803e3d6000fd5b505050506040513d6020811015610c7957600080fd5b81019080805190602001909291905050508d6040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001841515151581526020018381526020018260ff16815260200195505050505050600060405180830381600087803b158015610d3457600080fd5b505af1158015610d48573d6000803e3d6000fd5b50505050610d54612698565b73ffffffffffffffffffffffffffffffffffffffff16631eee015433610d8f60008c60ff1614610d8657605454610d8a565b6053545b611921565b610d9761166e565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200193505050506040805180830381600087803b158015610e2257600080fd5b505af1158015610e36573d6000803e3d6000fd5b505050506040513d6040811015610e4c57600080fd5b8101908080519060200190929190805190602001909291905050505050505050505050505050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610f1457600080fd5b505af1158015610f28573d6000803e3d6000fd5b505050506040513d6020811015610f3e57600080fd5b81019080805190602001909291905050509050919050565b6000610f61426126aa565b905090565b8282611055610f7361261f565b73ffffffffffffffffffffffffffffffffffffffff1663baf4266084846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018260ff16815260200192505050602060405180830381600087803b158015610ff457600080fd5b505af1158015611008573d6000803e3d6000fd5b505050506040513d602081101561101e57600080fd5b8101908080519060200190929190505050600061105060008560ff161461104757603c5461104b565b603a545b611921565b612631565b61105e3361167e565b151561106957600080fd5b61107161261f565b73ffffffffffffffffffffffffffffffffffffffff166358cec139868533886040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180856000191660001916815260200184600019166000191681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018260ff168152602001945050505050600060405180830381600087803b15801561113657600080fd5b505af115801561114a573d6000803e3d6000fd5b505050505050505050565b60008060008461122961116661261f565b73ffffffffffffffffffffffffffffffffffffffff166349a428d0836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156111dc57600080fd5b505af11580156111f0573d6000803e3d6000fd5b505050506040513d602081101561120657600080fd5b81019080805190602001909291905050506000611224606754611921565b612631565b611231611627565b151561123c57600080fd5b6112453361233a565b151561125057600080fd5b33935061125b612686565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156112f557600080fd5b505af1158015611309573d6000803e3d6000fd5b505050506040513d602081101561131f57600080fd5b8101908080519060200190929190505050925061133a61261f565b73ffffffffffffffffffffffffffffffffffffffff1663e14b2c2687866040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001925050506040805180830381600087803b1580156113e357600080fd5b505af11580156113f7573d6000803e3d6000fd5b505050506040513d604081101561140d57600080fd5b81019080805190602001909291908051906020019092919050505090508092505061143661261f565b73ffffffffffffffffffffffffffffffffffffffff16632fd010da878688876040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183151515158152602001828152602001945050505050600060405180830381600087803b1580156114f457600080fd5b505af1158015611508573d6000803e3d6000fd5b50505050600082141561161f5761151d612698565b73ffffffffffffffffffffffffffffffffffffffff1663f2f80af485611544605254611921565b61154c61166e565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200193505050506040805180830381600087803b1580156115d757600080fd5b505af11580156115eb573d6000803e3d6000fd5b505050506040513d604081101561160157600080fd5b81019080805190602001909291908051906020019092919050505050505b505050505050565b6000611631611ba5565b801561164e5750611643603854611921565b61164b610f56565b10155b905090565b6000611660603854611921565b611668610f56565b10905090565b600061167942612793565b905090565b600061168861166e565b611690612896565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561172a57600080fd5b505af115801561173e573d6000803e3d6000fd5b505050506040513d602081101561175457600080fd5b81019080805190602001909291905050501480156118585750611778603554611921565b611780612686565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561181a57600080fd5b505af115801561182e573d6000803e3d6000fd5b505050506040513d602081101561184457600080fd5b810190808051906020019092919050505010155b9050919050565b600061186961260d565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156118df57600080fd5b505af11580156118f3573d6000803e3d6000fd5b505050506040513d602081101561190957600080fd5b81019080805190602001909291905050509050919050565b600061192b61260d565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156119a157600080fd5b505af11580156119b5573d6000803e3d6000fd5b505050506040513d60208110156119cb57600080fd5b81019080805190602001909291905050509050919050565b81611ab26119ef6128a8565b73ffffffffffffffffffffffffffffffffffffffff16638839a29d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611a6557600080fd5b505af1158015611a79573d6000803e3d6000fd5b505050506040513d6020811015611a8f57600080fd5b81019080805190602001909291905050506000611aad605854611921565b612631565b611abb3361167e565b1515611ac657600080fd5b611ace6128a8565b73ffffffffffffffffffffffffffffffffffffffff16632e278bf98484336040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180846000191660001916815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050600060405180830381600087803b158015611b8857600080fd5b505af1158015611b9c573d6000803e3d6000fd5b50505050505050565b6000611baf6128ba565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611c1257600080fd5b505af1158015611c26573d6000803e3d6000fd5b505050506040513d6020811015611c3c57600080fd5b810190808051906020019092919050505015905090565b82611d2b611c5f6128a8565b73ffffffffffffffffffffffffffffffffffffffff16638839a29d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611cd557600080fd5b505af1158015611ce9573d6000803e3d6000fd5b505050506040513d6020811015611cff57600080fd5b8101908080519060200190929190505050611d1b605854611921565b611d26605954611921565b612631565b836000611d366128a8565b73ffffffffffffffffffffffffffffffffffffffff1663e5c2654e83336040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001925050506040805180830381600087803b158015611ddf57600080fd5b505af1158015611df3573d6000803e3d6000fd5b505050506040513d6040811015611e0957600080fd5b810190808051906020019092919080519060200190929190505050905080915050600081141515611e3957600080fd5b611e423361167e565b1515611e4d57600080fd5b611e556128a8565b73ffffffffffffffffffffffffffffffffffffffff1663f31a1ba287336040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015611eff57600080fd5b505af1158015611f13573d6000803e3d6000fd5b505050506040513d6020811015611f2957600080fd5b810190808051906020019092919050505060001916338686604051602001808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140183151515157f0100000000000000000000000000000000000000000000000000000000000000028152600101826000191660001916815260200193505050506040516020818303038152906040526040518082805190602001908083835b60208310151561200c5780518252602082019150602081019050602083039250611fe7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191614151561204957600080fd5b6120516128a8565b73ffffffffffffffffffffffffffffffffffffffff1663462d701f873388612077612686565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561211157600080fd5b505af1158015612125573d6000803e3d6000fd5b505050506040513d602081101561213b57600080fd5b81019080805190602001909291905050506040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183151515158152602001828152602001945050505050600060405180830381600087803b1580156121eb57600080fd5b505af11580156121ff573d6000803e3d6000fd5b5050505061220b612698565b73ffffffffffffffffffffffffffffffffffffffff16631eee015433612232605354611921565b61223a61166e565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200193505050506040805180830381600087803b1580156122c557600080fd5b505af11580156122d9573d6000803e3d6000fd5b505050506040513d60408110156122ef57600080fd5b8101908080519060200190929190805190602001909291905050505050505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061234461166e565b61234c612896565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156123e657600080fd5b505af11580156123fa573d6000803e3d6000fd5b505050506040513d602081101561241057600080fd5b81019080805190602001909291905050501480156125145750612434603654611921565b61243c612686565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156124d657600080fd5b505af11580156124ea573d6000803e3d6000fd5b505050506040513d602081101561250057600080fd5b810190808051906020019092919050505010155b80156126065750612526603754611921565b61252e612698565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156125c857600080fd5b505af11580156125dc573d6000803e3d6000fd5b505050506040513d60208110156125f257600080fd5b810190808051906020019092919050505010155b9050919050565b600061261a602b54610e7a565b905090565b600061262c602554610e7a565b905090565b60008311151561264057600080fd5b61265381846128cc90919063ffffffff16565b4210151561266057600080fd5b61267382846128cc90919063ffffffff16565b421015151561268157600080fd5b505050565b6000612693602c54610e7a565b905090565b60006126a5602954610e7a565b905090565b60006126b46128e8565b15156126bf57600080fd5b6126ca603954611921565b6127826126d56128ba565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561273857600080fd5b505af115801561274c573d6000803e3d6000fd5b505050506040513d602081101561276257600080fd5b81019080805190602001909291905050508461299890919063ffffffff16565b81151561278b57fe5b069050919050565b600061279d6128e8565b15156127a857600080fd5b61288f60016128816127bb603954611921565b6128736127c66128ba565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561282957600080fd5b505af115801561283d573d6000803e3d6000fd5b505050506040513d602081101561285357600080fd5b81019080805190602001909291905050508761299890919063ffffffff16565b6129b190919063ffffffff16565b6128cc90919063ffffffff16565b9050919050565b60006128a3602d54610e7a565b905090565b60006128b5602a54610e7a565b905090565b60006128c7602754610e7a565b905090565b600081830190508281101515156128df57fe5b80905092915050565b6000806128f36128ba565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561295657600080fd5b505af115801561296a573d6000803e3d6000fd5b505050506040513d602081101561298057600080fd5b81019080805190602001909291905050501415905090565b60008282111515156129a657fe5b818303905092915050565b600081838115156129be57fe5b049050929150505600a165627a7a723058207f022ffef5ff03bb7f6a8a4b721c355c67b7510b624ecff3839f0609823c4b800029", + "deployedBytecode": "0x608060405260043610610107576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec1461010c5780631d8ccd04146101635780632b051b50146101d45780633943380c1461022c5780633f83acff1461025f578063560a25ea146102d05780635e8254ea146102fb578063610af5701461034757806368533060146103845780637d6fed80146103b35780637f6a26b6146103e2578063929066f51461040d57806393ddad0814610468578063b1e2b9dd146104b5578063be29783f146104fa578063d70d935814610539578063d9db3c7314610568578063db4ecbc1146105b3578063fa6f39361461060a575b600080fd5b34801561011857600080fd5b50610121610665565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016f57600080fd5b50610192600480360381019080803560001916906020019092919050505061068a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101e057600080fd5b5061022a6004803603810190808035600019169060200190929190803560ff169060200190929190803515159060200190929190803560001916906020019092919050505061074c565b005b34801561023857600080fd5b50610241610e74565b60405180826000191660001916815260200191505060405180910390f35b34801561026b57600080fd5b5061028e6004803603810190808035600019169060200190929190505050610e7a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102dc57600080fd5b506102e5610f56565b6040518082815260200191505060405180910390f35b34801561030757600080fd5b506103456004803603810190808035600019169060200190929190803560ff1690602001909291908035600019169060200190929190505050610f66565b005b34801561035357600080fd5b506103826004803603810190808035600019169060200190929190803515159060200190929190505050611155565b005b34801561039057600080fd5b50610399611627565b604051808215151515815260200191505060405180910390f35b3480156103bf57600080fd5b506103c8611653565b604051808215151515815260200191505060405180910390f35b3480156103ee57600080fd5b506103f761166e565b6040518082815260200191505060405180910390f35b34801561041957600080fd5b5061044e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061167e565b604051808215151515815260200191505060405180910390f35b34801561047457600080fd5b50610497600480360381019080803560001916906020019092919050505061185f565b60405180826000191660001916815260200191505060405180910390f35b3480156104c157600080fd5b506104e46004803603810190808035600019169060200190929190505050611921565b6040518082815260200191505060405180910390f35b34801561050657600080fd5b50610537600480360381019080803560001916906020019092919080356000191690602001909291905050506119e3565b005b34801561054557600080fd5b5061054e611ba5565b604051808215151515815260200191505060405180910390f35b34801561057457600080fd5b506105b160048036038101908080356000191690602001909291908035151590602001909291908035600019169060200190929190505050611c53565b005b3480156105bf57600080fd5b506105c8612314565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561061657600080fd5b5061064b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061233a565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061069461260d565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561070a57600080fd5b505af115801561071e573d6000803e3d6000fd5b505050506040513d602081101561073457600080fd5b81019080805190602001909291905050509050919050565b838360ff1661085261075c61261f565b73ffffffffffffffffffffffffffffffffffffffff1663baf4266084846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b1580156107da57600080fd5b505af11580156107ee573d6000803e3d6000fd5b505050506040513d602081101561080457600080fd5b81019080805190602001909291905050506108316000841461082857603c5461082c565b603a545b611921565b61084d6000851461084457603d54610848565b603b545b611921565b612631565b858560ff16600061086161261f565b73ffffffffffffffffffffffffffffffffffffffff16631d2103d18484336040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600019166000191681526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200193505050506040805180830381600087803b15801561091257600080fd5b505af1158015610926573d6000803e3d6000fd5b505050506040513d604081101561093c57600080fd5b81019080805190602001909291908051906020019092919050505090508091505060008114151561096c57600080fd5b6109753361167e565b151561098057600080fd5b61098861261f565b73ffffffffffffffffffffffffffffffffffffffff1663598f0eaf8a8a336040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600019166000191681526020018360ff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015610a3d57600080fd5b505af1158015610a51573d6000803e3d6000fd5b505050506040513d6020811015610a6757600080fd5b810190808051906020019092919050505060001916338888604051602001808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140183151515157f0100000000000000000000000000000000000000000000000000000000000000028152600101826000191660001916815260200193505050506040516020818303038152906040526040518082805190602001908083835b602083101515610b4a5780518252602082019150602081019050602083039250610b25565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916141515610b8757600080fd5b610b8f61261f565b73ffffffffffffffffffffffffffffffffffffffff1663a6129f8c8a338a610bb5612686565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610c4f57600080fd5b505af1158015610c63573d6000803e3d6000fd5b505050506040513d6020811015610c7957600080fd5b81019080805190602001909291905050508d6040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001841515151581526020018381526020018260ff16815260200195505050505050600060405180830381600087803b158015610d3457600080fd5b505af1158015610d48573d6000803e3d6000fd5b50505050610d54612698565b73ffffffffffffffffffffffffffffffffffffffff16631eee015433610d8f60008c60ff1614610d8657605454610d8a565b6053545b611921565b610d9761166e565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200193505050506040805180830381600087803b158015610e2257600080fd5b505af1158015610e36573d6000803e3d6000fd5b505050506040513d6040811015610e4c57600080fd5b8101908080519060200190929190805190602001909291905050505050505050505050505050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610f1457600080fd5b505af1158015610f28573d6000803e3d6000fd5b505050506040513d6020811015610f3e57600080fd5b81019080805190602001909291905050509050919050565b6000610f61426126aa565b905090565b8282611055610f7361261f565b73ffffffffffffffffffffffffffffffffffffffff1663baf4266084846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018260ff16815260200192505050602060405180830381600087803b158015610ff457600080fd5b505af1158015611008573d6000803e3d6000fd5b505050506040513d602081101561101e57600080fd5b8101908080519060200190929190505050600061105060008560ff161461104757603c5461104b565b603a545b611921565b612631565b61105e3361167e565b151561106957600080fd5b61107161261f565b73ffffffffffffffffffffffffffffffffffffffff166358cec139868533886040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180856000191660001916815260200184600019166000191681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018260ff168152602001945050505050600060405180830381600087803b15801561113657600080fd5b505af115801561114a573d6000803e3d6000fd5b505050505050505050565b60008060008461122961116661261f565b73ffffffffffffffffffffffffffffffffffffffff166349a428d0836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156111dc57600080fd5b505af11580156111f0573d6000803e3d6000fd5b505050506040513d602081101561120657600080fd5b81019080805190602001909291905050506000611224606754611921565b612631565b611231611627565b151561123c57600080fd5b6112453361233a565b151561125057600080fd5b33935061125b612686565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156112f557600080fd5b505af1158015611309573d6000803e3d6000fd5b505050506040513d602081101561131f57600080fd5b8101908080519060200190929190505050925061133a61261f565b73ffffffffffffffffffffffffffffffffffffffff1663e14b2c2687866040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001925050506040805180830381600087803b1580156113e357600080fd5b505af11580156113f7573d6000803e3d6000fd5b505050506040513d604081101561140d57600080fd5b81019080805190602001909291908051906020019092919050505090508092505061143661261f565b73ffffffffffffffffffffffffffffffffffffffff16632fd010da878688876040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183151515158152602001828152602001945050505050600060405180830381600087803b1580156114f457600080fd5b505af1158015611508573d6000803e3d6000fd5b50505050600082141561161f5761151d612698565b73ffffffffffffffffffffffffffffffffffffffff1663f2f80af485611544605254611921565b61154c61166e565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200193505050506040805180830381600087803b1580156115d757600080fd5b505af11580156115eb573d6000803e3d6000fd5b505050506040513d604081101561160157600080fd5b81019080805190602001909291908051906020019092919050505050505b505050505050565b6000611631611ba5565b801561164e5750611643603854611921565b61164b610f56565b10155b905090565b6000611660603854611921565b611668610f56565b10905090565b600061167942612793565b905090565b600061168861166e565b611690612896565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561172a57600080fd5b505af115801561173e573d6000803e3d6000fd5b505050506040513d602081101561175457600080fd5b81019080805190602001909291905050501480156118585750611778603554611921565b611780612686565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561181a57600080fd5b505af115801561182e573d6000803e3d6000fd5b505050506040513d602081101561184457600080fd5b810190808051906020019092919050505010155b9050919050565b600061186961260d565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156118df57600080fd5b505af11580156118f3573d6000803e3d6000fd5b505050506040513d602081101561190957600080fd5b81019080805190602001909291905050509050919050565b600061192b61260d565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156119a157600080fd5b505af11580156119b5573d6000803e3d6000fd5b505050506040513d60208110156119cb57600080fd5b81019080805190602001909291905050509050919050565b81611ab26119ef6128a8565b73ffffffffffffffffffffffffffffffffffffffff16638839a29d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611a6557600080fd5b505af1158015611a79573d6000803e3d6000fd5b505050506040513d6020811015611a8f57600080fd5b81019080805190602001909291905050506000611aad605854611921565b612631565b611abb3361167e565b1515611ac657600080fd5b611ace6128a8565b73ffffffffffffffffffffffffffffffffffffffff16632e278bf98484336040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180846000191660001916815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050600060405180830381600087803b158015611b8857600080fd5b505af1158015611b9c573d6000803e3d6000fd5b50505050505050565b6000611baf6128ba565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611c1257600080fd5b505af1158015611c26573d6000803e3d6000fd5b505050506040513d6020811015611c3c57600080fd5b810190808051906020019092919050505015905090565b82611d2b611c5f6128a8565b73ffffffffffffffffffffffffffffffffffffffff16638839a29d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611cd557600080fd5b505af1158015611ce9573d6000803e3d6000fd5b505050506040513d6020811015611cff57600080fd5b8101908080519060200190929190505050611d1b605854611921565b611d26605954611921565b612631565b836000611d366128a8565b73ffffffffffffffffffffffffffffffffffffffff1663e5c2654e83336040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001925050506040805180830381600087803b158015611ddf57600080fd5b505af1158015611df3573d6000803e3d6000fd5b505050506040513d6040811015611e0957600080fd5b810190808051906020019092919080519060200190929190505050905080915050600081141515611e3957600080fd5b611e423361167e565b1515611e4d57600080fd5b611e556128a8565b73ffffffffffffffffffffffffffffffffffffffff1663f31a1ba287336040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015611eff57600080fd5b505af1158015611f13573d6000803e3d6000fd5b505050506040513d6020811015611f2957600080fd5b810190808051906020019092919050505060001916338686604051602001808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140183151515157f0100000000000000000000000000000000000000000000000000000000000000028152600101826000191660001916815260200193505050506040516020818303038152906040526040518082805190602001908083835b60208310151561200c5780518252602082019150602081019050602083039250611fe7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191614151561204957600080fd5b6120516128a8565b73ffffffffffffffffffffffffffffffffffffffff1663462d701f873388612077612686565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561211157600080fd5b505af1158015612125573d6000803e3d6000fd5b505050506040513d602081101561213b57600080fd5b81019080805190602001909291905050506040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183151515158152602001828152602001945050505050600060405180830381600087803b1580156121eb57600080fd5b505af11580156121ff573d6000803e3d6000fd5b5050505061220b612698565b73ffffffffffffffffffffffffffffffffffffffff16631eee015433612232605354611921565b61223a61166e565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200193505050506040805180830381600087803b1580156122c557600080fd5b505af11580156122d9573d6000803e3d6000fd5b505050506040513d60408110156122ef57600080fd5b8101908080519060200190929190805190602001909291905050505050505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061234461166e565b61234c612896565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156123e657600080fd5b505af11580156123fa573d6000803e3d6000fd5b505050506040513d602081101561241057600080fd5b81019080805190602001909291905050501480156125145750612434603654611921565b61243c612686565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156124d657600080fd5b505af11580156124ea573d6000803e3d6000fd5b505050506040513d602081101561250057600080fd5b810190808051906020019092919050505010155b80156126065750612526603754611921565b61252e612698565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156125c857600080fd5b505af11580156125dc573d6000803e3d6000fd5b505050506040513d60208110156125f257600080fd5b810190808051906020019092919050505010155b9050919050565b600061261a602b54610e7a565b905090565b600061262c602554610e7a565b905090565b60008311151561264057600080fd5b61265381846128cc90919063ffffffff16565b4210151561266057600080fd5b61267382846128cc90919063ffffffff16565b421015151561268157600080fd5b505050565b6000612693602c54610e7a565b905090565b60006126a5602954610e7a565b905090565b60006126b46128e8565b15156126bf57600080fd5b6126ca603954611921565b6127826126d56128ba565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561273857600080fd5b505af115801561274c573d6000803e3d6000fd5b505050506040513d602081101561276257600080fd5b81019080805190602001909291905050508461299890919063ffffffff16565b81151561278b57fe5b069050919050565b600061279d6128e8565b15156127a857600080fd5b61288f60016128816127bb603954611921565b6128736127c66128ba565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561282957600080fd5b505af115801561283d573d6000803e3d6000fd5b505050506040513d602081101561285357600080fd5b81019080805190602001909291905050508761299890919063ffffffff16565b6129b190919063ffffffff16565b6128cc90919063ffffffff16565b9050919050565b60006128a3602d54610e7a565b905090565b60006128b5602a54610e7a565b905090565b60006128c7602754610e7a565b905090565b600081830190508281101515156128df57fe5b80905092915050565b6000806128f36128ba565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561295657600080fd5b505af115801561296a573d6000803e3d6000fd5b505050506040513d602081101561298057600080fd5b81019080805190602001909291905050501415905090565b60008282111515156129a657fe5b818303905092915050565b600081838115156129be57fe5b049050929150505600a165627a7a723058207f022ffef5ff03bb7f6a8a4b721c355c67b7510b624ecff3839f0609823c4b800029", + "sourceMap": "140:4535:17:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;179:100:17;8:9:-1;5:2;;;30:1;27;20:12;5:2;179:100:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;235:36;240:19;;261:9;235:4;;;:36;;;:::i;:::-;227:45;;;;;;;;179:100;140:4535;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;140:4535:17:-;;;;;;;", + "deployedSourceMap": "140:4535:17:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;5244:195:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5244:195:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3911:762:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3911:762:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4743:147:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4743:147:2;;;;;;;;;;;;;;;;;;;;;;;3173:308:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3173:308:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;487:743;;8:9:-1;5:2;;;30:1;27;20:12;5:2;487:743:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1759:239:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1759:239:2;;;;;;;;;;;;;;;;;;;;;;;;;;;1283:201;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1283:201:2;;;;;;;;;;;;;;;;;;;;;;;;;;;3064:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3064:159:2;;;;;;;;;;;;;;;;;;;;;;;5725:311:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5725:311:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5445:191:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7261:189:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7261:189:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1561:291:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1561:291:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:173:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;834:173:2;;;;;;;;;;;;;;;;;;;;;;;;;;;2231:647:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2231:647:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;6123:431:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6123:431:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;5244:195:1:-;5335:20;5386:19;:17;:19::i;:::-;:34;;;5421:10;5386:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5386:46:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5386:46:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5386:46:1;;;;;;;;;;;;;;;;5371:61;;5244:195;;;:::o;3911:762:17:-;4078:11;4091:6;2144:366:1;;2212:282;2238:12;:10;:12::i;:::-;:35;;;2274:11;2287:6;2238:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2238:56:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2238:56:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2238:56:1;;;;;;;;;;;;;;;;2306:85;2330:1;2320:6;:11;:70;;2363:27;;2320:70;;;2334:26;;2320:70;2306:13;:85::i;:::-;2403:83;2427:1;2417:6;:11;:68;;2459:26;;2417:68;;;2431:25;;2417:68;2403:13;:83::i;:::-;2212:14;:282::i;:::-;4122:11:17;4135:6;3753:231:1;;3824:19;3871:12;:10;:12::i;:::-;:21;;;3893:11;3906:6;3914:10;3871:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3871:54:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3871:54:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3871:54:1;;;;;;;;;;;;;;;;;;;;;;;;;3853:72;;;;;;3963:1;3943:11;:22;3935:31;;;;;;;;4165:25:17;4179:10;4165:13;:25::i;:::-;4157:34;;;;;;;;4266:12;:10;:12::i;:::-;:29;;;4296:11;4309:6;4317:10;4266:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4266:62:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4266:62:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4266:62:17;;;;;;;;;;;;;;;;4209:119;;;4236:10;4248:5;4255;4219:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4219:42:17;;;4209:53;;;;;;;;;;;;;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;;;4209:53:17;;;;;;;;;;;;;;;;:119;;;;4201:128;;;;;;;;4339:12;:10;:12::i;:::-;:23;;;4363:11;4376:10;4388:5;4395:17;:15;:17::i;:::-;:32;;;4428:10;4395:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4395:44:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4395:44:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4395:44:17;;;;;;;;;;;;;;;;4441:6;4339:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4339:109:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4339:109:17;;;;4458:18;:16;:18::i;:::-;:34;;;4506:10;4530:90;4554:1;4544:6;:11;;;:75;;4586:33;;4544:75;;;4558:25;;4544:75;4530:13;:90::i;:::-;4634:22;:20;:22::i;:::-;4458:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4458:208:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4458:208:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4458:208:17;;;;;;;;;;;;;;;;;;;;;;;;;;;2502:1:1;;;3911:762:17;;;;;;:::o;264:18:67:-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;4743:147:2:-;4820:17;4865:18;4879:3;4865:13;:18::i;:::-;4853:30;;4743:147;:::o;3173:308:17:-;3326:11;3339:6;1912:208:1;1940:12;:10;:12::i;:::-;:35;;;1976:11;1989:6;1940:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1940:56:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1940:56:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1940:56:1;;;;;;;;;;;;;;;;2010:1;2025:85;2049:1;2039:6;:11;;;:70;;2082:27;;2039:70;;;2053:26;;2039:70;2025:13;:85::i;:::-;1912:14;:208::i;:::-;3369:25:17;3383:10;3369:13;:25::i;:::-;3361:34;;;;;;;;3405:12;:10;:12::i;:::-;:23;;;3429:11;3442;3455:10;3467:6;3405:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3405:69:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3405:69:17;;;;3173:308;;;;;:::o;487:743::-;706:18;747:23;828:19;605:11;2897:160:1;2925:12;:10;:12::i;:::-;:40;;;2966:11;2925:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2925:53:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2925:53:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2925:53:1;;;;;;;;;;;;;;;;2992:1;3007:40;3021:25;;3007:13;:40::i;:::-;2897:14;:160::i;:::-;640:13:17;:11;:13::i;:::-;632:22;;;;;;;;672:23;684:10;672:11;:23::i;:::-;664:32;;;;;;;;727:10;706:31;;773:17;:15;:17::i;:::-;:32;;;806:10;773:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;773:44:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;773:44:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;773:44:17;;;;;;;;;;;;;;;;747:70;;874:12;:10;:12::i;:::-;:26;;;901:11;914:10;874:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;874:51:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;874:51:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;874:51:17;;;;;;;;;;;;;;;;;;;;;;;;;857:68;;;;;;936:12;:10;:12::i;:::-;:25;;;962:11;975:10;987:5;994:15;936:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;936:74:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;936:74:17;;;;1040:1;1025:11;:16;1021:203;;;1086:18;:16;:18::i;:::-;:43;;;1130:10;1142:46;1156:31;;1142:13;:46::i;:::-;1190:22;:20;:22::i;:::-;1086:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1086:127:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1086:127:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1086:127:17;;;;;;;;;;;;;;;;;;;;;;;;;;;1021:203;487:743;;;;;;:::o;1759:239:2:-;1827:17;1887:18;:16;:18::i;:::-;:104;;;;;1947:44;1961:29;;1947:13;:44::i;:::-;1921:22;:20;:22::i;:::-;:70;;1887:104;1860:131;;1759:239;:::o;1283:201::-;1354:20;1433:44;1447:29;;1433:13;:44::i;:::-;1408:22;:20;:22::i;:::-;:69;1390:87;;1283:201;:::o;3064:159::-;3140:22;3195:21;3212:3;3195:16;:21::i;:::-;3178:38;;3064:159;:::o;5725:311:1:-;5808:8;5905:22;:20;:22::i;:::-;5851:19;:17;:19::i;:::-;:43;;;5895:5;5851:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5851:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5851:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5851:50:1;;;;;;;;;;;;;;;;:76;5850:179;;;;;5988:40;6002:25;;5988:13;:40::i;:::-;5945:17;:15;:17::i;:::-;:32;;;5978:5;5945:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5945:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5945:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5945:39:1;;;;;;;;;;;;;;;;:83;;5850:179;5832:197;;5725:311;;;:::o;5445:191::-;5534:20;5585:19;:17;:19::i;:::-;:32;;;5618:10;5585:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5585:44:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5585:44:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5585:44:1;;;;;;;;;;;;;;;;5570:59;;5445:191;;;:::o;7261:189:2:-;7349:20;7400:19;:17;:19::i;:::-;:31;;;7432:10;7400:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7400:43:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7400:43:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7400:43:2;;;;;;;;;;;;;;;;7385:58;;7261:189;;;:::o;1561:291:17:-;1706:11;4531:165:1;4559:19;:17;:19::i;:::-;:34;;;4594:11;4559:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4559:47:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4559:47:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4559:47:1;;;;;;;;;;;;;;;;4620:1;4635:51;4649:36;;4635:13;:51::i;:::-;4531:14;:165::i;:::-;1741:25:17;1755:10;1741:13;:25::i;:::-;1733:34;;;;;;;;1777:19;:17;:19::i;:::-;:30;;;1808:11;1821;1834:10;1777:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1777:68:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1777:68:17;;;;1561:291;;;:::o;834:173:2:-;907:19;960;:17;:19::i;:::-;:38;;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;960:40:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;960:40:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;960:40:2;;;;;;;;;;;;;;;;959:41;942:58;;834:173;:::o;2231:647:17:-;2390:11;4781:214:1;4809:19;:17;:19::i;:::-;:34;;;4844:11;4809:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4809:47:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4809:47:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4809:47:1;;;;;;;;;;;;;;;;4870:51;4884:36;;4870:13;:51::i;:::-;4935:50;4949:35;;4935:13;:50::i;:::-;4781:14;:214::i;:::-;2433:11:17;4052:15:1;4090:19;:17;:19::i;:::-;:28;;;4119:11;4132:10;4090:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4090:53:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4090:53:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4090:53:1;;;;;;;;;;;;;;;;;;;;;;;;;4077:66;;;;;;4180:1;4161:7;:21;4153:30;;;;;;;;2468:25:17;2482:10;2468:13;:25::i;:::-;2460:34;;;;;;;;2569:19;:17;:19::i;:::-;:36;;;2606:11;2619:10;2569:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2569:61:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2569:61:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2569:61:17;;;;;;;;;;;;;;;;2512:118;;;2539:10;2551:5;2558;2522:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2522:42:17;;;2512:53;;;;;;;;;;;;;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;;;2512:53:17;;;;;;;;;;;;;;;;:118;;;;2504:127;;;;;;;;2641:19;:17;:19::i;:::-;:30;;;2672:11;2685:10;2697:5;2704:17;:15;:17::i;:::-;:32;;;2737:10;2704:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2704:44:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2704:44:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2704:44:17;;;;;;;;;;;;;;;;2641:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2641:108:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2641:108:17;;;;2759:18;:16;:18::i;:::-;:34;;;2794:10;2806:40;2820:25;;2806:13;:40::i;:::-;2848:22;:20;:22::i;:::-;2759:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2759:112:17;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2759:112:17;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2759:112:17;;;;;;;;;;;;;;;;;;;;;;;;;;;5005:1:1;;2231:647:17;;;;:::o;344:31:67:-;;;;;;;;;;;;;:::o;6123:431:1:-;6204:8;6301:22;:20;:22::i;:::-;6247:19;:17;:19::i;:::-;:43;;;6291:5;6247:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6247:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6247:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6247:50:1;;;;;;;;;;;;;;;;:76;6246:186;;;;;6384:47;6398:32;;6384:13;:47::i;:::-;6341:17;:15;:17::i;:::-;:32;;;6374:5;6341:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6341:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6341:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6341:39:1;;;;;;;;;;;;;;;;:90;;6246:186;:301;;;;;6492:54;6506:39;;6492:13;:54::i;:::-;6449:18;:16;:18::i;:::-;:32;;;6482:5;6449:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6449:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6449:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6449:39:1;;;;;;;;;;;;;;;;:97;;6246:301;6228:319;;6123:431;;;:::o;5398:198:2:-;5474:27;5547:41;5560:27;;5547:12;:41::i;:::-;5517:72;;5398:198;:::o;5799:170::-;5868:20;5927:34;5940:20;;5927:12;:34::i;:::-;5904:58;;5799:170;:::o;2600:309::-;2773:1;2756:14;:18;2748:27;;;;;;;;2799:37;2818:17;2799:14;:18;;:37;;;;:::i;:::-;2793:3;:43;2785:52;;;;;;;;2862:39;2881:19;2862:14;:18;;:39;;;;:::i;:::-;2855:3;:46;;2847:55;;;;;;;;2600:309;;;:::o;5602:191::-;5676:25;5745:40;5758:26;;5745:12;:40::i;:::-;5717:69;;5602:191;:::o;6614:195::-;6689:26;6760:41;6773:27;;6760:12;:41::i;:::-;6731:71;;6614:195;:::o;3862:332::-;3947:22;3993:26;:24;:26::i;:::-;3985:35;;;;;;;;4149:38;4163:23;;4149:13;:38::i;:::-;4082:52;4092:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4092:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4092:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4092:41:2;;;;;;;;;;;;;;;;4082:5;:9;;:52;;;;:::i;:::-;:105;;;;;;;;4053:134;;3862:332;;;:::o;3369:320::-;3457:14;3495:26;:24;:26::i;:::-;3487:35;;;;;;;;3553:129;3680:1;3553:109;3623:38;3637:23;;3623:13;:38::i;:::-;3553:52;3563:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3563:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3563:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3563:41:2;;;;;;;;;;;;;;;;3553:5;:9;;:52;;;;:::i;:::-;:69;;:109;;;;:::i;:::-;:126;;:129;;;;:::i;:::-;3532:150;;3369:320;;;:::o;6815:199::-;6891:27;6964:42;6977:28;;6964:12;:42::i;:::-;6934:73;;6815:199;:::o;6409:::-;6485:27;6558:42;6571:28;;6558:12;:42::i;:::-;6528:73;;6409:199;:::o;6204:::-;6280:27;6353:42;6366:28;;6353:12;:42::i;:::-;6323:73;;6204:199;:::o;1238:128:84:-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o;4343:172:2:-;4426:11;4507:1;4462:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4462:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4462:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4462:41:2;;;;;;;;;;;;;;;;:46;;4453:55;;4343:172;:::o;1060:116:84:-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;665:283::-;725:7;941:2;936;:7;;;;;;;;929:14;;665:283;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"../common/DaoCommon.sol\";\n\n/**\n@title Contract for all voting operations of DAO\n@author Digix Holdings\n*/\ncontract DaoVoting is DaoCommon {\n\n constructor(address _resolver) public {\n require(init(CONTRACT_DAO_VOTING, _resolver));\n }\n\n\n /**\n @notice Function to vote on draft proposal (only Moderators can vote)\n @param _proposalId ID of the proposal\n @param _vote Boolean, true if voting for, false if voting against\n */\n function voteOnDraft(\n bytes32 _proposalId,\n bool _vote\n )\n public\n ifDraftVotingPhase(_proposalId)\n {\n require(isMainPhase());\n require(isModerator(msg.sender));\n address _moderator = msg.sender;\n uint256 _moderatorStake = daoStakeStorage().lockedDGDStake(_moderator);\n\n uint256 _voteWeight;\n (,_voteWeight) = daoStorage().readDraftVote(_proposalId, _moderator);\n\n daoStorage().addDraftVote(_proposalId, _moderator, _vote, _moderatorStake);\n\n if (_voteWeight == 0) { // just voted the first time\n daoPointsStorage().addModeratorQuarterPoint(_moderator, getUintConfig(CONFIG_QUARTER_POINT_DRAFT_VOTE), currentQuarterNumber());\n }\n }\n\n\n /**\n @notice Function to commit a vote on special proposal\n @param _proposalId ID of the proposal\n @param _commitHash Hash of the vote to commit (hash = SHA3(address(pub_address), bool(vote), bytes(random string)))\n @return {\n \"_success\": \"Boolean, true if vote was committed successfully\"\n }\n */\n function commitVoteOnSpecialProposal(\n bytes32 _proposalId,\n bytes32 _commitHash\n )\n public\n ifCommitPhaseSpecial(_proposalId)\n {\n require(isParticipant(msg.sender));\n daoSpecialStorage().commitVote(_proposalId, _commitHash, msg.sender);\n }\n\n\n /**\n @notice Function to reveal a committed vote on special proposal\n @dev The lockedDGDStake that would be counted behind a participant's vote is his lockedDGDStake when this function is called\n @param _proposalId ID of the proposal\n @param _vote Boolean, true if voted for, false if voted against\n @param _salt Random bytes used to commit vote\n */\n function revealVoteOnSpecialProposal(\n bytes32 _proposalId,\n bool _vote,\n bytes32 _salt\n )\n public\n ifRevealPhaseSpecial(_proposalId)\n hasNotRevealedSpecial(_proposalId)\n {\n require(isParticipant(msg.sender));\n require(keccak256(abi.encodePacked(msg.sender, _vote, _salt)) == daoSpecialStorage().readComittedVote(_proposalId, msg.sender));\n daoSpecialStorage().revealVote(_proposalId, msg.sender, _vote, daoStakeStorage().lockedDGDStake(msg.sender));\n daoPointsStorage().addQuarterPoint(msg.sender, getUintConfig(CONFIG_QUARTER_POINT_VOTE), currentQuarterNumber());\n }\n\n\n /**\n @notice Function to commit a vote on proposal (Voting Round)\n @param _proposalId ID of the proposal\n @param _index Index of the Voting Round\n @param _commitHash Hash of the vote to commit (hash = SHA3(address(pub_address), bool(vote), bytes32(random string)))\n */\n function commitVoteOnProposal(\n bytes32 _proposalId,\n uint8 _index,\n bytes32 _commitHash\n )\n public\n ifCommitPhase(_proposalId, _index)\n {\n require(isParticipant(msg.sender));\n daoStorage().commitVote(_proposalId, _commitHash, msg.sender, _index);\n }\n\n\n /**\n @notice Function to reveal a committed vote on proposal (Voting Round)\n @dev The lockedDGDStake that would be counted behind a participant's vote is his lockedDGDStake when this function is called\n @param _proposalId ID of the proposal\n @param _index Index of the Voting Round\n @param _vote Boolean, true if voted for, false if voted against\n @param _salt Random bytes used to commit vote\n */\n function revealVoteOnProposal(\n bytes32 _proposalId,\n uint8 _index,\n bool _vote,\n bytes32 _salt\n )\n public\n ifRevealPhase(_proposalId, _index)\n hasNotRevealed(_proposalId, _index)\n {\n require(isParticipant(msg.sender));\n require(keccak256(abi.encodePacked(msg.sender, _vote, _salt)) == daoStorage().readComittedVote(_proposalId, _index, msg.sender));\n daoStorage().revealVote(_proposalId, msg.sender, _vote, daoStakeStorage().lockedDGDStake(msg.sender), _index);\n daoPointsStorage().addQuarterPoint(\n msg.sender,\n getUintConfig(_index == 0 ? CONFIG_QUARTER_POINT_VOTE : CONFIG_QUARTER_POINT_INTERIM_VOTE),\n currentQuarterNumber()\n );\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoVoting.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoVoting.sol", + "exportedSymbols": { + "DaoVoting": [ + 6652 + ] + }, + "id": 6653, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6352, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:17" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommon.sol", + "file": "../common/DaoCommon.sol", + "id": 6353, + "nodeType": "ImportDirective", + "scope": 6653, + "sourceUnit": 839, + "src": "26:33:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 6354, + "name": "DaoCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 838, + "src": "162:9:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommon_$838", + "typeString": "contract DaoCommon" + } + }, + "id": 6355, + "nodeType": "InheritanceSpecifier", + "src": "162:9:17" + } + ], + "contractDependencies": [ + 838, + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": "@title Contract for all voting operations of DAO\n@author Digix Holdings", + "fullyImplemented": true, + "id": 6652, + "linearizedBaseContracts": [ + 6652, + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoVoting", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 6367, + "nodeType": "Block", + "src": "217:62:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6362, + "name": "CONTRACT_DAO_VOTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1306, + "src": "240:19:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6363, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6357, + "src": "261:9:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6361, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "235:4:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 6364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "235:36:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6360, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "227:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "227:45:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6366, + "nodeType": "ExpressionStatement", + "src": "227:45:17" + } + ] + }, + "documentation": null, + "id": 6368, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6358, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6357, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 6368, + "src": "191:17:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6356, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "191:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "190:19:17" + }, + "payable": false, + "returnParameters": { + "id": 6359, + "nodeType": "ParameterList", + "parameters": [], + "src": "217:0:17" + }, + "scope": 6652, + "src": "179:100:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6441, + "nodeType": "Block", + "src": "622:608:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6379, + "name": "isMainPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "640:11:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 6380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "640:13:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6378, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "632:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "632:22:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6382, + "nodeType": "ExpressionStatement", + "src": "632:22:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6385, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "684:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "684:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6384, + "name": "isModerator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 594, + "src": "672:11:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 6387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "672:23:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6383, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "664:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "664:32:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6389, + "nodeType": "ExpressionStatement", + "src": "664:32:17" + }, + { + "assignments": [ + 6391 + ], + "declarations": [ + { + "constant": false, + "id": 6391, + "name": "_moderator", + "nodeType": "VariableDeclaration", + "scope": 6442, + "src": "706:18:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6390, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "706:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6394, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6392, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "727:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "727:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "706:31:17" + }, + { + "assignments": [ + 6396 + ], + "declarations": [ + { + "constant": false, + "id": 6396, + "name": "_moderatorStake", + "nodeType": "VariableDeclaration", + "scope": 6442, + "src": "747:23:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6395, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "747:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6402, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6400, + "name": "_moderator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6391, + "src": "806:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6397, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "773:15:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "773:17:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16048, + "src": "773:32:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 6401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "773:44:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "747:70:17" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 6404, + "name": "_voteWeight", + "nodeType": "VariableDeclaration", + "scope": 6442, + "src": "828:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6403, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "828:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6405, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "828:19:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 6414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + { + "argumentTypes": null, + "id": 6406, + "name": "_voteWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6404, + "src": "859:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6407, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "857:14:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$_t_uint256_$", + "typeString": "tuple(,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6411, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6370, + "src": "901:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6412, + "name": "_moderator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6391, + "src": "914:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6408, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "874:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 6409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "874:12:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 6410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readDraftVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 16885, + "src": "874:26:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (bytes32,address) view external returns (bool,uint256)" + } + }, + "id": 6413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "874:51:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "src": "857:68:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6415, + "nodeType": "ExpressionStatement", + "src": "857:68:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6419, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6370, + "src": "962:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6420, + "name": "_moderator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6391, + "src": "975:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6421, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6372, + "src": "987:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 6422, + "name": "_moderatorStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6396, + "src": "994:15:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6416, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "936:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 6417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "936:12:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 6418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addDraftVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 18161, + "src": "936:25:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_bool_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,bool,uint256) external" + } + }, + "id": 6423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "936:74:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6424, + "nodeType": "ExpressionStatement", + "src": "936:74:17" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6425, + "name": "_voteWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6404, + "src": "1025:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6426, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1040:1:17", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1025:16:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6440, + "nodeType": "IfStatement", + "src": "1021:203:17", + "trueBody": { + "id": 6439, + "nodeType": "Block", + "src": "1043:181:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6431, + "name": "_moderator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6391, + "src": "1130:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6433, + "name": "CONFIG_QUARTER_POINT_DRAFT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "1156:31:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6432, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1142:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 6434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1142:46:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6435, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "1190:20:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 6436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1190:22:17", + "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, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6428, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "1086:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 6429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1086:18:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 6430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addModeratorQuarterPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14689, + "src": "1086:43:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address,uint256,uint256) external returns (uint256,uint256)" + } + }, + "id": 6437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1086:127:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 6438, + "nodeType": "ExpressionStatement", + "src": "1086:127:17" + } + ] + } + } + ] + }, + "documentation": "@notice Function to vote on draft proposal (only Moderators can vote)\n@param _proposalId ID of the proposal\n@param _vote Boolean, true if voting for, false if voting against", + "id": 6442, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 6375, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6370, + "src": "605:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 6376, + "modifierName": { + "argumentTypes": null, + "id": 6374, + "name": "ifDraftVotingPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 270, + "src": "586:18:17", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "586:31:17" + } + ], + "name": "voteOnDraft", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6373, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6370, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 6442, + "src": "517:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6369, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "517:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6372, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 6442, + "src": "546:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6371, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "546:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "507:55:17" + }, + "payable": false, + "returnParameters": { + "id": 6377, + "nodeType": "ParameterList", + "parameters": [], + "src": "622:0:17" + }, + "scope": 6652, + "src": "487:743:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6468, + "nodeType": "Block", + "src": "1723:129:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6454, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1755:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1755:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6453, + "name": "isParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 552, + "src": "1741:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 6456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1741:25:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6452, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1733:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1733:34:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6458, + "nodeType": "ExpressionStatement", + "src": "1733:34:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6462, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6444, + "src": "1808:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6463, + "name": "_commitHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6446, + "src": "1821:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6464, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1834:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1834:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6459, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "1777:17:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 6460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1777:19:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 6461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "commitVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 15834, + "src": "1777:30:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,bytes32,address) external" + } + }, + "id": 6466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1777:68:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6467, + "nodeType": "ExpressionStatement", + "src": "1777:68:17" + } + ] + }, + "documentation": "@notice Function to commit a vote on special proposal\n@param _proposalId ID of the proposal\n@param _commitHash Hash of the vote to commit (hash = SHA3(address(pub_address), bool(vote), bytes(random string)))\n@return {\n\"_success\": \"Boolean, true if vote was committed successfully\"\n}", + "id": 6469, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 6449, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6444, + "src": "1706:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 6450, + "modifierName": { + "argumentTypes": null, + "id": 6448, + "name": "ifCommitPhaseSpecial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 455, + "src": "1685:20:17", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1685:33:17" + } + ], + "name": "commitVoteOnSpecialProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6447, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6444, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 6469, + "src": "1607:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6443, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1607:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6446, + "name": "_commitHash", + "nodeType": "VariableDeclaration", + "scope": 6469, + "src": "1636:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6445, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1636:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1597:64:17" + }, + "payable": false, + "returnParameters": { + "id": 6451, + "nodeType": "ParameterList", + "parameters": [], + "src": "1723:0:17" + }, + "scope": 6652, + "src": "1561:291:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6538, + "nodeType": "Block", + "src": "2450:428:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6486, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2482:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2482:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6485, + "name": "isParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 552, + "src": "2468:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 6488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2468:25:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6484, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2460:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2460:34:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6490, + "nodeType": "ExpressionStatement", + "src": "2460:34:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 6508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6495, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2539:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2539:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6497, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6473, + "src": "2551:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 6498, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6475, + "src": "2558:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 6493, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26599, + "src": "2522:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6494, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2522:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 6499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2522:42:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6492, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26606, + "src": "2512:9:17", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 6500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2512:53:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6504, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6471, + "src": "2606:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6505, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2619:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2619:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6501, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "2569:17:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 6502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2569:19:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 6503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readComittedVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 15859, + "src": "2569:36:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,address) view external returns (bytes32)" + } + }, + "id": 6507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2569:61:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2512:118:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6491, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2504:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2504:127:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6510, + "nodeType": "ExpressionStatement", + "src": "2504:127:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6514, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6471, + "src": "2672:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6515, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2685:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2685:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6517, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6473, + "src": "2697:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6521, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2737:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2737:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6518, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "2704:15:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2704:17:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16048, + "src": "2704:32:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 6523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2704:44:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6511, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "2641:17:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 6512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2641:19:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 6513, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "revealVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 16028, + "src": "2641:30:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_bool_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,bool,uint256) external" + } + }, + "id": 6524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2641:108:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6525, + "nodeType": "ExpressionStatement", + "src": "2641:108:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6529, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2794:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2794:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6532, + "name": "CONFIG_QUARTER_POINT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1495, + "src": "2820:25:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6531, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2806:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 6533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2806:40:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6534, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "2848:20:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 6535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2848:22:17", + "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, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6526, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "2759:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 6527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2759:18:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 6528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addQuarterPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14620, + "src": "2759:34:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address,uint256,uint256) external returns (uint256,uint256)" + } + }, + "id": 6536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2759:112:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 6537, + "nodeType": "ExpressionStatement", + "src": "2759:112:17" + } + ] + }, + "documentation": "@notice Function to reveal a committed vote on special proposal\n@dev The lockedDGDStake that would be counted behind a participant's vote is his lockedDGDStake when this function is called\n@param _proposalId ID of the proposal\n@param _vote Boolean, true if voted for, false if voted against\n@param _salt Random bytes used to commit vote", + "id": 6539, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 6478, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6471, + "src": "2390:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 6479, + "modifierName": { + "argumentTypes": null, + "id": 6477, + "name": "ifRevealPhaseSpecial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 475, + "src": "2369:20:17", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "2369:33:17" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 6481, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6471, + "src": "2433:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 6482, + "modifierName": { + "argumentTypes": null, + "id": 6480, + "name": "hasNotRevealedSpecial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 406, + "src": "2411:21:17", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "2411:34:17" + } + ], + "name": "revealVoteOnSpecialProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6476, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6471, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 6539, + "src": "2277:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6470, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2277:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6473, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 6539, + "src": "2306:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6472, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2306:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6475, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 6539, + "src": "2326:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6474, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2326:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2267:78:17" + }, + "payable": false, + "returnParameters": { + "id": 6483, + "nodeType": "ParameterList", + "parameters": [], + "src": "2450:0:17" + }, + "scope": 6652, + "src": "2231:647:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6569, + "nodeType": "Block", + "src": "3351:130:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6554, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "3383:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3383:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6553, + "name": "isParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 552, + "src": "3369:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 6556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3369:25:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6552, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3361:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3361:34:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6558, + "nodeType": "ExpressionStatement", + "src": "3361:34:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6562, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6541, + "src": "3429:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6563, + "name": "_commitHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6545, + "src": "3442:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6564, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "3455:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3455:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6566, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6543, + "src": "3467:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6559, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "3405:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 6560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3405:12:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 6561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "commitVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 18191, + "src": "3405:23:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,bytes32,address,uint256) external" + } + }, + "id": 6567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3405:69:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6568, + "nodeType": "ExpressionStatement", + "src": "3405:69:17" + } + ] + }, + "documentation": "@notice Function to commit a vote on proposal (Voting Round)\n@param _proposalId ID of the proposal\n@param _index Index of the Voting Round\n@param _commitHash Hash of the vote to commit (hash = SHA3(address(pub_address), bool(vote), bytes32(random string)))", + "id": 6570, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 6548, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6541, + "src": "3326:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6549, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6543, + "src": "3339:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 6550, + "modifierName": { + "argumentTypes": null, + "id": 6547, + "name": "ifCommitPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 180, + "src": "3312:13:17", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$_t_uint8_$", + "typeString": "modifier (bytes32,uint8)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3312:34:17" + } + ], + "name": "commitVoteOnProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6546, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6541, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 6570, + "src": "3212:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6540, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3212:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6543, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 6570, + "src": "3241:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 6542, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3241:5:17", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6545, + "name": "_commitHash", + "nodeType": "VariableDeclaration", + "scope": 6570, + "src": "3263:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6544, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3263:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3202:86:17" + }, + "payable": false, + "returnParameters": { + "id": 6551, + "nodeType": "ParameterList", + "parameters": [], + "src": "3351:0:17" + }, + "scope": 6652, + "src": "3173:308:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6650, + "nodeType": "Block", + "src": "4147:526:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6591, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4179:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4179:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6590, + "name": "isParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 552, + "src": "4165:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 6593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4165:25:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6589, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4157:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4157:34:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6595, + "nodeType": "ExpressionStatement", + "src": "4157:34:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 6614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6600, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4236:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4236:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6602, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6576, + "src": "4248:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 6603, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6578, + "src": "4255:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 6598, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26599, + "src": "4219:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6599, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4219:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 6604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4219:42:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6597, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26606, + "src": "4209:9:17", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 6605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4209:53:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6609, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6572, + "src": "4296:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6610, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6574, + "src": "4309:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6611, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4317:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4317:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6606, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "4266:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 6607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4266:12:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 6608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readComittedVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 16914, + "src": "4266:29:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,uint256,address) view external returns (bytes32)" + } + }, + "id": 6613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4266:62:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4209:119:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6596, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4201:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4201:128:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6616, + "nodeType": "ExpressionStatement", + "src": "4201:128:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6620, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6572, + "src": "4363:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6621, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4376:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4376:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6623, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6576, + "src": "4388:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6627, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4428:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4428:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6624, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "4395:15:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4395:17:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16048, + "src": "4395:32:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 6629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4395:44:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6630, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6574, + "src": "4441:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6617, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "4339:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 6618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4339:12:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 6619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "revealVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 18223, + "src": "4339:23:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_bool_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,bool,uint256,uint256) external" + } + }, + "id": 6631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4339:109:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6632, + "nodeType": "ExpressionStatement", + "src": "4339:109:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6636, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4506:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4506:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 6641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6639, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6574, + "src": "4544:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6640, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4554:1:17", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4544:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 6643, + "name": "CONFIG_QUARTER_POINT_INTERIM_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1498, + "src": "4586:33:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "4544:75:17", + "trueExpression": { + "argumentTypes": null, + "id": 6642, + "name": "CONFIG_QUARTER_POINT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1495, + "src": "4558:25:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6638, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4530:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 6645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4530:90:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6646, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "4634:20:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 6647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4634:22:17", + "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, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6633, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "4458:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 6634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4458:18:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 6635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addQuarterPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14620, + "src": "4458:34:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address,uint256,uint256) external returns (uint256,uint256)" + } + }, + "id": 6648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4458:208:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 6649, + "nodeType": "ExpressionStatement", + "src": "4458:208:17" + } + ] + }, + "documentation": "@notice Function to reveal a committed vote on proposal (Voting Round)\n@dev The lockedDGDStake that would be counted behind a participant's vote is his lockedDGDStake when this function is called\n@param _proposalId ID of the proposal\n@param _index Index of the Voting Round\n@param _vote Boolean, true if voted for, false if voted against\n@param _salt Random bytes used to commit vote", + "id": 6651, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 6581, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6572, + "src": "4078:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6582, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6574, + "src": "4091:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 6583, + "modifierName": { + "argumentTypes": null, + "id": 6580, + "name": "ifRevealPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "4064:13:17", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$_t_uint256_$", + "typeString": "modifier (bytes32,uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "4064:34:17" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 6585, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6572, + "src": "4122:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6586, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6574, + "src": "4135:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 6587, + "modifierName": { + "argumentTypes": null, + "id": 6584, + "name": "hasNotRevealed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 378, + "src": "4107:14:17", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$_t_uint256_$", + "typeString": "modifier (bytes32,uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "4107:35:17" + } + ], + "name": "revealVoteOnProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6579, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6572, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 6651, + "src": "3950:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6571, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3950:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6574, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 6651, + "src": "3979:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 6573, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3979:5:17", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6576, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 6651, + "src": "4001:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6575, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4001:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6578, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 6651, + "src": "4021:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6577, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4021:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3940:100:17" + }, + "payable": false, + "returnParameters": { + "id": 6588, + "nodeType": "ParameterList", + "parameters": [], + "src": "4147:0:17" + }, + "scope": 6652, + "src": "3911:762:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 6653, + "src": "140:4535:17" + } + ], + "src": "0:4676:17" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoVoting.sol", + "exportedSymbols": { + "DaoVoting": [ + 6652 + ] + }, + "id": 6653, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6352, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:17" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommon.sol", + "file": "../common/DaoCommon.sol", + "id": 6353, + "nodeType": "ImportDirective", + "scope": 6653, + "sourceUnit": 839, + "src": "26:33:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 6354, + "name": "DaoCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 838, + "src": "162:9:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommon_$838", + "typeString": "contract DaoCommon" + } + }, + "id": 6355, + "nodeType": "InheritanceSpecifier", + "src": "162:9:17" + } + ], + "contractDependencies": [ + 838, + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": "@title Contract for all voting operations of DAO\n@author Digix Holdings", + "fullyImplemented": true, + "id": 6652, + "linearizedBaseContracts": [ + 6652, + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoVoting", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 6367, + "nodeType": "Block", + "src": "217:62:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6362, + "name": "CONTRACT_DAO_VOTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1306, + "src": "240:19:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6363, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6357, + "src": "261:9:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6361, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "235:4:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 6364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "235:36:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6360, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "227:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "227:45:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6366, + "nodeType": "ExpressionStatement", + "src": "227:45:17" + } + ] + }, + "documentation": null, + "id": 6368, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6358, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6357, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 6368, + "src": "191:17:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6356, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "191:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "190:19:17" + }, + "payable": false, + "returnParameters": { + "id": 6359, + "nodeType": "ParameterList", + "parameters": [], + "src": "217:0:17" + }, + "scope": 6652, + "src": "179:100:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6441, + "nodeType": "Block", + "src": "622:608:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6379, + "name": "isMainPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "640:11:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 6380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "640:13:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6378, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "632:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "632:22:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6382, + "nodeType": "ExpressionStatement", + "src": "632:22:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6385, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "684:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "684:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6384, + "name": "isModerator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 594, + "src": "672:11:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 6387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "672:23:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6383, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "664:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "664:32:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6389, + "nodeType": "ExpressionStatement", + "src": "664:32:17" + }, + { + "assignments": [ + 6391 + ], + "declarations": [ + { + "constant": false, + "id": 6391, + "name": "_moderator", + "nodeType": "VariableDeclaration", + "scope": 6442, + "src": "706:18:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6390, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "706:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6394, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6392, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "727:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "727:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "706:31:17" + }, + { + "assignments": [ + 6396 + ], + "declarations": [ + { + "constant": false, + "id": 6396, + "name": "_moderatorStake", + "nodeType": "VariableDeclaration", + "scope": 6442, + "src": "747:23:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6395, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "747:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6402, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6400, + "name": "_moderator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6391, + "src": "806:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6397, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "773:15:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "773:17:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16048, + "src": "773:32:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 6401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "773:44:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "747:70:17" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 6404, + "name": "_voteWeight", + "nodeType": "VariableDeclaration", + "scope": 6442, + "src": "828:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6403, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "828:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6405, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "828:19:17" + }, + { + "expression": { + "argumentTypes": null, + "id": 6414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + { + "argumentTypes": null, + "id": 6406, + "name": "_voteWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6404, + "src": "859:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6407, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "857:14:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$_t_uint256_$", + "typeString": "tuple(,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6411, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6370, + "src": "901:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6412, + "name": "_moderator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6391, + "src": "914:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6408, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "874:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 6409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "874:12:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 6410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readDraftVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 16885, + "src": "874:26:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (bytes32,address) view external returns (bool,uint256)" + } + }, + "id": 6413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "874:51:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "src": "857:68:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6415, + "nodeType": "ExpressionStatement", + "src": "857:68:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6419, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6370, + "src": "962:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6420, + "name": "_moderator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6391, + "src": "975:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6421, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6372, + "src": "987:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 6422, + "name": "_moderatorStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6396, + "src": "994:15:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6416, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "936:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 6417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "936:12:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 6418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addDraftVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 18161, + "src": "936:25:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_bool_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,bool,uint256) external" + } + }, + "id": 6423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "936:74:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6424, + "nodeType": "ExpressionStatement", + "src": "936:74:17" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6425, + "name": "_voteWeight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6404, + "src": "1025:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6426, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1040:1:17", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1025:16:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6440, + "nodeType": "IfStatement", + "src": "1021:203:17", + "trueBody": { + "id": 6439, + "nodeType": "Block", + "src": "1043:181:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6431, + "name": "_moderator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6391, + "src": "1130:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6433, + "name": "CONFIG_QUARTER_POINT_DRAFT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "1156:31:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6432, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "1142:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 6434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1142:46:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6435, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "1190:20:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 6436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1190:22:17", + "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, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6428, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "1086:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 6429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1086:18:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 6430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addModeratorQuarterPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14689, + "src": "1086:43:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address,uint256,uint256) external returns (uint256,uint256)" + } + }, + "id": 6437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1086:127:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 6438, + "nodeType": "ExpressionStatement", + "src": "1086:127:17" + } + ] + } + } + ] + }, + "documentation": "@notice Function to vote on draft proposal (only Moderators can vote)\n@param _proposalId ID of the proposal\n@param _vote Boolean, true if voting for, false if voting against", + "id": 6442, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 6375, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6370, + "src": "605:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 6376, + "modifierName": { + "argumentTypes": null, + "id": 6374, + "name": "ifDraftVotingPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 270, + "src": "586:18:17", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "586:31:17" + } + ], + "name": "voteOnDraft", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6373, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6370, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 6442, + "src": "517:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6369, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "517:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6372, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 6442, + "src": "546:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6371, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "546:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "507:55:17" + }, + "payable": false, + "returnParameters": { + "id": 6377, + "nodeType": "ParameterList", + "parameters": [], + "src": "622:0:17" + }, + "scope": 6652, + "src": "487:743:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6468, + "nodeType": "Block", + "src": "1723:129:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6454, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1755:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1755:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6453, + "name": "isParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 552, + "src": "1741:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 6456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1741:25:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6452, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1733:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1733:34:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6458, + "nodeType": "ExpressionStatement", + "src": "1733:34:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6462, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6444, + "src": "1808:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6463, + "name": "_commitHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6446, + "src": "1821:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6464, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1834:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1834:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6459, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "1777:17:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 6460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1777:19:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 6461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "commitVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 15834, + "src": "1777:30:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,bytes32,address) external" + } + }, + "id": 6466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1777:68:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6467, + "nodeType": "ExpressionStatement", + "src": "1777:68:17" + } + ] + }, + "documentation": "@notice Function to commit a vote on special proposal\n@param _proposalId ID of the proposal\n@param _commitHash Hash of the vote to commit (hash = SHA3(address(pub_address), bool(vote), bytes(random string)))\n@return {\n\"_success\": \"Boolean, true if vote was committed successfully\"\n}", + "id": 6469, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 6449, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6444, + "src": "1706:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 6450, + "modifierName": { + "argumentTypes": null, + "id": 6448, + "name": "ifCommitPhaseSpecial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 455, + "src": "1685:20:17", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "1685:33:17" + } + ], + "name": "commitVoteOnSpecialProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6447, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6444, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 6469, + "src": "1607:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6443, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1607:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6446, + "name": "_commitHash", + "nodeType": "VariableDeclaration", + "scope": 6469, + "src": "1636:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6445, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1636:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1597:64:17" + }, + "payable": false, + "returnParameters": { + "id": 6451, + "nodeType": "ParameterList", + "parameters": [], + "src": "1723:0:17" + }, + "scope": 6652, + "src": "1561:291:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6538, + "nodeType": "Block", + "src": "2450:428:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6486, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2482:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2482:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6485, + "name": "isParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 552, + "src": "2468:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 6488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2468:25:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6484, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2460:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2460:34:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6490, + "nodeType": "ExpressionStatement", + "src": "2460:34:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 6508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6495, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2539:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2539:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6497, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6473, + "src": "2551:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 6498, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6475, + "src": "2558:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 6493, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26599, + "src": "2522:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6494, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2522:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 6499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2522:42:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6492, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26606, + "src": "2512:9:17", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 6500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2512:53:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6504, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6471, + "src": "2606:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6505, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2619:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2619:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6501, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "2569:17:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 6502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2569:19:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 6503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readComittedVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 15859, + "src": "2569:36:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,address) view external returns (bytes32)" + } + }, + "id": 6507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2569:61:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2512:118:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6491, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2504:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2504:127:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6510, + "nodeType": "ExpressionStatement", + "src": "2504:127:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6514, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6471, + "src": "2672:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6515, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2685:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2685:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6517, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6473, + "src": "2697:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6521, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2737:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2737:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6518, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "2704:15:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2704:17:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16048, + "src": "2704:32:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 6523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2704:44:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6511, + "name": "daoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "2641:17:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "function () view returns (contract DaoSpecialStorage)" + } + }, + "id": 6512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2641:19:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 6513, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "revealVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 16028, + "src": "2641:30:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_bool_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,bool,uint256) external" + } + }, + "id": 6524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2641:108:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6525, + "nodeType": "ExpressionStatement", + "src": "2641:108:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6529, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2794:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2794:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6532, + "name": "CONFIG_QUARTER_POINT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1495, + "src": "2820:25:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6531, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2806:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 6533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2806:40:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6534, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "2848:20:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 6535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2848:22:17", + "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, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6526, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "2759:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 6527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2759:18:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 6528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addQuarterPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14620, + "src": "2759:34:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address,uint256,uint256) external returns (uint256,uint256)" + } + }, + "id": 6536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2759:112:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 6537, + "nodeType": "ExpressionStatement", + "src": "2759:112:17" + } + ] + }, + "documentation": "@notice Function to reveal a committed vote on special proposal\n@dev The lockedDGDStake that would be counted behind a participant's vote is his lockedDGDStake when this function is called\n@param _proposalId ID of the proposal\n@param _vote Boolean, true if voted for, false if voted against\n@param _salt Random bytes used to commit vote", + "id": 6539, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 6478, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6471, + "src": "2390:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 6479, + "modifierName": { + "argumentTypes": null, + "id": 6477, + "name": "ifRevealPhaseSpecial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 475, + "src": "2369:20:17", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "2369:33:17" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 6481, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6471, + "src": "2433:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 6482, + "modifierName": { + "argumentTypes": null, + "id": 6480, + "name": "hasNotRevealedSpecial", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 406, + "src": "2411:21:17", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "2411:34:17" + } + ], + "name": "revealVoteOnSpecialProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6476, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6471, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 6539, + "src": "2277:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6470, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2277:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6473, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 6539, + "src": "2306:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6472, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2306:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6475, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 6539, + "src": "2326:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6474, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2326:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2267:78:17" + }, + "payable": false, + "returnParameters": { + "id": 6483, + "nodeType": "ParameterList", + "parameters": [], + "src": "2450:0:17" + }, + "scope": 6652, + "src": "2231:647:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6569, + "nodeType": "Block", + "src": "3351:130:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6554, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "3383:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3383:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6553, + "name": "isParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 552, + "src": "3369:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 6556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3369:25:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6552, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3361:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3361:34:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6558, + "nodeType": "ExpressionStatement", + "src": "3361:34:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6562, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6541, + "src": "3429:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6563, + "name": "_commitHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6545, + "src": "3442:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6564, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "3455:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3455:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6566, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6543, + "src": "3467:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6559, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "3405:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 6560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3405:12:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 6561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "commitVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 18191, + "src": "3405:23:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,bytes32,address,uint256) external" + } + }, + "id": 6567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3405:69:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6568, + "nodeType": "ExpressionStatement", + "src": "3405:69:17" + } + ] + }, + "documentation": "@notice Function to commit a vote on proposal (Voting Round)\n@param _proposalId ID of the proposal\n@param _index Index of the Voting Round\n@param _commitHash Hash of the vote to commit (hash = SHA3(address(pub_address), bool(vote), bytes32(random string)))", + "id": 6570, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 6548, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6541, + "src": "3326:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6549, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6543, + "src": "3339:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 6550, + "modifierName": { + "argumentTypes": null, + "id": 6547, + "name": "ifCommitPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 180, + "src": "3312:13:17", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$_t_uint8_$", + "typeString": "modifier (bytes32,uint8)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3312:34:17" + } + ], + "name": "commitVoteOnProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6546, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6541, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 6570, + "src": "3212:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6540, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3212:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6543, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 6570, + "src": "3241:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 6542, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3241:5:17", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6545, + "name": "_commitHash", + "nodeType": "VariableDeclaration", + "scope": 6570, + "src": "3263:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6544, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3263:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3202:86:17" + }, + "payable": false, + "returnParameters": { + "id": 6551, + "nodeType": "ParameterList", + "parameters": [], + "src": "3351:0:17" + }, + "scope": 6652, + "src": "3173:308:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6650, + "nodeType": "Block", + "src": "4147:526:17", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6591, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4179:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4179:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6590, + "name": "isParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 552, + "src": "4165:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 6593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4165:25:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6589, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4157:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4157:34:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6595, + "nodeType": "ExpressionStatement", + "src": "4157:34:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 6614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6600, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4236:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4236:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6602, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6576, + "src": "4248:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 6603, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6578, + "src": "4255:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 6598, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26599, + "src": "4219:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6599, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4219:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 6604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4219:42:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6597, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26606, + "src": "4209:9:17", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 6605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4209:53:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6609, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6572, + "src": "4296:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6610, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6574, + "src": "4309:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6611, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4317:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4317:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6606, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "4266:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 6607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4266:12:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 6608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readComittedVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 16914, + "src": "4266:29:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,uint256,address) view external returns (bytes32)" + } + }, + "id": 6613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4266:62:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4209:119:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6596, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "4201:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4201:128:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6616, + "nodeType": "ExpressionStatement", + "src": "4201:128:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6620, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6572, + "src": "4363:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6621, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4376:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4376:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6623, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6576, + "src": "4388:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6627, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4428:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4428:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6624, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "4395:15:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4395:17:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "lockedDGDStake", + "nodeType": "MemberAccess", + "referencedDeclaration": 16048, + "src": "4395:32:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 6629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4395:44:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 6630, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6574, + "src": "4441:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6617, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "4339:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 6618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4339:12:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 6619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "revealVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 18223, + "src": "4339:23:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_bool_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,bool,uint256,uint256) external" + } + }, + "id": 6631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4339:109:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6632, + "nodeType": "ExpressionStatement", + "src": "4339:109:17" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6636, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4506:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4506:10:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 6641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6639, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6574, + "src": "4544:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6640, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4554:1:17", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4544:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "argumentTypes": null, + "id": 6643, + "name": "CONFIG_QUARTER_POINT_INTERIM_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1498, + "src": "4586:33:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "4544:75:17", + "trueExpression": { + "argumentTypes": null, + "id": 6642, + "name": "CONFIG_QUARTER_POINT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1495, + "src": "4558:25:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6638, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "4530:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 6645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4530:90:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6646, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "4634:20:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 6647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4634:22:17", + "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, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6633, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "4458:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 6634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4458:18:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 6635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addQuarterPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14620, + "src": "4458:34:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address,uint256,uint256) external returns (uint256,uint256)" + } + }, + "id": 6648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4458:208:17", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 6649, + "nodeType": "ExpressionStatement", + "src": "4458:208:17" + } + ] + }, + "documentation": "@notice Function to reveal a committed vote on proposal (Voting Round)\n@dev The lockedDGDStake that would be counted behind a participant's vote is his lockedDGDStake when this function is called\n@param _proposalId ID of the proposal\n@param _index Index of the Voting Round\n@param _vote Boolean, true if voted for, false if voted against\n@param _salt Random bytes used to commit vote", + "id": 6651, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 6581, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6572, + "src": "4078:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6582, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6574, + "src": "4091:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 6583, + "modifierName": { + "argumentTypes": null, + "id": 6580, + "name": "ifRevealPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 213, + "src": "4064:13:17", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$_t_uint256_$", + "typeString": "modifier (bytes32,uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "4064:34:17" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 6585, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6572, + "src": "4122:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6586, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6574, + "src": "4135:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "id": 6587, + "modifierName": { + "argumentTypes": null, + "id": 6584, + "name": "hasNotRevealed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 378, + "src": "4107:14:17", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$_t_uint256_$", + "typeString": "modifier (bytes32,uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "4107:35:17" + } + ], + "name": "revealVoteOnProposal", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6579, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6572, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 6651, + "src": "3950:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6571, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3950:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6574, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 6651, + "src": "3979:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 6573, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3979:5:17", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6576, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 6651, + "src": "4001:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6575, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4001:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6578, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 6651, + "src": "4021:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6577, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4021:7:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3940:100:17" + }, + "payable": false, + "returnParameters": { + "id": 6588, + "nodeType": "ParameterList", + "parameters": [], + "src": "4147:0:17" + }, + "scope": 6652, + "src": "3911:762:17", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 6653, + "src": "140:4535:17" + } + ], + "src": "0:4676:17" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0x9b376cf94763a3209bf0692789e7ae713e507702", + "transactionHash": "0xc7eb08219b6727c0fbe49ecb0d82aa385a670d94daa226a30324e02c22383a77" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T10:37:27.543Z" +} diff --git a/build/contracts/DaoVotingClaims.json b/build/contracts/DaoVotingClaims.json new file mode 100644 index 0000000..de3b99f --- /dev/null +++ b/build/contracts/DaoVotingClaims.json @@ -0,0 +1,32461 @@ +{ + "contractName": "DaoVotingClaims", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getAddressConfig", + "outputs": [ + { + "name": "_configValue", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentTimeInQuarter", + "outputs": [ + { + "name": "_currentT", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isMainPhase", + "outputs": [ + { + "name": "_isMainPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isLockingPhase", + "outputs": [ + { + "name": "_isLockingPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentQuarterNumber", + "outputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isParticipant", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getBytesConfig", + "outputs": [ + { + "name": "_configValue", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getUintConfig", + "outputs": [ + { + "name": "_configValue", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isDaoNotReplaced", + "outputs": [ + { + "name": "_isNotReplaced", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isModerator", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_operations", + "type": "uint256" + } + ], + "name": "claimDraftVotingResult", + "outputs": [ + { + "name": "_passed", + "type": "bool" + }, + { + "name": "_done", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + }, + { + "name": "_operations", + "type": "uint256" + } + ], + "name": "claimProposalVotingResult", + "outputs": [ + { + "name": "_passed", + "type": "bool" + }, + { + "name": "_done", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "getInterResultKeyForBonusCalculation", + "outputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b506040516020806200647083398101806040528101908080519060200190929190505050620011756018548262001188640100000000026401000000009004565b15156200118157600080fd5b5062001419565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f057600080fd5b505af115801562001205573d6000803e3d6000fd5b505050506040513d60208110156200121c57600080fd5b810190808051906020019092919050505090506000151581151514156200140d5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013ba57600080fd5b505af1158015620013cf573d6000803e3d6000fd5b505050506040513d6020811015620013e657600080fd5b810190808051906020019092919050505015156200140357600080fd5b6001915062001412565b600091505b5092915050565b61504780620014296000396000f3006080604052600436106100f1576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100f65780631d8ccd041461014d5780633943380c146101be5780633d554f39146101f15780633f83acff14610259578063560a25ea146102ca57806368533060146102f55780637d6fed80146103245780637f6a26b61461035357806390e353df1461037e578063929066f5146103dc57806393ddad0814610437578063b1e2b9dd14610484578063c66c9efd146104c9578063d70d935814610516578063db4ecbc114610545578063fa6f39361461059c575b600080fd5b34801561010257600080fd5b5061010b6105f7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561015957600080fd5b5061017c600480360381019080803560001916906020019092919050505061061c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101ca57600080fd5b506101d36106de565b60405180826000191660001916815260200191505060405180910390f35b3480156101fd57600080fd5b50610234600480360381019080803560001916906020019092919080359060200190929190803590602001909291905050506106e4565b6040518083151515158152602001821515151581526020019250505060405180910390f35b34801561026557600080fd5b506102886004803603810190808035600019169060200190929190505050610bd1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102d657600080fd5b506102df610cad565b6040518082815260200191505060405180910390f35b34801561030157600080fd5b5061030a610cbd565b604051808215151515815260200191505060405180910390f35b34801561033057600080fd5b50610339610ce9565b604051808215151515815260200191505060405180910390f35b34801561035f57600080fd5b50610368610d04565b6040518082815260200191505060405180910390f35b34801561038a57600080fd5b506103b7600480360381019080803560001916906020019092919080359060200190929190505050610d14565b6040518083151515158152602001821515151581526020019250505060405180910390f35b3480156103e857600080fd5b5061041d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119bb565b604051808215151515815260200191505060405180910390f35b34801561044357600080fd5b506104666004803603810190808035600019169060200190929190505050611b9c565b60405180826000191660001916815260200191505060405180910390f35b34801561049057600080fd5b506104b36004803603810190808035600019169060200190929190505050611c5e565b6040518082815260200191505060405180910390f35b3480156104d557600080fd5b506104f86004803603810190808035600019169060200190929190505050611d20565b60405180826000191660001916815260200191505060405180910390f35b34801561052257600080fd5b5061052b611dc5565b604051808215151515815260200191505060405180910390f35b34801561055157600080fd5b5061055a611e73565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105a857600080fd5b506105dd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e99565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061062661216c565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561069c57600080fd5b505af11580156106b0573d6000803e3d6000fd5b505050506040513d60208110156106c657600080fd5b81019080805190602001909291905050509050919050565b60015481565b60008060008585600015156106f761217e565b73ffffffffffffffffffffffffffffffffffffffff166385f5276f84846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b15801561077557600080fd5b505af1158015610789573d6000803e3d6000fd5b505050506040513d602081101561079f57600080fd5b810190808051906020019092919050505015151415156107be57600080fd5b878760006107ca61217e565b73ffffffffffffffffffffffffffffffffffffffff1663baf4266084846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b15801561084857600080fd5b505af115801561085c573d6000803e3d6000fd5b505050506040513d602081101561087257600080fd5b8101908080519060200190929190505050905060008111151561089457600080fd5b6108c26108b3600084146108aa57603d546108ae565b603b545b611c5e565b8261219090919063ffffffff16565b42101515156108d057600080fd5b6108d8610cbd565b15156108e357600080fd5b600196506000975088955060008914156109035760008097509750610bc3565b610929610911606954611c5e565b61091b8d8d6121ac565b61219090919063ffffffff16565b42101561095b5761093b8b8b8b6122d5565b809950819a5082985050505086151561095a5787600097509750610bc3565b5b6000965060008a111561098e576109748b8b888b612aa8565b96508615156109895787600097509750610bc3565b610a58565b8780156109a0575061099f8b613474565b5b97508715610a4d576109b061217e565b73ffffffffffffffffffffffffffffffffffffffff1663c362c7908c600f546040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015610a3057600080fd5b505af1158015610a44573d6000803e3d6000fd5b50505050610a57565b610a568b61369e565b5b5b8715610a6957610a688b8b6138f1565b5b610a7161217e565b73ffffffffffffffffffffffffffffffffffffffff16633e020d2f8c8c60016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808460001916600019168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015610afc57600080fd5b505af1158015610b10573d6000803e3d6000fd5b50505050610b1c61217e565b73ffffffffffffffffffffffffffffffffffffffff16631ea5d62f8c8c8b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808460001916600019168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015610ba657600080fd5b505af1158015610bba573d6000803e3d6000fd5b50505050600196505b505050505050935093915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610c6b57600080fd5b505af1158015610c7f573d6000803e3d6000fd5b505050506040513d6020811015610c9557600080fd5b81019080805190602001909291905050509050919050565b6000610cb842614007565b905090565b6000610cc7611dc5565b8015610ce45750610cd9603854611c5e565b610ce1610cad565b10155b905090565b6000610cf6603854611c5e565b610cfe610cad565b10905090565b6000610d0f426140f0565b905090565b600080610d1f614fa8565b6060610d29614fe7565b8660001515610d3661217e565b73ffffffffffffffffffffffffffffffffffffffff1663395ddde9836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b505050506040513d6020811015610dd657600080fd5b81019080805190602001909291905050501515141515610df557600080fd5b876000610e0061217e565b73ffffffffffffffffffffffffffffffffffffffff166349a428d0836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610e7657600080fd5b505af1158015610e8a573d6000803e3d6000fd5b505050506040513d6020811015610ea057600080fd5b81019080805190602001909291905050509050600081111515610ec257600080fd5b610edf610ed0606754611c5e565b8261219090919063ffffffff16565b4210151515610eed57600080fd5b610fde610efb606954611c5e565b610fd0610f09606754611c5e565b610f1161217e565b73ffffffffffffffffffffffffffffffffffffffff166349a428d08f6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610f8757600080fd5b505af1158015610f9b573d6000803e3d6000fd5b505050506040513d6020811015610fb157600080fd5b810190808051906020019092919050505061219090919063ffffffff16565b61219090919063ffffffff16565b421180610ff15750610fef8a613474565b155b1561115257610ffe61217e565b73ffffffffffffffffffffffffffffffffffffffff166382e445c68b60006040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561108157600080fd5b505af1158015611095573d6000803e3d6000fd5b505050506110a161217e565b73ffffffffffffffffffffffffffffffffffffffff166327618ad98b60016040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561112457600080fd5b505af1158015611138573d6000803e3d6000fd5b505050506111458a61369e565b60006001975097506119ae565b61115b8a6141f3565b151561116657600080fd5b61116e6142e3565b600089141561118357600080975097506119ae565b61118b6143f4565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b15801561120157600080fd5b505af1158015611215573d6000803e3d6000fd5b505050506040513d608081101561122b57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050505088606001896000018a60200183815250838152508373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16866060015173ffffffffffffffffffffffffffffffffffffffff16141561141757611304614406565b73ffffffffffffffffffffffffffffffffffffffff166385f0e4bf8a60016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b15801561137f57600080fd5b505af1158015611393573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156113bd57600080fd5b8101908080516401000000008111156113d557600080fd5b828101905060208101848111156113eb57600080fd5b815185602082028301116401000000008211171561140857600080fd5b50509291905050509450611566565b61141f614406565b73ffffffffffffffffffffffffffffffffffffffff166340c7174e87606001518b60016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b1580156114d257600080fd5b505af11580156114e6573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561151057600080fd5b81019080805164010000000081111561152857600080fd5b8281019050602081018481111561153e57600080fd5b815185602082028301116401000000008211171561155b57600080fd5b505092919050505094505b61156e61217e565b73ffffffffffffffffffffffffffffffffffffffff1663bb3b5f6d8b876040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156116075780820151818401526020810190506115ec565b5050505090500193505050506040805180830381600087803b15801561162c57600080fd5b505af1158015611640573d6000803e3d6000fd5b505050506040513d604081101561165657600080fd5b81019080805190602001909291908051906020019092919050505085600001866020018281525082815250505084600186510381518110151561169557fe5b90602001906020020151866060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116f18460000151876000015161219090919063ffffffff16565b8660000181815250506117158460200151876020015161219090919063ffffffff16565b866020018181525050611726614418565b73ffffffffffffffffffffffffffffffffffffffff1663bbb03dc26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561178957600080fd5b505af115801561179d573d6000803e3d6000fd5b505050506040513d60208110156117b357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168560018751038151811015156117ec57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614156118bd5761181c8a8761442a565b97506001965061182a6143f4565b73ffffffffffffffffffffffffffffffffffffffff1663d590f4ab8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b1580156118a057600080fd5b505af11580156118b4573d6000803e3d6000fd5b505050506119ad565b6118c56143f4565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c8b886060015189600001518a6020015160006040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b15801561199457600080fd5b505af11580156119a8573d6000803e3d6000fd5b505050505b5b5050505050509250929050565b60006119c5610d04565b6119cd61495b565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611a6757600080fd5b505af1158015611a7b573d6000803e3d6000fd5b505050506040513d6020811015611a9157600080fd5b8101908080519060200190929190505050148015611b955750611ab5603554611c5e565b611abd614418565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611b5757600080fd5b505af1158015611b6b573d6000803e3d6000fd5b505050506040513d6020811015611b8157600080fd5b810190808051906020019092919050505010155b9050919050565b6000611ba661216c565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611c1c57600080fd5b505af1158015611c30573d6000803e3d6000fd5b505050506040513d6020811015611c4657600080fd5b81019080805190602001909291905050509050919050565b6000611c6861216c565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611cde57600080fd5b505af1158015611cf2573d6000803e3d6000fd5b505050506040513d6020811015611d0857600080fd5b81019080805190602001909291905050509050919050565b6000816013546040516020018083600019166000191681526020018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b602083101515611d915780518252602082019150602081019050602083039250611d6c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050919050565b6000611dcf61496d565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611e3257600080fd5b505af1158015611e46573d6000803e3d6000fd5b505050506040513d6020811015611e5c57600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611ea3610d04565b611eab61495b565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611f4557600080fd5b505af1158015611f59573d6000803e3d6000fd5b505050506040513d6020811015611f6f57600080fd5b81019080805190602001909291905050501480156120735750611f93603654611c5e565b611f9b614418565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561203557600080fd5b505af1158015612049573d6000803e3d6000fd5b505050506040513d602081101561205f57600080fd5b810190808051906020019092919050505010155b80156121655750612085603754611c5e565b61208d61497f565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561212757600080fd5b505af115801561213b573d6000803e3d6000fd5b505050506040513d602081101561215157600080fd5b810190808051906020019092919050505010155b9050919050565b6000612179602b54610bd1565b905090565b600061218b602554610bd1565b905090565b600081830190508281101515156121a357fe5b80905092915050565b6000806121b761217e565b73ffffffffffffffffffffffffffffffffffffffff1663baf4266085856040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b15801561223557600080fd5b505af1158015612249573d6000803e3d6000fd5b505050506040513d602081101561225f57600080fd5b8101908080519060200190929190505050905060008111151561228157600080fd5b60008314156122ae576122a7612298603b54611c5e565b8261219090919063ffffffff16565b91506122ce565b6122cb6122bc603d54611c5e565b8261219090919063ffffffff16565b91505b5092915050565b60008060006122e2614fa8565b606060006122ee614fe7565b6122f66142e3565b6122ff8a6141f3565b151561230a57600080fd5b6123126143f4565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b15801561238857600080fd5b505af115801561239c573d6000803e3d6000fd5b505050506040513d60808110156123b257600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050505086606001876000018860200183815250838152508373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846060015173ffffffffffffffffffffffffffffffffffffffff16141561259e5761248b614406565b73ffffffffffffffffffffffffffffffffffffffff1663f4f9fadc8960016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b15801561250657600080fd5b505af115801561251a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561254457600080fd5b81019080805164010000000081111561255c57600080fd5b8281019050602081018481111561257257600080fd5b815185602082028301116401000000008211171561258f57600080fd5b50509291905050509250612710565b6125a6614406565b73ffffffffffffffffffffffffffffffffffffffff166396fe8e6585606001518a60016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b15801561265957600080fd5b505af115801561266d573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561269757600080fd5b8101908080516401000000008111156126af57600080fd5b828101905060208101848111156126c557600080fd5b81518560208202830111640100000000821117156126e257600080fd5b5050929190505050925060008351141561270f5787612702858c8c614991565b6001965096509650612a9b565b5b82600184510381518110151561272257fe5b90602001906020020151915061273661217e565b73ffffffffffffffffffffffffffffffffffffffff1663a1e55acf8b8b866040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180846000191660001916815260200183815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156127d65780820151818401526020810190506127bb565b505050509050019450505050506040805180830381600087803b1580156127fc57600080fd5b505af1158015612810573d6000803e3d6000fd5b505050506040513d604081101561282657600080fd5b81019080805190602001909291908051906020019092919050505082600001836020018281525082815250505061286e8160000151856000015161219090919063ffffffff16565b8460000181815250506128928160200151856020015161219090919063ffffffff16565b8460200181815250506128a36143f4565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c8b848760000151886020015160006040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b15801561296e57600080fd5b505af1158015612982573d6000803e3d6000fd5b5050505061298e614418565b73ffffffffffffffffffffffffffffffffffffffff166382624a2e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156129f157600080fd5b505af1158015612a05573d6000803e3d6000fd5b505050506040513d6020811015612a1b57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515612a73576000806000829250965096509650612a9b565b612a87835189614b4290919063ffffffff16565b965060019450612a98848b8b614991565b95505b5050505093509350939050565b60008060606000612ab7615001565b6000871415612ac95760009450613468565b612ad16143f4565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b612af58b611d20565b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b158015612b4f57600080fd5b505af1158015612b63573d6000803e3d6000fd5b505050506040513d6080811015612b7957600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505090915090505080945050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612d2357612c10614406565b73ffffffffffffffffffffffffffffffffffffffff1663f4f9fadc8860016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b158015612c8b57600080fd5b505af1158015612c9f573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015612cc957600080fd5b810190808051640100000000811115612ce157600080fd5b82810190506020810184811115612cf757600080fd5b8151856020820283011164010000000082111715612d1457600080fd5b50509291905050509250612e6e565b612d2b614406565b73ffffffffffffffffffffffffffffffffffffffff166396fe8e65858960016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015612dda57600080fd5b505af1158015612dee573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015612e1857600080fd5b810190808051640100000000811115612e3057600080fd5b82810190506020810184811115612e4657600080fd5b8151856020820283011164010000000082111715612e6357600080fd5b505092919050505092505b826001845103815181101515612e8057fe5b906020019060200201519150851561303857612e9a61217e565b73ffffffffffffffffffffffffffffffffffffffff1663e81362fe8a612eca60018c614b4290919063ffffffff16565b8660016040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b83811015612f59578082015181840152602081019050612f3e565b5050505090500195505050505050600060405180830381600087803b158015612f8157600080fd5b505af1158015612f95573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506040811015612fbf57600080fd5b810190808051640100000000811115612fd757600080fd5b82810190506020810184811115612fed57600080fd5b815185602082028301116401000000008211171561300a57600080fd5b50509291906020018051906020019092919050505081915082602001836000018281525082905250506131da565b61304061217e565b73ffffffffffffffffffffffffffffffffffffffff1663e81362fe8a61307060018c614b4290919063ffffffff16565b8660006040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b838110156130ff5780820151818401526020810190506130e4565b5050505090500195505050505050600060405180830381600087803b15801561312757600080fd5b505af115801561313b573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250604081101561316557600080fd5b81019080805164010000000081111561317d57600080fd5b8281019050602081018481111561319357600080fd5b81518560208202830111640100000000821117156131b057600080fd5b50509291906020018051906020019092919050505081915082602001836000018281525082905250505b6000816000015111156131fa576131f981602001518260000151614b5b565b5b613202614418565b73ffffffffffffffffffffffffffffffffffffffff166382624a2e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561326557600080fd5b505af1158015613279573d6000803e3d6000fd5b505050506040513d602081101561328f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561337a576132db6143f4565b73ffffffffffffffffffffffffffffffffffffffff1663d590f4ab6132ff8b611d20565b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b15801561335957600080fd5b505af115801561336d573d6000803e3d6000fd5b5050505060019450613467565b6133826143f4565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c6133a68b611d20565b8460008060006040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b15801561344e57600080fd5b505af1158015613462573d6000803e3d6000fd5b505050505b5b50505050949350505050565b60008061347f61217e565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b1580156134f657600080fd5b505af115801561350a573d6000803e3d6000fd5b505050506040513d61014081101561352157600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959697985090919293949596975090919293949596509091929394955090919293945090919293509091925090915090508091505060019150801515613698576135dc606d54611c5e565b6135e4614d39565b73ffffffffffffffffffffffffffffffffffffffff1663198c6e24613607610d04565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561365957600080fd5b505af115801561366d573d6000803e3d6000fd5b505050506040513d602081101561368357600080fd5b81019080805190602001909291905050501091505b50919050565b6136a661217e565b73ffffffffffffffffffffffffffffffffffffffff1663c362c790826010546040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b15801561372657600080fd5b505af115801561373a573d6000803e3d6000fd5b50505050613746614d4b565b73ffffffffffffffffffffffffffffffffffffffff16637e71332b61376961217e565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156137df57600080fd5b505af11580156137f3573d6000803e3d6000fd5b505050506040513d602081101561380957600080fd5b8101908080519060200190929190505050836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826000191660001916815260200192505050602060405180830381600087803b1580156138a857600080fd5b505af11580156138bc573d6000803e3d6000fd5b505050506040513d60208110156138d257600080fd5b810190808051906020019092919050505015156138ee57600080fd5b50565b60606000806138fe6143f4565b73ffffffffffffffffffffffffffffffffffffffff1663d590f4ab866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b15801561397457600080fd5b505af1158015613988573d6000803e3d6000fd5b5050505061399461217e565b73ffffffffffffffffffffffffffffffffffffffff16637246d5a7866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015613a0a57600080fd5b505af1158015613a1e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506040811015613a4857600080fd5b810190808051640100000000811115613a6057600080fd5b82810190506020810184811115613a7657600080fd5b8151856020820283011164010000000082111715613a9357600080fd5b50509291906020018051906020019092919050505050809350508251841415613b5657613abf8561369e565b613ac761217e565b73ffffffffffffffffffffffffffffffffffffffff166395ecdf9e866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015613b3d57600080fd5b505af1158015613b51573d6000803e3d6000fd5b505050505b613b5e61217e565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179866040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b158015613bd557600080fd5b505af1158015613be9573d6000803e3d6000fd5b505050506040513d610140811015613c0057600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505090919293949596979850909192939495969750909192939495965090919293949550909192939450909192935090919250909150905080925050600084148015613cb3575081155b15613d4e57613cc0614d39565b73ffffffffffffffffffffffffffffffffffffffff16635552f200613ce3610d04565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015613d3557600080fd5b505af1158015613d49573d6000803e3d6000fd5b505050505b613d5661217e565b73ffffffffffffffffffffffffffffffffffffffff16633a85b82286866040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b158015613dd457600080fd5b505af1158015613de8573d6000803e3d6000fd5b505050506040513d6020811015613dfe57600080fd5b81019080805190602001909291905050509050613e1961497f565b73ffffffffffffffffffffffffffffffffffffffff16631eee0154613e3c61217e565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6886040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015613eb257600080fd5b505af1158015613ec6573d6000803e3d6000fd5b505050506040513d6020811015613edc57600080fd5b8101908080519060200190929190505050613f2669021e19e0c9bab2400000613f1886613f0a605554611c5e565b614d5d90919063ffffffff16565b614d9590919063ffffffff16565b613f2e610d04565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200193505050506040805180830381600087803b158015613fb957600080fd5b505af1158015613fcd573d6000803e3d6000fd5b505050506040513d6040811015613fe357600080fd5b81019080805190602001909291908051906020019092919050505050505050505050565b6000614011614dab565b151561401c57600080fd5b614027603954611c5e565b6140df61403261496d565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561409557600080fd5b505af11580156140a9573d6000803e3d6000fd5b505050506040513d60208110156140bf57600080fd5b810190808051906020019092919050505084614b4290919063ffffffff16565b8115156140e857fe5b069050919050565b60006140fa614dab565b151561410557600080fd5b6141ec60016141de614118603954611c5e565b6141d061412361496d565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561418657600080fd5b505af115801561419a573d6000803e3d6000fd5b505050506040513d60208110156141b057600080fd5b810190808051906020019092919050505087614b4290919063ffffffff16565b614d9590919063ffffffff16565b61219090919063ffffffff16565b9050919050565b60006141fd61217e565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561427357600080fd5b505af1158015614287573d6000803e3d6000fd5b505050506040513d602081101561429d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b6142eb610cbd565b15156142f657600080fd5b6142ff336119bb565b151561430a57600080fd5b614312614e5b565b73ffffffffffffffffffffffffffffffffffffffff16634a9aedc4336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156143ac57600080fd5b505af11580156143c0573d6000803e3d6000fd5b505050506040513d60208110156143d657600080fd5b810190808051906020019092919050505015156143f257600080fd5b565b6000614401602f54610bd1565b905090565b6000614413602354610bd1565b905090565b6000614425602c54610bd1565b905090565b600080614435614e6d565b73ffffffffffffffffffffffffffffffffffffffff1663535199aa856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156144ab57600080fd5b505af11580156144bf573d6000803e3d6000fd5b505050506040513d60208110156144d557600080fd5b81019080805190602001909291905050506145018460200151856000015161219090919063ffffffff16565b1180156145cb5750614511614e6d565b73ffffffffffffffffffffffffffffffffffffffff1663d32d0499846000015185602001516040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050602060405180830381600087803b15801561458f57600080fd5b505af11580156145a3573d6000803e3d6000fd5b505050506040513d60208110156145b957600080fd5b81019080805190602001909291905050505b15614804576145d861217e565b73ffffffffffffffffffffffffffffffffffffffff166382e445c68560016040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561465b57600080fd5b505af115801561466f573d6000803e3d6000fd5b50505050614748614681606754611c5e565b61468961217e565b73ffffffffffffffffffffffffffffffffffffffff166349a428d0876040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156146ff57600080fd5b505af1158015614713573d6000803e3d6000fd5b505050506040513d602081101561472957600080fd5b810190808051906020019092919050505061219090919063ffffffff16565b905061475261217e565b73ffffffffffffffffffffffffffffffffffffffff1663344e436e85600061477b600086614e7f565b6040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600019166000191681526020018381526020018281526020019350505050600060405180830381600087803b1580156147e357600080fd5b505af11580156147f7573d6000803e3d6000fd5b50505050600191506148b1565b61480c61217e565b73ffffffffffffffffffffffffffffffffffffffff166382e445c68560006040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561488f57600080fd5b505af11580156148a3573d6000803e3d6000fd5b505050506148b08461369e565b5b6148b961217e565b73ffffffffffffffffffffffffffffffffffffffff166327618ad98560016040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561493c57600080fd5b505af1158015614950573d6000803e3d6000fd5b505050505092915050565b6000614968602d54610bd1565b905090565b600061497a602754610bd1565b905090565b600061498c602954610bd1565b905090565b600061499b614e6d565b73ffffffffffffffffffffffffffffffffffffffff166377ebd46884846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b158015614a1957600080fd5b505af1158015614a2d573d6000803e3d6000fd5b505050506040513d6020811015614a4357600080fd5b8101908080519060200190929190505050614a6f8560200151866000015161219090919063ffffffff16565b118015614b395750614a7f614e6d565b73ffffffffffffffffffffffffffffffffffffffff166336dfb1c2856000015186602001516040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050602060405180830381600087803b158015614afd57600080fd5b505af1158015614b11573d6000803e3d6000fd5b505050506040513d6020811015614b2757600080fd5b81019080805190602001909291905050505b90509392505050565b6000828211151515614b5057fe5b818303905092915050565b6000806000806000614b6e605354611c5e565b9450614b7b605654611c5e565b9350614b88605754611c5e565b9250614be7614baa614b9b606154611c5e565b85614d5d90919063ffffffff16565b614bd9614bb8606054611c5e565b614bcb888a614d5d90919063ffffffff16565b614d5d90919063ffffffff16565b614d9590919063ffffffff16565b9150600090505b85811015614d3057614c168782815181101515614c0757fe5b906020019060200201516119bb565b15614d2357614c2361497f565b73ffffffffffffffffffffffffffffffffffffffff1663ded86d688883815181101515614c4c57fe5b90602001906020020151846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040805180830381600087803b158015614cdb57600080fd5b505af1158015614cef573d6000803e3d6000fd5b505050506040513d6040811015614d0557600080fd5b81019080805190602001909291908051906020019092919050505050505b8080600101915050614bee565b50505050505050565b6000614d46602654610bd1565b905090565b6000614d58601e54610bd1565b905090565b600080831415614d705760009050614d8f565b8183029050818382811515614d8157fe5b04141515614d8b57fe5b8090505b92915050565b60008183811515614da257fe5b04905092915050565b600080614db661496d565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015614e1957600080fd5b505af1158015614e2d573d6000803e3d6000fd5b505050506040513d6020811015614e4357600080fd5b81019080805190602001909291905050501415905090565b6000614e68602854610bd1565b905090565b6000614e7a602454610bd1565b905090565b6000806000614e8d84614f7a565b9150614eab60008614614ea257603d54614ea6565b603b545b611c5e565b9050839250614ebb603854611c5e565b614ec485614007565b1015614f0857614f01614ef2614ed986614007565b614ee4603854611c5e565b614b4290919063ffffffff16565b8561219090919063ffffffff16565b9250614f72565b614f25614f16606954611c5e565b8261219090919063ffffffff16565b821015614f7157614f6e614f5f6001614f51614f42603854611c5e565b8661219090919063ffffffff16565b61219090919063ffffffff16565b8561219090919063ffffffff16565b92505b5b505092915050565b6000614fa1614f8883614007565b614f93603954611c5e565b614b4290919063ffffffff16565b9050919050565b608060405190810160405280600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b604080519081016040528060008152602001600081525090565b6040805190810160405280600081526020016060815250905600a165627a7a72305820f5a8270f4c36a4f5392ecbde7307ed98eb1b81f3fe0a13e9ee95e930439434270029", + "deployedBytecode": "0x6080604052600436106100f1576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100f65780631d8ccd041461014d5780633943380c146101be5780633d554f39146101f15780633f83acff14610259578063560a25ea146102ca57806368533060146102f55780637d6fed80146103245780637f6a26b61461035357806390e353df1461037e578063929066f5146103dc57806393ddad0814610437578063b1e2b9dd14610484578063c66c9efd146104c9578063d70d935814610516578063db4ecbc114610545578063fa6f39361461059c575b600080fd5b34801561010257600080fd5b5061010b6105f7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561015957600080fd5b5061017c600480360381019080803560001916906020019092919050505061061c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101ca57600080fd5b506101d36106de565b60405180826000191660001916815260200191505060405180910390f35b3480156101fd57600080fd5b50610234600480360381019080803560001916906020019092919080359060200190929190803590602001909291905050506106e4565b6040518083151515158152602001821515151581526020019250505060405180910390f35b34801561026557600080fd5b506102886004803603810190808035600019169060200190929190505050610bd1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102d657600080fd5b506102df610cad565b6040518082815260200191505060405180910390f35b34801561030157600080fd5b5061030a610cbd565b604051808215151515815260200191505060405180910390f35b34801561033057600080fd5b50610339610ce9565b604051808215151515815260200191505060405180910390f35b34801561035f57600080fd5b50610368610d04565b6040518082815260200191505060405180910390f35b34801561038a57600080fd5b506103b7600480360381019080803560001916906020019092919080359060200190929190505050610d14565b6040518083151515158152602001821515151581526020019250505060405180910390f35b3480156103e857600080fd5b5061041d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119bb565b604051808215151515815260200191505060405180910390f35b34801561044357600080fd5b506104666004803603810190808035600019169060200190929190505050611b9c565b60405180826000191660001916815260200191505060405180910390f35b34801561049057600080fd5b506104b36004803603810190808035600019169060200190929190505050611c5e565b6040518082815260200191505060405180910390f35b3480156104d557600080fd5b506104f86004803603810190808035600019169060200190929190505050611d20565b60405180826000191660001916815260200191505060405180910390f35b34801561052257600080fd5b5061052b611dc5565b604051808215151515815260200191505060405180910390f35b34801561055157600080fd5b5061055a611e73565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105a857600080fd5b506105dd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e99565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061062661216c565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561069c57600080fd5b505af11580156106b0573d6000803e3d6000fd5b505050506040513d60208110156106c657600080fd5b81019080805190602001909291905050509050919050565b60015481565b60008060008585600015156106f761217e565b73ffffffffffffffffffffffffffffffffffffffff166385f5276f84846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b15801561077557600080fd5b505af1158015610789573d6000803e3d6000fd5b505050506040513d602081101561079f57600080fd5b810190808051906020019092919050505015151415156107be57600080fd5b878760006107ca61217e565b73ffffffffffffffffffffffffffffffffffffffff1663baf4266084846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b15801561084857600080fd5b505af115801561085c573d6000803e3d6000fd5b505050506040513d602081101561087257600080fd5b8101908080519060200190929190505050905060008111151561089457600080fd5b6108c26108b3600084146108aa57603d546108ae565b603b545b611c5e565b8261219090919063ffffffff16565b42101515156108d057600080fd5b6108d8610cbd565b15156108e357600080fd5b600196506000975088955060008914156109035760008097509750610bc3565b610929610911606954611c5e565b61091b8d8d6121ac565b61219090919063ffffffff16565b42101561095b5761093b8b8b8b6122d5565b809950819a5082985050505086151561095a5787600097509750610bc3565b5b6000965060008a111561098e576109748b8b888b612aa8565b96508615156109895787600097509750610bc3565b610a58565b8780156109a0575061099f8b613474565b5b97508715610a4d576109b061217e565b73ffffffffffffffffffffffffffffffffffffffff1663c362c7908c600f546040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015610a3057600080fd5b505af1158015610a44573d6000803e3d6000fd5b50505050610a57565b610a568b61369e565b5b5b8715610a6957610a688b8b6138f1565b5b610a7161217e565b73ffffffffffffffffffffffffffffffffffffffff16633e020d2f8c8c60016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808460001916600019168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015610afc57600080fd5b505af1158015610b10573d6000803e3d6000fd5b50505050610b1c61217e565b73ffffffffffffffffffffffffffffffffffffffff16631ea5d62f8c8c8b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808460001916600019168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015610ba657600080fd5b505af1158015610bba573d6000803e3d6000fd5b50505050600196505b505050505050935093915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610c6b57600080fd5b505af1158015610c7f573d6000803e3d6000fd5b505050506040513d6020811015610c9557600080fd5b81019080805190602001909291905050509050919050565b6000610cb842614007565b905090565b6000610cc7611dc5565b8015610ce45750610cd9603854611c5e565b610ce1610cad565b10155b905090565b6000610cf6603854611c5e565b610cfe610cad565b10905090565b6000610d0f426140f0565b905090565b600080610d1f614fa8565b6060610d29614fe7565b8660001515610d3661217e565b73ffffffffffffffffffffffffffffffffffffffff1663395ddde9836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b505050506040513d6020811015610dd657600080fd5b81019080805190602001909291905050501515141515610df557600080fd5b876000610e0061217e565b73ffffffffffffffffffffffffffffffffffffffff166349a428d0836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610e7657600080fd5b505af1158015610e8a573d6000803e3d6000fd5b505050506040513d6020811015610ea057600080fd5b81019080805190602001909291905050509050600081111515610ec257600080fd5b610edf610ed0606754611c5e565b8261219090919063ffffffff16565b4210151515610eed57600080fd5b610fde610efb606954611c5e565b610fd0610f09606754611c5e565b610f1161217e565b73ffffffffffffffffffffffffffffffffffffffff166349a428d08f6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610f8757600080fd5b505af1158015610f9b573d6000803e3d6000fd5b505050506040513d6020811015610fb157600080fd5b810190808051906020019092919050505061219090919063ffffffff16565b61219090919063ffffffff16565b421180610ff15750610fef8a613474565b155b1561115257610ffe61217e565b73ffffffffffffffffffffffffffffffffffffffff166382e445c68b60006040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561108157600080fd5b505af1158015611095573d6000803e3d6000fd5b505050506110a161217e565b73ffffffffffffffffffffffffffffffffffffffff166327618ad98b60016040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561112457600080fd5b505af1158015611138573d6000803e3d6000fd5b505050506111458a61369e565b60006001975097506119ae565b61115b8a6141f3565b151561116657600080fd5b61116e6142e3565b600089141561118357600080975097506119ae565b61118b6143f4565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b15801561120157600080fd5b505af1158015611215573d6000803e3d6000fd5b505050506040513d608081101561122b57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050505088606001896000018a60200183815250838152508373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16866060015173ffffffffffffffffffffffffffffffffffffffff16141561141757611304614406565b73ffffffffffffffffffffffffffffffffffffffff166385f0e4bf8a60016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b15801561137f57600080fd5b505af1158015611393573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156113bd57600080fd5b8101908080516401000000008111156113d557600080fd5b828101905060208101848111156113eb57600080fd5b815185602082028301116401000000008211171561140857600080fd5b50509291905050509450611566565b61141f614406565b73ffffffffffffffffffffffffffffffffffffffff166340c7174e87606001518b60016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b1580156114d257600080fd5b505af11580156114e6573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561151057600080fd5b81019080805164010000000081111561152857600080fd5b8281019050602081018481111561153e57600080fd5b815185602082028301116401000000008211171561155b57600080fd5b505092919050505094505b61156e61217e565b73ffffffffffffffffffffffffffffffffffffffff1663bb3b5f6d8b876040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156116075780820151818401526020810190506115ec565b5050505090500193505050506040805180830381600087803b15801561162c57600080fd5b505af1158015611640573d6000803e3d6000fd5b505050506040513d604081101561165657600080fd5b81019080805190602001909291908051906020019092919050505085600001866020018281525082815250505084600186510381518110151561169557fe5b90602001906020020151866060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116f18460000151876000015161219090919063ffffffff16565b8660000181815250506117158460200151876020015161219090919063ffffffff16565b866020018181525050611726614418565b73ffffffffffffffffffffffffffffffffffffffff1663bbb03dc26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561178957600080fd5b505af115801561179d573d6000803e3d6000fd5b505050506040513d60208110156117b357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168560018751038151811015156117ec57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614156118bd5761181c8a8761442a565b97506001965061182a6143f4565b73ffffffffffffffffffffffffffffffffffffffff1663d590f4ab8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b1580156118a057600080fd5b505af11580156118b4573d6000803e3d6000fd5b505050506119ad565b6118c56143f4565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c8b886060015189600001518a6020015160006040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b15801561199457600080fd5b505af11580156119a8573d6000803e3d6000fd5b505050505b5b5050505050509250929050565b60006119c5610d04565b6119cd61495b565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611a6757600080fd5b505af1158015611a7b573d6000803e3d6000fd5b505050506040513d6020811015611a9157600080fd5b8101908080519060200190929190505050148015611b955750611ab5603554611c5e565b611abd614418565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611b5757600080fd5b505af1158015611b6b573d6000803e3d6000fd5b505050506040513d6020811015611b8157600080fd5b810190808051906020019092919050505010155b9050919050565b6000611ba661216c565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611c1c57600080fd5b505af1158015611c30573d6000803e3d6000fd5b505050506040513d6020811015611c4657600080fd5b81019080805190602001909291905050509050919050565b6000611c6861216c565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611cde57600080fd5b505af1158015611cf2573d6000803e3d6000fd5b505050506040513d6020811015611d0857600080fd5b81019080805190602001909291905050509050919050565b6000816013546040516020018083600019166000191681526020018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b602083101515611d915780518252602082019150602081019050602083039250611d6c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050919050565b6000611dcf61496d565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611e3257600080fd5b505af1158015611e46573d6000803e3d6000fd5b505050506040513d6020811015611e5c57600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611ea3610d04565b611eab61495b565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611f4557600080fd5b505af1158015611f59573d6000803e3d6000fd5b505050506040513d6020811015611f6f57600080fd5b81019080805190602001909291905050501480156120735750611f93603654611c5e565b611f9b614418565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561203557600080fd5b505af1158015612049573d6000803e3d6000fd5b505050506040513d602081101561205f57600080fd5b810190808051906020019092919050505010155b80156121655750612085603754611c5e565b61208d61497f565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561212757600080fd5b505af115801561213b573d6000803e3d6000fd5b505050506040513d602081101561215157600080fd5b810190808051906020019092919050505010155b9050919050565b6000612179602b54610bd1565b905090565b600061218b602554610bd1565b905090565b600081830190508281101515156121a357fe5b80905092915050565b6000806121b761217e565b73ffffffffffffffffffffffffffffffffffffffff1663baf4266085856040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b15801561223557600080fd5b505af1158015612249573d6000803e3d6000fd5b505050506040513d602081101561225f57600080fd5b8101908080519060200190929190505050905060008111151561228157600080fd5b60008314156122ae576122a7612298603b54611c5e565b8261219090919063ffffffff16565b91506122ce565b6122cb6122bc603d54611c5e565b8261219090919063ffffffff16565b91505b5092915050565b60008060006122e2614fa8565b606060006122ee614fe7565b6122f66142e3565b6122ff8a6141f3565b151561230a57600080fd5b6123126143f4565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b15801561238857600080fd5b505af115801561239c573d6000803e3d6000fd5b505050506040513d60808110156123b257600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050505086606001876000018860200183815250838152508373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846060015173ffffffffffffffffffffffffffffffffffffffff16141561259e5761248b614406565b73ffffffffffffffffffffffffffffffffffffffff1663f4f9fadc8960016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b15801561250657600080fd5b505af115801561251a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561254457600080fd5b81019080805164010000000081111561255c57600080fd5b8281019050602081018481111561257257600080fd5b815185602082028301116401000000008211171561258f57600080fd5b50509291905050509250612710565b6125a6614406565b73ffffffffffffffffffffffffffffffffffffffff166396fe8e6585606001518a60016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b15801561265957600080fd5b505af115801561266d573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561269757600080fd5b8101908080516401000000008111156126af57600080fd5b828101905060208101848111156126c557600080fd5b81518560208202830111640100000000821117156126e257600080fd5b5050929190505050925060008351141561270f5787612702858c8c614991565b6001965096509650612a9b565b5b82600184510381518110151561272257fe5b90602001906020020151915061273661217e565b73ffffffffffffffffffffffffffffffffffffffff1663a1e55acf8b8b866040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180846000191660001916815260200183815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156127d65780820151818401526020810190506127bb565b505050509050019450505050506040805180830381600087803b1580156127fc57600080fd5b505af1158015612810573d6000803e3d6000fd5b505050506040513d604081101561282657600080fd5b81019080805190602001909291908051906020019092919050505082600001836020018281525082815250505061286e8160000151856000015161219090919063ffffffff16565b8460000181815250506128928160200151856020015161219090919063ffffffff16565b8460200181815250506128a36143f4565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c8b848760000151886020015160006040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b15801561296e57600080fd5b505af1158015612982573d6000803e3d6000fd5b5050505061298e614418565b73ffffffffffffffffffffffffffffffffffffffff166382624a2e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156129f157600080fd5b505af1158015612a05573d6000803e3d6000fd5b505050506040513d6020811015612a1b57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515612a73576000806000829250965096509650612a9b565b612a87835189614b4290919063ffffffff16565b965060019450612a98848b8b614991565b95505b5050505093509350939050565b60008060606000612ab7615001565b6000871415612ac95760009450613468565b612ad16143f4565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b612af58b611d20565b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b158015612b4f57600080fd5b505af1158015612b63573d6000803e3d6000fd5b505050506040513d6080811015612b7957600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505090915090505080945050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612d2357612c10614406565b73ffffffffffffffffffffffffffffffffffffffff1663f4f9fadc8860016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b158015612c8b57600080fd5b505af1158015612c9f573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015612cc957600080fd5b810190808051640100000000811115612ce157600080fd5b82810190506020810184811115612cf757600080fd5b8151856020820283011164010000000082111715612d1457600080fd5b50509291905050509250612e6e565b612d2b614406565b73ffffffffffffffffffffffffffffffffffffffff166396fe8e65858960016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015612dda57600080fd5b505af1158015612dee573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015612e1857600080fd5b810190808051640100000000811115612e3057600080fd5b82810190506020810184811115612e4657600080fd5b8151856020820283011164010000000082111715612e6357600080fd5b505092919050505092505b826001845103815181101515612e8057fe5b906020019060200201519150851561303857612e9a61217e565b73ffffffffffffffffffffffffffffffffffffffff1663e81362fe8a612eca60018c614b4290919063ffffffff16565b8660016040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b83811015612f59578082015181840152602081019050612f3e565b5050505090500195505050505050600060405180830381600087803b158015612f8157600080fd5b505af1158015612f95573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506040811015612fbf57600080fd5b810190808051640100000000811115612fd757600080fd5b82810190506020810184811115612fed57600080fd5b815185602082028301116401000000008211171561300a57600080fd5b50509291906020018051906020019092919050505081915082602001836000018281525082905250506131da565b61304061217e565b73ffffffffffffffffffffffffffffffffffffffff1663e81362fe8a61307060018c614b4290919063ffffffff16565b8660006040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b838110156130ff5780820151818401526020810190506130e4565b5050505090500195505050505050600060405180830381600087803b15801561312757600080fd5b505af115801561313b573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250604081101561316557600080fd5b81019080805164010000000081111561317d57600080fd5b8281019050602081018481111561319357600080fd5b81518560208202830111640100000000821117156131b057600080fd5b50509291906020018051906020019092919050505081915082602001836000018281525082905250505b6000816000015111156131fa576131f981602001518260000151614b5b565b5b613202614418565b73ffffffffffffffffffffffffffffffffffffffff166382624a2e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561326557600080fd5b505af1158015613279573d6000803e3d6000fd5b505050506040513d602081101561328f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561337a576132db6143f4565b73ffffffffffffffffffffffffffffffffffffffff1663d590f4ab6132ff8b611d20565b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b15801561335957600080fd5b505af115801561336d573d6000803e3d6000fd5b5050505060019450613467565b6133826143f4565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c6133a68b611d20565b8460008060006040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b15801561344e57600080fd5b505af1158015613462573d6000803e3d6000fd5b505050505b5b50505050949350505050565b60008061347f61217e565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b1580156134f657600080fd5b505af115801561350a573d6000803e3d6000fd5b505050506040513d61014081101561352157600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959697985090919293949596975090919293949596509091929394955090919293945090919293509091925090915090508091505060019150801515613698576135dc606d54611c5e565b6135e4614d39565b73ffffffffffffffffffffffffffffffffffffffff1663198c6e24613607610d04565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561365957600080fd5b505af115801561366d573d6000803e3d6000fd5b505050506040513d602081101561368357600080fd5b81019080805190602001909291905050501091505b50919050565b6136a661217e565b73ffffffffffffffffffffffffffffffffffffffff1663c362c790826010546040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b15801561372657600080fd5b505af115801561373a573d6000803e3d6000fd5b50505050613746614d4b565b73ffffffffffffffffffffffffffffffffffffffff16637e71332b61376961217e565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156137df57600080fd5b505af11580156137f3573d6000803e3d6000fd5b505050506040513d602081101561380957600080fd5b8101908080519060200190929190505050836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826000191660001916815260200192505050602060405180830381600087803b1580156138a857600080fd5b505af11580156138bc573d6000803e3d6000fd5b505050506040513d60208110156138d257600080fd5b810190808051906020019092919050505015156138ee57600080fd5b50565b60606000806138fe6143f4565b73ffffffffffffffffffffffffffffffffffffffff1663d590f4ab866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b15801561397457600080fd5b505af1158015613988573d6000803e3d6000fd5b5050505061399461217e565b73ffffffffffffffffffffffffffffffffffffffff16637246d5a7866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015613a0a57600080fd5b505af1158015613a1e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506040811015613a4857600080fd5b810190808051640100000000811115613a6057600080fd5b82810190506020810184811115613a7657600080fd5b8151856020820283011164010000000082111715613a9357600080fd5b50509291906020018051906020019092919050505050809350508251841415613b5657613abf8561369e565b613ac761217e565b73ffffffffffffffffffffffffffffffffffffffff166395ecdf9e866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015613b3d57600080fd5b505af1158015613b51573d6000803e3d6000fd5b505050505b613b5e61217e565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179866040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b158015613bd557600080fd5b505af1158015613be9573d6000803e3d6000fd5b505050506040513d610140811015613c0057600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505090919293949596979850909192939495969750909192939495965090919293949550909192939450909192935090919250909150905080925050600084148015613cb3575081155b15613d4e57613cc0614d39565b73ffffffffffffffffffffffffffffffffffffffff16635552f200613ce3610d04565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015613d3557600080fd5b505af1158015613d49573d6000803e3d6000fd5b505050505b613d5661217e565b73ffffffffffffffffffffffffffffffffffffffff16633a85b82286866040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b158015613dd457600080fd5b505af1158015613de8573d6000803e3d6000fd5b505050506040513d6020811015613dfe57600080fd5b81019080805190602001909291905050509050613e1961497f565b73ffffffffffffffffffffffffffffffffffffffff16631eee0154613e3c61217e565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6886040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015613eb257600080fd5b505af1158015613ec6573d6000803e3d6000fd5b505050506040513d6020811015613edc57600080fd5b8101908080519060200190929190505050613f2669021e19e0c9bab2400000613f1886613f0a605554611c5e565b614d5d90919063ffffffff16565b614d9590919063ffffffff16565b613f2e610d04565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200193505050506040805180830381600087803b158015613fb957600080fd5b505af1158015613fcd573d6000803e3d6000fd5b505050506040513d6040811015613fe357600080fd5b81019080805190602001909291908051906020019092919050505050505050505050565b6000614011614dab565b151561401c57600080fd5b614027603954611c5e565b6140df61403261496d565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561409557600080fd5b505af11580156140a9573d6000803e3d6000fd5b505050506040513d60208110156140bf57600080fd5b810190808051906020019092919050505084614b4290919063ffffffff16565b8115156140e857fe5b069050919050565b60006140fa614dab565b151561410557600080fd5b6141ec60016141de614118603954611c5e565b6141d061412361496d565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561418657600080fd5b505af115801561419a573d6000803e3d6000fd5b505050506040513d60208110156141b057600080fd5b810190808051906020019092919050505087614b4290919063ffffffff16565b614d9590919063ffffffff16565b61219090919063ffffffff16565b9050919050565b60006141fd61217e565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561427357600080fd5b505af1158015614287573d6000803e3d6000fd5b505050506040513d602081101561429d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b6142eb610cbd565b15156142f657600080fd5b6142ff336119bb565b151561430a57600080fd5b614312614e5b565b73ffffffffffffffffffffffffffffffffffffffff16634a9aedc4336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156143ac57600080fd5b505af11580156143c0573d6000803e3d6000fd5b505050506040513d60208110156143d657600080fd5b810190808051906020019092919050505015156143f257600080fd5b565b6000614401602f54610bd1565b905090565b6000614413602354610bd1565b905090565b6000614425602c54610bd1565b905090565b600080614435614e6d565b73ffffffffffffffffffffffffffffffffffffffff1663535199aa856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156144ab57600080fd5b505af11580156144bf573d6000803e3d6000fd5b505050506040513d60208110156144d557600080fd5b81019080805190602001909291905050506145018460200151856000015161219090919063ffffffff16565b1180156145cb5750614511614e6d565b73ffffffffffffffffffffffffffffffffffffffff1663d32d0499846000015185602001516040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050602060405180830381600087803b15801561458f57600080fd5b505af11580156145a3573d6000803e3d6000fd5b505050506040513d60208110156145b957600080fd5b81019080805190602001909291905050505b15614804576145d861217e565b73ffffffffffffffffffffffffffffffffffffffff166382e445c68560016040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561465b57600080fd5b505af115801561466f573d6000803e3d6000fd5b50505050614748614681606754611c5e565b61468961217e565b73ffffffffffffffffffffffffffffffffffffffff166349a428d0876040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156146ff57600080fd5b505af1158015614713573d6000803e3d6000fd5b505050506040513d602081101561472957600080fd5b810190808051906020019092919050505061219090919063ffffffff16565b905061475261217e565b73ffffffffffffffffffffffffffffffffffffffff1663344e436e85600061477b600086614e7f565b6040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600019166000191681526020018381526020018281526020019350505050600060405180830381600087803b1580156147e357600080fd5b505af11580156147f7573d6000803e3d6000fd5b50505050600191506148b1565b61480c61217e565b73ffffffffffffffffffffffffffffffffffffffff166382e445c68560006040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561488f57600080fd5b505af11580156148a3573d6000803e3d6000fd5b505050506148b08461369e565b5b6148b961217e565b73ffffffffffffffffffffffffffffffffffffffff166327618ad98560016040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561493c57600080fd5b505af1158015614950573d6000803e3d6000fd5b505050505092915050565b6000614968602d54610bd1565b905090565b600061497a602754610bd1565b905090565b600061498c602954610bd1565b905090565b600061499b614e6d565b73ffffffffffffffffffffffffffffffffffffffff166377ebd46884846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b158015614a1957600080fd5b505af1158015614a2d573d6000803e3d6000fd5b505050506040513d6020811015614a4357600080fd5b8101908080519060200190929190505050614a6f8560200151866000015161219090919063ffffffff16565b118015614b395750614a7f614e6d565b73ffffffffffffffffffffffffffffffffffffffff166336dfb1c2856000015186602001516040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050602060405180830381600087803b158015614afd57600080fd5b505af1158015614b11573d6000803e3d6000fd5b505050506040513d6020811015614b2757600080fd5b81019080805190602001909291905050505b90509392505050565b6000828211151515614b5057fe5b818303905092915050565b6000806000806000614b6e605354611c5e565b9450614b7b605654611c5e565b9350614b88605754611c5e565b9250614be7614baa614b9b606154611c5e565b85614d5d90919063ffffffff16565b614bd9614bb8606054611c5e565b614bcb888a614d5d90919063ffffffff16565b614d5d90919063ffffffff16565b614d9590919063ffffffff16565b9150600090505b85811015614d3057614c168782815181101515614c0757fe5b906020019060200201516119bb565b15614d2357614c2361497f565b73ffffffffffffffffffffffffffffffffffffffff1663ded86d688883815181101515614c4c57fe5b90602001906020020151846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040805180830381600087803b158015614cdb57600080fd5b505af1158015614cef573d6000803e3d6000fd5b505050506040513d6040811015614d0557600080fd5b81019080805190602001909291908051906020019092919050505050505b8080600101915050614bee565b50505050505050565b6000614d46602654610bd1565b905090565b6000614d58601e54610bd1565b905090565b600080831415614d705760009050614d8f565b8183029050818382811515614d8157fe5b04141515614d8b57fe5b8090505b92915050565b60008183811515614da257fe5b04905092915050565b600080614db661496d565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015614e1957600080fd5b505af1158015614e2d573d6000803e3d6000fd5b505050506040513d6020811015614e4357600080fd5b81019080805190602001909291905050501415905090565b6000614e68602854610bd1565b905090565b6000614e7a602454610bd1565b905090565b6000806000614e8d84614f7a565b9150614eab60008614614ea257603d54614ea6565b603b545b611c5e565b9050839250614ebb603854611c5e565b614ec485614007565b1015614f0857614f01614ef2614ed986614007565b614ee4603854611c5e565b614b4290919063ffffffff16565b8561219090919063ffffffff16565b9250614f72565b614f25614f16606954611c5e565b8261219090919063ffffffff16565b821015614f7157614f6e614f5f6001614f51614f42603854611c5e565b8661219090919063ffffffff16565b61219090919063ffffffff16565b8561219090919063ffffffff16565b92505b5b505092915050565b6000614fa1614f8883614007565b614f93603954611c5e565b614b4290919063ffffffff16565b9050919050565b608060405190810160405280600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b604080519081016040528060008152602001600081525090565b6040805190810160405280600081526020016060815250905600a165627a7a72305820f5a8270f4c36a4f5392ecbde7307ed98eb1b81f3fe0a13e9ee95e930439434270029", + "sourceMap": "322:18890:18:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;1191:107:18;8:9:-1;5:2;;;30:1;27;20:12;5:2;1191:107:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1247:43;1252:26;;1280:9;1247:4;;;:43;;;:::i;:::-;1239:52;;;;;;;;1191:107;322:18890;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;322:18890:18:-;;;;;;;", + "deployedSourceMap": "322:18890:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;5244:195:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5244:195:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7564:2486:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7564:2486:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4743:147:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4743:147:2;;;;;;;;;;;;;;;;;;;;;;;1759:239;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1759:239:2;;;;;;;;;;;;;;;;;;;;;;;;;;;1283:201;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1283:201:2;;;;;;;;;;;;;;;;;;;;;;;;;;;3064:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3064:159:2;;;;;;;;;;;;;;;;;;;;;;;1949:3194:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1949:3194:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5725:311:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5725:311:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5445:191:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7261:189:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7261:189:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11553:243:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11553:243:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:173:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;834:173:2;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;6123:431:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6123:431:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;5244:195:1:-;5335:20;5386:19;:17;:19::i;:::-;:34;;;5421:10;5386:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5386:46:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5386:46:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5386:46:1;;;;;;;;;;;;;;;;5371:61;;5244:195;;;:::o;264:18:67:-;;;;:::o;7564:2486:18:-;7787:12;7801:10;8150:23;7693:11;7706:6;3579:5:1;3532:52;;:12;:10;:12::i;:::-;:22;;;3555:11;3568:6;3532:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3532:43:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3532:43:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3532:43:1;;;;;;;;;;;;;;;;:52;;;3524:61;;;;;;;;7749:11:18;7762:6;2597:14:1;2614:12;:10;:12::i;:::-;:35;;;2650:11;2663:6;2614:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2614:56:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2614:56:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2614:56:1;;;;;;;;;;;;;;;;2597:73;;2695:1;2686:6;:10;2678:19;;;;;;;;2720:95;2731:83;2755:1;2745:6;:11;:68;;2787:26;;2745:68;;;2759:25;;2745:68;2731:13;:83::i;:::-;2720:6;:10;;:95;;;;:::i;:::-;2713:3;:102;;2705:111;;;;;;;;7835:13:18;:11;:13::i;:::-;7827:22;;;;;;;;8055:4;8047:12;;8079:5;8069:15;;8176:11;8150:37;;8217:1;8202:11;:16;8198:125;;;8299:5;8306;8291:21;;;;;;8198:125;8431:108;8494:44;8508:29;;8494:13;:44::i;:::-;8431:37;8448:11;8461:6;8431:16;:37::i;:::-;:62;;:108;;;;:::i;:::-;8425:3;:114;8421:465;;;8599:51;8617:11;8630:6;8638:11;8599:17;:51::i;:::-;8563:87;;;;;;;;;;;;8769:5;8768:6;8764:35;;;8784:7;8793:5;8776:23;;;;;;8764:35;8421:465;8981:5;8973:13;;9010:1;9001:6;:10;8997:796;;;9105:66;9125:11;9138:6;9146:15;9163:7;9105:19;:66::i;:::-;9097:74;;9190:5;9189:6;9185:35;;;9205:7;9214:5;9197:23;;;;;;9185:35;8997:796;;;9396:7;:54;;;;;9407:43;9438:11;9407:30;:43::i;:::-;9396:54;9386:64;;9528:7;9524:259;;;9555:12;:10;:12::i;:::-;:40;;;9617:11;9650:24;;9555:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9555:137:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9555:137:18;;;;9524:259;;;9732:36;9756:11;9732:23;:36::i;:::-;9524:259;8997:796;9807:7;9803:87;;;9830:49;9859:11;9872:6;9830:28;:49::i;:::-;9803:87;9899:12;:10;:12::i;:::-;:27;;;9927:11;9940:6;9948:4;9899:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9899:54:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9899:54:18;;;;9963:12;:10;:12::i;:::-;:28;;;9992:11;10005:6;10013:7;9963:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9963:58:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9963:58:18;;;;10039:4;10031:12;;2824:1:1;3595;;;7564:2486:18;;;;;;;;;:::o;2380:179:67:-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;4743:147:2:-;4820:17;4865:18;4879:3;4865:13;:18::i;:::-;4853:30;;4743:147;:::o;1759:239::-;1827:17;1887:18;:16;:18::i;:::-;:104;;;;;1947:44;1961:29;;1947:13;:44::i;:::-;1921:22;:20;:22::i;:::-;:70;;1887:104;1860:131;;1759:239;:::o;1283:201::-;1354:20;1433:44;1447:29;;1433:13;:44::i;:::-;1408:22;:20;:22::i;:::-;:69;1390:87;;1283:201;:::o;3064:159::-;3140:22;3195:21;3212:3;3195:16;:21::i;:::-;3178:38;;3064:159;:::o;1949:3194:18:-;2161:12;2175:10;3095:53;;:::i;:::-;3475:28;3958:52;;:::i;:::-;2086:11;3425:5:1;3381:49;;:12;:10;:12::i;:::-;:27;;;3409:11;3381:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3381:40:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3381:40:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3381:40:1;;;;;;;;;;;;;;;;:49;;;3373:58;;;;;;;;2131:11:18;1550:14:1;1567:12;:10;:12::i;:::-;:40;;;1608:11;1567:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1567:53:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1567:53:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1567:53:1;;;;;;;;;;;;;;;;1550:70;;1647:1;1638:6;:10;1630:19;;;;;;;;1767:52;1778:40;1792:25;;1778:13;:40::i;:::-;1767:6;:10;;:52;;;;:::i;:::-;1760:3;:59;;1752:68;;;;;;;;2319:191:18;2465:44;2479:29;;2465:13;:44::i;:::-;2319:120;2398:40;2412:25;;2398:13;:40::i;:::-;2319:12;:10;:12::i;:::-;:40;;;2360:11;2319:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2319:53:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2319:53:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2319:53:18;;;;;;;;;;;;;;;;:78;;:120;;;;:::i;:::-;:145;;:191;;;;:::i;:::-;2313:3;:197;:257;;;;2527:43;2558:11;2527:30;:43::i;:::-;2526:44;2313:257;2309:498;;;2594:12;:10;:12::i;:::-;:33;;;2628:11;2641:5;2594:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2594:53:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2594:53:18;;;;2661:12;:10;:12::i;:::-;:32;;;2694:11;2707:4;2661:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2661:51:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2661:51:18;;;;2726:36;2750:11;2726:23;:36::i;:::-;2784:5;2791:4;2776:20;;;;;;2309:498;2824:27;2839:11;2824:14;:27::i;:::-;2816:36;;;;;;;;2862:31;:29;:31::i;:::-;2923:1;2908:11;:16;2904:125;;;3005:5;3012;2997:21;;;;;;2904:125;3308:28;:26;:28::i;:::-;:51;;;3360:11;3308:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3308:64:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3308:64:18;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;3308:64:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3158:214;3172:15;:28;;3214:15;:31;;3259:15;:35;;3158:214;;;;;;;;;;;;;;;;;;;3549:13;;;;;;;;;;;3517:45;;:15;:28;;;:45;;;3513:379;;;3592:19;:17;:19::i;:::-;:34;;;3644:11;3673:4;3592:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3592:99:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3592:99:18;;;;;;39:16:-1;36:1;17:17;2:54;3592:99:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3592:99:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;3592:99:18;;;;;;3578:113;;3513:379;;;3736:19;:17;:19::i;:::-;:38;;;3791:15;:28;;;3836:11;3864:4;3736:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3736:145:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3736:145:18;;;;;;39:16:-1;36:1;17:17;2:54;3736:145:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3736:145:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;3736:145:18;;;;;;3722:159;;3513:379;4069:12;:10;:12::i;:::-;:33;;;4103:11;4116;4069:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;4069:59:18;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4069:59:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4069:59:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4069:59:18;;;;;;;;;;;;;;;;;;;;;;;;;4021:10;:19;;4042:10;:23;;4020:108;;;;;;;;;;4170:11;4201:1;4182:11;:18;:20;4170:33;;;;;;;;;;;;;;;;;;4139:15;:28;;:64;;;;;;;;;;;4247:56;4283:10;:19;;;4247:15;:31;;;:35;;:56;;;;:::i;:::-;4213:15;:31;;:90;;;;;4351:64;4391:10;:23;;;4351:15;:35;;;:39;;:64;;;;:::i;:::-;4313:15;:35;;:102;;;;;4467:17;:15;:17::i;:::-;:35;;;:37;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4467:37:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4467:37:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4467:37:18;;;;;;;;;;;;;;;;4430:74;;:11;4461:1;4442:11;:18;:20;4430:33;;;;;;;;;;;;;;;;;;:74;;;4426:711;;;4572:53;4596:11;4609:15;4572:23;:53::i;:::-;4562:63;;4647:4;4639:12;;4725:28;:26;:28::i;:::-;:53;;;4779:11;4725:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4725:66:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4725:66:18;;;;4426:711;;;4865:28;:26;:28::i;:::-;:51;;;4934:11;4963:15;:28;;;5009:15;:31;;;5058:15;:35;;;5111:1;4865:261;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4865:261:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4865:261:18;;;;4426:711;1830:1:1;3441;;1949:3194:18;;;;;;;;;:::o;5725:311:1:-;5808:8;5905:22;:20;:22::i;:::-;5851:19;:17;:19::i;:::-;:43;;;5895:5;5851:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5851:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5851:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5851:50:1;;;;;;;;;;;;;;;;:76;5850:179;;;;;5988:40;6002:25;;5988:13;:40::i;:::-;5945:17;:15;:17::i;:::-;:32;;;5978:5;5945:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5945:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5945:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5945:39:1;;;;;;;;;;;;;;;;:83;;5850:179;5832:197;;5725:311;;;:::o;5445:191::-;5534:20;5585:19;:17;:19::i;:::-;:32;;;5618:10;5585:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5585:44:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5585:44:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5585:44:1;;;;;;;;;;;;;;;;5570:59;;5445:191;;;:::o;7261:189:2:-;7349:20;7400:19;:17;:19::i;:::-;:31;;;7432:10;7400:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7400:43:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7400:43:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7400:43:2;;;;;;;;;;;;;;;;7385:58;;7261:189;;;:::o;11553:243:18:-;11641:12;11712:11;11737:41;;11682:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;11682:106:18;;;11672:117;;;;;;;;;;;;;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;;;11672:117:18;;;;;;;;;;;;;;;;11665:124;;11553:243;;;:::o;834:173:2:-;907:19;960;:17;:19::i;:::-;:38;;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;960:40:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;960:40:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;960:40:2;;;;;;;;;;;;;;;;959:41;942:58;;834:173;:::o;344:31:67:-;;;;;;;;;;;;;:::o;6123:431:1:-;6204:8;6301:22;:20;:22::i;:::-;6247:19;:17;:19::i;:::-;:43;;;6291:5;6247:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6247:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6247:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6247:50:1;;;;;;;;;;;;;;;;:76;6246:186;;;;;6384:47;6398:32;;6384:13;:47::i;:::-;6341:17;:15;:17::i;:::-;:32;;;6374:5;6341:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6341:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6341:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6341:39:1;;;;;;;;;;;;;;;;:90;;6246:186;:301;;;;;6492:54;6506:39;;6492:13;:54::i;:::-;6449:18;:16;:18::i;:::-;:32;;;6482:5;6449:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6449:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6449:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6449:39:1;;;;;;;;;;;;;;;;:97;;6246:301;6228:319;;6123:431;;;:::o;5398:198:2:-;5474:27;5547:41;5560:27;;5547:12;:41::i;:::-;5517:72;;5398:198;:::o;5799:170::-;5868:20;5927:34;5940:20;;5927:12;:34::i;:::-;5904:58;;5799:170;:::o;1238:128:84:-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o;6994:847:1:-;7113:23;7152:36;7191:12;:10;:12::i;:::-;:35;;;7227:11;7240:15;7191:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7191:65:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7191:65:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7191:65:1;;;;;;;;;;;;;;;;7152:104;;7305:1;7274:28;:32;7266:41;;;;;;;;7397:1;7378:15;:20;7374:461;;;7512:91;7562:40;7576:25;;7562:13;:40::i;:::-;7512:28;:49;;:91;;;;:::i;:::-;7478:125;;7374:461;;;7732:92;7782:41;7796:26;;7782:13;:41::i;:::-;7732:28;:49;;:92;;;;:::i;:::-;7698:126;;7374:461;6994:847;;;;;:::o;14583:2959:18:-;14702:23;14727:12;14741:10;14855:53;;:::i;:::-;15142:24;16170:18;16229:48;;:::i;:::-;14767:31;:29;:31::i;:::-;14816:27;14831:11;14816:14;:27::i;:::-;14808:36;;;;;;;;15068:28;:26;:28::i;:::-;:51;;;15120:11;15068:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15068:64:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15068:64:18;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;15068:64:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14918:214;14932:15;:28;;14974:15;:31;;15019:15;:35;;14918:214;;;;;;;;;;;;;;;;;;;15212:13;;;;;;;;;;;15180:45;;:15;:28;;;:45;;;15176:984;;;15321:19;:17;:19::i;:::-;:36;;;15375:11;15404:4;15321:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15321:101:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15321:101:18;;;;;;39:16:-1;36:1;17:17;2:54;15321:101:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15321:101:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;15321:101:18;;;;;;15311:111;;15176:984;;;15463:19;:17;:19::i;:::-;:40;;;15521:15;:28;;;15567:11;15596:4;15463:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15463:151:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15463:151:18;;;;;;39:16:-1;36:1;17:17;2:54;15463:151:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15463:151:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;15463:151:18;;;;;;15453:161;;15953:1;15935:7;:14;:19;15931:219;;;16003:11;16036:55;16054:15;16071:11;16084:6;16036:17;:55::i;:::-;16113:4;15974:161;;;;;;;;15931:219;15176:984;16191:7;16216:1;16199:7;:14;:18;16191:27;;;;;;;;;;;;;;;;;;16170:48;;16328:12;:10;:12::i;:::-;:28;;;16357:11;16370:6;16378:7;16328:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;16328:58:18;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16328:58:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16328:58:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16328:58:18;;;;;;;;;;;;;;;;;;;;;;;;;16288:6;:15;;16305:6;:19;;16287:99;;;;;;;;;;16431:52;16467:6;:15;;;16431;:31;;;:35;;:52;;;;:::i;:::-;16397:15;:31;;:86;;;;;16531:60;16571:6;:19;;;16531:15;:35;;;:39;;:60;;;;:::i;:::-;16493:15;:35;;:98;;;;;16601:28;:26;:28::i;:::-;:51;;;16666:11;16691:10;16715:15;:31;;;16760:15;:35;;;16809:1;16601:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16601:219:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16601:219:18;;;;16849:17;:15;:17::i;:::-;:37;;;:39;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16849:39:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16849:39:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16849:39:18;;;;;;;;;;;;;;;;16835:53;;:10;:53;;;;16831:266;;;16912:1;16915:5;16922;16904:24;;;;;;;;;;;16831:266;17406:31;17422:7;:14;17406:11;:15;;:31;;;;:::i;:::-;17388:49;;17455:4;17447:12;;17480:55;17498:15;17515:11;17528:6;17480:17;:55::i;:::-;17470:65;;14583:2959;;;;;;;;;;;;:::o;11906:2254::-;12041:10;12111:21;12298:28;12702:18;12885:48;;:::i;:::-;12086:1;12071:11;:16;12067:34;;;12096:5;12089:12;;;;12067:34;12163:28;:26;:28::i;:::-;:51;;;12228:49;12265:11;12228:36;:49::i;:::-;12163:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12163:124:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12163:124:18;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;12163:124:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12142:145;;;;;;;;;;12357:13;;;;;;;;;;;12340:30;;:13;:30;;;12336:357;;;12400:19;:17;:19::i;:::-;:36;;;12454:11;12483:4;12400:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12400:101:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12400:101:18;;;;;;39:16:-1;36:1;17:17;2:54;12400:101:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12400:101:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;12400:101:18;;;;;;12386:115;;12336:357;;;12546:19;:17;:19::i;:::-;:40;;;12604:13;12635:11;12664:4;12546:136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12546:136:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12546:136:18;;;;;;39:16:-1;36:1;17:17;2:54;12546:136:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12546:136:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;12546:136:18;;;;;;12532:150;;12336:357;12723:11;12756:1;12735:11;:18;:22;12723:35;;;;;;;;;;;;;;;;;;12702:56;;12947:7;12943:524;;;13118:12;:10;:12::i;:::-;:33;;;13152:11;13165:13;13176:1;13165:6;:10;;:13;;;;:::i;:::-;13180:11;13193:4;13118:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;13118:80:18;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13118:80:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13118:80:18;;;;;;39:16:-1;36:1;17:17;2:54;13118:80:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13118:80:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;13118:80:18;;;;;;;;;;;;;;;;;13069:129;;;13070:12;:18;;13090:12;:24;;13069:129;;;;;;;;;12943:524;;;13375:12;:10;:12::i;:::-;:33;;;13409:11;13422:13;13433:1;13422:6;:10;;:13;;;;:::i;:::-;13437:11;13450:5;13375:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;13375:81:18;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13375:81:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13375:81:18;;;;;;39:16:-1;36:1;17:17;2:54;13375:81:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13375:81:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;13375:81:18;;;;;;;;;;;;;;;;;13326:130;;;13327:12;:18;;13347:12;:24;;13326:130;;;;;;;;;12943:524;13508:1;13481:12;:24;;;:28;13477:98;;;13511:64;13530:12;:18;;;13550:12;:24;;;13511:18;:64::i;:::-;13477:98;13604:17;:15;:17::i;:::-;:37;;;:39;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13604:39:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13604:39:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13604:39:18;;;;;;;;;;;;;;;;13590:53;;:10;:53;;;13586:568;;;13702:28;:26;:28::i;:::-;:53;;;13773:49;13810:11;13773:36;:49::i;:::-;13702:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13702:134:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13702:134:18;;;;13858:4;13850:12;;13586:568;;;13974:28;:26;:28::i;:::-;:51;;;14043:49;14080:11;14043:36;:49::i;:::-;14110:10;14122:1;14125;14128;13974:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13974:169:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13974:169:18;;;;13586:568;11906:2254;;;;;;;;;;;:::o;9719:481:1:-;9827:17;9860:21;9921:12;:10;:12::i;:::-;:25;;;9947:11;9921:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9921:38:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9921:38:1;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;9921:38:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9891:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9984:4;9969:19;;10003:16;10002:17;9998:196;;;10127:56;10141:41;;10127:13;:56::i;:::-;10050:27;:25;:27::i;:::-;:50;;;10101:22;:20;:22::i;:::-;10050:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10050:74:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10050:74:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10050:74:1;;;;;;;;;;;;;;;;:133;10035:148;;9998:196;9719:481;;;;:::o;18030:288:18:-;18115:12;:10;:12::i;:::-;:40;;;18156:11;18169:25;;18115:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18115:80:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18115:80:18;;;;18213:19;:17;:19::i;:::-;:36;;;18250:12;:10;:12::i;:::-;:33;;;18284:11;18250:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18250:46:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18250:46:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18250:46:18;;;;;;;;;;;;;;;;18298:11;18213:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18213:97:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18213:97:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18213:97:18;;;;;;;;;;;;;;;;18205:106;;;;;;;;18030:288;:::o;10120:1426::-;10536:35;10888:21;11201:16;10379:28;:26;:28::i;:::-;:53;;;10433:11;10379:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10379:66:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10379:66:18;;;;10605:12;:10;:12::i;:::-;:32;;;10638:11;10605:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10605:45:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10605:45:18;;;;;;39:16:-1;36:1;17:17;2:54;10605:45:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10605:45:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;10605:45:18;;;;;;;;;;;;;;;;;10581:69;;;;;10674:18;:25;10664:6;:35;10660:157;;;10715:36;10739:11;10715:23;:36::i;:::-;10765:12;:10;:12::i;:::-;:28;;;10794:11;10765:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10765:41:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10765:41:18;;;;10660:157;10949:12;:10;:12::i;:::-;:25;;;10975:11;10949:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10949:38:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10949:38:18;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;10949:38:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10919:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11011:1;11001:6;:11;:32;;;;;11017:16;11016:17;11001:32;10997:148;;;11049:27;:25;:27::i;:::-;:61;;;11111:22;:20;:22::i;:::-;11049:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11049:85:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11049:85:18;;;;10997:148;11220:12;:10;:12::i;:::-;:34;;;11255:11;11268:6;11220:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11220:55:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11220:55:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11220:55:18;;;;;;;;;;;;;;;;11201:74;;11285:18;:16;:18::i;:::-;:34;;;11333:12;:10;:12::i;:::-;:33;;;11367:11;11333:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11333:46:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11333:46:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11333:46:18;;;;;;;;;;;;;;;;11393:100;11481:11;11393:83;11467:8;11393:69;11407:54;;11393:13;:69::i;:::-;:73;;:83;;;;:::i;:::-;:87;;:100;;;;:::i;:::-;11507:22;:20;:22::i;:::-;11285:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11285:254:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11285:254:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11285:254:18;;;;;;;;;;;;;;;;;;;;;;;;;;;10120:1426;;;;;:::o;3862:332:2:-;3947:22;3993:26;:24;:26::i;:::-;3985:35;;;;;;;;4149:38;4163:23;;4149:13;:38::i;:::-;4082:52;4092:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4092:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4092:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4092:41:2;;;;;;;;;;;;;;;;4082:5;:9;;:52;;;;:::i;:::-;:105;;;;;;;;4053:134;;3862:332;;;:::o;3369:320::-;3457:14;3495:26;:24;:26::i;:::-;3487:35;;;;;;;;3553:129;3680:1;3553:109;3623:38;3637:23;;3623:13;:38::i;:::-;3553:52;3563:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3563:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3563:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3563:41:2;;;;;;;;;;;;;;;;3553:5;:9;;:52;;;;:::i;:::-;:69;;:109;;;;:::i;:::-;:126;;:129;;;;:::i;:::-;3532:150;;3369:320;;;:::o;325:213:1:-;417:20;485:12;:10;:12::i;:::-;:33;;;519:11;485:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;485:46:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;485:46:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;485:46:1;;;;;;;;;;;;;;;;471:60;;:10;:60;;;453:78;;325:213;;;:::o;10966:223::-;11059:13;:11;:13::i;:::-;11051:22;;;;;;;;11091:25;11105:10;11091:13;:25::i;:::-;11083:34;;;;;;;;11135:18;:16;:18::i;:::-;:34;;;11170:10;11135:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11135:46:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11135:46:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11135:46:1;;;;;;;;;;;;;;;;11127:55;;;;;;;;10966:223::o;7020:235:2:-;7105:36;7196:51;7209:37;;7196:12;:51::i;:::-;7157:91;;7020:235;:::o;5193:199::-;5269:27;5342:42;5355:28;;5342:12;:42::i;:::-;5312:73;;5193:199;:::o;5602:191::-;5676:25;5745:40;5758:26;;5745:12;:40::i;:::-;5717:69;;5602:191;:::o;5150:1165:18:-;5286:12;5779:23;5407:22;:20;:22::i;:::-;:41;;;5449:11;5407:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5407:54:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5407:54:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5407:54:18;;;;;;;;;;;;;;;;5332:72;5368:15;:35;;;5332:15;:31;;;:35;;:72;;;;:::i;:::-;:129;5331:256;;;;;5479:22;:20;:22::i;:::-;:37;;;5517:15;:31;;;5550:15;:35;;;5479:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5479:107:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5479:107:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5479:107:18;;;;;;;;;;;;;;;;5331:256;5314:933;;;5612:12;:10;:12::i;:::-;:33;;;5646:11;5659:4;5612:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5612:52:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5612:52:18;;;;5805:99;5863:40;5877:25;;5863:13;:40::i;:::-;5805:12;:10;:12::i;:::-;:40;;;5846:11;5805:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5805:53:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5805:53:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5805:53:18;;;;;;;;;;;;;;;;:57;;:99;;;;:::i;:::-;5779:125;;5918:12;:10;:12::i;:::-;:34;;;5970:11;5999:1;6018:42;6041:1;6044:15;6018:22;:42::i;:::-;5918:156;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5918:156:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5918:156:18;;;;6098:4;6088:14;;5314:933;;;6133:12;:10;:12::i;:::-;:33;;;6167:11;6180:5;6133:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6133:53:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6133:53:18;;;;6200:36;6224:11;6200:23;:36::i;:::-;5314:933;6257:12;:10;:12::i;:::-;:32;;;6290:11;6303:4;6257:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6257:51:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6257:51:18;;;;5150:1165;;;;;:::o;6815:199:2:-;6891:27;6964:42;6977:28;;6964:12;:42::i;:::-;6934:73;;6815:199;:::o;6204:::-;6280:27;6353:42;6366:28;;6353:12;:42::i;:::-;6323:73;;6204:199;:::o;6614:195::-;6689:26;6760:41;6773:27;;6760:12;:41::i;:::-;6731:71;;6614:195;:::o;17549:474:18:-;17708:12;17822:22;:20;:22::i;:::-;:42;;;17865:11;17878:6;17822:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17822:63:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17822:63:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17822:63:18;;;;;;;;;;;;;;;;17747:72;17783:15;:35;;;17747:15;:31;;;:35;;:72;;;;:::i;:::-;:138;17746:270;;;;;17907:22;:20;:22::i;:::-;:38;;;17946:15;:31;;;17979:15;:35;;;17907:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17907:108:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17907:108:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17907:108:18;;;;;;;;;;;;;;;;17746:270;17736:280;;17549:474;;;;;:::o;1060:116:84:-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;18461:748:18:-;18550:11;18614:13;18688;18765:14;18976:9;18564:40;18578:25;;18564:13;:40::i;:::-;18550:54;;18630:48;18644:33;;18630:13;:48::i;:::-;18614:64;;18704:50;18718:35;;18704:13;:50::i;:::-;18688:66;;18782:178;18886:60;18896:49;18910:34;;18896:13;:49::i;:::-;18886:5;:9;;:60;;;;:::i;:::-;18782:69;18801:49;18815:34;;18801:13;:49::i;:::-;18782:14;18790:5;18782:3;:7;;:14;;;;:::i;:::-;:18;;:69;;;;:::i;:::-;:86;;:178;;;;:::i;:::-;18765:195;;18988:1;18976:13;;18971:232;18995:2;18991:1;:6;18971:232;;;19022:25;19036:7;19044:1;19036:10;;;;;;;;;;;;;;;;;;19022:13;:25::i;:::-;19018:175;;;19121:18;:16;:18::i;:::-;:37;;;19159:7;19167:1;19159:10;;;;;;;;;;;;;;;;;;19171:6;19121:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19121:57:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19121:57:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19121:57:18;;;;;;;;;;;;;;;;;;;;;;;;;;;19018:175;18999:3;;;;;;;18971:232;;;18461:748;;;;;;;:::o;5975:223:2:-;6059:35;6148:42;6161:28;;6148:12;:42::i;:::-;6110:81;;5975:223;:::o;781:199:18:-;857:27;930:42;943:28;;930:12;:42::i;:::-;900:73;;781:199;:::o;203:380:84:-;263:9;495:1;489:2;:7;485:36;;;513:1;506:8;;;;485:36;536:2;531;:7;527:11;;561:2;555;551:1;:6;;;;;;;;:12;544:20;;;;;;577:1;570:8;;203:380;;;;;:::o;665:283::-;725:7;941:2;936;:7;;;;;;;;929:14;;665:283;;;;:::o;4343:172:2:-;4426:11;4507:1;4462:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4462:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4462:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4462:41:2;;;;;;;;;;;;;;;;:46;;4453:55;;4343:172;:::o;899:201:7:-;974:28;1049:43;1062:29;;1049:12;:43::i;:::-;1018:75;;899:201;:::o;564:211:18:-;643:30;722:45;735:31;;722:12;:45::i;:::-;689:79;;564:211;:::o;8225:1125:1:-;8373:26;8415;8497:23;8444:43;8465:21;8444:20;:43::i;:::-;8415:72;;8523:83;8547:1;8537:6;:11;:68;;8579:26;;8537:68;;;8551:25;;8537:68;8523:13;:83::i;:::-;8497:109;;8637:21;8616:42;;8711:44;8725:29;;8711:13;:44::i;:::-;8672:36;8686:21;8672:13;:36::i;:::-;:83;8668:676;;;8844:143;8887:86;8936:36;8950:21;8936:13;:36::i;:::-;8887:44;8901:29;;8887:13;:44::i;:::-;:48;;:86;;;;:::i;:::-;8844:21;:25;;:143;;;;:::i;:::-;8823:164;;8668:676;;;9029:65;9049:44;9063:29;;9049:13;:44::i;:::-;9029:15;:19;;:65;;;;:::i;:::-;9008:18;:86;9004:340;;;9201:132;9244:75;9317:1;9244:68;9267:44;9281:29;;9267:13;:44::i;:::-;9244:18;:22;;:68;;;;:::i;:::-;:72;;:75;;;;:::i;:::-;9201:21;:25;;:132;;;;:::i;:::-;9180:153;;9004:340;8668:676;8225:1125;;;;;;:::o;4961:226:2:-;5053:26;5116:64;5159:20;5173:5;5159:13;:20::i;:::-;5116:38;5130:23;;5116:13;:38::i;:::-;:42;;:64;;;;:::i;:::-;5095:85;;4961:226;;;:::o;322:18890:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"../common/DaoCommon.sol\";\nimport \"../service/DaoCalculatorService.sol\";\nimport \"./DaoFundingManager.sol\";\nimport \"./DaoRewardsManager.sol\";\nimport \"../lib/DaoIntermediateStructs.sol\";\nimport \"../lib/DaoStructs.sol\";\n\n\n/**\n@title Contract to claim voting results\n@author Digix Holdings\n*/\ncontract DaoVotingClaims is DaoCommon {\n using DaoIntermediateStructs for DaoIntermediateStructs.VotingCount;\n using DaoIntermediateStructs for DaoIntermediateStructs.Users;\n using DaoStructs for DaoStructs.IntermediateResults;\n\n function daoCalculatorService()\n internal\n view\n returns (DaoCalculatorService _contract)\n {\n _contract = DaoCalculatorService(get_contract(CONTRACT_SERVICE_DAO_CALCULATOR));\n }\n\n function daoFundingManager()\n internal\n view\n returns (DaoFundingManager _contract)\n {\n _contract = DaoFundingManager(get_contract(CONTRACT_DAO_FUNDING_MANAGER));\n }\n\n function daoRewardsManager()\n internal\n view\n returns (DaoRewardsManager _contract)\n {\n _contract = DaoRewardsManager(get_contract(CONTRACT_DAO_REWARDS_MANAGER));\n }\n\n constructor(address _resolver) public {\n require(init(CONTRACT_DAO_VOTING_CLAIMS, _resolver));\n }\n\n\n /**\n @notice Function to claim the draft voting result (can only be called by the proposal proposer)\n @dev The founder/or anyone is supposed to call this function after the claiming deadline has passed, to clean it up and close this proposal.\n If this voting fails, the collateral will be refunded\n @param _proposalId ID of the proposal\n @param _operations Number of operations to do in this call\n @return {\n \"_passed\": \"Boolean, true if the draft voting has passed, false if the claiming deadline has passed or the voting has failed\",\n \"_done\": \"Boolean, true if the calculation has finished\"\n }\n */\n function claimDraftVotingResult(\n bytes32 _proposalId,\n uint256 _operations\n )\n public\n ifDraftNotClaimed(_proposalId)\n ifAfterDraftVotingPhase(_proposalId)\n returns (bool _passed, bool _done)\n {\n // if after the claiming deadline, or the limit for non-digix proposals is reached, its auto failed\n if (now > daoStorage().readProposalDraftVotingTime(_proposalId)\n .add(getUintConfig(CONFIG_DRAFT_VOTING_PHASE))\n .add(getUintConfig(CONFIG_VOTE_CLAIMING_DEADLINE))\n || !isNonDigixProposalsWithinLimit(_proposalId))\n {\n daoStorage().setProposalDraftPass(_proposalId, false);\n daoStorage().setDraftVotingClaim(_proposalId, true);\n processCollateralRefund(_proposalId);\n return (false, true);\n }\n require(isFromProposer(_proposalId));\n senderCanDoProposerOperations();\n\n if (_operations == 0) { // if no operations are passed, return with done = false\n return (false, false);\n }\n\n // get the previously stored intermediary state\n DaoStructs.IntermediateResults memory _currentResults;\n (\n _currentResults.countedUntil,\n _currentResults.currentForCount,\n _currentResults.currentAgainstCount,\n ) = intermediateResultsStorage().getIntermediateResults(_proposalId);\n\n // get the moderators to calculate in this transaction, based on intermediate state\n address[] memory _moderators;\n if (_currentResults.countedUntil == EMPTY_ADDRESS) {\n _moderators = daoListingService().listModerators(\n _operations,\n true\n );\n } else {\n _moderators = daoListingService().listModeratorsFrom(\n _currentResults.countedUntil,\n _operations,\n true\n );\n }\n\n // count the votes for this batch of moderators\n DaoIntermediateStructs.VotingCount memory _voteCount;\n (_voteCount.forCount, _voteCount.againstCount) = daoStorage().readDraftVotingCount(_proposalId, _moderators);\n\n _currentResults.countedUntil = _moderators[_moderators.length-1];\n _currentResults.currentForCount = _currentResults.currentForCount.add(_voteCount.forCount);\n _currentResults.currentAgainstCount = _currentResults.currentAgainstCount.add(_voteCount.againstCount);\n\n if (_moderators[_moderators.length-1] == daoStakeStorage().readLastModerator()) {\n // this is the last iteration\n _passed = processDraftVotingClaim(_proposalId, _currentResults);\n _done = true;\n\n // reset intermediate result for the proposal.\n intermediateResultsStorage().resetIntermediateResults(_proposalId);\n } else {\n // update intermediate results\n intermediateResultsStorage().setIntermediateResults(\n _proposalId,\n _currentResults.countedUntil,\n _currentResults.currentForCount,\n _currentResults.currentAgainstCount,\n 0\n );\n }\n }\n\n\n function processDraftVotingClaim(bytes32 _proposalId, DaoStructs.IntermediateResults _currentResults)\n internal\n returns (bool _passed)\n {\n if (\n (_currentResults.currentForCount.add(_currentResults.currentAgainstCount) > daoCalculatorService().minimumDraftQuorum(_proposalId)) &&\n (daoCalculatorService().draftQuotaPass(_currentResults.currentForCount, _currentResults.currentAgainstCount))\n ) {\n daoStorage().setProposalDraftPass(_proposalId, true);\n\n // set startTime of first voting round\n // and the start of first milestone.\n uint256 _idealStartTime = daoStorage().readProposalDraftVotingTime(_proposalId).add(getUintConfig(CONFIG_DRAFT_VOTING_PHASE));\n daoStorage().setProposalVotingTime(\n _proposalId,\n 0,\n getTimelineForNextVote(0, _idealStartTime)\n );\n _passed = true;\n } else {\n daoStorage().setProposalDraftPass(_proposalId, false);\n processCollateralRefund(_proposalId);\n }\n\n daoStorage().setDraftVotingClaim(_proposalId, true);\n }\n\n /// NOTE: Voting round i-th is before milestone index i-th\n\n\n /**\n @notice Function to claim the voting round results\n @dev This function has two major steps:\n - Counting the votes\n + There is no need for this step if there are some conditions that makes the proposal auto failed\n + The number of operations needed for this step is the number of participants in the quarter\n - Calculating the bonus for the voters in the preceding round\n + We can skip this step if this is the Voting round 0 (there is no preceding voting round to calculate bonus)\n + The number of operations needed for this step is the number of participants who voted \"correctly\" in the preceding voting round\n Step 1 will have to finish first before step 2. The proposer is supposed to call this function repeatedly,\n until _done is true\n\n If the voting round fails, the collateral will be returned back to the proposer\n @param _proposalId ID of the proposal\n @param _index Index of the voting round\n @param _operations Number of operations to do in this call\n @return {\n \"_passed\": \"Boolean, true if the voting round passed, false if failed\"\n }\n */\n function claimProposalVotingResult(bytes32 _proposalId, uint256 _index, uint256 _operations)\n public\n ifNotClaimed(_proposalId, _index)\n ifAfterProposalRevealPhase(_proposalId, _index)\n returns (bool _passed, bool _done)\n {\n require(isMainPhase());\n\n // STEP 1\n // If the claiming deadline is over, the proposal is auto failed, and anyone can call this function\n // Here, _done is refering to whether STEP 1 is done\n _done = true;\n _passed = false; // redundant, put here just to emphasize that its false\n uint256 _operationsLeft = _operations;\n\n if (_operations == 0) { // if no operations are passed, return with done = false\n return (false, false);\n }\n \n // In other words, we only need to do Step 1 if its before the deadline\n if (now < startOfMilestone(_proposalId, _index)\n .add(getUintConfig(CONFIG_VOTE_CLAIMING_DEADLINE)))\n {\n (_operationsLeft, _passed, _done) = countProposalVote(_proposalId, _index, _operations);\n // from here on, _operationsLeft is the number of operations left, after Step 1 is done\n if (!_done) return (_passed, false); // haven't done Step 1 yet, return. The value of _passed here is irrelevant\n }\n\n // STEP 2\n // from this point onwards, _done refers to step 2\n _done = false;\n\n if (_index > 0) { // We only need to do bonus calculation if its a interim voting round\n _done = calculateVoterBonus(_proposalId, _index, _operationsLeft, _passed);\n if (!_done) return (_passed, false); // Step 2 is not done yet, return\n } else {\n // its the first voting round, we return the collateral if it fails, locks if it passes\n\n _passed = _passed && isNonDigixProposalsWithinLimit(_proposalId); // can only pass if its within the non-digix proposal limit\n if (_passed) {\n daoStorage().setProposalCollateralStatus(\n _proposalId,\n COLLATERAL_STATUS_LOCKED\n );\n\n } else {\n processCollateralRefund(_proposalId);\n }\n }\n\n if (_passed) {\n processSuccessfulVotingClaim(_proposalId, _index);\n }\n daoStorage().setVotingClaim(_proposalId, _index, true);\n daoStorage().setProposalPass(_proposalId, _index, _passed);\n _done = true;\n }\n\n\n // do the necessary steps after a successful voting round.\n function processSuccessfulVotingClaim(bytes32 _proposalId, uint256 _index)\n internal\n {\n // clear the intermediate results for the proposal, so that next voting rounds can reuse the same key for the intermediate results\n intermediateResultsStorage().resetIntermediateResults(_proposalId);\n\n // if this was the final voting round, unlock their original collateral\n uint256[] memory _milestoneFundings;\n (_milestoneFundings,) = daoStorage().readProposalFunding(_proposalId);\n if (_index == _milestoneFundings.length) {\n processCollateralRefund(_proposalId);\n daoStorage().archiveProposal(_proposalId);\n }\n\n // increase the non-digix proposal count accordingly\n bool _isDigixProposal;\n (,,,,,,,,,_isDigixProposal) = daoStorage().readProposal(_proposalId);\n if (_index == 0 && !_isDigixProposal) {\n daoProposalCounterStorage().addNonDigixProposalCountInQuarter(currentQuarterNumber());\n }\n\n // Add quarter point for the proposer\n uint256 _funding = daoStorage().readProposalMilestone(_proposalId, _index);\n daoPointsStorage().addQuarterPoint(\n daoStorage().readProposalProposer(_proposalId),\n getUintConfig(CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH).mul(_funding).div(10000 ether),\n currentQuarterNumber()\n );\n }\n\n\n function getInterResultKeyForBonusCalculation(bytes32 _proposalId) public view returns (bytes32 _key) {\n _key = keccak256(abi.encodePacked(\n _proposalId,\n INTERMEDIATE_BONUS_CALCULATION_IDENTIFIER\n ));\n }\n\n\n // calculate and update the bonuses for voters who voted \"correctly\" in the preceding voting round\n function calculateVoterBonus(bytes32 _proposalId, uint256 _index, uint256 _operations, bool _passed)\n internal\n returns (bool _done)\n {\n if (_operations == 0) return false;\n address _countedUntil;\n (_countedUntil,,,) = intermediateResultsStorage().getIntermediateResults(\n getInterResultKeyForBonusCalculation(_proposalId)\n );\n\n address[] memory _voterBatch;\n if (_countedUntil == EMPTY_ADDRESS) {\n _voterBatch = daoListingService().listParticipants(\n _operations,\n true\n );\n } else {\n _voterBatch = daoListingService().listParticipantsFrom(\n _countedUntil,\n _operations,\n true\n );\n }\n address _lastVoter = _voterBatch[_voterBatch.length - 1]; // this will fail if _voterBatch is empty. However, there is at least the proposer as a participant in the quarter.\n\n DaoIntermediateStructs.Users memory _bonusVoters;\n if (_passed) {\n\n // give bonus points for all those who\n // voted YES in the previous round\n (_bonusVoters.users, _bonusVoters.usersLength) = daoStorage().readVotingRoundVotes(_proposalId, _index.sub(1), _voterBatch, true);\n } else {\n // give bonus points for all those who\n // voted NO in the previous round\n (_bonusVoters.users, _bonusVoters.usersLength) = daoStorage().readVotingRoundVotes(_proposalId, _index.sub(1), _voterBatch, false);\n }\n\n if (_bonusVoters.usersLength > 0) addBonusReputation(_bonusVoters.users, _bonusVoters.usersLength);\n\n if (_lastVoter == daoStakeStorage().readLastParticipant()) {\n // this is the last iteration\n\n intermediateResultsStorage().resetIntermediateResults(\n getInterResultKeyForBonusCalculation(_proposalId)\n );\n _done = true;\n } else {\n // this is not the last iteration yet, save the intermediate results\n intermediateResultsStorage().setIntermediateResults(\n getInterResultKeyForBonusCalculation(_proposalId),\n _lastVoter, 0, 0, 0\n );\n }\n }\n\n\n // Count the votes for a Voting Round and find out if its passed\n /// @return _operationsLeft The number of operations left after the calculations in this function\n /// @return _passed Whether this voting round passed\n /// @return _done Whether the calculation for this step 1 is already done. If its not done, this function will need to run again in subsequent transactions\n /// until _done is true\n function countProposalVote(bytes32 _proposalId, uint256 _index, uint256 _operations)\n internal\n returns (uint256 _operationsLeft, bool _passed, bool _done)\n {\n senderCanDoProposerOperations();\n require(isFromProposer(_proposalId));\n\n DaoStructs.IntermediateResults memory _currentResults;\n (\n _currentResults.countedUntil,\n _currentResults.currentForCount,\n _currentResults.currentAgainstCount,\n ) = intermediateResultsStorage().getIntermediateResults(_proposalId);\n address[] memory _voters;\n if (_currentResults.countedUntil == EMPTY_ADDRESS) { // This is the first transaction to count votes for this voting round\n _voters = daoListingService().listParticipants(\n _operations,\n true\n );\n } else {\n _voters = daoListingService().listParticipantsFrom(\n _currentResults.countedUntil,\n _operations,\n true\n );\n\n // If there's no voters left to count, this means that STEP 1 is already done, just return whether it was passed\n // Note that _currentResults should already be storing the final tally of votes for this voting round, as already calculated in previous iterations of this function\n if (_voters.length == 0) {\n return (\n _operations,\n isVoteCountPassed(_currentResults, _proposalId, _index),\n true\n );\n }\n }\n\n address _lastVoter = _voters[_voters.length - 1];\n\n DaoIntermediateStructs.VotingCount memory _count;\n (_count.forCount, _count.againstCount) = daoStorage().readVotingCount(_proposalId, _index, _voters);\n\n _currentResults.currentForCount = _currentResults.currentForCount.add(_count.forCount);\n _currentResults.currentAgainstCount = _currentResults.currentAgainstCount.add(_count.againstCount);\n intermediateResultsStorage().setIntermediateResults(\n _proposalId,\n _lastVoter,\n _currentResults.currentForCount,\n _currentResults.currentAgainstCount,\n 0\n );\n\n if (_lastVoter != daoStakeStorage().readLastParticipant()) {\n return (0, false, false); // hasn't done STEP 1 yet. The parent function (claimProposalVotingResult) should return after this. More transactions are needed to continue the calculation\n }\n\n // If it comes to here, this means all votes have already been counted\n // From this point, the IntermediateResults struct will store the total tally of the votes for this voting round until processSuccessfulVotingClaim() is called,\n // which will reset it.\n\n _operationsLeft = _operations.sub(_voters.length);\n _done = true;\n\n _passed = isVoteCountPassed(_currentResults, _proposalId, _index);\n }\n\n\n function isVoteCountPassed(DaoStructs.IntermediateResults _currentResults, bytes32 _proposalId, uint256 _index)\n internal\n view\n returns (bool _passed)\n {\n _passed = (_currentResults.currentForCount.add(_currentResults.currentAgainstCount) > daoCalculatorService().minimumVotingQuorum(_proposalId, _index))\n && (daoCalculatorService().votingQuotaPass(_currentResults.currentForCount, _currentResults.currentAgainstCount));\n }\n\n\n function processCollateralRefund(bytes32 _proposalId)\n internal\n {\n daoStorage().setProposalCollateralStatus(_proposalId, COLLATERAL_STATUS_CLAIMED);\n require(daoFundingManager().refundCollateral(daoStorage().readProposalProposer(_proposalId), _proposalId));\n }\n\n\n // add bonus reputation for voters that voted \"correctly\" in the preceding voting round AND is currently participating this quarter\n function addBonusReputation(address[] _voters, uint256 _n)\n private\n {\n uint256 _qp = getUintConfig(CONFIG_QUARTER_POINT_VOTE);\n uint256 _rate = getUintConfig(CONFIG_BONUS_REPUTATION_NUMERATOR);\n uint256 _base = getUintConfig(CONFIG_BONUS_REPUTATION_DENOMINATOR);\n\n uint256 _bonus = _qp.mul(_rate).mul(getUintConfig(CONFIG_REPUTATION_PER_EXTRA_QP_NUM))\n .div(\n _base.mul(getUintConfig(CONFIG_REPUTATION_PER_EXTRA_QP_DEN))\n );\n\n for (uint256 i = 0; i < _n; i++) {\n if (isParticipant(_voters[i])) { // only give bonus reputation to current participants\n daoPointsStorage().increaseReputation(_voters[i], _bonus);\n }\n }\n }\n\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoVotingClaims.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoVotingClaims.sol", + "exportedSymbols": { + "DaoVotingClaims": [ + 7814 + ] + }, + "id": 7815, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6654, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:18" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommon.sol", + "file": "../common/DaoCommon.sol", + "id": 6655, + "nodeType": "ImportDirective", + "scope": 7815, + "sourceUnit": 839, + "src": "26:33:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/service/DaoCalculatorService.sol", + "file": "../service/DaoCalculatorService.sol", + "id": 6656, + "nodeType": "ImportDirective", + "scope": 7815, + "sourceUnit": 12495, + "src": "60:45:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoFundingManager.sol", + "file": "./DaoFundingManager.sol", + "id": 6657, + "nodeType": "ImportDirective", + "scope": 7815, + "sourceUnit": 3150, + "src": "106:33:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoRewardsManager.sol", + "file": "./DaoRewardsManager.sol", + "id": 6658, + "nodeType": "ImportDirective", + "scope": 7815, + "sourceUnit": 4686, + "src": "140:33:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoIntermediateStructs.sol", + "file": "../lib/DaoIntermediateStructs.sol", + "id": 6659, + "nodeType": "ImportDirective", + "scope": 7815, + "sourceUnit": 7924, + "src": "174:43:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoStructs.sol", + "file": "../lib/DaoStructs.sol", + "id": 6660, + "nodeType": "ImportDirective", + "scope": 7815, + "sourceUnit": 8492, + "src": "218:31:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 6661, + "name": "DaoCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 838, + "src": "350:9:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommon_$838", + "typeString": "contract DaoCommon" + } + }, + "id": 6662, + "nodeType": "InheritanceSpecifier", + "src": "350:9:18" + } + ], + "contractDependencies": [ + 838, + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": "@title Contract to claim voting results\n@author Digix Holdings", + "fullyImplemented": true, + "id": 7814, + "linearizedBaseContracts": [ + 7814, + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoVotingClaims", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 6665, + "libraryName": { + "contractScope": null, + "id": 6663, + "name": "DaoIntermediateStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7923, + "src": "372:22:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIntermediateStructs_$7923", + "typeString": "library DaoIntermediateStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "366:68:18", + "typeName": { + "contractScope": null, + "id": 6664, + "name": "DaoIntermediateStructs.VotingCount", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7916, + "src": "399:34:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_storage_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount" + } + } + }, + { + "id": 6668, + "libraryName": { + "contractScope": null, + "id": 6666, + "name": "DaoIntermediateStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7923, + "src": "445:22:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIntermediateStructs_$7923", + "typeString": "library DaoIntermediateStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "439:62:18", + "typeName": { + "contractScope": null, + "id": 6667, + "name": "DaoIntermediateStructs.Users", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7922, + "src": "472:28:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Users_$7922_storage_ptr", + "typeString": "struct DaoIntermediateStructs.Users" + } + } + }, + { + "id": 6671, + "libraryName": { + "contractScope": null, + "id": 6669, + "name": "DaoStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8491, + "src": "512:10:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStructs_$8491", + "typeString": "library DaoStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "506:52:18", + "typeName": { + "contractScope": null, + "id": 6670, + "name": "DaoStructs.IntermediateResults", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8490, + "src": "527:30:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + } + } + }, + { + "body": { + "id": 6684, + "nodeType": "Block", + "src": "679:96:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6676, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6674, + "src": "689:9:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6679, + "name": "CONTRACT_SERVICE_DAO_CALCULATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1345, + "src": "735:31:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6678, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "722:12:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 6680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "722:45:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6677, + "name": "DaoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12494, + "src": "701:20:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "type(contract DaoCalculatorService)" + } + }, + "id": 6681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "701:67:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "src": "689:79:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 6683, + "nodeType": "ExpressionStatement", + "src": "689:79:18" + } + ] + }, + "documentation": null, + "id": 6685, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoCalculatorService", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6672, + "nodeType": "ParameterList", + "parameters": [], + "src": "593:2:18" + }, + "payable": false, + "returnParameters": { + "id": 6675, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6674, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 6685, + "src": "643:30:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + }, + "typeName": { + "contractScope": null, + "id": 6673, + "name": "DaoCalculatorService", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 12494, + "src": "643:20:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "642:32:18" + }, + "scope": 7814, + "src": "564:211:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6698, + "nodeType": "Block", + "src": "890:90:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6690, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6688, + "src": "900:9:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6693, + "name": "CONTRACT_DAO_FUNDING_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1327, + "src": "943:28:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6692, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "930:12:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 6694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "930:42:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6691, + "name": "DaoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3149, + "src": "912:17:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoFundingManager_$3149_$", + "typeString": "type(contract DaoFundingManager)" + } + }, + "id": 6695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "912:61:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "src": "900:73:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "id": 6697, + "nodeType": "ExpressionStatement", + "src": "900:73:18" + } + ] + }, + "documentation": null, + "id": 6699, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoFundingManager", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6686, + "nodeType": "ParameterList", + "parameters": [], + "src": "807:2:18" + }, + "payable": false, + "returnParameters": { + "id": 6689, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6688, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 6699, + "src": "857:27:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + }, + "typeName": { + "contractScope": null, + "id": 6687, + "name": "DaoFundingManager", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3149, + "src": "857:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "856:29:18" + }, + "scope": 7814, + "src": "781:199:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6712, + "nodeType": "Block", + "src": "1095:90:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6704, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1105:9:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6707, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "1148:28:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6706, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "1135:12:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 6708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1135:42:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6705, + "name": "DaoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4685, + "src": "1117:17:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoRewardsManager_$4685_$", + "typeString": "type(contract DaoRewardsManager)" + } + }, + "id": 6709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1117:61:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "src": "1105:73:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "id": 6711, + "nodeType": "ExpressionStatement", + "src": "1105:73:18" + } + ] + }, + "documentation": null, + "id": 6713, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoRewardsManager", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6700, + "nodeType": "ParameterList", + "parameters": [], + "src": "1012:2:18" + }, + "payable": false, + "returnParameters": { + "id": 6703, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6702, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 6713, + "src": "1062:27:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + }, + "typeName": { + "contractScope": null, + "id": 6701, + "name": "DaoRewardsManager", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4685, + "src": "1062:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1061:29:18" + }, + "scope": 7814, + "src": "986:199:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6725, + "nodeType": "Block", + "src": "1229:69:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6720, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "1252:26:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6721, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6715, + "src": "1280:9:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6719, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "1247:4:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 6722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1247:43:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6718, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1239:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1239:52:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6724, + "nodeType": "ExpressionStatement", + "src": "1239:52:18" + } + ] + }, + "documentation": null, + "id": 6726, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6716, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6715, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 6726, + "src": "1203:17:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6714, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1203:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1202:19:18" + }, + "payable": false, + "returnParameters": { + "id": 6717, + "nodeType": "ParameterList", + "parameters": [], + "src": "1229:0:18" + }, + "scope": 7814, + "src": "1191:107:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6955, + "nodeType": "Block", + "src": "2191:2952:18", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6743, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "2313:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6756, + "name": "CONFIG_VOTE_CLAIMING_DEADLINE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "2479:29:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6755, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2465:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 6757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2465:44:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6751, + "name": "CONFIG_DRAFT_VOTING_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1555, + "src": "2412:25:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6750, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2398:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 6752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2398:40:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6747, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "2360:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6744, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2319:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 6745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2319:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 6746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalDraftVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 16745, + "src": "2319:40:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 6748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2319:53:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "2319:78:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2319:120:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "2319:145:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2319:191:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2313:197:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "id": 6763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "2526:44:18", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6761, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "2558:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6760, + "name": "isNonDigixProposalsWithinLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "2527:30:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 6762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2527:43:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2313:257:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6788, + "nodeType": "IfStatement", + "src": "2309:498:18", + "trueBody": { + "id": 6787, + "nodeType": "Block", + "src": "2580:227:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6768, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "2628:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 6769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2641:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6765, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2594:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 6766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2594:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 6767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalDraftPass", + "nodeType": "MemberAccess", + "referencedDeclaration": 17741, + "src": "2594:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$", + "typeString": "function (bytes32,bool) external" + } + }, + "id": 6770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2594:53:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6771, + "nodeType": "ExpressionStatement", + "src": "2594:53:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6775, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "2694:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6776, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2707:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6772, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2661:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 6773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2661:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 6774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setDraftVotingClaim", + "nodeType": "MemberAccess", + "referencedDeclaration": 17874, + "src": "2661:32:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$", + "typeString": "function (bytes32,bool) external" + } + }, + "id": 6777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2661:51:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6778, + "nodeType": "ExpressionStatement", + "src": "2661:51:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6780, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "2750:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6779, + "name": "processCollateralRefund", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7738, + "src": "2726:23:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 6781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2726:36:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6782, + "nodeType": "ExpressionStatement", + "src": "2726:36:18" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 6783, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2784:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6784, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2791:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "id": 6785, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2783:13:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bool_$", + "typeString": "tuple(bool,bool)" + } + }, + "functionReturnParameters": 6742, + "id": 6786, + "nodeType": "Return", + "src": "2776:20:18" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6791, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "2839:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6790, + "name": "isFromProposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "2824:14:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 6792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2824:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6789, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2816:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2816:36:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6794, + "nodeType": "ExpressionStatement", + "src": "2816:36:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6795, + "name": "senderCanDoProposerOperations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 837, + "src": "2862:29:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 6796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2862:31:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6797, + "nodeType": "ExpressionStatement", + "src": "2862:31:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6798, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6730, + "src": "2908:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6799, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2923:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2908:16:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6806, + "nodeType": "IfStatement", + "src": "2904:125:18", + "trueBody": { + "id": 6805, + "nodeType": "Block", + "src": "2926:103:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 6801, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3005:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 6802, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3012:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "id": 6803, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3004:14:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bool_$", + "typeString": "tuple(bool,bool)" + } + }, + "functionReturnParameters": 6742, + "id": 6804, + "nodeType": "Return", + "src": "2997:21:18" + } + ] + } + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 6810, + "name": "_currentResults", + "nodeType": "VariableDeclaration", + "scope": 6956, + "src": "3095:53:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + }, + "typeName": { + "contractScope": null, + "id": 6809, + "name": "DaoStructs.IntermediateResults", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8490, + "src": "3095:30:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6811, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "3095:53:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 6825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6812, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "3172:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6814, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "3172:28:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6815, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "3214:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6816, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "3214:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6817, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "3259:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6818, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "3259:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + null + ], + "id": 6819, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3158:147:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$__$", + "typeString": "tuple(address,uint256,uint256,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6823, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "3360:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6820, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "3308:26:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 6821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3308:28:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 6822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18511, + "src": "3308:51:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (address,uint256,uint256,uint256)" + } + }, + "id": 6824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3308:64:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(address,uint256,uint256,uint256)" + } + }, + "src": "3158:214:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6826, + "nodeType": "ExpressionStatement", + "src": "3158:214:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 6830, + "name": "_moderators", + "nodeType": "VariableDeclaration", + "scope": 6956, + "src": "3475:28:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 6828, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3475:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6829, + "length": null, + "nodeType": "ArrayTypeName", + "src": "3475:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6831, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "3475:28:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6832, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "3517:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6833, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "3517:28:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6834, + "name": "EMPTY_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1249, + "src": "3549:13:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3517:45:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 6857, + "nodeType": "Block", + "src": "3708:184:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6846, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6830, + "src": "3722:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6850, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "3791:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6851, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "3791:28:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6852, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6730, + "src": "3836:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6853, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3864:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6847, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "3736:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 6848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3736:19:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 6849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listModeratorsFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 12614, + "src": "3736:38:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,bool) view external returns (address[] memory)" + } + }, + "id": 6854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3736:145:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "3722:159:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 6856, + "nodeType": "ExpressionStatement", + "src": "3722:159:18" + } + ] + }, + "id": 6858, + "nodeType": "IfStatement", + "src": "3513:379:18", + "trueBody": { + "id": 6845, + "nodeType": "Block", + "src": "3564:138:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6836, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6830, + "src": "3578:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6840, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6730, + "src": "3644:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6841, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3673:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6837, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "3592:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 6838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3592:19:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 6839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listModerators", + "nodeType": "MemberAccess", + "referencedDeclaration": 12581, + "src": "3592:34:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (uint256,bool) view external returns (address[] memory)" + } + }, + "id": 6842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3592:99:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "3578:113:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 6844, + "nodeType": "ExpressionStatement", + "src": "3578:113:18" + } + ] + } + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 6862, + "name": "_voteCount", + "nodeType": "VariableDeclaration", + "scope": 6956, + "src": "3958:52:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount" + }, + "typeName": { + "contractScope": null, + "id": 6861, + "name": "DaoIntermediateStructs.VotingCount", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7916, + "src": "3958:34:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_storage_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6863, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "3958:52:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 6876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6864, + "name": "_voteCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6862, + "src": "4021:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 6866, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "forCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7913, + "src": "4021:19:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6867, + "name": "_voteCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6862, + "src": "4042:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 6868, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "againstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7915, + "src": "4042:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6869, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "4020:46:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6873, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "4103:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6874, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6830, + "src": "4116:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6870, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "4069:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 6871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4069:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 6872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readDraftVotingCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 16796, + "src": "4069:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32,address[] memory) view external returns (uint256,uint256)" + } + }, + "id": 6875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4069:59:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "4020:108:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6877, + "nodeType": "ExpressionStatement", + "src": "4020:108:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 6887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6878, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "4139:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6880, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "4139:28:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6881, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6830, + "src": "4170:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 6886, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6882, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6830, + "src": "4182:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 6883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4182:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 6884, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4201:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4182:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4170:33:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4139:64:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6888, + "nodeType": "ExpressionStatement", + "src": "4139:64:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 6898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6889, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "4213:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6891, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "4213:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6895, + "name": "_voteCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6862, + "src": "4283:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 6896, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "forCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7913, + "src": "4283:19:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6892, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "4247:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6893, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "4247:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "4247:35:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4247:56:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4213:90:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6899, + "nodeType": "ExpressionStatement", + "src": "4213:90:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 6909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6900, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "4313:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6902, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "4313:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6906, + "name": "_voteCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6862, + "src": "4391:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 6907, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "againstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7915, + "src": "4391:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6903, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "4351:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6904, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "4351:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "4351:39:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4351:64:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4313:102:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6910, + "nodeType": "ExpressionStatement", + "src": "4313:102:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6911, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6830, + "src": "4430:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 6916, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6912, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6830, + "src": "4442:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 6913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4442:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 6914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4461:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4442:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4430:33:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6917, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "4467:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4467:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readLastModerator", + "nodeType": "MemberAccess", + "referencedDeclaration": 16347, + "src": "4467:35:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 6920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4467:37:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4430:74:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 6953, + "nodeType": "Block", + "src": "4808:329:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6943, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "4934:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6944, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "4963:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6945, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "4963:28:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6946, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "5009:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6947, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "5009:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6948, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "5058:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6949, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "5058:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 6950, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5111:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6940, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "4865:26:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 6941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4865:28:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 6942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18586, + "src": "4865:51:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint256,uint256) external" + } + }, + "id": 6951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4865:261:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6952, + "nodeType": "ExpressionStatement", + "src": "4865:261:18" + } + ] + }, + "id": 6954, + "nodeType": "IfStatement", + "src": "4426:711:18", + "trueBody": { + "id": 6939, + "nodeType": "Block", + "src": "4506:296:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6922, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6739, + "src": "4562:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6924, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "4596:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6925, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "4609:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + ], + "id": 6923, + "name": "processDraftVotingClaim", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7045, + "src": "4572:23:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_struct$_IntermediateResults_$8490_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32,struct DaoStructs.IntermediateResults memory) returns (bool)" + } + }, + "id": 6926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4572:53:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4562:63:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6928, + "nodeType": "ExpressionStatement", + "src": "4562:63:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 6931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6929, + "name": "_done", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6741, + "src": "4639:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6930, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4647:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4639:12:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6932, + "nodeType": "ExpressionStatement", + "src": "4639:12:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6936, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "4779:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6933, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "4725:26:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 6934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4725:28:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 6935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "resetIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18535, + "src": "4725:53:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 6937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4725:66:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6938, + "nodeType": "ExpressionStatement", + "src": "4725:66:18" + } + ] + } + } + ] + }, + "documentation": "@notice Function to claim the draft voting result (can only be called by the proposal proposer)\n@dev The founder/or anyone is supposed to call this function after the claiming deadline has passed, to clean it up and close this proposal.\nIf this voting fails, the collateral will be refunded\n@param _proposalId ID of the proposal\n@param _operations Number of operations to do in this call\n@return {\n\"_passed\": \"Boolean, true if the draft voting has passed, false if the claiming deadline has passed or the voting has failed\",\n\"_done\": \"Boolean, true if the calculation has finished\"\n}", + "id": 6956, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 6733, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "2086:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 6734, + "modifierName": { + "argumentTypes": null, + "id": 6732, + "name": "ifDraftNotClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "2068:17:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "2068:30:18" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 6736, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "2131:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 6737, + "modifierName": { + "argumentTypes": null, + "id": 6735, + "name": "ifAfterDraftVotingPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 154, + "src": "2107:23:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "2107:36:18" + } + ], + "name": "claimDraftVotingResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6731, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6728, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 6956, + "src": "1990:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6727, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1990:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6730, + "name": "_operations", + "nodeType": "VariableDeclaration", + "scope": 6956, + "src": "2019:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6729, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2019:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1980:64:18" + }, + "payable": false, + "returnParameters": { + "id": 6742, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6739, + "name": "_passed", + "nodeType": "VariableDeclaration", + "scope": 6956, + "src": "2161:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6738, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2161:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6741, + "name": "_done", + "nodeType": "VariableDeclaration", + "scope": 6956, + "src": "2175:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6740, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2175:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2160:26:18" + }, + "scope": 7814, + "src": "1949:3194:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 7044, + "nodeType": "Block", + "src": "5304:1011:18", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6968, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6960, + "src": "5368:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6969, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "5368:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6965, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6960, + "src": "5332:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6966, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "5332:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "5332:35:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5332:72:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6974, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6958, + "src": "5449:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6971, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6685, + "src": "5407:20:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 6972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5407:22:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 6973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "minimumDraftQuorum", + "nodeType": "MemberAccess", + "referencedDeclaration": 12159, + "src": "5407:41:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 6975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5407:54:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5332:129:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 6977, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5331:131:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6981, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6960, + "src": "5517:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6982, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "5517:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6983, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6960, + "src": "5550:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6984, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "5550:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6978, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6685, + "src": "5479:20:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 6979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5479:22:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 6980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "draftQuotaPass", + "nodeType": "MemberAccess", + "referencedDeclaration": 12188, + "src": "5479:37:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) view external returns (bool)" + } + }, + "id": 6985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5479:107:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 6986, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5478:109:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5331:256:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 7035, + "nodeType": "Block", + "src": "6119:128:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7027, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6958, + "src": "6167:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 7028, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6180:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7024, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "6133:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6133:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalDraftPass", + "nodeType": "MemberAccess", + "referencedDeclaration": 17741, + "src": "6133:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$", + "typeString": "function (bytes32,bool) external" + } + }, + "id": 7029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6133:53:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7030, + "nodeType": "ExpressionStatement", + "src": "6133:53:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7032, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6958, + "src": "6224:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7031, + "name": "processCollateralRefund", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7738, + "src": "6200:23:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 7033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6200:36:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7034, + "nodeType": "ExpressionStatement", + "src": "6200:36:18" + } + ] + }, + "id": 7036, + "nodeType": "IfStatement", + "src": "5314:933:18", + "trueBody": { + "id": 7023, + "nodeType": "Block", + "src": "5598:515:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6991, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6958, + "src": "5646:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6992, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5659:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6988, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "5612:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 6989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5612:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 6990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalDraftPass", + "nodeType": "MemberAccess", + "referencedDeclaration": 17741, + "src": "5612:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$", + "typeString": "function (bytes32,bool) external" + } + }, + "id": 6993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5612:52:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6994, + "nodeType": "ExpressionStatement", + "src": "5612:52:18" + }, + { + "assignments": [ + 6996 + ], + "declarations": [ + { + "constant": false, + "id": 6996, + "name": "_idealStartTime", + "nodeType": "VariableDeclaration", + "scope": 7045, + "src": "5779:23:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6995, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5779:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7007, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7004, + "name": "CONFIG_DRAFT_VOTING_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1555, + "src": "5877:25:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7003, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "5863:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 7005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5863:40:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7000, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6958, + "src": "5846:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6997, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "5805:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 6998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5805:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 6999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalDraftVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 16745, + "src": "5805:40:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 7001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5805:53:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "5805:57:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5805:99:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5779:125:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7011, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6958, + "src": "5970:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 7012, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5999:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 7014, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6041:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "id": 7015, + "name": "_idealStartTime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6996, + "src": "6044:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7013, + "name": "getTimelineForNextVote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 722, + "src": "6018:22:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 7016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6018:42:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7008, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "5918:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5918:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 17852, + "src": "5918:34:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,uint256) external" + } + }, + "id": 7017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5918:156:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7018, + "nodeType": "ExpressionStatement", + "src": "5918:156:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7019, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6963, + "src": "6088:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6098:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6088:14:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7022, + "nodeType": "ExpressionStatement", + "src": "6088:14:18" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7040, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6958, + "src": "6290:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7041, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6303:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7037, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "6257:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6257:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setDraftVotingClaim", + "nodeType": "MemberAccess", + "referencedDeclaration": 17874, + "src": "6257:32:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$", + "typeString": "function (bytes32,bool) external" + } + }, + "id": 7042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6257:51:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7043, + "nodeType": "ExpressionStatement", + "src": "6257:51:18" + } + ] + }, + "documentation": null, + "id": 7045, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "processDraftVotingClaim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6961, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6958, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 7045, + "src": "5183:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6957, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5183:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6960, + "name": "_currentResults", + "nodeType": "VariableDeclaration", + "scope": 7045, + "src": "5204:46:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + }, + "typeName": { + "contractScope": null, + "id": 6959, + "name": "DaoStructs.IntermediateResults", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8490, + "src": "5204:30:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5182:69:18" + }, + "payable": false, + "returnParameters": { + "id": 6964, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6963, + "name": "_passed", + "nodeType": "VariableDeclaration", + "scope": 7045, + "src": "5286:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6962, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5286:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5285:14:18" + }, + "scope": 7814, + "src": "5150:1165:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 7200, + "nodeType": "Block", + "src": "7817:2233:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7067, + "name": "isMainPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "7835:11:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 7068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7835:13:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 7066, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "7827:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 7069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7827:22:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7070, + "nodeType": "ExpressionStatement", + "src": "7827:22:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7071, + "name": "_done", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7064, + "src": "8047:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7072, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8055:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "8047:12:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7074, + "nodeType": "ExpressionStatement", + "src": "8047:12:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7075, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "8069:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 7076, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8079:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "8069:15:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7078, + "nodeType": "ExpressionStatement", + "src": "8069:15:18" + }, + { + "assignments": [ + 7080 + ], + "declarations": [ + { + "constant": false, + "id": 7080, + "name": "_operationsLeft", + "nodeType": "VariableDeclaration", + "scope": 7201, + "src": "8150:23:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7079, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8150:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7082, + "initialValue": { + "argumentTypes": null, + "id": 7081, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7051, + "src": "8176:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8150:37:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7083, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7051, + "src": "8202:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 7084, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8217:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8202:16:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7091, + "nodeType": "IfStatement", + "src": "8198:125:18", + "trueBody": { + "id": 7090, + "nodeType": "Block", + "src": "8220:103:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 7086, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8299:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 7087, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8306:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "id": 7088, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8298:14:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bool_$", + "typeString": "tuple(bool,bool)" + } + }, + "functionReturnParameters": 7065, + "id": 7089, + "nodeType": "Return", + "src": "8291:21:18" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7092, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "8425:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7099, + "name": "CONFIG_VOTE_CLAIMING_DEADLINE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "8508:29:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7098, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "8494:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 7100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8494:44:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7094, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "8448:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7095, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "8461:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7093, + "name": "startOfMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 643, + "src": "8431:16:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view returns (uint256)" + } + }, + "id": 7096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8431:37:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "8431:62:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8431:108:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8425:114:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7122, + "nodeType": "IfStatement", + "src": "8421:465:18", + "trueBody": { + "id": 7121, + "nodeType": "Block", + "src": "8549:337:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 7103, + "name": "_operationsLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7080, + "src": "8564:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7104, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "8581:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 7105, + "name": "_done", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7064, + "src": "8590:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 7106, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "8563:33:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$_t_bool_$", + "typeString": "tuple(uint256,bool,bool)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7108, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "8617:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7109, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "8630:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7110, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7051, + "src": "8638:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7107, + "name": "countProposalVote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7673, + "src": "8599:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_bool_$_t_bool_$", + "typeString": "function (bytes32,uint256,uint256) returns (uint256,bool,bool)" + } + }, + "id": 7111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8599:51:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$_t_bool_$", + "typeString": "tuple(uint256,bool,bool)" + } + }, + "src": "8563:87:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7113, + "nodeType": "ExpressionStatement", + "src": "8563:87:18" + }, + { + "condition": { + "argumentTypes": null, + "id": 7115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "8768:6:18", + "subExpression": { + "argumentTypes": null, + "id": 7114, + "name": "_done", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7064, + "src": "8769:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7120, + "nodeType": "IfStatement", + "src": "8764:35:18", + "trueBody": { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 7116, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "8784:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 7117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8793:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "id": 7118, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8783:16:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bool_$", + "typeString": "tuple(bool,bool)" + } + }, + "functionReturnParameters": 7065, + "id": 7119, + "nodeType": "Return", + "src": "8776:23:18" + } + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 7125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7123, + "name": "_done", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7064, + "src": "8973:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 7124, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8981:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "8973:13:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7126, + "nodeType": "ExpressionStatement", + "src": "8973:13:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7127, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "9001:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 7128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9010:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9001:10:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 7170, + "nodeType": "Block", + "src": "9271:522:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7147, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "9386:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 7152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7148, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "9396:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7150, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "9438:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7149, + "name": "isNonDigixProposalsWithinLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "9407:30:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 7151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9407:43:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "9396:54:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "9386:64:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7154, + "nodeType": "ExpressionStatement", + "src": "9386:64:18" + }, + { + "condition": { + "argumentTypes": null, + "id": 7155, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "9528:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 7168, + "nodeType": "Block", + "src": "9714:69:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7165, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "9756:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7164, + "name": "processCollateralRefund", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7738, + "src": "9732:23:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 7166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9732:36:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7167, + "nodeType": "ExpressionStatement", + "src": "9732:36:18" + } + ] + }, + "id": 7169, + "nodeType": "IfStatement", + "src": "9524:259:18", + "trueBody": { + "id": 7163, + "nodeType": "Block", + "src": "9537:171:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7159, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "9617:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7160, + "name": "COLLATERAL_STATUS_LOCKED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1282, + "src": "9650:24:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7156, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "9555:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9555:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalCollateralStatus", + "nodeType": "MemberAccess", + "referencedDeclaration": 17924, + "src": "9555:40:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256) external" + } + }, + "id": 7161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9555:137:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7162, + "nodeType": "ExpressionStatement", + "src": "9555:137:18" + } + ] + } + } + ] + }, + "id": 7171, + "nodeType": "IfStatement", + "src": "8997:796:18", + "trueBody": { + "id": 7146, + "nodeType": "Block", + "src": "9013:252:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7130, + "name": "_done", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7064, + "src": "9097:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7132, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "9125:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7133, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "9138:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7134, + "name": "_operationsLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7080, + "src": "9146:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7135, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "9163:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 7131, + "name": "calculateVoterBonus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7485, + "src": "9105:19:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bool_$returns$_t_bool_$", + "typeString": "function (bytes32,uint256,uint256,bool) returns (bool)" + } + }, + "id": 7136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9105:66:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "9097:74:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7138, + "nodeType": "ExpressionStatement", + "src": "9097:74:18" + }, + { + "condition": { + "argumentTypes": null, + "id": 7140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "9189:6:18", + "subExpression": { + "argumentTypes": null, + "id": 7139, + "name": "_done", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7064, + "src": "9190:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7145, + "nodeType": "IfStatement", + "src": "9185:35:18", + "trueBody": { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 7141, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "9205:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 7142, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9214:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "id": 7143, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9204:16:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bool_$", + "typeString": "tuple(bool,bool)" + } + }, + "functionReturnParameters": 7065, + "id": 7144, + "nodeType": "Return", + "src": "9197:23:18" + } + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "id": 7172, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "9807:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7179, + "nodeType": "IfStatement", + "src": "9803:87:18", + "trueBody": { + "id": 7178, + "nodeType": "Block", + "src": "9816:74:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7174, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "9859:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7175, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "9872:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7173, + "name": "processSuccessfulVotingClaim", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7302, + "src": "9830:28:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 7176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9830:49:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7177, + "nodeType": "ExpressionStatement", + "src": "9830:49:18" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7183, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "9927:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7184, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "9940:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7185, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9948:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7180, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "9899:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9899:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setVotingClaim", + "nodeType": "MemberAccess", + "referencedDeclaration": 17900, + "src": "9899:27:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_bool_$returns$__$", + "typeString": "function (bytes32,uint256,bool) external" + } + }, + "id": 7186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9899:54:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7187, + "nodeType": "ExpressionStatement", + "src": "9899:54:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7191, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "9992:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7192, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "10005:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7193, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "10013:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7188, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "9963:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9963:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalPass", + "nodeType": "MemberAccess", + "referencedDeclaration": 17801, + "src": "9963:28:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_bool_$returns$__$", + "typeString": "function (bytes32,uint256,bool) external" + } + }, + "id": 7194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9963:58:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7195, + "nodeType": "ExpressionStatement", + "src": "9963:58:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7196, + "name": "_done", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7064, + "src": "10031:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7197, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10039:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "10031:12:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7199, + "nodeType": "ExpressionStatement", + "src": "10031:12:18" + } + ] + }, + "documentation": "@notice Function to claim the voting round results\n@dev This function has two major steps:\n- Counting the votes\n+ There is no need for this step if there are some conditions that makes the proposal auto failed\n+ The number of operations needed for this step is the number of participants in the quarter\n- Calculating the bonus for the voters in the preceding round\n+ We can skip this step if this is the Voting round 0 (there is no preceding voting round to calculate bonus)\n+ The number of operations needed for this step is the number of participants who voted \"correctly\" in the preceding voting round\nStep 1 will have to finish first before step 2. The proposer is supposed to call this function repeatedly,\nuntil _done is true\nIf the voting round fails, the collateral will be returned back to the proposer\n@param _proposalId ID of the proposal\n@param _index Index of the voting round\n@param _operations Number of operations to do in this call\n@return {\n\"_passed\": \"Boolean, true if the voting round passed, false if failed\"\n}", + "id": 7201, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 7054, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "7693:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7055, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "7706:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7056, + "modifierName": { + "argumentTypes": null, + "id": 7053, + "name": "ifNotClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 331, + "src": "7680:12:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$_t_uint256_$", + "typeString": "modifier (bytes32,uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "7680:33:18" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 7058, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "7749:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7059, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "7762:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7060, + "modifierName": { + "argumentTypes": null, + "id": 7057, + "name": "ifAfterProposalRevealPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 252, + "src": "7722:26:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$_t_uint256_$", + "typeString": "modifier (bytes32,uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "7722:47:18" + } + ], + "name": "claimProposalVotingResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7052, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7047, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 7201, + "src": "7599:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7046, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7599:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7049, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 7201, + "src": "7620:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7048, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7620:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7051, + "name": "_operations", + "nodeType": "VariableDeclaration", + "scope": 7201, + "src": "7636:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7050, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7636:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7598:58:18" + }, + "payable": false, + "returnParameters": { + "id": 7065, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7062, + "name": "_passed", + "nodeType": "VariableDeclaration", + "scope": 7201, + "src": "7787:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7061, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7787:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7064, + "name": "_done", + "nodeType": "VariableDeclaration", + "scope": 7201, + "src": "7801:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7063, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7801:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7786:26:18" + }, + "scope": 7814, + "src": "7564:2486:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 7301, + "nodeType": "Block", + "src": "10216:1330:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7211, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7203, + "src": "10433:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7208, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "10379:26:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 7209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10379:28:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 7210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "resetIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18535, + "src": "10379:53:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 7212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10379:66:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7213, + "nodeType": "ExpressionStatement", + "src": "10379:66:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 7217, + "name": "_milestoneFundings", + "nodeType": "VariableDeclaration", + "scope": 7302, + "src": "10536:35:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 7215, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10536:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7216, + "length": null, + "nodeType": "ArrayTypeName", + "src": "10536:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7218, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "10536:35:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 7219, + "name": "_milestoneFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7217, + "src": "10582:18:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + null + ], + "id": 7220, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "10581:21:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$__$", + "typeString": "tuple(uint256[] memory,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7224, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7203, + "src": "10638:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7221, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "10605:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10605:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalFunding", + "nodeType": "MemberAccess", + "referencedDeclaration": 17162, + "src": "10605:32:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256[] memory,uint256)" + } + }, + "id": 7225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10605:45:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(uint256[] memory,uint256)" + } + }, + "src": "10581:69:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7227, + "nodeType": "ExpressionStatement", + "src": "10581:69:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7228, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7205, + "src": "10664:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7229, + "name": "_milestoneFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7217, + "src": "10674:18:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 7230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10674:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10664:35:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7243, + "nodeType": "IfStatement", + "src": "10660:157:18", + "trueBody": { + "id": 7242, + "nodeType": "Block", + "src": "10701:116:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7233, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7203, + "src": "10739:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7232, + "name": "processCollateralRefund", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7738, + "src": "10715:23:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 7234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10715:36:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7235, + "nodeType": "ExpressionStatement", + "src": "10715:36:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7239, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7203, + "src": "10794:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7236, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "10765:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10765:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "archiveProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 18279, + "src": "10765:28:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 7240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10765:41:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7241, + "nodeType": "ExpressionStatement", + "src": "10765:41:18" + } + ] + } + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 7245, + "name": "_isDigixProposal", + "nodeType": "VariableDeclaration", + "scope": 7302, + "src": "10888:21:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7244, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10888:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7246, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "10888:21:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "argumentTypes": null, + "id": 7247, + "name": "_isDigixProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7245, + "src": "10929:16:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 7248, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "10919:27:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$__$__$__$__$__$__$__$_t_bool_$", + "typeString": "tuple(,,,,,,,,,bool)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7252, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7203, + "src": "10975:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7249, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "10949:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10949:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16595, + "src": "10949:25:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "function (bytes32) view external returns (bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "id": 7253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10949:38:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "tuple(bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "src": "10919:68:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7255, + "nodeType": "ExpressionStatement", + "src": "10919:68:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 7261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7256, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7205, + "src": "11001:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 7257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11011:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11001:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 7260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "11016:17:18", + "subExpression": { + "argumentTypes": null, + "id": 7259, + "name": "_isDigixProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7245, + "src": "11017:16:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11001:32:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7270, + "nodeType": "IfStatement", + "src": "10997:148:18", + "trueBody": { + "id": 7269, + "nodeType": "Block", + "src": "11035:110:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7265, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "11111:20:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 7266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11111:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7262, + "name": "daoProposalCounterStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1146, + "src": "11049:25:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoProposalCounterStorage_$14975_$", + "typeString": "function () view returns (contract DaoProposalCounterStorage)" + } + }, + "id": 7263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11049:27:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoProposalCounterStorage_$14975", + "typeString": "contract DaoProposalCounterStorage" + } + }, + "id": 7264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addNonDigixProposalCountInQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 14974, + "src": "11049:61:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 7267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11049:85:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7268, + "nodeType": "ExpressionStatement", + "src": "11049:85:18" + } + ] + } + }, + { + "assignments": [ + 7272 + ], + "declarations": [ + { + "constant": false, + "id": 7272, + "name": "_funding", + "nodeType": "VariableDeclaration", + "scope": 7302, + "src": "11201:16:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7271, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11201:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7279, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7276, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7203, + "src": "11255:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7277, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7205, + "src": "11268:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7273, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "11220:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11220:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalMilestone", + "nodeType": "MemberAccess", + "referencedDeclaration": 17186, + "src": "11220:34:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view external returns (uint256)" + } + }, + "id": 7278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11220:55:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11201:74:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7286, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7203, + "src": "11367:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7283, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "11333:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11333:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalProposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 16610, + "src": "11333:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 7287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11333:46:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "3130303030", + "id": 7295, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11481:11:18", + "subdenomination": "ether", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000000000000000_by_1", + "typeString": "int_const 10000000000000000000000" + }, + "value": "10000" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_10000000000000000000000_by_1", + "typeString": "int_const 10000000000000000000000" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7292, + "name": "_funding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7272, + "src": "11467:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7289, + "name": "CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1501, + "src": "11407:54:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7288, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "11393:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 7290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11393:69:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "11393:73:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11393:83:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "11393:87:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11393:100:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7297, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "11507:20:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 7298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11507:22:18", + "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, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7280, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "11285:16:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 7281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11285:18:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 7282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addQuarterPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14620, + "src": "11285:34:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address,uint256,uint256) external returns (uint256,uint256)" + } + }, + "id": 7299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11285:254:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 7300, + "nodeType": "ExpressionStatement", + "src": "11285:254:18" + } + ] + }, + "documentation": null, + "id": 7302, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "processSuccessfulVotingClaim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7203, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 7302, + "src": "10158:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7202, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10158:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7205, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 7302, + "src": "10179:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7204, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10179:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10157:37:18" + }, + "payable": false, + "returnParameters": { + "id": 7207, + "nodeType": "ParameterList", + "parameters": [], + "src": "10216:0:18" + }, + "scope": 7814, + "src": "10120:1426:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 7319, + "nodeType": "Block", + "src": "11655:141:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7309, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7307, + "src": "11665:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7313, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7304, + "src": "11712:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7314, + "name": "INTERMEDIATE_BONUS_CALCULATION_IDENTIFIER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1294, + "src": "11737:41:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 7311, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26599, + "src": "11682:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7312, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11682:16:18", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11682:106:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7310, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26606, + "src": "11672:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 7316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11672:117:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "11665:124:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 7318, + "nodeType": "ExpressionStatement", + "src": "11665:124:18" + } + ] + }, + "documentation": null, + "id": 7320, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getInterResultKeyForBonusCalculation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7305, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7304, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 7320, + "src": "11599:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7303, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11599:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11598:21:18" + }, + "payable": false, + "returnParameters": { + "id": 7308, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7307, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 7320, + "src": "11641:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7306, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11641:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11640:14:18" + }, + "scope": 7814, + "src": "11553:243:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 7484, + "nodeType": "Block", + "src": "12057:2103:18", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7333, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7326, + "src": "12071:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 7334, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12086:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12071:16:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7338, + "nodeType": "IfStatement", + "src": "12067:34:18", + "trueBody": { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 7336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12096:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 7332, + "id": 7337, + "nodeType": "Return", + "src": "12089:12:18" + } + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 7340, + "name": "_countedUntil", + "nodeType": "VariableDeclaration", + "scope": 7485, + "src": "12111:21:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7339, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12111:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7341, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "12111:21:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 7342, + "name": "_countedUntil", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7340, + "src": "12143:13:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + null, + null, + null + ], + "id": 7343, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "12142:18:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$__$__$__$", + "typeString": "tuple(address,,,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7348, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7322, + "src": "12265:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7347, + "name": "getInterResultKeyForBonusCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7320, + "src": "12228:36:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view returns (bytes32)" + } + }, + "id": 7349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12228:49:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7344, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "12163:26:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 7345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12163:28:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 7346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18511, + "src": "12163:51:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (address,uint256,uint256,uint256)" + } + }, + "id": 7350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12163:124:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(address,uint256,uint256,uint256)" + } + }, + "src": "12142:145:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7352, + "nodeType": "ExpressionStatement", + "src": "12142:145:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 7356, + "name": "_voterBatch", + "nodeType": "VariableDeclaration", + "scope": 7485, + "src": "12298:28:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 7354, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12298:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 7355, + "length": null, + "nodeType": "ArrayTypeName", + "src": "12298:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7357, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "12298:28:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 7360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7358, + "name": "_countedUntil", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7340, + "src": "12340:13:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 7359, + "name": "EMPTY_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1249, + "src": "12357:13:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "12340:30:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 7381, + "nodeType": "Block", + "src": "12518:175:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7371, + "name": "_voterBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7356, + "src": "12532:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7375, + "name": "_countedUntil", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7340, + "src": "12604:13:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 7376, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7326, + "src": "12635:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7377, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12664:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7372, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "12546:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 7373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12546:19:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 7374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listParticipantsFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 12677, + "src": "12546:40:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,bool) view external returns (address[] memory)" + } + }, + "id": 7378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12546:136:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "12532:150:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7380, + "nodeType": "ExpressionStatement", + "src": "12532:150:18" + } + ] + }, + "id": 7382, + "nodeType": "IfStatement", + "src": "12336:357:18", + "trueBody": { + "id": 7370, + "nodeType": "Block", + "src": "12372:140:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7361, + "name": "_voterBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7356, + "src": "12386:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7365, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7326, + "src": "12454:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7366, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12483:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7362, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "12400:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 7363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12400:19:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 7364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listParticipants", + "nodeType": "MemberAccess", + "referencedDeclaration": 12644, + "src": "12400:36:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (uint256,bool) view external returns (address[] memory)" + } + }, + "id": 7367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12400:101:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "12386:115:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7369, + "nodeType": "ExpressionStatement", + "src": "12386:115:18" + } + ] + } + }, + { + "assignments": [ + 7384 + ], + "declarations": [ + { + "constant": false, + "id": 7384, + "name": "_lastVoter", + "nodeType": "VariableDeclaration", + "scope": 7485, + "src": "12702:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7383, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12702:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7391, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 7385, + "name": "_voterBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7356, + "src": "12723:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7390, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7386, + "name": "_voterBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7356, + "src": "12735:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12735:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 7388, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12756:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "12735:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12723:35:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12702:56:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 7395, + "name": "_bonusVoters", + "nodeType": "VariableDeclaration", + "scope": 7485, + "src": "12885:48:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Users_$7922_memory_ptr", + "typeString": "struct DaoIntermediateStructs.Users" + }, + "typeName": { + "contractScope": null, + "id": 7394, + "name": "DaoIntermediateStructs.Users", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7922, + "src": "12885:28:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Users_$7922_storage_ptr", + "typeString": "struct DaoIntermediateStructs.Users" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7396, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "12885:48:18" + }, + { + "condition": { + "argumentTypes": null, + "id": 7397, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7328, + "src": "12947:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 7437, + "nodeType": "Block", + "src": "13215:252:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7418, + "name": "_bonusVoters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7395, + "src": "13327:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Users_$7922_memory_ptr", + "typeString": "struct DaoIntermediateStructs.Users memory" + } + }, + "id": 7420, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 7921, + "src": "13327:18:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7421, + "name": "_bonusVoters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7395, + "src": "13347:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Users_$7922_memory_ptr", + "typeString": "struct DaoIntermediateStructs.Users memory" + } + }, + "id": 7422, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "usersLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 7918, + "src": "13347:24:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7423, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "13326:46:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_$_t_uint256_$", + "typeString": "tuple(address[] memory,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7427, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7322, + "src": "13409:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 7430, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13433:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 7428, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7324, + "src": "13422:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "13422:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13422:13:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7432, + "name": "_voterBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7356, + "src": "13437:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 7433, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13450:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7424, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "13375:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13375:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVotingRoundVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 16860, + "src": "13375:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "function (bytes32,uint256,address[] memory,bool) view external returns (address[] memory,uint256)" + } + }, + "id": 7434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13375:81:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(address[] memory,uint256)" + } + }, + "src": "13326:130:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7436, + "nodeType": "ExpressionStatement", + "src": "13326:130:18" + } + ] + }, + "id": 7438, + "nodeType": "IfStatement", + "src": "12943:524:18", + "trueBody": { + "id": 7417, + "nodeType": "Block", + "src": "12956:253:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7398, + "name": "_bonusVoters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7395, + "src": "13070:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Users_$7922_memory_ptr", + "typeString": "struct DaoIntermediateStructs.Users memory" + } + }, + "id": 7400, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 7921, + "src": "13070:18:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7401, + "name": "_bonusVoters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7395, + "src": "13090:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Users_$7922_memory_ptr", + "typeString": "struct DaoIntermediateStructs.Users memory" + } + }, + "id": 7402, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "usersLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 7918, + "src": "13090:24:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7403, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "13069:46:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_$_t_uint256_$", + "typeString": "tuple(address[] memory,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7407, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7322, + "src": "13152:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 7410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13176:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 7408, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7324, + "src": "13165:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "13165:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13165:13:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7412, + "name": "_voterBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7356, + "src": "13180:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7413, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13193:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7404, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "13118:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13118:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVotingRoundVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 16860, + "src": "13118:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "function (bytes32,uint256,address[] memory,bool) view external returns (address[] memory,uint256)" + } + }, + "id": 7414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13118:80:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(address[] memory,uint256)" + } + }, + "src": "13069:129:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7416, + "nodeType": "ExpressionStatement", + "src": "13069:129:18" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7439, + "name": "_bonusVoters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7395, + "src": "13481:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Users_$7922_memory_ptr", + "typeString": "struct DaoIntermediateStructs.Users memory" + } + }, + "id": 7440, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "usersLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 7918, + "src": "13481:24:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 7441, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13508:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13481:28:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7450, + "nodeType": "IfStatement", + "src": "13477:98:18", + "trueBody": { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7444, + "name": "_bonusVoters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7395, + "src": "13530:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Users_$7922_memory_ptr", + "typeString": "struct DaoIntermediateStructs.Users memory" + } + }, + "id": 7445, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 7921, + "src": "13530:18:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7446, + "name": "_bonusVoters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7395, + "src": "13550:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Users_$7922_memory_ptr", + "typeString": "struct DaoIntermediateStructs.Users memory" + } + }, + "id": 7447, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "usersLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 7918, + "src": "13550:24:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7443, + "name": "addBonusReputation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7813, + "src": "13511:18:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (address[] memory,uint256)" + } + }, + "id": 7448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13511:64:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7449, + "nodeType": "ExpressionStatement", + "src": "13511:64:18" + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 7456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7451, + "name": "_lastVoter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7384, + "src": "13590:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7452, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "13604:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 7453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13604:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 7454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readLastParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16413, + "src": "13604:37:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 7455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13604:39:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "13590:53:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 7482, + "nodeType": "Block", + "src": "13879:275:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7474, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7322, + "src": "14080:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7473, + "name": "getInterResultKeyForBonusCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7320, + "src": "14043:36:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view returns (bytes32)" + } + }, + "id": 7475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14043:49:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7476, + "name": "_lastVoter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7384, + "src": "14110:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 7477, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14122:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 7478, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14125:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 7479, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14128:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7470, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "13974:26:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 7471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13974:28:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 7472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18586, + "src": "13974:51:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint256,uint256) external" + } + }, + "id": 7480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13974:169:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7481, + "nodeType": "ExpressionStatement", + "src": "13974:169:18" + } + ] + }, + "id": 7483, + "nodeType": "IfStatement", + "src": "13586:568:18", + "trueBody": { + "id": 7469, + "nodeType": "Block", + "src": "13645:228:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7461, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7322, + "src": "13810:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7460, + "name": "getInterResultKeyForBonusCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7320, + "src": "13773:36:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view returns (bytes32)" + } + }, + "id": 7462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13773:49:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7457, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "13702:26:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 7458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13702:28:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 7459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "resetIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18535, + "src": "13702:53:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 7463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13702:134:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7464, + "nodeType": "ExpressionStatement", + "src": "13702:134:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7465, + "name": "_done", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7331, + "src": "13850:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7466, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13858:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "13850:12:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7468, + "nodeType": "ExpressionStatement", + "src": "13850:12:18" + } + ] + } + } + ] + }, + "documentation": null, + "id": 7485, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "calculateVoterBonus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7329, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7322, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 7485, + "src": "11935:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7321, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11935:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7324, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 7485, + "src": "11956:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7323, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11956:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7326, + "name": "_operations", + "nodeType": "VariableDeclaration", + "scope": 7485, + "src": "11972:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7325, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11972:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7328, + "name": "_passed", + "nodeType": "VariableDeclaration", + "scope": 7485, + "src": "11993:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7327, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11993:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11934:72:18" + }, + "payable": false, + "returnParameters": { + "id": 7332, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7331, + "name": "_done", + "nodeType": "VariableDeclaration", + "scope": 7485, + "src": "12041:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7330, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12041:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12040:12:18" + }, + "scope": 7814, + "src": "11906:2254:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 7672, + "nodeType": "Block", + "src": "14757:2785:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7500, + "name": "senderCanDoProposerOperations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 837, + "src": "14767:29:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 7501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14767:31:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7502, + "nodeType": "ExpressionStatement", + "src": "14767:31:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7505, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7487, + "src": "14831:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7504, + "name": "isFromProposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "14816:14:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 7506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14816:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 7503, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "14808:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 7507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14808:36:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7508, + "nodeType": "ExpressionStatement", + "src": "14808:36:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 7512, + "name": "_currentResults", + "nodeType": "VariableDeclaration", + "scope": 7673, + "src": "14855:53:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + }, + "typeName": { + "contractScope": null, + "id": 7511, + "name": "DaoStructs.IntermediateResults", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8490, + "src": "14855:30:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7513, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "14855:53:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7514, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "14932:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7516, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "14932:28:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7517, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "14974:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7518, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "14974:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7519, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "15019:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7520, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "15019:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + null + ], + "id": 7521, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "14918:147:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$__$", + "typeString": "tuple(address,uint256,uint256,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7525, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7487, + "src": "15120:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7522, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "15068:26:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 7523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15068:28:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 7524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18511, + "src": "15068:51:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (address,uint256,uint256,uint256)" + } + }, + "id": 7526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15068:64:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(address,uint256,uint256,uint256)" + } + }, + "src": "14918:214:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7528, + "nodeType": "ExpressionStatement", + "src": "14918:214:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 7532, + "name": "_voters", + "nodeType": "VariableDeclaration", + "scope": 7673, + "src": "15142:24:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 7530, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15142:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 7531, + "length": null, + "nodeType": "ArrayTypeName", + "src": "15142:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7533, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "15142:24:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 7537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7534, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "15180:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7535, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "15180:28:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 7536, + "name": "EMPTY_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1249, + "src": "15212:13:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15180:45:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 7574, + "nodeType": "Block", + "src": "15439:721:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7548, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7532, + "src": "15453:7:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7552, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "15521:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7553, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "15521:28:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 7554, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7491, + "src": "15567:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7555, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15596:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7549, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "15463:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 7550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15463:19:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 7551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listParticipantsFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 12677, + "src": "15463:40:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,bool) view external returns (address[] memory)" + } + }, + "id": 7556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15463:151:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "15453:161:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7558, + "nodeType": "ExpressionStatement", + "src": "15453:161:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7559, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7532, + "src": "15935:7:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15935:14:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 7561, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15953:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15935:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7573, + "nodeType": "IfStatement", + "src": "15931:219:18", + "trueBody": { + "id": 7572, + "nodeType": "Block", + "src": "15956:194:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 7563, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7491, + "src": "16003:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7565, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "16054:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + { + "argumentTypes": null, + "id": 7566, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7487, + "src": "16071:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7567, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7489, + "src": "16084:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7564, + "name": "isVoteCountPassed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7712, + "src": "16036:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_IntermediateResults_$8490_memory_ptr_$_t_bytes32_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DaoStructs.IntermediateResults memory,bytes32,uint256) view returns (bool)" + } + }, + "id": 7568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16036:55:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7569, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16113:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "id": 7570, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "15981:154:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$_t_bool_$", + "typeString": "tuple(uint256,bool,bool)" + } + }, + "functionReturnParameters": 7499, + "id": 7571, + "nodeType": "Return", + "src": "15974:161:18" + } + ] + } + } + ] + }, + "id": 7575, + "nodeType": "IfStatement", + "src": "15176:984:18", + "trueBody": { + "id": 7547, + "nodeType": "Block", + "src": "15227:206:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7538, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7532, + "src": "15311:7:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7542, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7491, + "src": "15375:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7543, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15404:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7539, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "15321:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 7540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15321:19:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 7541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listParticipants", + "nodeType": "MemberAccess", + "referencedDeclaration": 12644, + "src": "15321:36:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (uint256,bool) view external returns (address[] memory)" + } + }, + "id": 7544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15321:101:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "15311:111:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7546, + "nodeType": "ExpressionStatement", + "src": "15311:111:18" + } + ] + } + }, + { + "assignments": [ + 7577 + ], + "declarations": [ + { + "constant": false, + "id": 7577, + "name": "_lastVoter", + "nodeType": "VariableDeclaration", + "scope": 7673, + "src": "16170:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7576, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16170:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7584, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 7578, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7532, + "src": "16191:7:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7583, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7579, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7532, + "src": "16199:7:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16199:14:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 7581, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16216:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "16199:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16191:27:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16170:48:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 7588, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 7673, + "src": "16229:48:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount" + }, + "typeName": { + "contractScope": null, + "id": 7587, + "name": "DaoIntermediateStructs.VotingCount", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7916, + "src": "16229:34:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_storage_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7589, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16229:48:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7590, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7588, + "src": "16288:6:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 7592, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "forCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7913, + "src": "16288:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7593, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7588, + "src": "16305:6:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 7594, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "againstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7915, + "src": "16305:19:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7595, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "16287:38:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7599, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7487, + "src": "16357:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7600, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7489, + "src": "16370:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7601, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7532, + "src": "16378:7:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7596, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "16328:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16328:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVotingCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 16826, + "src": "16328:28:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32,uint256,address[] memory) view external returns (uint256,uint256)" + } + }, + "id": 7602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16328:58:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "16287:99:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7604, + "nodeType": "ExpressionStatement", + "src": "16287:99:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7605, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "16397:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7607, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "16397:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7611, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7588, + "src": "16467:6:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 7612, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "forCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7913, + "src": "16467:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7608, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "16431:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7609, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "16431:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "16431:35:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16431:52:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16397:86:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7615, + "nodeType": "ExpressionStatement", + "src": "16397:86:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7616, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "16493:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7618, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "16493:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7622, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7588, + "src": "16571:6:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 7623, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "againstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7915, + "src": "16571:19:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7619, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "16531:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7620, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "16531:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "16531:39:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16531:60:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16493:98:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7626, + "nodeType": "ExpressionStatement", + "src": "16493:98:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7630, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7487, + "src": "16666:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7631, + "name": "_lastVoter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7577, + "src": "16691:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7632, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "16715:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7633, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "16715:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7634, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "16760:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7635, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "16760:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 7636, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16809:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7627, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "16601:26:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 7628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16601:28:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 7629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18586, + "src": "16601:51:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint256,uint256) external" + } + }, + "id": 7637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16601:219:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7638, + "nodeType": "ExpressionStatement", + "src": "16601:219:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 7644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7639, + "name": "_lastVoter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7577, + "src": "16835:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7640, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "16849:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 7641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16849:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 7642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readLastParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16413, + "src": "16849:37:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 7643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16849:39:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "16835:53:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7651, + "nodeType": "IfStatement", + "src": "16831:266:18", + "trueBody": { + "id": 7650, + "nodeType": "Block", + "src": "16890:207:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 7645, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16912:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 7646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16915:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 7647, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16922:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "id": 7648, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16911:17:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_bool_$_t_bool_$", + "typeString": "tuple(int_const 0,bool,bool)" + } + }, + "functionReturnParameters": 7499, + "id": 7649, + "nodeType": "Return", + "src": "16904:24:18" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 7658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7652, + "name": "_operationsLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7494, + "src": "17388:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7655, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7532, + "src": "17422:7:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "17422:14:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 7653, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7491, + "src": "17406:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "17406:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17406:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17388:49:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7659, + "nodeType": "ExpressionStatement", + "src": "17388:49:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7660, + "name": "_done", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7498, + "src": "17447:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7661, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17455:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "17447:12:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7663, + "nodeType": "ExpressionStatement", + "src": "17447:12:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7664, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7496, + "src": "17470:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7666, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "17498:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + { + "argumentTypes": null, + "id": 7667, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7487, + "src": "17515:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7668, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7489, + "src": "17528:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7665, + "name": "isVoteCountPassed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7712, + "src": "17480:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_IntermediateResults_$8490_memory_ptr_$_t_bytes32_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DaoStructs.IntermediateResults memory,bytes32,uint256) view returns (bool)" + } + }, + "id": 7669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17480:55:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "17470:65:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7671, + "nodeType": "ExpressionStatement", + "src": "17470:65:18" + } + ] + }, + "documentation": "@return _operationsLeft The number of operations left after the calculations in this function\n @return _passed Whether this voting round passed\n @return _done Whether the calculation for this step 1 is already done. If its not done, this function will need to run again in subsequent transactions\n until _done is true", + "id": 7673, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "countProposalVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7492, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7487, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 7673, + "src": "14610:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7486, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14610:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7489, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 7673, + "src": "14631:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7488, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14631:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7491, + "name": "_operations", + "nodeType": "VariableDeclaration", + "scope": 7673, + "src": "14647:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7490, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14647:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14609:58:18" + }, + "payable": false, + "returnParameters": { + "id": 7499, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7494, + "name": "_operationsLeft", + "nodeType": "VariableDeclaration", + "scope": 7673, + "src": "14702:23:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7493, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14702:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7496, + "name": "_passed", + "nodeType": "VariableDeclaration", + "scope": 7673, + "src": "14727:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7495, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14727:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7498, + "name": "_done", + "nodeType": "VariableDeclaration", + "scope": 7673, + "src": "14741:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7497, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14741:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14701:51:18" + }, + "scope": 7814, + "src": "14583:2959:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 7711, + "nodeType": "Block", + "src": "17726:297:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7684, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7682, + "src": "17736:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 7708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7688, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7675, + "src": "17783:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7689, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "17783:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7685, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7675, + "src": "17747:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7686, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "17747:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "17747:35:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17747:72:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7694, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7677, + "src": "17865:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7695, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7679, + "src": "17878:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7691, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6685, + "src": "17822:20:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 7692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17822:22:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 7693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "minimumVotingQuorum", + "nodeType": "MemberAccess", + "referencedDeclaration": 12281, + "src": "17822:42:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view external returns (uint256)" + } + }, + "id": 7696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17822:63:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17747:138:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 7698, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "17746:140:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7702, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7675, + "src": "17946:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7703, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "17946:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7704, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7675, + "src": "17979:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7705, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "17979:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7699, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6685, + "src": "17907:20:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 7700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17907:22:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 7701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "votingQuotaPass", + "nodeType": "MemberAccess", + "referencedDeclaration": 12333, + "src": "17907:38:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) view external returns (bool)" + } + }, + "id": 7706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17907:108:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 7707, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "17906:110:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "17746:270:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "17736:280:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7710, + "nodeType": "ExpressionStatement", + "src": "17736:280:18" + } + ] + }, + "documentation": null, + "id": 7712, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isVoteCountPassed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7680, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7675, + "name": "_currentResults", + "nodeType": "VariableDeclaration", + "scope": 7712, + "src": "17576:46:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + }, + "typeName": { + "contractScope": null, + "id": 7674, + "name": "DaoStructs.IntermediateResults", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8490, + "src": "17576:30:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7677, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 7712, + "src": "17624:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7676, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17624:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7679, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 7712, + "src": "17645:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7678, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17645:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17575:85:18" + }, + "payable": false, + "returnParameters": { + "id": 7683, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7682, + "name": "_passed", + "nodeType": "VariableDeclaration", + "scope": 7712, + "src": "17708:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7681, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "17708:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17707:14:18" + }, + "scope": 7814, + "src": "17549:474:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 7737, + "nodeType": "Block", + "src": "18105:213:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7720, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7714, + "src": "18156:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7721, + "name": "COLLATERAL_STATUS_CLAIMED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1285, + "src": "18169:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7717, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "18115:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18115:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalCollateralStatus", + "nodeType": "MemberAccess", + "referencedDeclaration": 17924, + "src": "18115:40:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256) external" + } + }, + "id": 7722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18115:80:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7723, + "nodeType": "ExpressionStatement", + "src": "18115:80:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7731, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7714, + "src": "18284:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7728, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "18250:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18250:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalProposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 16610, + "src": "18250:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 7732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18250:46:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 7733, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7714, + "src": "18298:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7725, + "name": "daoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "18213:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoFundingManager_$3149_$", + "typeString": "function () view returns (contract DaoFundingManager)" + } + }, + "id": 7726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18213:19:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "id": 7727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "refundCollateral", + "nodeType": "MemberAccess", + "referencedDeclaration": 3081, + "src": "18213:36:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (address,bytes32) external returns (bool)" + } + }, + "id": 7734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18213:97:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 7724, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "18205:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 7735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18205:106:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7736, + "nodeType": "ExpressionStatement", + "src": "18205:106:18" + } + ] + }, + "documentation": null, + "id": 7738, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "processCollateralRefund", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7715, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7714, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 7738, + "src": "18063:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7713, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18063:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18062:21:18" + }, + "payable": false, + "returnParameters": { + "id": 7716, + "nodeType": "ParameterList", + "parameters": [], + "src": "18105:0:18" + }, + "scope": 7814, + "src": "18030:288:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 7812, + "nodeType": "Block", + "src": "18540:669:18", + "statements": [ + { + "assignments": [ + 7747 + ], + "declarations": [ + { + "constant": false, + "id": 7747, + "name": "_qp", + "nodeType": "VariableDeclaration", + "scope": 7813, + "src": "18550:11:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7746, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18550:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7751, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7749, + "name": "CONFIG_QUARTER_POINT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1495, + "src": "18578:25:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7748, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "18564:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 7750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18564:40:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18550:54:18" + }, + { + "assignments": [ + 7753 + ], + "declarations": [ + { + "constant": false, + "id": 7753, + "name": "_rate", + "nodeType": "VariableDeclaration", + "scope": 7813, + "src": "18614:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7752, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18614:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7757, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7755, + "name": "CONFIG_BONUS_REPUTATION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1504, + "src": "18644:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7754, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "18630:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 7756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18630:48:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18614:64:18" + }, + { + "assignments": [ + 7759 + ], + "declarations": [ + { + "constant": false, + "id": 7759, + "name": "_base", + "nodeType": "VariableDeclaration", + "scope": 7813, + "src": "18688:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7758, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18688:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7763, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7761, + "name": "CONFIG_BONUS_REPUTATION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1507, + "src": "18718:35:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7760, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "18704:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 7762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18704:50:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18688:66:18" + }, + { + "assignments": [ + 7765 + ], + "declarations": [ + { + "constant": false, + "id": 7765, + "name": "_bonus", + "nodeType": "VariableDeclaration", + "scope": 7813, + "src": "18765:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7764, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18765:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7783, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7779, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1537, + "src": "18910:34:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7778, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "18896:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 7780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18896:49:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 7776, + "name": "_base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7759, + "src": "18886:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "18886:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18886:60:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7772, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1534, + "src": "18815:34:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7771, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "18801:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 7773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18801:49:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7768, + "name": "_rate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7753, + "src": "18790:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 7766, + "name": "_qp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7747, + "src": "18782:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "18782:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18782:14:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "18782:18:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18782:69:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "18782:86:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18782:178:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18765:195:18" + }, + { + "body": { + "id": 7810, + "nodeType": "Block", + "src": "19004:199:18", + "statements": [ + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 7795, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7741, + "src": "19036:7:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7797, + "indexExpression": { + "argumentTypes": null, + "id": 7796, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7785, + "src": "19044:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19036:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 7794, + "name": "isParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 552, + "src": "19022:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 7798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19022:25:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7809, + "nodeType": "IfStatement", + "src": "19018:175:18", + "trueBody": { + "id": 7808, + "nodeType": "Block", + "src": "19049:144:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 7802, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7741, + "src": "19159:7:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7804, + "indexExpression": { + "argumentTypes": null, + "id": 7803, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7785, + "src": "19167:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19159:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 7805, + "name": "_bonus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7765, + "src": "19171:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7799, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "19121:16:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 7800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19121:18:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 7801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "increaseReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14814, + "src": "19121:37:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address,uint256) external returns (uint256,uint256)" + } + }, + "id": 7806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19121:57:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 7807, + "nodeType": "ExpressionStatement", + "src": "19121:57:18" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7788, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7785, + "src": "18991:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 7789, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7743, + "src": "18995:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18991:6:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7811, + "initializationExpression": { + "assignments": [ + 7785 + ], + "declarations": [ + { + "constant": false, + "id": 7785, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 7813, + "src": "18976:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7784, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18976:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7787, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 7786, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18988:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "18976:13:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 7792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "18999:3:18", + "subExpression": { + "argumentTypes": null, + "id": 7791, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7785, + "src": "18999:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7793, + "nodeType": "ExpressionStatement", + "src": "18999:3:18" + }, + "nodeType": "ForStatement", + "src": "18971:232:18" + } + ] + }, + "documentation": null, + "id": 7813, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addBonusReputation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7744, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7741, + "name": "_voters", + "nodeType": "VariableDeclaration", + "scope": 7813, + "src": "18489:17:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 7739, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18489:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 7740, + "length": null, + "nodeType": "ArrayTypeName", + "src": "18489:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7743, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 7813, + "src": "18508:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7742, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18508:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18488:31:18" + }, + "payable": false, + "returnParameters": { + "id": 7745, + "nodeType": "ParameterList", + "parameters": [], + "src": "18540:0:18" + }, + "scope": 7814, + "src": "18461:748:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 7815, + "src": "322:18890:18" + } + ], + "src": "0:19213:18" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoVotingClaims.sol", + "exportedSymbols": { + "DaoVotingClaims": [ + 7814 + ] + }, + "id": 7815, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6654, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:18" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommon.sol", + "file": "../common/DaoCommon.sol", + "id": 6655, + "nodeType": "ImportDirective", + "scope": 7815, + "sourceUnit": 839, + "src": "26:33:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/service/DaoCalculatorService.sol", + "file": "../service/DaoCalculatorService.sol", + "id": 6656, + "nodeType": "ImportDirective", + "scope": 7815, + "sourceUnit": 12495, + "src": "60:45:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoFundingManager.sol", + "file": "./DaoFundingManager.sol", + "id": 6657, + "nodeType": "ImportDirective", + "scope": 7815, + "sourceUnit": 3150, + "src": "106:33:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoRewardsManager.sol", + "file": "./DaoRewardsManager.sol", + "id": 6658, + "nodeType": "ImportDirective", + "scope": 7815, + "sourceUnit": 4686, + "src": "140:33:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoIntermediateStructs.sol", + "file": "../lib/DaoIntermediateStructs.sol", + "id": 6659, + "nodeType": "ImportDirective", + "scope": 7815, + "sourceUnit": 7924, + "src": "174:43:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoStructs.sol", + "file": "../lib/DaoStructs.sol", + "id": 6660, + "nodeType": "ImportDirective", + "scope": 7815, + "sourceUnit": 8492, + "src": "218:31:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 6661, + "name": "DaoCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 838, + "src": "350:9:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommon_$838", + "typeString": "contract DaoCommon" + } + }, + "id": 6662, + "nodeType": "InheritanceSpecifier", + "src": "350:9:18" + } + ], + "contractDependencies": [ + 838, + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": "@title Contract to claim voting results\n@author Digix Holdings", + "fullyImplemented": true, + "id": 7814, + "linearizedBaseContracts": [ + 7814, + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoVotingClaims", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 6665, + "libraryName": { + "contractScope": null, + "id": 6663, + "name": "DaoIntermediateStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7923, + "src": "372:22:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIntermediateStructs_$7923", + "typeString": "library DaoIntermediateStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "366:68:18", + "typeName": { + "contractScope": null, + "id": 6664, + "name": "DaoIntermediateStructs.VotingCount", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7916, + "src": "399:34:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_storage_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount" + } + } + }, + { + "id": 6668, + "libraryName": { + "contractScope": null, + "id": 6666, + "name": "DaoIntermediateStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7923, + "src": "445:22:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIntermediateStructs_$7923", + "typeString": "library DaoIntermediateStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "439:62:18", + "typeName": { + "contractScope": null, + "id": 6667, + "name": "DaoIntermediateStructs.Users", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7922, + "src": "472:28:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Users_$7922_storage_ptr", + "typeString": "struct DaoIntermediateStructs.Users" + } + } + }, + { + "id": 6671, + "libraryName": { + "contractScope": null, + "id": 6669, + "name": "DaoStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8491, + "src": "512:10:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStructs_$8491", + "typeString": "library DaoStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "506:52:18", + "typeName": { + "contractScope": null, + "id": 6670, + "name": "DaoStructs.IntermediateResults", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8490, + "src": "527:30:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + } + } + }, + { + "body": { + "id": 6684, + "nodeType": "Block", + "src": "679:96:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6676, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6674, + "src": "689:9:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6679, + "name": "CONTRACT_SERVICE_DAO_CALCULATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1345, + "src": "735:31:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6678, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "722:12:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 6680, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "722:45:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6677, + "name": "DaoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12494, + "src": "701:20:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "type(contract DaoCalculatorService)" + } + }, + "id": 6681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "701:67:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "src": "689:79:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 6683, + "nodeType": "ExpressionStatement", + "src": "689:79:18" + } + ] + }, + "documentation": null, + "id": 6685, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoCalculatorService", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6672, + "nodeType": "ParameterList", + "parameters": [], + "src": "593:2:18" + }, + "payable": false, + "returnParameters": { + "id": 6675, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6674, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 6685, + "src": "643:30:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + }, + "typeName": { + "contractScope": null, + "id": 6673, + "name": "DaoCalculatorService", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 12494, + "src": "643:20:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "642:32:18" + }, + "scope": 7814, + "src": "564:211:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6698, + "nodeType": "Block", + "src": "890:90:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6690, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6688, + "src": "900:9:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6693, + "name": "CONTRACT_DAO_FUNDING_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1327, + "src": "943:28:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6692, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "930:12:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 6694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "930:42:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6691, + "name": "DaoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3149, + "src": "912:17:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoFundingManager_$3149_$", + "typeString": "type(contract DaoFundingManager)" + } + }, + "id": 6695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "912:61:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "src": "900:73:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "id": 6697, + "nodeType": "ExpressionStatement", + "src": "900:73:18" + } + ] + }, + "documentation": null, + "id": 6699, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoFundingManager", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6686, + "nodeType": "ParameterList", + "parameters": [], + "src": "807:2:18" + }, + "payable": false, + "returnParameters": { + "id": 6689, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6688, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 6699, + "src": "857:27:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + }, + "typeName": { + "contractScope": null, + "id": 6687, + "name": "DaoFundingManager", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3149, + "src": "857:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "856:29:18" + }, + "scope": 7814, + "src": "781:199:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6712, + "nodeType": "Block", + "src": "1095:90:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6704, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6702, + "src": "1105:9:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6707, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "1148:28:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6706, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "1135:12:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 6708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1135:42:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6705, + "name": "DaoRewardsManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4685, + "src": "1117:17:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoRewardsManager_$4685_$", + "typeString": "type(contract DaoRewardsManager)" + } + }, + "id": 6709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1117:61:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "src": "1105:73:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "id": 6711, + "nodeType": "ExpressionStatement", + "src": "1105:73:18" + } + ] + }, + "documentation": null, + "id": 6713, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoRewardsManager", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6700, + "nodeType": "ParameterList", + "parameters": [], + "src": "1012:2:18" + }, + "payable": false, + "returnParameters": { + "id": 6703, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6702, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 6713, + "src": "1062:27:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + }, + "typeName": { + "contractScope": null, + "id": 6701, + "name": "DaoRewardsManager", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 4685, + "src": "1062:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsManager_$4685", + "typeString": "contract DaoRewardsManager" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1061:29:18" + }, + "scope": 7814, + "src": "986:199:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 6725, + "nodeType": "Block", + "src": "1229:69:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6720, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "1252:26:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6721, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6715, + "src": "1280:9:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6719, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "1247:4:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 6722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1247:43:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6718, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1239:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1239:52:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6724, + "nodeType": "ExpressionStatement", + "src": "1239:52:18" + } + ] + }, + "documentation": null, + "id": 6726, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6716, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6715, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 6726, + "src": "1203:17:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6714, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1203:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1202:19:18" + }, + "payable": false, + "returnParameters": { + "id": 6717, + "nodeType": "ParameterList", + "parameters": [], + "src": "1229:0:18" + }, + "scope": 7814, + "src": "1191:107:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 6955, + "nodeType": "Block", + "src": "2191:2952:18", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6743, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "2313:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6756, + "name": "CONFIG_VOTE_CLAIMING_DEADLINE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "2479:29:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6755, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2465:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 6757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2465:44:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6751, + "name": "CONFIG_DRAFT_VOTING_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1555, + "src": "2412:25:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6750, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "2398:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 6752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2398:40:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6747, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "2360:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6744, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2319:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 6745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2319:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 6746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalDraftVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 16745, + "src": "2319:40:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 6748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2319:53:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "2319:78:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2319:120:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "2319:145:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2319:191:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2313:197:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "id": 6763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "2526:44:18", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6761, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "2558:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6760, + "name": "isNonDigixProposalsWithinLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "2527:30:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 6762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2527:43:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2313:257:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6788, + "nodeType": "IfStatement", + "src": "2309:498:18", + "trueBody": { + "id": 6787, + "nodeType": "Block", + "src": "2580:227:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6768, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "2628:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 6769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2641:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6765, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2594:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 6766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2594:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 6767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalDraftPass", + "nodeType": "MemberAccess", + "referencedDeclaration": 17741, + "src": "2594:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$", + "typeString": "function (bytes32,bool) external" + } + }, + "id": 6770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2594:53:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6771, + "nodeType": "ExpressionStatement", + "src": "2594:53:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6775, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "2694:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6776, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2707:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6772, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "2661:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 6773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2661:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 6774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setDraftVotingClaim", + "nodeType": "MemberAccess", + "referencedDeclaration": 17874, + "src": "2661:32:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$", + "typeString": "function (bytes32,bool) external" + } + }, + "id": 6777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2661:51:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6778, + "nodeType": "ExpressionStatement", + "src": "2661:51:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6780, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "2750:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6779, + "name": "processCollateralRefund", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7738, + "src": "2726:23:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 6781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2726:36:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6782, + "nodeType": "ExpressionStatement", + "src": "2726:36:18" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 6783, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2784:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6784, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2791:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "id": 6785, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2783:13:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bool_$", + "typeString": "tuple(bool,bool)" + } + }, + "functionReturnParameters": 6742, + "id": 6786, + "nodeType": "Return", + "src": "2776:20:18" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6791, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "2839:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 6790, + "name": "isFromProposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "2824:14:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 6792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2824:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6789, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2816:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2816:36:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6794, + "nodeType": "ExpressionStatement", + "src": "2816:36:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6795, + "name": "senderCanDoProposerOperations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 837, + "src": "2862:29:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 6796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2862:31:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6797, + "nodeType": "ExpressionStatement", + "src": "2862:31:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 6798, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6730, + "src": "2908:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 6799, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2923:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2908:16:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 6806, + "nodeType": "IfStatement", + "src": "2904:125:18", + "trueBody": { + "id": 6805, + "nodeType": "Block", + "src": "2926:103:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 6801, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3005:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 6802, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3012:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "id": 6803, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3004:14:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bool_$", + "typeString": "tuple(bool,bool)" + } + }, + "functionReturnParameters": 6742, + "id": 6804, + "nodeType": "Return", + "src": "2997:21:18" + } + ] + } + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 6810, + "name": "_currentResults", + "nodeType": "VariableDeclaration", + "scope": 6956, + "src": "3095:53:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + }, + "typeName": { + "contractScope": null, + "id": 6809, + "name": "DaoStructs.IntermediateResults", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8490, + "src": "3095:30:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6811, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "3095:53:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 6825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6812, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "3172:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6814, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "3172:28:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6815, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "3214:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6816, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "3214:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6817, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "3259:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6818, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "3259:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + null + ], + "id": 6819, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "3158:147:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$__$", + "typeString": "tuple(address,uint256,uint256,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6823, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "3360:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6820, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "3308:26:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 6821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3308:28:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 6822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18511, + "src": "3308:51:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (address,uint256,uint256,uint256)" + } + }, + "id": 6824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3308:64:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(address,uint256,uint256,uint256)" + } + }, + "src": "3158:214:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6826, + "nodeType": "ExpressionStatement", + "src": "3158:214:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 6830, + "name": "_moderators", + "nodeType": "VariableDeclaration", + "scope": 6956, + "src": "3475:28:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 6828, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3475:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6829, + "length": null, + "nodeType": "ArrayTypeName", + "src": "3475:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6831, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "3475:28:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6832, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "3517:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6833, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "3517:28:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 6834, + "name": "EMPTY_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1249, + "src": "3549:13:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3517:45:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 6857, + "nodeType": "Block", + "src": "3708:184:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6846, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6830, + "src": "3722:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6850, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "3791:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6851, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "3791:28:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 6852, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6730, + "src": "3836:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6853, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3864:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6847, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "3736:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 6848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3736:19:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 6849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listModeratorsFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 12614, + "src": "3736:38:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,bool) view external returns (address[] memory)" + } + }, + "id": 6854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3736:145:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "3722:159:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 6856, + "nodeType": "ExpressionStatement", + "src": "3722:159:18" + } + ] + }, + "id": 6858, + "nodeType": "IfStatement", + "src": "3513:379:18", + "trueBody": { + "id": 6845, + "nodeType": "Block", + "src": "3564:138:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6836, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6830, + "src": "3578:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6840, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6730, + "src": "3644:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6841, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3673:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6837, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "3592:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 6838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3592:19:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 6839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listModerators", + "nodeType": "MemberAccess", + "referencedDeclaration": 12581, + "src": "3592:34:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (uint256,bool) view external returns (address[] memory)" + } + }, + "id": 6842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3592:99:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "3578:113:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 6844, + "nodeType": "ExpressionStatement", + "src": "3578:113:18" + } + ] + } + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 6862, + "name": "_voteCount", + "nodeType": "VariableDeclaration", + "scope": 6956, + "src": "3958:52:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount" + }, + "typeName": { + "contractScope": null, + "id": 6861, + "name": "DaoIntermediateStructs.VotingCount", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7916, + "src": "3958:34:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_storage_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 6863, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "3958:52:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 6876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6864, + "name": "_voteCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6862, + "src": "4021:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 6866, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "forCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7913, + "src": "4021:19:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6867, + "name": "_voteCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6862, + "src": "4042:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 6868, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "againstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7915, + "src": "4042:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6869, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "4020:46:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6873, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "4103:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6874, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6830, + "src": "4116:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6870, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "4069:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 6871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4069:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 6872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readDraftVotingCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 16796, + "src": "4069:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32,address[] memory) view external returns (uint256,uint256)" + } + }, + "id": 6875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4069:59:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "4020:108:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6877, + "nodeType": "ExpressionStatement", + "src": "4020:108:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 6887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6878, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "4139:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6880, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "4139:28:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6881, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6830, + "src": "4170:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 6886, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6882, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6830, + "src": "4182:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 6883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4182:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 6884, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4201:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4182:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4170:33:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4139:64:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6888, + "nodeType": "ExpressionStatement", + "src": "4139:64:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 6898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6889, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "4213:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6891, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "4213:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6895, + "name": "_voteCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6862, + "src": "4283:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 6896, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "forCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7913, + "src": "4283:19:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6892, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "4247:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6893, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "4247:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "4247:35:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4247:56:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4213:90:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6899, + "nodeType": "ExpressionStatement", + "src": "4213:90:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 6909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6900, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "4313:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6902, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "4313:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6906, + "name": "_voteCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6862, + "src": "4391:10:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 6907, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "againstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7915, + "src": "4391:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6903, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "4351:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6904, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "4351:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "4351:39:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4351:64:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4313:102:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6910, + "nodeType": "ExpressionStatement", + "src": "4313:102:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 6911, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6830, + "src": "4430:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 6916, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6912, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6830, + "src": "4442:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 6913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4442:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 6914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4461:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4442:20:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4430:33:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6917, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "4467:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 6918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4467:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 6919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readLastModerator", + "nodeType": "MemberAccess", + "referencedDeclaration": 16347, + "src": "4467:35:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 6920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4467:37:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4430:74:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 6953, + "nodeType": "Block", + "src": "4808:329:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6943, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "4934:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6944, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "4963:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6945, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "4963:28:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6946, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "5009:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6947, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "5009:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6948, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "5058:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6949, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "5058:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 6950, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5111:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6940, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "4865:26:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 6941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4865:28:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 6942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18586, + "src": "4865:51:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint256,uint256) external" + } + }, + "id": 6951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4865:261:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6952, + "nodeType": "ExpressionStatement", + "src": "4865:261:18" + } + ] + }, + "id": 6954, + "nodeType": "IfStatement", + "src": "4426:711:18", + "trueBody": { + "id": 6939, + "nodeType": "Block", + "src": "4506:296:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 6927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6922, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6739, + "src": "4562:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6924, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "4596:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 6925, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6810, + "src": "4609:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + ], + "id": 6923, + "name": "processDraftVotingClaim", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7045, + "src": "4572:23:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_struct$_IntermediateResults_$8490_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32,struct DaoStructs.IntermediateResults memory) returns (bool)" + } + }, + "id": 6926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4572:53:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4562:63:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6928, + "nodeType": "ExpressionStatement", + "src": "4562:63:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 6931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 6929, + "name": "_done", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6741, + "src": "4639:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6930, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4647:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4639:12:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6932, + "nodeType": "ExpressionStatement", + "src": "4639:12:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6936, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "4779:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6933, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "4725:26:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 6934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4725:28:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 6935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "resetIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18535, + "src": "4725:53:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 6937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4725:66:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6938, + "nodeType": "ExpressionStatement", + "src": "4725:66:18" + } + ] + } + } + ] + }, + "documentation": "@notice Function to claim the draft voting result (can only be called by the proposal proposer)\n@dev The founder/or anyone is supposed to call this function after the claiming deadline has passed, to clean it up and close this proposal.\nIf this voting fails, the collateral will be refunded\n@param _proposalId ID of the proposal\n@param _operations Number of operations to do in this call\n@return {\n\"_passed\": \"Boolean, true if the draft voting has passed, false if the claiming deadline has passed or the voting has failed\",\n\"_done\": \"Boolean, true if the calculation has finished\"\n}", + "id": 6956, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 6733, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "2086:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 6734, + "modifierName": { + "argumentTypes": null, + "id": 6732, + "name": "ifDraftNotClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 312, + "src": "2068:17:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "2068:30:18" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 6736, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6728, + "src": "2131:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 6737, + "modifierName": { + "argumentTypes": null, + "id": 6735, + "name": "ifAfterDraftVotingPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 154, + "src": "2107:23:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$", + "typeString": "modifier (bytes32)" + } + }, + "nodeType": "ModifierInvocation", + "src": "2107:36:18" + } + ], + "name": "claimDraftVotingResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6731, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6728, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 6956, + "src": "1990:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6727, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1990:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6730, + "name": "_operations", + "nodeType": "VariableDeclaration", + "scope": 6956, + "src": "2019:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6729, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2019:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1980:64:18" + }, + "payable": false, + "returnParameters": { + "id": 6742, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6739, + "name": "_passed", + "nodeType": "VariableDeclaration", + "scope": 6956, + "src": "2161:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6738, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2161:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6741, + "name": "_done", + "nodeType": "VariableDeclaration", + "scope": 6956, + "src": "2175:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6740, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2175:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2160:26:18" + }, + "scope": 7814, + "src": "1949:3194:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 7044, + "nodeType": "Block", + "src": "5304:1011:18", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 6987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6968, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6960, + "src": "5368:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6969, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "5368:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6965, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6960, + "src": "5332:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6966, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "5332:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "5332:35:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 6970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5332:72:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6974, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6958, + "src": "5449:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6971, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6685, + "src": "5407:20:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 6972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5407:22:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 6973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "minimumDraftQuorum", + "nodeType": "MemberAccess", + "referencedDeclaration": 12159, + "src": "5407:41:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 6975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5407:54:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5332:129:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 6977, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5331:131:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6981, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6960, + "src": "5517:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6982, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "5517:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 6983, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6960, + "src": "5550:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 6984, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "5550:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6978, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6685, + "src": "5479:20:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 6979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5479:22:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 6980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "draftQuotaPass", + "nodeType": "MemberAccess", + "referencedDeclaration": 12188, + "src": "5479:37:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) view external returns (bool)" + } + }, + "id": 6985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5479:107:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 6986, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5478:109:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5331:256:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 7035, + "nodeType": "Block", + "src": "6119:128:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7027, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6958, + "src": "6167:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 7028, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6180:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7024, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "6133:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6133:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalDraftPass", + "nodeType": "MemberAccess", + "referencedDeclaration": 17741, + "src": "6133:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$", + "typeString": "function (bytes32,bool) external" + } + }, + "id": 7029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6133:53:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7030, + "nodeType": "ExpressionStatement", + "src": "6133:53:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7032, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6958, + "src": "6224:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7031, + "name": "processCollateralRefund", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7738, + "src": "6200:23:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 7033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6200:36:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7034, + "nodeType": "ExpressionStatement", + "src": "6200:36:18" + } + ] + }, + "id": 7036, + "nodeType": "IfStatement", + "src": "5314:933:18", + "trueBody": { + "id": 7023, + "nodeType": "Block", + "src": "5598:515:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 6991, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6958, + "src": "5646:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 6992, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5659:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6988, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "5612:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 6989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5612:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 6990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalDraftPass", + "nodeType": "MemberAccess", + "referencedDeclaration": 17741, + "src": "5612:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$", + "typeString": "function (bytes32,bool) external" + } + }, + "id": 6993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5612:52:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6994, + "nodeType": "ExpressionStatement", + "src": "5612:52:18" + }, + { + "assignments": [ + 6996 + ], + "declarations": [ + { + "constant": false, + "id": 6996, + "name": "_idealStartTime", + "nodeType": "VariableDeclaration", + "scope": 7045, + "src": "5779:23:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6995, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5779:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7007, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7004, + "name": "CONFIG_DRAFT_VOTING_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1555, + "src": "5877:25:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7003, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "5863:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 7005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5863:40:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7000, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6958, + "src": "5846:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6997, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "5805:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 6998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5805:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 6999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalDraftVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 16745, + "src": "5805:40:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256)" + } + }, + "id": 7001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5805:53:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "5805:57:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5805:99:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5779:125:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7011, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6958, + "src": "5970:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 7012, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5999:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 7014, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6041:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "id": 7015, + "name": "_idealStartTime", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6996, + "src": "6044:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7013, + "name": "getTimelineForNextVote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 722, + "src": "6018:22:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256) view returns (uint256)" + } + }, + "id": 7016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6018:42:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7008, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "5918:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5918:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalVotingTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 17852, + "src": "5918:34:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,uint256) external" + } + }, + "id": 7017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5918:156:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7018, + "nodeType": "ExpressionStatement", + "src": "5918:156:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7019, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6963, + "src": "6088:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6098:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6088:14:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7022, + "nodeType": "ExpressionStatement", + "src": "6088:14:18" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7040, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6958, + "src": "6290:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7041, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6303:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7037, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "6257:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6257:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setDraftVotingClaim", + "nodeType": "MemberAccess", + "referencedDeclaration": 17874, + "src": "6257:32:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bool_$returns$__$", + "typeString": "function (bytes32,bool) external" + } + }, + "id": 7042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6257:51:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7043, + "nodeType": "ExpressionStatement", + "src": "6257:51:18" + } + ] + }, + "documentation": null, + "id": 7045, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "processDraftVotingClaim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6961, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6958, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 7045, + "src": "5183:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6957, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5183:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 6960, + "name": "_currentResults", + "nodeType": "VariableDeclaration", + "scope": 7045, + "src": "5204:46:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + }, + "typeName": { + "contractScope": null, + "id": 6959, + "name": "DaoStructs.IntermediateResults", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8490, + "src": "5204:30:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5182:69:18" + }, + "payable": false, + "returnParameters": { + "id": 6964, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6963, + "name": "_passed", + "nodeType": "VariableDeclaration", + "scope": 7045, + "src": "5286:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6962, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5286:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5285:14:18" + }, + "scope": 7814, + "src": "5150:1165:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 7200, + "nodeType": "Block", + "src": "7817:2233:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7067, + "name": "isMainPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 905, + "src": "7835:11:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 7068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7835:13:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 7066, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "7827:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 7069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7827:22:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7070, + "nodeType": "ExpressionStatement", + "src": "7827:22:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7071, + "name": "_done", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7064, + "src": "8047:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7072, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8055:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "8047:12:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7074, + "nodeType": "ExpressionStatement", + "src": "8047:12:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7075, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "8069:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 7076, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8079:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "8069:15:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7078, + "nodeType": "ExpressionStatement", + "src": "8069:15:18" + }, + { + "assignments": [ + 7080 + ], + "declarations": [ + { + "constant": false, + "id": 7080, + "name": "_operationsLeft", + "nodeType": "VariableDeclaration", + "scope": 7201, + "src": "8150:23:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7079, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8150:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7082, + "initialValue": { + "argumentTypes": null, + "id": 7081, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7051, + "src": "8176:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8150:37:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7083, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7051, + "src": "8202:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 7084, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8217:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8202:16:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7091, + "nodeType": "IfStatement", + "src": "8198:125:18", + "trueBody": { + "id": 7090, + "nodeType": "Block", + "src": "8220:103:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 7086, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8299:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 7087, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8306:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "id": 7088, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8298:14:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bool_$", + "typeString": "tuple(bool,bool)" + } + }, + "functionReturnParameters": 7065, + "id": 7089, + "nodeType": "Return", + "src": "8291:21:18" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7092, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "8425:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7099, + "name": "CONFIG_VOTE_CLAIMING_DEADLINE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "8508:29:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7098, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "8494:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 7100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8494:44:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7094, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "8448:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7095, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "8461:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7093, + "name": "startOfMilestone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 643, + "src": "8431:16:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view returns (uint256)" + } + }, + "id": 7096, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8431:37:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "8431:62:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8431:108:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8425:114:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7122, + "nodeType": "IfStatement", + "src": "8421:465:18", + "trueBody": { + "id": 7121, + "nodeType": "Block", + "src": "8549:337:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 7103, + "name": "_operationsLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7080, + "src": "8564:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7104, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "8581:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 7105, + "name": "_done", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7064, + "src": "8590:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 7106, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "8563:33:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$_t_bool_$", + "typeString": "tuple(uint256,bool,bool)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7108, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "8617:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7109, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "8630:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7110, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7051, + "src": "8638:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7107, + "name": "countProposalVote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7673, + "src": "8599:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_bool_$_t_bool_$", + "typeString": "function (bytes32,uint256,uint256) returns (uint256,bool,bool)" + } + }, + "id": 7111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8599:51:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$_t_bool_$", + "typeString": "tuple(uint256,bool,bool)" + } + }, + "src": "8563:87:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7113, + "nodeType": "ExpressionStatement", + "src": "8563:87:18" + }, + { + "condition": { + "argumentTypes": null, + "id": 7115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "8768:6:18", + "subExpression": { + "argumentTypes": null, + "id": 7114, + "name": "_done", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7064, + "src": "8769:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7120, + "nodeType": "IfStatement", + "src": "8764:35:18", + "trueBody": { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 7116, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "8784:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 7117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8793:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "id": 7118, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8783:16:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bool_$", + "typeString": "tuple(bool,bool)" + } + }, + "functionReturnParameters": 7065, + "id": 7119, + "nodeType": "Return", + "src": "8776:23:18" + } + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 7125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7123, + "name": "_done", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7064, + "src": "8973:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 7124, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8981:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "8973:13:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7126, + "nodeType": "ExpressionStatement", + "src": "8973:13:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7127, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "9001:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 7128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9010:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9001:10:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 7170, + "nodeType": "Block", + "src": "9271:522:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7147, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "9386:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 7152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7148, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "9396:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7150, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "9438:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7149, + "name": "isNonDigixProposalsWithinLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 775, + "src": "9407:30:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 7151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9407:43:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "9396:54:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "9386:64:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7154, + "nodeType": "ExpressionStatement", + "src": "9386:64:18" + }, + { + "condition": { + "argumentTypes": null, + "id": 7155, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "9528:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 7168, + "nodeType": "Block", + "src": "9714:69:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7165, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "9756:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7164, + "name": "processCollateralRefund", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7738, + "src": "9732:23:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 7166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9732:36:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7167, + "nodeType": "ExpressionStatement", + "src": "9732:36:18" + } + ] + }, + "id": 7169, + "nodeType": "IfStatement", + "src": "9524:259:18", + "trueBody": { + "id": 7163, + "nodeType": "Block", + "src": "9537:171:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7159, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "9617:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7160, + "name": "COLLATERAL_STATUS_LOCKED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1282, + "src": "9650:24:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7156, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "9555:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9555:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalCollateralStatus", + "nodeType": "MemberAccess", + "referencedDeclaration": 17924, + "src": "9555:40:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256) external" + } + }, + "id": 7161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9555:137:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7162, + "nodeType": "ExpressionStatement", + "src": "9555:137:18" + } + ] + } + } + ] + }, + "id": 7171, + "nodeType": "IfStatement", + "src": "8997:796:18", + "trueBody": { + "id": 7146, + "nodeType": "Block", + "src": "9013:252:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7130, + "name": "_done", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7064, + "src": "9097:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7132, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "9125:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7133, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "9138:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7134, + "name": "_operationsLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7080, + "src": "9146:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7135, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "9163:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 7131, + "name": "calculateVoterBonus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7485, + "src": "9105:19:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bool_$returns$_t_bool_$", + "typeString": "function (bytes32,uint256,uint256,bool) returns (bool)" + } + }, + "id": 7136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9105:66:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "9097:74:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7138, + "nodeType": "ExpressionStatement", + "src": "9097:74:18" + }, + { + "condition": { + "argumentTypes": null, + "id": 7140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "9189:6:18", + "subExpression": { + "argumentTypes": null, + "id": 7139, + "name": "_done", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7064, + "src": "9190:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7145, + "nodeType": "IfStatement", + "src": "9185:35:18", + "trueBody": { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 7141, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "9205:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 7142, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9214:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "id": 7143, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9204:16:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bool_$", + "typeString": "tuple(bool,bool)" + } + }, + "functionReturnParameters": 7065, + "id": 7144, + "nodeType": "Return", + "src": "9197:23:18" + } + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "id": 7172, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "9807:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7179, + "nodeType": "IfStatement", + "src": "9803:87:18", + "trueBody": { + "id": 7178, + "nodeType": "Block", + "src": "9816:74:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7174, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "9859:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7175, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "9872:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7173, + "name": "processSuccessfulVotingClaim", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7302, + "src": "9830:28:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256)" + } + }, + "id": 7176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9830:49:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7177, + "nodeType": "ExpressionStatement", + "src": "9830:49:18" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7183, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "9927:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7184, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "9940:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7185, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9948:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7180, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "9899:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9899:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setVotingClaim", + "nodeType": "MemberAccess", + "referencedDeclaration": 17900, + "src": "9899:27:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_bool_$returns$__$", + "typeString": "function (bytes32,uint256,bool) external" + } + }, + "id": 7186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9899:54:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7187, + "nodeType": "ExpressionStatement", + "src": "9899:54:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7191, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "9992:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7192, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "10005:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7193, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "10013:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7188, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "9963:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9963:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalPass", + "nodeType": "MemberAccess", + "referencedDeclaration": 17801, + "src": "9963:28:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$_t_bool_$returns$__$", + "typeString": "function (bytes32,uint256,bool) external" + } + }, + "id": 7194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9963:58:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7195, + "nodeType": "ExpressionStatement", + "src": "9963:58:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7196, + "name": "_done", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7064, + "src": "10031:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7197, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10039:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "10031:12:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7199, + "nodeType": "ExpressionStatement", + "src": "10031:12:18" + } + ] + }, + "documentation": "@notice Function to claim the voting round results\n@dev This function has two major steps:\n- Counting the votes\n+ There is no need for this step if there are some conditions that makes the proposal auto failed\n+ The number of operations needed for this step is the number of participants in the quarter\n- Calculating the bonus for the voters in the preceding round\n+ We can skip this step if this is the Voting round 0 (there is no preceding voting round to calculate bonus)\n+ The number of operations needed for this step is the number of participants who voted \"correctly\" in the preceding voting round\nStep 1 will have to finish first before step 2. The proposer is supposed to call this function repeatedly,\nuntil _done is true\nIf the voting round fails, the collateral will be returned back to the proposer\n@param _proposalId ID of the proposal\n@param _index Index of the voting round\n@param _operations Number of operations to do in this call\n@return {\n\"_passed\": \"Boolean, true if the voting round passed, false if failed\"\n}", + "id": 7201, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 7054, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "7693:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7055, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "7706:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7056, + "modifierName": { + "argumentTypes": null, + "id": 7053, + "name": "ifNotClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 331, + "src": "7680:12:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$_t_uint256_$", + "typeString": "modifier (bytes32,uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "7680:33:18" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 7058, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "7749:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7059, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "7762:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7060, + "modifierName": { + "argumentTypes": null, + "id": 7057, + "name": "ifAfterProposalRevealPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 252, + "src": "7722:26:18", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_bytes32_$_t_uint256_$", + "typeString": "modifier (bytes32,uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "7722:47:18" + } + ], + "name": "claimProposalVotingResult", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7052, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7047, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 7201, + "src": "7599:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7046, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7599:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7049, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 7201, + "src": "7620:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7048, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7620:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7051, + "name": "_operations", + "nodeType": "VariableDeclaration", + "scope": 7201, + "src": "7636:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7050, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7636:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7598:58:18" + }, + "payable": false, + "returnParameters": { + "id": 7065, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7062, + "name": "_passed", + "nodeType": "VariableDeclaration", + "scope": 7201, + "src": "7787:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7061, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7787:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7064, + "name": "_done", + "nodeType": "VariableDeclaration", + "scope": 7201, + "src": "7801:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7063, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7801:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7786:26:18" + }, + "scope": 7814, + "src": "7564:2486:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 7301, + "nodeType": "Block", + "src": "10216:1330:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7211, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7203, + "src": "10433:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7208, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "10379:26:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 7209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10379:28:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 7210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "resetIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18535, + "src": "10379:53:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 7212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10379:66:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7213, + "nodeType": "ExpressionStatement", + "src": "10379:66:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 7217, + "name": "_milestoneFundings", + "nodeType": "VariableDeclaration", + "scope": 7302, + "src": "10536:35:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 7215, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10536:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7216, + "length": null, + "nodeType": "ArrayTypeName", + "src": "10536:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7218, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "10536:35:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 7219, + "name": "_milestoneFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7217, + "src": "10582:18:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + null + ], + "id": 7220, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "10581:21:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$__$", + "typeString": "tuple(uint256[] memory,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7224, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7203, + "src": "10638:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7221, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "10605:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10605:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalFunding", + "nodeType": "MemberAccess", + "referencedDeclaration": 17162, + "src": "10605:32:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (uint256[] memory,uint256)" + } + }, + "id": 7225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10605:45:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(uint256[] memory,uint256)" + } + }, + "src": "10581:69:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7227, + "nodeType": "ExpressionStatement", + "src": "10581:69:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7228, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7205, + "src": "10664:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7229, + "name": "_milestoneFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7217, + "src": "10674:18:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 7230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10674:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10664:35:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7243, + "nodeType": "IfStatement", + "src": "10660:157:18", + "trueBody": { + "id": 7242, + "nodeType": "Block", + "src": "10701:116:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7233, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7203, + "src": "10739:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7232, + "name": "processCollateralRefund", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7738, + "src": "10715:23:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 7234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10715:36:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7235, + "nodeType": "ExpressionStatement", + "src": "10715:36:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7239, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7203, + "src": "10794:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7236, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "10765:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10765:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "archiveProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 18279, + "src": "10765:28:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 7240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10765:41:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7241, + "nodeType": "ExpressionStatement", + "src": "10765:41:18" + } + ] + } + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 7245, + "name": "_isDigixProposal", + "nodeType": "VariableDeclaration", + "scope": 7302, + "src": "10888:21:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7244, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10888:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7246, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "10888:21:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + null, + null, + null, + null, + null, + null, + null, + null, + { + "argumentTypes": null, + "id": 7247, + "name": "_isDigixProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7245, + "src": "10929:16:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 7248, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "10919:27:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$__$__$__$__$__$__$__$__$_t_bool_$", + "typeString": "tuple(,,,,,,,,,bool)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7252, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7203, + "src": "10975:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7249, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "10949:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10949:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 16595, + "src": "10949:25:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "function (bytes32) view external returns (bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "id": 7253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10949:38:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_address_$_t_address_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bool_$_t_bool_$", + "typeString": "tuple(bytes32,address,address,bytes32,uint256,uint256,bytes32,bytes32,bool,bool)" + } + }, + "src": "10919:68:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7255, + "nodeType": "ExpressionStatement", + "src": "10919:68:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 7261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7256, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7205, + "src": "11001:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 7257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11011:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11001:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 7260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "11016:17:18", + "subExpression": { + "argumentTypes": null, + "id": 7259, + "name": "_isDigixProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7245, + "src": "11017:16:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "11001:32:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7270, + "nodeType": "IfStatement", + "src": "10997:148:18", + "trueBody": { + "id": 7269, + "nodeType": "Block", + "src": "11035:110:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7265, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "11111:20:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 7266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11111:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7262, + "name": "daoProposalCounterStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1146, + "src": "11049:25:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoProposalCounterStorage_$14975_$", + "typeString": "function () view returns (contract DaoProposalCounterStorage)" + } + }, + "id": 7263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11049:27:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoProposalCounterStorage_$14975", + "typeString": "contract DaoProposalCounterStorage" + } + }, + "id": 7264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addNonDigixProposalCountInQuarter", + "nodeType": "MemberAccess", + "referencedDeclaration": 14974, + "src": "11049:61:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 7267, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11049:85:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7268, + "nodeType": "ExpressionStatement", + "src": "11049:85:18" + } + ] + } + }, + { + "assignments": [ + 7272 + ], + "declarations": [ + { + "constant": false, + "id": 7272, + "name": "_funding", + "nodeType": "VariableDeclaration", + "scope": 7302, + "src": "11201:16:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7271, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11201:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7279, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7276, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7203, + "src": "11255:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7277, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7205, + "src": "11268:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7273, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "11220:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11220:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalMilestone", + "nodeType": "MemberAccess", + "referencedDeclaration": 17186, + "src": "11220:34:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view external returns (uint256)" + } + }, + "id": 7278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11220:55:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11201:74:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7286, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7203, + "src": "11367:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7283, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "11333:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11333:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalProposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 16610, + "src": "11333:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 7287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11333:46:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "3130303030", + "id": 7295, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11481:11:18", + "subdenomination": "ether", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000000000000000_by_1", + "typeString": "int_const 10000000000000000000000" + }, + "value": "10000" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_10000000000000000000000_by_1", + "typeString": "int_const 10000000000000000000000" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7292, + "name": "_funding", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7272, + "src": "11467:8:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7289, + "name": "CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1501, + "src": "11407:54:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7288, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "11393:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 7290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11393:69:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7291, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "11393:73:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11393:83:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "11393:87:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11393:100:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7297, + "name": "currentQuarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 972, + "src": "11507:20:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 7298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11507:22:18", + "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, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7280, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "11285:16:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 7281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11285:18:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 7282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "addQuarterPoint", + "nodeType": "MemberAccess", + "referencedDeclaration": 14620, + "src": "11285:34:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address,uint256,uint256) external returns (uint256,uint256)" + } + }, + "id": 7299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11285:254:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 7300, + "nodeType": "ExpressionStatement", + "src": "11285:254:18" + } + ] + }, + "documentation": null, + "id": 7302, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "processSuccessfulVotingClaim", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7203, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 7302, + "src": "10158:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7202, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10158:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7205, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 7302, + "src": "10179:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7204, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10179:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10157:37:18" + }, + "payable": false, + "returnParameters": { + "id": 7207, + "nodeType": "ParameterList", + "parameters": [], + "src": "10216:0:18" + }, + "scope": 7814, + "src": "10120:1426:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 7319, + "nodeType": "Block", + "src": "11655:141:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7309, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7307, + "src": "11665:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7313, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7304, + "src": "11712:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7314, + "name": "INTERMEDIATE_BONUS_CALCULATION_IDENTIFIER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1294, + "src": "11737:41:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 7311, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26599, + "src": "11682:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7312, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11682:16:18", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11682:106:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7310, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26606, + "src": "11672:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 7316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11672:117:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "11665:124:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 7318, + "nodeType": "ExpressionStatement", + "src": "11665:124:18" + } + ] + }, + "documentation": null, + "id": 7320, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getInterResultKeyForBonusCalculation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7305, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7304, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 7320, + "src": "11599:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7303, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11599:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11598:21:18" + }, + "payable": false, + "returnParameters": { + "id": 7308, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7307, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 7320, + "src": "11641:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7306, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11641:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11640:14:18" + }, + "scope": 7814, + "src": "11553:243:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 7484, + "nodeType": "Block", + "src": "12057:2103:18", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7333, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7326, + "src": "12071:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 7334, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12086:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12071:16:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7338, + "nodeType": "IfStatement", + "src": "12067:34:18", + "trueBody": { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 7336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12096:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 7332, + "id": 7337, + "nodeType": "Return", + "src": "12089:12:18" + } + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 7340, + "name": "_countedUntil", + "nodeType": "VariableDeclaration", + "scope": 7485, + "src": "12111:21:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7339, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12111:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7341, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "12111:21:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 7342, + "name": "_countedUntil", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7340, + "src": "12143:13:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + null, + null, + null + ], + "id": 7343, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "12142:18:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$__$__$__$", + "typeString": "tuple(address,,,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7348, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7322, + "src": "12265:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7347, + "name": "getInterResultKeyForBonusCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7320, + "src": "12228:36:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view returns (bytes32)" + } + }, + "id": 7349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12228:49:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7344, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "12163:26:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 7345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12163:28:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 7346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18511, + "src": "12163:51:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (address,uint256,uint256,uint256)" + } + }, + "id": 7350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12163:124:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(address,uint256,uint256,uint256)" + } + }, + "src": "12142:145:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7352, + "nodeType": "ExpressionStatement", + "src": "12142:145:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 7356, + "name": "_voterBatch", + "nodeType": "VariableDeclaration", + "scope": 7485, + "src": "12298:28:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 7354, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12298:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 7355, + "length": null, + "nodeType": "ArrayTypeName", + "src": "12298:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7357, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "12298:28:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 7360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7358, + "name": "_countedUntil", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7340, + "src": "12340:13:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 7359, + "name": "EMPTY_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1249, + "src": "12357:13:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "12340:30:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 7381, + "nodeType": "Block", + "src": "12518:175:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7371, + "name": "_voterBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7356, + "src": "12532:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7375, + "name": "_countedUntil", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7340, + "src": "12604:13:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 7376, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7326, + "src": "12635:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7377, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12664:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7372, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "12546:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 7373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12546:19:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 7374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listParticipantsFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 12677, + "src": "12546:40:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,bool) view external returns (address[] memory)" + } + }, + "id": 7378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12546:136:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "12532:150:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7380, + "nodeType": "ExpressionStatement", + "src": "12532:150:18" + } + ] + }, + "id": 7382, + "nodeType": "IfStatement", + "src": "12336:357:18", + "trueBody": { + "id": 7370, + "nodeType": "Block", + "src": "12372:140:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7361, + "name": "_voterBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7356, + "src": "12386:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7365, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7326, + "src": "12454:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7366, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12483:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7362, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "12400:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 7363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12400:19:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 7364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listParticipants", + "nodeType": "MemberAccess", + "referencedDeclaration": 12644, + "src": "12400:36:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (uint256,bool) view external returns (address[] memory)" + } + }, + "id": 7367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12400:101:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "12386:115:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7369, + "nodeType": "ExpressionStatement", + "src": "12386:115:18" + } + ] + } + }, + { + "assignments": [ + 7384 + ], + "declarations": [ + { + "constant": false, + "id": 7384, + "name": "_lastVoter", + "nodeType": "VariableDeclaration", + "scope": 7485, + "src": "12702:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7383, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12702:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7391, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 7385, + "name": "_voterBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7356, + "src": "12723:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7390, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7386, + "name": "_voterBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7356, + "src": "12735:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "12735:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 7388, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12756:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "12735:22:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12723:35:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12702:56:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 7395, + "name": "_bonusVoters", + "nodeType": "VariableDeclaration", + "scope": 7485, + "src": "12885:48:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Users_$7922_memory_ptr", + "typeString": "struct DaoIntermediateStructs.Users" + }, + "typeName": { + "contractScope": null, + "id": 7394, + "name": "DaoIntermediateStructs.Users", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7922, + "src": "12885:28:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Users_$7922_storage_ptr", + "typeString": "struct DaoIntermediateStructs.Users" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7396, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "12885:48:18" + }, + { + "condition": { + "argumentTypes": null, + "id": 7397, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7328, + "src": "12947:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 7437, + "nodeType": "Block", + "src": "13215:252:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7418, + "name": "_bonusVoters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7395, + "src": "13327:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Users_$7922_memory_ptr", + "typeString": "struct DaoIntermediateStructs.Users memory" + } + }, + "id": 7420, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 7921, + "src": "13327:18:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7421, + "name": "_bonusVoters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7395, + "src": "13347:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Users_$7922_memory_ptr", + "typeString": "struct DaoIntermediateStructs.Users memory" + } + }, + "id": 7422, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "usersLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 7918, + "src": "13347:24:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7423, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "13326:46:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_$_t_uint256_$", + "typeString": "tuple(address[] memory,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7427, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7322, + "src": "13409:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 7430, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13433:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 7428, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7324, + "src": "13422:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "13422:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13422:13:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7432, + "name": "_voterBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7356, + "src": "13437:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 7433, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13450:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7424, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "13375:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13375:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVotingRoundVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 16860, + "src": "13375:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "function (bytes32,uint256,address[] memory,bool) view external returns (address[] memory,uint256)" + } + }, + "id": 7434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13375:81:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(address[] memory,uint256)" + } + }, + "src": "13326:130:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7436, + "nodeType": "ExpressionStatement", + "src": "13326:130:18" + } + ] + }, + "id": 7438, + "nodeType": "IfStatement", + "src": "12943:524:18", + "trueBody": { + "id": 7417, + "nodeType": "Block", + "src": "12956:253:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7398, + "name": "_bonusVoters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7395, + "src": "13070:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Users_$7922_memory_ptr", + "typeString": "struct DaoIntermediateStructs.Users memory" + } + }, + "id": 7400, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 7921, + "src": "13070:18:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7401, + "name": "_bonusVoters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7395, + "src": "13090:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Users_$7922_memory_ptr", + "typeString": "struct DaoIntermediateStructs.Users memory" + } + }, + "id": 7402, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "usersLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 7918, + "src": "13090:24:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7403, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "13069:46:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_$_t_uint256_$", + "typeString": "tuple(address[] memory,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7407, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7322, + "src": "13152:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 7410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13176:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 7408, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7324, + "src": "13165:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "13165:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13165:13:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7412, + "name": "_voterBatch", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7356, + "src": "13180:11:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7413, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13193:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7404, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "13118:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13118:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVotingRoundVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 16860, + "src": "13118:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "function (bytes32,uint256,address[] memory,bool) view external returns (address[] memory,uint256)" + } + }, + "id": 7414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13118:80:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(address[] memory,uint256)" + } + }, + "src": "13069:129:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7416, + "nodeType": "ExpressionStatement", + "src": "13069:129:18" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7439, + "name": "_bonusVoters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7395, + "src": "13481:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Users_$7922_memory_ptr", + "typeString": "struct DaoIntermediateStructs.Users memory" + } + }, + "id": 7440, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "usersLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 7918, + "src": "13481:24:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 7441, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13508:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13481:28:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7450, + "nodeType": "IfStatement", + "src": "13477:98:18", + "trueBody": { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7444, + "name": "_bonusVoters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7395, + "src": "13530:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Users_$7922_memory_ptr", + "typeString": "struct DaoIntermediateStructs.Users memory" + } + }, + "id": 7445, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 7921, + "src": "13530:18:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7446, + "name": "_bonusVoters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7395, + "src": "13550:12:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Users_$7922_memory_ptr", + "typeString": "struct DaoIntermediateStructs.Users memory" + } + }, + "id": 7447, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "usersLength", + "nodeType": "MemberAccess", + "referencedDeclaration": 7918, + "src": "13550:24:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7443, + "name": "addBonusReputation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7813, + "src": "13511:18:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (address[] memory,uint256)" + } + }, + "id": 7448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13511:64:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7449, + "nodeType": "ExpressionStatement", + "src": "13511:64:18" + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 7456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7451, + "name": "_lastVoter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7384, + "src": "13590:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7452, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "13604:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 7453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13604:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 7454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readLastParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16413, + "src": "13604:37:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 7455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13604:39:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "13590:53:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 7482, + "nodeType": "Block", + "src": "13879:275:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7474, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7322, + "src": "14080:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7473, + "name": "getInterResultKeyForBonusCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7320, + "src": "14043:36:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view returns (bytes32)" + } + }, + "id": 7475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14043:49:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7476, + "name": "_lastVoter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7384, + "src": "14110:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 7477, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14122:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 7478, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14125:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 7479, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14128:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7470, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "13974:26:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 7471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13974:28:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 7472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18586, + "src": "13974:51:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint256,uint256) external" + } + }, + "id": 7480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13974:169:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7481, + "nodeType": "ExpressionStatement", + "src": "13974:169:18" + } + ] + }, + "id": 7483, + "nodeType": "IfStatement", + "src": "13586:568:18", + "trueBody": { + "id": 7469, + "nodeType": "Block", + "src": "13645:228:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7461, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7322, + "src": "13810:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7460, + "name": "getInterResultKeyForBonusCalculation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7320, + "src": "13773:36:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view returns (bytes32)" + } + }, + "id": 7462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13773:49:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7457, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "13702:26:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 7458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13702:28:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 7459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "resetIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18535, + "src": "13702:53:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) external" + } + }, + "id": 7463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13702:134:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7464, + "nodeType": "ExpressionStatement", + "src": "13702:134:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7465, + "name": "_done", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7331, + "src": "13850:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7466, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13858:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "13850:12:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7468, + "nodeType": "ExpressionStatement", + "src": "13850:12:18" + } + ] + } + } + ] + }, + "documentation": null, + "id": 7485, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "calculateVoterBonus", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7329, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7322, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 7485, + "src": "11935:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7321, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11935:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7324, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 7485, + "src": "11956:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7323, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11956:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7326, + "name": "_operations", + "nodeType": "VariableDeclaration", + "scope": 7485, + "src": "11972:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7325, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11972:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7328, + "name": "_passed", + "nodeType": "VariableDeclaration", + "scope": 7485, + "src": "11993:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7327, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11993:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11934:72:18" + }, + "payable": false, + "returnParameters": { + "id": 7332, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7331, + "name": "_done", + "nodeType": "VariableDeclaration", + "scope": 7485, + "src": "12041:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7330, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12041:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12040:12:18" + }, + "scope": 7814, + "src": "11906:2254:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 7672, + "nodeType": "Block", + "src": "14757:2785:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7500, + "name": "senderCanDoProposerOperations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 837, + "src": "14767:29:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 7501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14767:31:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7502, + "nodeType": "ExpressionStatement", + "src": "14767:31:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7505, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7487, + "src": "14831:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7504, + "name": "isFromProposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "14816:14:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 7506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14816:27:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 7503, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "14808:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 7507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14808:36:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7508, + "nodeType": "ExpressionStatement", + "src": "14808:36:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 7512, + "name": "_currentResults", + "nodeType": "VariableDeclaration", + "scope": 7673, + "src": "14855:53:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + }, + "typeName": { + "contractScope": null, + "id": 7511, + "name": "DaoStructs.IntermediateResults", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8490, + "src": "14855:30:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7513, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "14855:53:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7514, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "14932:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7516, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "14932:28:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7517, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "14974:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7518, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "14974:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7519, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "15019:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7520, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "15019:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + null + ], + "id": 7521, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "14918:147:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$__$", + "typeString": "tuple(address,uint256,uint256,)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7525, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7487, + "src": "15120:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7522, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "15068:26:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 7523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15068:28:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 7524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18511, + "src": "15068:51:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32) view external returns (address,uint256,uint256,uint256)" + } + }, + "id": 7526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15068:64:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$", + "typeString": "tuple(address,uint256,uint256,uint256)" + } + }, + "src": "14918:214:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7528, + "nodeType": "ExpressionStatement", + "src": "14918:214:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 7532, + "name": "_voters", + "nodeType": "VariableDeclaration", + "scope": 7673, + "src": "15142:24:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 7530, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15142:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 7531, + "length": null, + "nodeType": "ArrayTypeName", + "src": "15142:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7533, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "15142:24:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 7537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7534, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "15180:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7535, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "15180:28:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 7536, + "name": "EMPTY_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1249, + "src": "15212:13:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15180:45:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 7574, + "nodeType": "Block", + "src": "15439:721:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7548, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7532, + "src": "15453:7:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7552, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "15521:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7553, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "15521:28:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 7554, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7491, + "src": "15567:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7555, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15596:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7549, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "15463:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 7550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15463:19:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 7551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listParticipantsFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 12677, + "src": "15463:40:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address,uint256,bool) view external returns (address[] memory)" + } + }, + "id": 7556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15463:151:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "15453:161:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7558, + "nodeType": "ExpressionStatement", + "src": "15453:161:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7559, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7532, + "src": "15935:7:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15935:14:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 7561, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15953:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15935:19:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7573, + "nodeType": "IfStatement", + "src": "15931:219:18", + "trueBody": { + "id": 7572, + "nodeType": "Block", + "src": "15956:194:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 7563, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7491, + "src": "16003:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7565, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "16054:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + { + "argumentTypes": null, + "id": 7566, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7487, + "src": "16071:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7567, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7489, + "src": "16084:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7564, + "name": "isVoteCountPassed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7712, + "src": "16036:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_IntermediateResults_$8490_memory_ptr_$_t_bytes32_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DaoStructs.IntermediateResults memory,bytes32,uint256) view returns (bool)" + } + }, + "id": 7568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16036:55:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7569, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16113:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "id": 7570, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "15981:154:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$_t_bool_$", + "typeString": "tuple(uint256,bool,bool)" + } + }, + "functionReturnParameters": 7499, + "id": 7571, + "nodeType": "Return", + "src": "15974:161:18" + } + ] + } + } + ] + }, + "id": 7575, + "nodeType": "IfStatement", + "src": "15176:984:18", + "trueBody": { + "id": 7547, + "nodeType": "Block", + "src": "15227:206:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7538, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7532, + "src": "15311:7:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7542, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7491, + "src": "15375:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7543, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15404:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7539, + "name": "daoListingService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "15321:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoListingService_$12889_$", + "typeString": "function () view returns (contract DaoListingService)" + } + }, + "id": 7540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15321:19:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoListingService_$12889", + "typeString": "contract DaoListingService" + } + }, + "id": 7541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "listParticipants", + "nodeType": "MemberAccess", + "referencedDeclaration": 12644, + "src": "15321:36:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (uint256,bool) view external returns (address[] memory)" + } + }, + "id": 7544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15321:101:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "15311:111:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7546, + "nodeType": "ExpressionStatement", + "src": "15311:111:18" + } + ] + } + }, + { + "assignments": [ + 7577 + ], + "declarations": [ + { + "constant": false, + "id": 7577, + "name": "_lastVoter", + "nodeType": "VariableDeclaration", + "scope": 7673, + "src": "16170:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7576, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16170:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7584, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 7578, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7532, + "src": "16191:7:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7583, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7579, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7532, + "src": "16199:7:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16199:14:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 7581, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16216:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "16199:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16191:27:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16170:48:18" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 7588, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 7673, + "src": "16229:48:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount" + }, + "typeName": { + "contractScope": null, + "id": 7587, + "name": "DaoIntermediateStructs.VotingCount", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7916, + "src": "16229:34:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_storage_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7589, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "16229:48:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7590, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7588, + "src": "16288:6:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 7592, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "forCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7913, + "src": "16288:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7593, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7588, + "src": "16305:6:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 7594, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "againstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7915, + "src": "16305:19:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7595, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "16287:38:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7599, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7487, + "src": "16357:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7600, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7489, + "src": "16370:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 7601, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7532, + "src": "16378:7:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7596, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "16328:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16328:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVotingCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 16826, + "src": "16328:28:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (bytes32,uint256,address[] memory) view external returns (uint256,uint256)" + } + }, + "id": 7602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16328:58:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "src": "16287:99:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7604, + "nodeType": "ExpressionStatement", + "src": "16287:99:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7605, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "16397:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7607, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "16397:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7611, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7588, + "src": "16467:6:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 7612, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "forCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7913, + "src": "16467:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7608, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "16431:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7609, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "16431:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "16431:35:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16431:52:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16397:86:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7615, + "nodeType": "ExpressionStatement", + "src": "16397:86:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7616, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "16493:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7618, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "16493:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7622, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7588, + "src": "16571:6:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_VotingCount_$7916_memory_ptr", + "typeString": "struct DaoIntermediateStructs.VotingCount memory" + } + }, + "id": 7623, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "againstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7915, + "src": "16571:19:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7619, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "16531:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7620, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "16531:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "16531:39:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16531:60:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16493:98:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7626, + "nodeType": "ExpressionStatement", + "src": "16493:98:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7630, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7487, + "src": "16666:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7631, + "name": "_lastVoter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7577, + "src": "16691:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7632, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "16715:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7633, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "16715:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7634, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "16760:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7635, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "16760:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 7636, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16809:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7627, + "name": "intermediateResultsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1216, + "src": "16601:26:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_IntermediateResultsStorage_$18587_$", + "typeString": "function () view returns (contract IntermediateResultsStorage)" + } + }, + "id": 7628, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16601:28:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IntermediateResultsStorage_$18587", + "typeString": "contract IntermediateResultsStorage" + } + }, + "id": 7629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setIntermediateResults", + "nodeType": "MemberAccess", + "referencedDeclaration": 18586, + "src": "16601:51:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,address,uint256,uint256,uint256) external" + } + }, + "id": 7637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16601:219:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7638, + "nodeType": "ExpressionStatement", + "src": "16601:219:18" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 7644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7639, + "name": "_lastVoter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7577, + "src": "16835:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7640, + "name": "daoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1118, + "src": "16849:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "function () view returns (contract DaoStakeStorage)" + } + }, + "id": 7641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16849:17:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 7642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readLastParticipant", + "nodeType": "MemberAccess", + "referencedDeclaration": 16413, + "src": "16849:37:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 7643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16849:39:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "16835:53:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7651, + "nodeType": "IfStatement", + "src": "16831:266:18", + "trueBody": { + "id": 7650, + "nodeType": "Block", + "src": "16890:207:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 7645, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16912:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 7646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16915:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 7647, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16922:5:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "id": 7648, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16911:17:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_bool_$_t_bool_$", + "typeString": "tuple(int_const 0,bool,bool)" + } + }, + "functionReturnParameters": 7499, + "id": 7649, + "nodeType": "Return", + "src": "16904:24:18" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 7658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7652, + "name": "_operationsLeft", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7494, + "src": "17388:15:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7655, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7532, + "src": "17422:7:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "17422:14:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 7653, + "name": "_operations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7491, + "src": "17406:11:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "17406:15:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17406:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17388:49:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7659, + "nodeType": "ExpressionStatement", + "src": "17388:49:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7660, + "name": "_done", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7498, + "src": "17447:5:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7661, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17455:4:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "17447:12:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7663, + "nodeType": "ExpressionStatement", + "src": "17447:12:18" + }, + { + "expression": { + "argumentTypes": null, + "id": 7670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7664, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7496, + "src": "17470:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7666, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7512, + "src": "17498:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + { + "argumentTypes": null, + "id": 7667, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7487, + "src": "17515:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7668, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7489, + "src": "17528:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7665, + "name": "isVoteCountPassed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7712, + "src": "17480:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_IntermediateResults_$8490_memory_ptr_$_t_bytes32_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DaoStructs.IntermediateResults memory,bytes32,uint256) view returns (bool)" + } + }, + "id": 7669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17480:55:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "17470:65:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7671, + "nodeType": "ExpressionStatement", + "src": "17470:65:18" + } + ] + }, + "documentation": "@return _operationsLeft The number of operations left after the calculations in this function\n @return _passed Whether this voting round passed\n @return _done Whether the calculation for this step 1 is already done. If its not done, this function will need to run again in subsequent transactions\n until _done is true", + "id": 7673, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "countProposalVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7492, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7487, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 7673, + "src": "14610:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7486, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "14610:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7489, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 7673, + "src": "14631:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7488, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14631:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7491, + "name": "_operations", + "nodeType": "VariableDeclaration", + "scope": 7673, + "src": "14647:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7490, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14647:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14609:58:18" + }, + "payable": false, + "returnParameters": { + "id": 7499, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7494, + "name": "_operationsLeft", + "nodeType": "VariableDeclaration", + "scope": 7673, + "src": "14702:23:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7493, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14702:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7496, + "name": "_passed", + "nodeType": "VariableDeclaration", + "scope": 7673, + "src": "14727:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7495, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14727:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7498, + "name": "_done", + "nodeType": "VariableDeclaration", + "scope": 7673, + "src": "14741:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7497, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14741:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14701:51:18" + }, + "scope": 7814, + "src": "14583:2959:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 7711, + "nodeType": "Block", + "src": "17726:297:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 7709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 7684, + "name": "_passed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7682, + "src": "17736:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 7708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7688, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7675, + "src": "17783:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7689, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "17783:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7685, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7675, + "src": "17747:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7686, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "17747:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "17747:35:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17747:72:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7694, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7677, + "src": "17865:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7695, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7679, + "src": "17878:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7691, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6685, + "src": "17822:20:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 7692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17822:22:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 7693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "minimumVotingQuorum", + "nodeType": "MemberAccess", + "referencedDeclaration": 12281, + "src": "17822:42:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (bytes32,uint256) view external returns (uint256)" + } + }, + "id": 7696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17822:63:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17747:138:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 7698, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "17746:140:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7702, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7675, + "src": "17946:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7703, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "17946:31:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7704, + "name": "_currentResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7675, + "src": "17979:15:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults memory" + } + }, + "id": 7705, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "17979:35:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7699, + "name": "daoCalculatorService", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6685, + "src": "17907:20:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoCalculatorService_$12494_$", + "typeString": "function () view returns (contract DaoCalculatorService)" + } + }, + "id": 7700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17907:22:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCalculatorService_$12494", + "typeString": "contract DaoCalculatorService" + } + }, + "id": 7701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "votingQuotaPass", + "nodeType": "MemberAccess", + "referencedDeclaration": 12333, + "src": "17907:38:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256,uint256) view external returns (bool)" + } + }, + "id": 7706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17907:108:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 7707, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "17906:110:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "17746:270:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "17736:280:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7710, + "nodeType": "ExpressionStatement", + "src": "17736:280:18" + } + ] + }, + "documentation": null, + "id": 7712, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isVoteCountPassed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7680, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7675, + "name": "_currentResults", + "nodeType": "VariableDeclaration", + "scope": 7712, + "src": "17576:46:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_memory_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + }, + "typeName": { + "contractScope": null, + "id": 7674, + "name": "DaoStructs.IntermediateResults", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8490, + "src": "17576:30:18", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7677, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 7712, + "src": "17624:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7676, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17624:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7679, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 7712, + "src": "17645:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7678, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17645:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17575:85:18" + }, + "payable": false, + "returnParameters": { + "id": 7683, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7682, + "name": "_passed", + "nodeType": "VariableDeclaration", + "scope": 7712, + "src": "17708:12:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7681, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "17708:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17707:14:18" + }, + "scope": 7814, + "src": "17549:474:18", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 7737, + "nodeType": "Block", + "src": "18105:213:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7720, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7714, + "src": "18156:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7721, + "name": "COLLATERAL_STATUS_CLAIMED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1285, + "src": "18169:25:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7717, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "18115:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18115:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setProposalCollateralStatus", + "nodeType": "MemberAccess", + "referencedDeclaration": 17924, + "src": "18115:40:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256) external" + } + }, + "id": 7722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18115:80:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7723, + "nodeType": "ExpressionStatement", + "src": "18115:80:18" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7731, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7714, + "src": "18284:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7728, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1132, + "src": "18250:10:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoStorage_$18304_$", + "typeString": "function () view returns (contract DaoStorage)" + } + }, + "id": 7729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18250:12:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 7730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readProposalProposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 16610, + "src": "18250:33:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 7732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18250:46:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 7733, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7714, + "src": "18298:11:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7725, + "name": "daoFundingManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6699, + "src": "18213:17:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoFundingManager_$3149_$", + "typeString": "function () view returns (contract DaoFundingManager)" + } + }, + "id": 7726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18213:19:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoFundingManager_$3149", + "typeString": "contract DaoFundingManager" + } + }, + "id": 7727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "refundCollateral", + "nodeType": "MemberAccess", + "referencedDeclaration": 3081, + "src": "18213:36:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (address,bytes32) external returns (bool)" + } + }, + "id": 7734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18213:97:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 7724, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "18205:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 7735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18205:106:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7736, + "nodeType": "ExpressionStatement", + "src": "18205:106:18" + } + ] + }, + "documentation": null, + "id": 7738, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "processCollateralRefund", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7715, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7714, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 7738, + "src": "18063:19:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7713, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18063:7:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18062:21:18" + }, + "payable": false, + "returnParameters": { + "id": 7716, + "nodeType": "ParameterList", + "parameters": [], + "src": "18105:0:18" + }, + "scope": 7814, + "src": "18030:288:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 7812, + "nodeType": "Block", + "src": "18540:669:18", + "statements": [ + { + "assignments": [ + 7747 + ], + "declarations": [ + { + "constant": false, + "id": 7747, + "name": "_qp", + "nodeType": "VariableDeclaration", + "scope": 7813, + "src": "18550:11:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7746, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18550:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7751, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7749, + "name": "CONFIG_QUARTER_POINT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1495, + "src": "18578:25:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7748, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "18564:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 7750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18564:40:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18550:54:18" + }, + { + "assignments": [ + 7753 + ], + "declarations": [ + { + "constant": false, + "id": 7753, + "name": "_rate", + "nodeType": "VariableDeclaration", + "scope": 7813, + "src": "18614:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7752, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18614:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7757, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7755, + "name": "CONFIG_BONUS_REPUTATION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1504, + "src": "18644:33:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7754, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "18630:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 7756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18630:48:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18614:64:18" + }, + { + "assignments": [ + 7759 + ], + "declarations": [ + { + "constant": false, + "id": 7759, + "name": "_base", + "nodeType": "VariableDeclaration", + "scope": 7813, + "src": "18688:13:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7758, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18688:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7763, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7761, + "name": "CONFIG_BONUS_REPUTATION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1507, + "src": "18718:35:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7760, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "18704:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 7762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18704:50:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18688:66:18" + }, + { + "assignments": [ + 7765 + ], + "declarations": [ + { + "constant": false, + "id": 7765, + "name": "_bonus", + "nodeType": "VariableDeclaration", + "scope": 7813, + "src": "18765:14:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7764, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18765:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7783, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7779, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1537, + "src": "18910:34:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7778, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "18896:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 7780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18896:49:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 7776, + "name": "_base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7759, + "src": "18886:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "18886:9:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18886:60:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7772, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1534, + "src": "18815:34:18", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 7771, + "name": "getUintConfig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1232, + "src": "18801:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (bytes32) view returns (uint256)" + } + }, + "id": 7773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18801:49:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7768, + "name": "_rate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7753, + "src": "18790:5:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 7766, + "name": "_qp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7747, + "src": "18782:3:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "18782:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18782:14:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mul", + "nodeType": "MemberAccess", + "referencedDeclaration": 25982, + "src": "18782:18:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18782:69:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "div", + "nodeType": "MemberAccess", + "referencedDeclaration": 25996, + "src": "18782:86:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 7782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18782:178:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18765:195:18" + }, + { + "body": { + "id": 7810, + "nodeType": "Block", + "src": "19004:199:18", + "statements": [ + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 7795, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7741, + "src": "19036:7:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7797, + "indexExpression": { + "argumentTypes": null, + "id": 7796, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7785, + "src": "19044:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19036:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 7794, + "name": "isParticipant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 552, + "src": "19022:13:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 7798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19022:25:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 7809, + "nodeType": "IfStatement", + "src": "19018:175:18", + "trueBody": { + "id": 7808, + "nodeType": "Block", + "src": "19049:144:18", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 7802, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7741, + "src": "19159:7:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7804, + "indexExpression": { + "argumentTypes": null, + "id": 7803, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7785, + "src": "19167:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19159:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 7805, + "name": "_bonus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7765, + "src": "19171:6:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7799, + "name": "daoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1188, + "src": "19121:16:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "function () view returns (contract DaoPointsStorage)" + } + }, + "id": 7800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19121:18:18", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 7801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "increaseReputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 14814, + "src": "19121:37:18", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", + "typeString": "function (address,uint256) external returns (uint256,uint256)" + } + }, + "id": 7806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19121:57:18", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", + "typeString": "tuple(uint256,uint256)" + } + }, + "id": 7807, + "nodeType": "ExpressionStatement", + "src": "19121:57:18" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7788, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7785, + "src": "18991:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 7789, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7743, + "src": "18995:2:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18991:6:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7811, + "initializationExpression": { + "assignments": [ + 7785 + ], + "declarations": [ + { + "constant": false, + "id": 7785, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 7813, + "src": "18976:9:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7784, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18976:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7787, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 7786, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18988:1:18", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "18976:13:18" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 7792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "18999:3:18", + "subExpression": { + "argumentTypes": null, + "id": 7791, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7785, + "src": "18999:1:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7793, + "nodeType": "ExpressionStatement", + "src": "18999:3:18" + }, + "nodeType": "ForStatement", + "src": "18971:232:18" + } + ] + }, + "documentation": null, + "id": 7813, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "addBonusReputation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7744, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7741, + "name": "_voters", + "nodeType": "VariableDeclaration", + "scope": 7813, + "src": "18489:17:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 7739, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18489:7:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 7740, + "length": null, + "nodeType": "ArrayTypeName", + "src": "18489:9:18", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7743, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 7813, + "src": "18508:10:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7742, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18508:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18488:31:18" + }, + "payable": false, + "returnParameters": { + "id": 7745, + "nodeType": "ParameterList", + "parameters": [], + "src": "18540:0:18" + }, + "scope": 7814, + "src": "18461:748:18", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 7815, + "src": "322:18890:18" + } + ], + "src": "0:19213:18" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0x3ebfcb88fd242fbca82c75c93d6f1c93258e3675", + "transactionHash": "0x7aad6d778c4982da64ad66f7c895de62335d3896faf91949fcbb5b421e8c86eb" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T10:37:27.685Z" +} \ No newline at end of file diff --git a/build/contracts/DaoWhitelisting.json b/build/contracts/DaoWhitelisting.json new file mode 100644 index 0000000..981405f --- /dev/null +++ b/build/contracts/DaoWhitelisting.json @@ -0,0 +1,2108 @@ +{ + "contractName": "DaoWhitelisting", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getAddressConfig", + "outputs": [ + { + "name": "_configValue", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentTimeInQuarter", + "outputs": [ + { + "name": "_currentT", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isMainPhase", + "outputs": [ + { + "name": "_isMainPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isLockingPhase", + "outputs": [ + { + "name": "_isLockingPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentQuarterNumber", + "outputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isParticipant", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getBytesConfig", + "outputs": [ + { + "name": "_configValue", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getUintConfig", + "outputs": [ + { + "name": "_configValue", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isDaoNotReplaced", + "outputs": [ + { + "name": "_isNotReplaced", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isModerator", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + }, + { + "name": "_initialWhitelist", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_contract", + "type": "address" + }, + { + "name": "_senderIsAllowedToRead", + "type": "bool" + } + ], + "name": "setWhitelisted", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b50604051620029fe380380620029fe833981018060405281019080805190602001909291908051820192919050505060008062001183601f5485620012ab640100000000026401000000009004565b15156200118f57600080fd5b82519150600090505b81811015620012a157620011ba6200153c640100000000026401000000009004565b73ffffffffffffffffffffffffffffffffffffffff16639281aa0b8483815181101515620011e457fe5b9060200190602002015160016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b1580156200127a57600080fd5b505af11580156200128f573d6000803e3d6000fd5b50505050808060010191505062001198565b505050506200163e565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156200131357600080fd5b505af115801562001328573d6000803e3d6000fd5b505050506040513d60208110156200133f57600080fd5b81019080805190602001909291905050509050600015158115151415620015305730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620014dd57600080fd5b505af1158015620014f2573d6000803e3d6000fd5b505050506040513d60208110156200150957600080fd5b810190808051906020019092919050505015156200152657600080fd5b6001915062001535565b600091505b5092915050565b60006200155a602e546200155f640100000000026401000000009004565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015620015fa57600080fd5b505af11580156200160f573d6000803e3d6000fd5b505050506040513d60208110156200162657600080fd5b81019080805190602001909291905050509050919050565b6113b0806200164e6000396000f3006080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100e05780631d8ccd04146101375780633943380c146101a85780633f83acff146101db578063560a25ea1461024c57806368533060146102775780637d6fed80146102a65780637f6a26b6146102d55780639281aa0b14610300578063929066f51461034f57806393ddad08146103aa578063b1e2b9dd146103f7578063d70d93581461043c578063db4ecbc11461046b578063fa6f3936146104c2575b600080fd5b3480156100ec57600080fd5b506100f561051d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014357600080fd5b506101666004803603810190808035600019169060200190929190505050610542565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101b457600080fd5b506101bd610604565b60405180826000191660001916815260200191505060405180910390f35b3480156101e757600080fd5b5061020a600480360381019080803560001916906020019092919050505061060a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561025857600080fd5b506102616106e6565b6040518082815260200191505060405180910390f35b34801561028357600080fd5b5061028c6106f6565b604051808215151515815260200191505060405180910390f35b3480156102b257600080fd5b506102bb610722565b604051808215151515815260200191505060405180910390f35b3480156102e157600080fd5b506102ea61073d565b6040518082815260200191505060405180910390f35b34801561030c57600080fd5b5061034d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061074d565b005b34801561035b57600080fd5b50610390600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610913565b604051808215151515815260200191505060405180910390f35b3480156103b657600080fd5b506103d96004803603810190808035600019169060200190929190505050610af4565b60405180826000191660001916815260200191505060405180910390f35b34801561040357600080fd5b506104266004803603810190808035600019169060200190929190505050610bb6565b6040518082815260200191505060405180910390f35b34801561044857600080fd5b50610451610c78565b604051808215151515815260200191505060405180910390f35b34801561047757600080fd5b50610480610d26565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104ce57600080fd5b50610503600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d4c565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061054c61101f565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156105c257600080fd5b505af11580156105d6573d6000803e3d6000fd5b505050506040513d60208110156105ec57600080fd5b81019080805190602001909291905050509050919050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156106a457600080fd5b505af11580156106b8573d6000803e3d6000fd5b505050506040513d60208110156106ce57600080fd5b81019080805190602001909291905050509050919050565b60006106f142611031565b905090565b6000610700610c78565b801561071d5750610712603854610bb6565b61071a6106e6565b10155b905090565b600061072f603854610bb6565b6107376106e6565b10905090565b60006107484261111a565b905090565b603360029054906101000a900460ff1660ff1661076861121d565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561080257600080fd5b505af1158015610816573d6000803e3d6000fd5b505050506040513d602081101561082c57600080fd5b810190808051906020019092919050505014151561084957600080fd5b61085161122f565b73ffffffffffffffffffffffffffffffffffffffff16639281aa0b83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b1580156108f757600080fd5b505af115801561090b573d6000803e3d6000fd5b505050505050565b600061091d61073d565b610925611241565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156109bf57600080fd5b505af11580156109d3573d6000803e3d6000fd5b505050506040513d60208110156109e957600080fd5b8101908080519060200190929190505050148015610aed5750610a0d603554610bb6565b610a15611253565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610aaf57600080fd5b505af1158015610ac3573d6000803e3d6000fd5b505050506040513d6020811015610ad957600080fd5b810190808051906020019092919050505010155b9050919050565b6000610afe61101f565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610b7457600080fd5b505af1158015610b88573d6000803e3d6000fd5b505050506040513d6020811015610b9e57600080fd5b81019080805190602001909291905050509050919050565b6000610bc061101f565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610c3657600080fd5b505af1158015610c4a573d6000803e3d6000fd5b505050506040513d6020811015610c6057600080fd5b81019080805190602001909291905050509050919050565b6000610c82611265565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610ce557600080fd5b505af1158015610cf9573d6000803e3d6000fd5b505050506040513d6020811015610d0f57600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610d5661073d565b610d5e611241565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610df857600080fd5b505af1158015610e0c573d6000803e3d6000fd5b505050506040513d6020811015610e2257600080fd5b8101908080519060200190929190505050148015610f265750610e46603654610bb6565b610e4e611253565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610ee857600080fd5b505af1158015610efc573d6000803e3d6000fd5b505050506040513d6020811015610f1257600080fd5b810190808051906020019092919050505010155b80156110185750610f38603754610bb6565b610f40611277565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610fda57600080fd5b505af1158015610fee573d6000803e3d6000fd5b505050506040513d602081101561100457600080fd5b810190808051906020019092919050505010155b9050919050565b600061102c602b5461060a565b905090565b600061103b611289565b151561104657600080fd5b611051603954610bb6565b61110961105c611265565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156110bf57600080fd5b505af11580156110d3573d6000803e3d6000fd5b505050506040513d60208110156110e957600080fd5b81019080805190602001909291905050508461133990919063ffffffff16565b81151561111257fe5b069050919050565b6000611124611289565b151561112f57600080fd5b6112166001611208611142603954610bb6565b6111fa61114d611265565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156111b057600080fd5b505af11580156111c4573d6000803e3d6000fd5b505050506040513d60208110156111da57600080fd5b81019080805190602001909291905050508761133990919063ffffffff16565b61135290919063ffffffff16565b61136890919063ffffffff16565b9050919050565b600061122a60285461060a565b905090565b600061123c602e5461060a565b905090565b600061124e602d5461060a565b905090565b6000611260602c5461060a565b905090565b600061127260275461060a565b905090565b600061128460295461060a565b905090565b600080611294611265565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156112f757600080fd5b505af115801561130b573d6000803e3d6000fd5b505050506040513d602081101561132157600080fd5b81019080805190602001909291905050501415905090565b600082821115151561134757fe5b818303905092915050565b6000818381151561135f57fe5b04905092915050565b6000818301905082811015151561137b57fe5b809050929150505600a165627a7a72305820f29277621e53f5efa6d22d778bb77cf804aa8b90dae26870c65c3b4acca067810029", + "deployedBytecode": "0x6080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100e05780631d8ccd04146101375780633943380c146101a85780633f83acff146101db578063560a25ea1461024c57806368533060146102775780637d6fed80146102a65780637f6a26b6146102d55780639281aa0b14610300578063929066f51461034f57806393ddad08146103aa578063b1e2b9dd146103f7578063d70d93581461043c578063db4ecbc11461046b578063fa6f3936146104c2575b600080fd5b3480156100ec57600080fd5b506100f561051d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014357600080fd5b506101666004803603810190808035600019169060200190929190505050610542565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101b457600080fd5b506101bd610604565b60405180826000191660001916815260200191505060405180910390f35b3480156101e757600080fd5b5061020a600480360381019080803560001916906020019092919050505061060a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561025857600080fd5b506102616106e6565b6040518082815260200191505060405180910390f35b34801561028357600080fd5b5061028c6106f6565b604051808215151515815260200191505060405180910390f35b3480156102b257600080fd5b506102bb610722565b604051808215151515815260200191505060405180910390f35b3480156102e157600080fd5b506102ea61073d565b6040518082815260200191505060405180910390f35b34801561030c57600080fd5b5061034d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061074d565b005b34801561035b57600080fd5b50610390600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610913565b604051808215151515815260200191505060405180910390f35b3480156103b657600080fd5b506103d96004803603810190808035600019169060200190929190505050610af4565b60405180826000191660001916815260200191505060405180910390f35b34801561040357600080fd5b506104266004803603810190808035600019169060200190929190505050610bb6565b6040518082815260200191505060405180910390f35b34801561044857600080fd5b50610451610c78565b604051808215151515815260200191505060405180910390f35b34801561047757600080fd5b50610480610d26565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104ce57600080fd5b50610503600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d4c565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061054c61101f565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156105c257600080fd5b505af11580156105d6573d6000803e3d6000fd5b505050506040513d60208110156105ec57600080fd5b81019080805190602001909291905050509050919050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156106a457600080fd5b505af11580156106b8573d6000803e3d6000fd5b505050506040513d60208110156106ce57600080fd5b81019080805190602001909291905050509050919050565b60006106f142611031565b905090565b6000610700610c78565b801561071d5750610712603854610bb6565b61071a6106e6565b10155b905090565b600061072f603854610bb6565b6107376106e6565b10905090565b60006107484261111a565b905090565b603360029054906101000a900460ff1660ff1661076861121d565b73ffffffffffffffffffffffffffffffffffffffff1663c31d02b2336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561080257600080fd5b505af1158015610816573d6000803e3d6000fd5b505050506040513d602081101561082c57600080fd5b810190808051906020019092919050505014151561084957600080fd5b61085161122f565b73ffffffffffffffffffffffffffffffffffffffff16639281aa0b83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b1580156108f757600080fd5b505af115801561090b573d6000803e3d6000fd5b505050505050565b600061091d61073d565b610925611241565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156109bf57600080fd5b505af11580156109d3573d6000803e3d6000fd5b505050506040513d60208110156109e957600080fd5b8101908080519060200190929190505050148015610aed5750610a0d603554610bb6565b610a15611253565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610aaf57600080fd5b505af1158015610ac3573d6000803e3d6000fd5b505050506040513d6020811015610ad957600080fd5b810190808051906020019092919050505010155b9050919050565b6000610afe61101f565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610b7457600080fd5b505af1158015610b88573d6000803e3d6000fd5b505050506040513d6020811015610b9e57600080fd5b81019080805190602001909291905050509050919050565b6000610bc061101f565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610c3657600080fd5b505af1158015610c4a573d6000803e3d6000fd5b505050506040513d6020811015610c6057600080fd5b81019080805190602001909291905050509050919050565b6000610c82611265565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610ce557600080fd5b505af1158015610cf9573d6000803e3d6000fd5b505050506040513d6020811015610d0f57600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610d5661073d565b610d5e611241565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610df857600080fd5b505af1158015610e0c573d6000803e3d6000fd5b505050506040513d6020811015610e2257600080fd5b8101908080519060200190929190505050148015610f265750610e46603654610bb6565b610e4e611253565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610ee857600080fd5b505af1158015610efc573d6000803e3d6000fd5b505050506040513d6020811015610f1257600080fd5b810190808051906020019092919050505010155b80156110185750610f38603754610bb6565b610f40611277565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610fda57600080fd5b505af1158015610fee573d6000803e3d6000fd5b505050506040513d602081101561100457600080fd5b810190808051906020019092919050505010155b9050919050565b600061102c602b5461060a565b905090565b600061103b611289565b151561104657600080fd5b611051603954610bb6565b61110961105c611265565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156110bf57600080fd5b505af11580156110d3573d6000803e3d6000fd5b505050506040513d60208110156110e957600080fd5b81019080805190602001909291905050508461133990919063ffffffff16565b81151561111257fe5b069050919050565b6000611124611289565b151561112f57600080fd5b6112166001611208611142603954610bb6565b6111fa61114d611265565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156111b057600080fd5b505af11580156111c4573d6000803e3d6000fd5b505050506040513d60208110156111da57600080fd5b81019080805190602001909291905050508761133990919063ffffffff16565b61135290919063ffffffff16565b61136890919063ffffffff16565b9050919050565b600061122a60285461060a565b905090565b600061123c602e5461060a565b905090565b600061124e602d5461060a565b905090565b6000611260602c5461060a565b905090565b600061127260275461060a565b905090565b600061128460295461060a565b905090565b600080611294611265565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156112f757600080fd5b505af115801561130b573d6000803e3d6000fd5b505050506040513d602081101561132157600080fd5b81019080805190602001909291905050501415905090565b600082821115151561134757fe5b818303905092915050565b6000818381151561135f57fe5b04905092915050565b6000818301905082811015151561137b57fe5b809050929150505600a165627a7a72305820f29277621e53f5efa6d22d778bb77cf804aa8b90dae26870c65c3b4acca067810029", + "sourceMap": "308:1189:19:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;643:329:19;8:9:-1;5:2;;;30:1;27;20:12;5:2;643:329:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;794:10;846:9;740:42;745:25;;772:9;740:4;;;:42;;;:::i;:::-;732:51;;;;;;;;807:17;:24;794:37;;858:1;846:13;;841:125;865:2;861:1;:6;841:125;;;888:24;:22;;;:24;;;:::i;:::-;:39;;;928:17;946:1;928:20;;;;;;;;;;;;;;;;;;950:4;888:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;888:67:19;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;888:67:19;;;;869:3;;;;;;;841:125;;;643:329;;;;308:1189;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;5019:219:1:-;5100:32;5183:47;5196:33;;5183:12;;;:47;;;:::i;:::-;5148:83;;5019:219;:::o;2380:179:67:-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;308:1189:19:-;;;;;;;", + "deployedSourceMap": "308:1189:19:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;5244:195:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5244:195:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4743:147:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4743:147:2;;;;;;;;;;;;;;;;;;;;;;;1759:239;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1759:239:2;;;;;;;;;;;;;;;;;;;;;;;;;;;1283:201;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1283:201:2;;;;;;;;;;;;;;;;;;;;;;;;;;;3064:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3064:159:2;;;;;;;;;;;;;;;;;;;;;;;1296:199:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1296:199:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5725:311:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5725:311:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5445:191:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7261:189:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7261:189:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;834:173:2;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;6123:431:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6123:431:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;5244:195:1:-;5335:20;5386:19;:17;:19::i;:::-;:34;;;5421:10;5386:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5386:46:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5386:46:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5386:46:1;;;;;;;;;;;;;;;;5371:61;;5244:195;;;:::o;264:18:67:-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;4743:147:2:-;4820:17;4865:18;4879:3;4865:13;:18::i;:::-;4853:30;;4743:147;:::o;1759:239::-;1827:17;1887:18;:16;:18::i;:::-;:104;;;;;1947:44;1961:29;;1947:13;:44::i;:::-;1921:22;:20;:22::i;:::-;:70;;1887:104;1860:131;;1759:239;:::o;1283:201::-;1354:20;1433:44;1447:29;;1433:13;:44::i;:::-;1408:22;:20;:22::i;:::-;:69;1390:87;;1283:201;:::o;3064:159::-;3140:22;3195:21;3212:3;3195:16;:21::i;:::-;3178:38;;3064:159;:::o;1296:199:19:-;729:10:7;;;;;;;;;;;677:62;;:18;:16;:18::i;:::-;:36;;;714:10;677:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;677:48:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;677:48:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;677:48:7;;;;;;;;;;;;;;;;:62;669:71;;;;;;;;1414:24:19;:22;:24::i;:::-;:39;;;1454:9;1465:22;1414:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1414:74:19;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1414:74:19;;;;1296:199;;:::o;5725:311:1:-;5808:8;5905:22;:20;:22::i;:::-;5851:19;:17;:19::i;:::-;:43;;;5895:5;5851:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5851:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5851:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5851:50:1;;;;;;;;;;;;;;;;:76;5850:179;;;;;5988:40;6002:25;;5988:13;:40::i;:::-;5945:17;:15;:17::i;:::-;:32;;;5978:5;5945:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5945:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5945:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5945:39:1;;;;;;;;;;;;;;;;:83;;5850:179;5832:197;;5725:311;;;:::o;5445:191::-;5534:20;5585:19;:17;:19::i;:::-;:32;;;5618:10;5585:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5585:44:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5585:44:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5585:44:1;;;;;;;;;;;;;;;;5570:59;;5445:191;;;:::o;7261:189:2:-;7349:20;7400:19;:17;:19::i;:::-;:31;;;7432:10;7400:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7400:43:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7400:43:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7400:43:2;;;;;;;;;;;;;;;;7385:58;;7261:189;;;:::o;834:173::-;907:19;960;:17;:19::i;:::-;:38;;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;960:40:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;960:40:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;960:40:2;;;;;;;;;;;;;;;;959:41;942:58;;834:173;:::o;344:31:67:-;;;;;;;;;;;;;:::o;6123:431:1:-;6204:8;6301:22;:20;:22::i;:::-;6247:19;:17;:19::i;:::-;:43;;;6291:5;6247:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6247:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6247:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6247:50:1;;;;;;;;;;;;;;;;:76;6246:186;;;;;6384:47;6398:32;;6384:13;:47::i;:::-;6341:17;:15;:17::i;:::-;:32;;;6374:5;6341:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6341:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6341:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6341:39:1;;;;;;;;;;;;;;;;:90;;6246:186;:301;;;;;6492:54;6506:39;;6492:13;:54::i;:::-;6449:18;:16;:18::i;:::-;:32;;;6482:5;6449:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6449:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6449:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6449:39:1;;;;;;;;;;;;;;;;:97;;6246:301;6228:319;;6123:431;;;:::o;5398:198:2:-;5474:27;5547:41;5560:27;;5547:12;:41::i;:::-;5517:72;;5398:198;:::o;3862:332::-;3947:22;3993:26;:24;:26::i;:::-;3985:35;;;;;;;;4149:38;4163:23;;4149:13;:38::i;:::-;4082:52;4092:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4092:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4092:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4092:41:2;;;;;;;;;;;;;;;;4082:5;:9;;:52;;;;:::i;:::-;:105;;;;;;;;4053:134;;3862:332;;;:::o;3369:320::-;3457:14;3495:26;:24;:26::i;:::-;3487:35;;;;;;;;3553:129;3680:1;3553:109;3623:38;3637:23;;3623:13;:38::i;:::-;3553:52;3563:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3563:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3563:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3563:41:2;;;;;;;;;;;;;;;;3553:5;:9;;:52;;;;:::i;:::-;:69;;:109;;;;:::i;:::-;:126;;:129;;;;:::i;:::-;3532:150;;3369:320;;;:::o;899:201:7:-;974:28;1049:43;1062:29;;1049:12;:43::i;:::-;1018:75;;899:201;:::o;5019:219:1:-;5100:32;5183:47;5196:33;;5183:12;:47::i;:::-;5148:83;;5019:219;:::o;6815:199:2:-;6891:27;6964:42;6977:28;;6964:12;:42::i;:::-;6934:73;;6815:199;:::o;5602:191::-;5676:25;5745:40;5758:26;;5745:12;:40::i;:::-;5717:69;;5602:191;:::o;6204:199::-;6280:27;6353:42;6366:28;;6353:12;:42::i;:::-;6323:73;;6204:199;:::o;6614:195::-;6689:26;6760:41;6773:27;;6760:12;:41::i;:::-;6731:71;;6614:195;:::o;4343:172::-;4426:11;4507:1;4462:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4462:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4462:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4462:41:2;;;;;;;;;;;;;;;;:46;;4453:55;;4343:172;:::o;1060:116:84:-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;665:283::-;725:7;941:2;936;:7;;;;;;;;929:14;;665:283;;;;:::o;1238:128::-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"../common/DaoConstants.sol\";\nimport \"../common/DaoCommon.sol\";\nimport \"@digix/cacp-contracts-dao/contracts/ResolverClient.sol\";\n\n\n/**\n@title Interactive DAO contract for whitelisting/blacklisting contracts from reading from Storage layer contracts\n@author Digix Holdings\n*/\ncontract DaoWhitelisting is ResolverClient, DaoConstants, DaoCommon {\n\n /**\n @notice Constructor\n @dev Pass in the DigixDAO interactive contract addresses, that can read votes\n @param _resolver Address of ContractResolver contract\n @param _initialWhitelist Array of addresses, initially whitelisted contracts\n */\n constructor(address _resolver, address[] _initialWhitelist)\n public\n {\n require(init(CONTRACT_DAO_WHITELISTING, _resolver));\n\n uint256 _n = _initialWhitelist.length;\n for (uint256 i = 0; i < _n; i++) {\n daoWhitelistingStorage().setWhitelisted(_initialWhitelist[i], true);\n }\n }\n\n /**\n @notice Function to whitelist a contract address (only callable by PRL)\n @dev Whitelisted contracts can read votes from the DaoStorage contract\n @param _contract Ethereum address of the deployed contract\n @param _senderIsAllowedToRead Boolean, true if to be whitelisted, false to blacklist\n */\n function setWhitelisted(address _contract, bool _senderIsAllowedToRead)\n public\n if_prl()\n {\n daoWhitelistingStorage().setWhitelisted(_contract, _senderIsAllowedToRead);\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoWhitelisting.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoWhitelisting.sol", + "exportedSymbols": { + "DaoWhitelisting": [ + 7885 + ] + }, + "id": 7886, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 7816, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:19" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "../common/DaoConstants.sol", + "id": 7817, + "nodeType": "ImportDirective", + "scope": 7886, + "sourceUnit": 1581, + "src": "26:36:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommon.sol", + "file": "../common/DaoCommon.sol", + "id": 7818, + "nodeType": "ImportDirective", + "scope": 7886, + "sourceUnit": 839, + "src": "63:33:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 7819, + "nodeType": "ImportDirective", + "scope": 7886, + "sourceUnit": 19059, + "src": "97:64:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 7820, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "336:14:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 7821, + "nodeType": "InheritanceSpecifier", + "src": "336:14:19" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 7822, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "352:12:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 7823, + "nodeType": "InheritanceSpecifier", + "src": "352:12:19" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 7824, + "name": "DaoCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 838, + "src": "366:9:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommon_$838", + "typeString": "contract DaoCommon" + } + }, + "id": 7825, + "nodeType": "InheritanceSpecifier", + "src": "366:9:19" + } + ], + "contractDependencies": [ + 838, + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": "@title Interactive DAO contract for whitelisting/blacklisting contracts from reading from Storage layer contracts\n@author Digix Holdings", + "fullyImplemented": true, + "id": 7885, + "linearizedBaseContracts": [ + 7885, + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoWhitelisting", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 7866, + "nodeType": "Block", + "src": "722:250:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7835, + "name": "CONTRACT_DAO_WHITELISTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1330, + "src": "745:25:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7836, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7827, + "src": "772:9:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 7834, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "740:4:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 7837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "740:42:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 7833, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "732:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 7838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "732:51:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7839, + "nodeType": "ExpressionStatement", + "src": "732:51:19" + }, + { + "assignments": [ + 7841 + ], + "declarations": [ + { + "constant": false, + "id": 7841, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 7867, + "src": "794:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7840, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "794:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7844, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7842, + "name": "_initialWhitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7830, + "src": "807:17:19", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "807:24:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "794:37:19" + }, + { + "body": { + "id": 7864, + "nodeType": "Block", + "src": "874:92:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 7858, + "name": "_initialWhitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7830, + "src": "928:17:19", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7860, + "indexExpression": { + "argumentTypes": null, + "id": 7859, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7846, + "src": "946:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "928:20:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7861, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "950:4:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7855, + "name": "daoWhitelistingStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 489 + ], + "referencedDeclaration": 489, + "src": "888:22:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoWhitelistingStorage_$18440_$", + "typeString": "function () view returns (contract DaoWhitelistingStorage)" + } + }, + "id": 7856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "888:24:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + } + }, + "id": 7857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setWhitelisted", + "nodeType": "MemberAccess", + "referencedDeclaration": 18439, + "src": "888:39:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bool_$returns$__$", + "typeString": "function (address,bool) external" + } + }, + "id": 7862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "888:67:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7863, + "nodeType": "ExpressionStatement", + "src": "888:67:19" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7849, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7846, + "src": "861:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 7850, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7841, + "src": "865:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "861:6:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7865, + "initializationExpression": { + "assignments": [ + 7846 + ], + "declarations": [ + { + "constant": false, + "id": 7846, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 7867, + "src": "846:9:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7845, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "846:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7848, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 7847, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "858:1:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "846:13:19" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 7853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "869:3:19", + "subExpression": { + "argumentTypes": null, + "id": 7852, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7846, + "src": "869:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7854, + "nodeType": "ExpressionStatement", + "src": "869:3:19" + }, + "nodeType": "ForStatement", + "src": "841:125:19" + } + ] + }, + "documentation": "@notice Constructor\n@dev Pass in the DigixDAO interactive contract addresses, that can read votes\n@param _resolver Address of ContractResolver contract\n@param _initialWhitelist Array of addresses, initially whitelisted contracts", + "id": 7867, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7831, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7827, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 7867, + "src": "655:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7826, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "655:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7830, + "name": "_initialWhitelist", + "nodeType": "VariableDeclaration", + "scope": 7867, + "src": "674:27:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 7828, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "674:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 7829, + "length": null, + "nodeType": "ArrayTypeName", + "src": "674:9:19", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "654:48:19" + }, + "payable": false, + "returnParameters": { + "id": 7832, + "nodeType": "ParameterList", + "parameters": [], + "src": "722:0:19" + }, + "scope": 7885, + "src": "643:329:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 7883, + "nodeType": "Block", + "src": "1404:91:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7879, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7869, + "src": "1454:9:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 7880, + "name": "_senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7871, + "src": "1465:22:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7876, + "name": "daoWhitelistingStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 489 + ], + "referencedDeclaration": 489, + "src": "1414:22:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoWhitelistingStorage_$18440_$", + "typeString": "function () view returns (contract DaoWhitelistingStorage)" + } + }, + "id": 7877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1414:24:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + } + }, + "id": 7878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setWhitelisted", + "nodeType": "MemberAccess", + "referencedDeclaration": 18439, + "src": "1414:39:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bool_$returns$__$", + "typeString": "function (address,bool) external" + } + }, + "id": 7881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1414:74:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7882, + "nodeType": "ExpressionStatement", + "src": "1414:74:19" + } + ] + }, + "documentation": "@notice Function to whitelist a contract address (only callable by PRL)\n@dev Whitelisted contracts can read votes from the DaoStorage contract\n@param _contract Ethereum address of the deployed contract\n@param _senderIsAllowedToRead Boolean, true if to be whitelisted, false to blacklist", + "id": 7884, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 7874, + "modifierName": { + "argumentTypes": null, + "id": 7873, + "name": "if_prl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1881, + "src": "1391:6:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1391:8:19" + } + ], + "name": "setWhitelisted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7872, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7869, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 7884, + "src": "1320:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7868, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1320:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7871, + "name": "_senderIsAllowedToRead", + "nodeType": "VariableDeclaration", + "scope": 7884, + "src": "1339:27:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7870, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1339:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1319:48:19" + }, + "payable": false, + "returnParameters": { + "id": 7875, + "nodeType": "ParameterList", + "parameters": [], + "src": "1404:0:19" + }, + "scope": 7885, + "src": "1296:199:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 7886, + "src": "308:1189:19" + } + ], + "src": "0:1498:19" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoWhitelisting.sol", + "exportedSymbols": { + "DaoWhitelisting": [ + 7885 + ] + }, + "id": 7886, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 7816, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:19" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "../common/DaoConstants.sol", + "id": 7817, + "nodeType": "ImportDirective", + "scope": 7886, + "sourceUnit": 1581, + "src": "26:36:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoCommon.sol", + "file": "../common/DaoCommon.sol", + "id": 7818, + "nodeType": "ImportDirective", + "scope": 7886, + "sourceUnit": 839, + "src": "63:33:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 7819, + "nodeType": "ImportDirective", + "scope": 7886, + "sourceUnit": 19059, + "src": "97:64:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 7820, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "336:14:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 7821, + "nodeType": "InheritanceSpecifier", + "src": "336:14:19" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 7822, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "352:12:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 7823, + "nodeType": "InheritanceSpecifier", + "src": "352:12:19" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 7824, + "name": "DaoCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 838, + "src": "366:9:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoCommon_$838", + "typeString": "contract DaoCommon" + } + }, + "id": 7825, + "nodeType": "InheritanceSpecifier", + "src": "366:9:19" + } + ], + "contractDependencies": [ + 838, + 1233, + 1580, + 1819, + 1911, + 19058 + ], + "contractKind": "contract", + "documentation": "@title Interactive DAO contract for whitelisting/blacklisting contracts from reading from Storage layer contracts\n@author Digix Holdings", + "fullyImplemented": true, + "id": 7885, + "linearizedBaseContracts": [ + 7885, + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "DaoWhitelisting", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 7866, + "nodeType": "Block", + "src": "722:250:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7835, + "name": "CONTRACT_DAO_WHITELISTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1330, + "src": "745:25:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 7836, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7827, + "src": "772:9:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 7834, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "740:4:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 7837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "740:42:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 7833, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "732:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 7838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "732:51:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7839, + "nodeType": "ExpressionStatement", + "src": "732:51:19" + }, + { + "assignments": [ + 7841 + ], + "declarations": [ + { + "constant": false, + "id": 7841, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 7867, + "src": "794:10:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7840, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "794:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7844, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7842, + "name": "_initialWhitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7830, + "src": "807:17:19", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "807:24:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "794:37:19" + }, + { + "body": { + "id": 7864, + "nodeType": "Block", + "src": "874:92:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 7858, + "name": "_initialWhitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7830, + "src": "928:17:19", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 7860, + "indexExpression": { + "argumentTypes": null, + "id": 7859, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7846, + "src": "946:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "928:20:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 7861, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "950:4:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7855, + "name": "daoWhitelistingStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 489 + ], + "referencedDeclaration": 489, + "src": "888:22:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoWhitelistingStorage_$18440_$", + "typeString": "function () view returns (contract DaoWhitelistingStorage)" + } + }, + "id": 7856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "888:24:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + } + }, + "id": 7857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setWhitelisted", + "nodeType": "MemberAccess", + "referencedDeclaration": 18439, + "src": "888:39:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bool_$returns$__$", + "typeString": "function (address,bool) external" + } + }, + "id": 7862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "888:67:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7863, + "nodeType": "ExpressionStatement", + "src": "888:67:19" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 7849, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7846, + "src": "861:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 7850, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7841, + "src": "865:2:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "861:6:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7865, + "initializationExpression": { + "assignments": [ + 7846 + ], + "declarations": [ + { + "constant": false, + "id": 7846, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 7867, + "src": "846:9:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7845, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "846:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 7848, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 7847, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "858:1:19", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "846:13:19" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 7853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "869:3:19", + "subExpression": { + "argumentTypes": null, + "id": 7852, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7846, + "src": "869:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7854, + "nodeType": "ExpressionStatement", + "src": "869:3:19" + }, + "nodeType": "ForStatement", + "src": "841:125:19" + } + ] + }, + "documentation": "@notice Constructor\n@dev Pass in the DigixDAO interactive contract addresses, that can read votes\n@param _resolver Address of ContractResolver contract\n@param _initialWhitelist Array of addresses, initially whitelisted contracts", + "id": 7867, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7831, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7827, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 7867, + "src": "655:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7826, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "655:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7830, + "name": "_initialWhitelist", + "nodeType": "VariableDeclaration", + "scope": 7867, + "src": "674:27:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 7828, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "674:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 7829, + "length": null, + "nodeType": "ArrayTypeName", + "src": "674:9:19", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "654:48:19" + }, + "payable": false, + "returnParameters": { + "id": 7832, + "nodeType": "ParameterList", + "parameters": [], + "src": "722:0:19" + }, + "scope": 7885, + "src": "643:329:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 7883, + "nodeType": "Block", + "src": "1404:91:19", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 7879, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7869, + "src": "1454:9:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 7880, + "name": "_senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7871, + "src": "1465:22:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 7876, + "name": "daoWhitelistingStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 489 + ], + "referencedDeclaration": 489, + "src": "1414:22:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoWhitelistingStorage_$18440_$", + "typeString": "function () view returns (contract DaoWhitelistingStorage)" + } + }, + "id": 7877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1414:24:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + } + }, + "id": 7878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setWhitelisted", + "nodeType": "MemberAccess", + "referencedDeclaration": 18439, + "src": "1414:39:19", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bool_$returns$__$", + "typeString": "function (address,bool) external" + } + }, + "id": 7881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1414:74:19", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7882, + "nodeType": "ExpressionStatement", + "src": "1414:74:19" + } + ] + }, + "documentation": "@notice Function to whitelist a contract address (only callable by PRL)\n@dev Whitelisted contracts can read votes from the DaoStorage contract\n@param _contract Ethereum address of the deployed contract\n@param _senderIsAllowedToRead Boolean, true if to be whitelisted, false to blacklist", + "id": 7884, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 7874, + "modifierName": { + "argumentTypes": null, + "id": 7873, + "name": "if_prl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1881, + "src": "1391:6:19", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1391:8:19" + } + ], + "name": "setWhitelisted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7872, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7869, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 7884, + "src": "1320:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7868, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1320:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7871, + "name": "_senderIsAllowedToRead", + "nodeType": "VariableDeclaration", + "scope": 7884, + "src": "1339:27:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7870, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1339:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1319:48:19" + }, + "payable": false, + "returnParameters": { + "id": 7875, + "nodeType": "ParameterList", + "parameters": [], + "src": "1404:0:19" + }, + "scope": 7885, + "src": "1296:199:19", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 7886, + "src": "308:1189:19" + } + ], + "src": "0:1498:19" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0x928FA688D49694505bf66c72FaB2dB118693c776", + "transactionHash": "0xa6010297694f04ebd624c958381568eef9361d753fbd4e56215c9d19eafce4f7" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T10:37:27.601Z" +} diff --git a/build/contracts/DaoWhitelistingCommon.json b/build/contracts/DaoWhitelistingCommon.json new file mode 100644 index 0000000..b8b57d2 --- /dev/null +++ b/build/contracts/DaoWhitelistingCommon.json @@ -0,0 +1,1287 @@ +{ + "contractName": "DaoWhitelistingCommon", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f9060001916905534801561113357600080fd5b50610312806111436000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100675780633943380c146100be5780633f83acff146100f1578063db4ecbc114610162575b600080fd5b34801561007357600080fd5b5061007c6101b9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100ca57600080fd5b506100d36101de565b60405180826000191660001916815260200191505060405180910390f35b3480156100fd57600080fd5b5061012060048036038101908080356000191690602001909291905050506101e4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016e57600080fd5b506101776102c0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561027e57600080fd5b505af1158015610292573d6000803e3d6000fd5b505050506040513d60208110156102a857600080fd5b81019080805190602001909291905050509050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815600a165627a7a723058209d0a926f6ccbbe354c6fcdcea2817b0355d5172e264b68cac2cf1d41daae7ed90029", + "deployedBytecode": "0x608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100675780633943380c146100be5780633f83acff146100f1578063db4ecbc114610162575b600080fd5b34801561007357600080fd5b5061007c6101b9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100ca57600080fd5b506100d36101de565b60405180826000191660001916815260200191505060405180910390f35b3480156100fd57600080fd5b5061012060048036038101908080356000191690602001909291905050506101e4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016e57600080fd5b506101776102c0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561027e57600080fd5b505af1158015610292573d6000803e3d6000fd5b505050506040513d60208110156102a857600080fd5b81019080805190602001909291905050509050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815600a165627a7a723058209d0a926f6ccbbe354c6fcdcea2817b0355d5172e264b68cac2cf1d41daae7ed90029", + "sourceMap": "170:855:6:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;170:855:6;8:9:-1;5:2;;;30:1;27;20:12;5:2;170:855:6;;;;;;;", + "deployedSourceMap": "170:855:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23;;;;;;;;;;;;;:::o;264:18::-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;344:31::-;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"./DaoConstants.sol\";\nimport \"../storage/DaoWhitelistingStorage.sol\";\nimport \"@digix/cacp-contracts-dao/contracts/ResolverClient.sol\";\n\n\ncontract DaoWhitelistingCommon is ResolverClient, DaoConstants {\n\n function daoWhitelistingStorage()\n internal\n view\n returns (DaoWhitelistingStorage _contract)\n {\n _contract = DaoWhitelistingStorage(get_contract(CONTRACT_STORAGE_DAO_WHITELISTING));\n }\n\n /**\n @notice Check if a certain address is whitelisted to read sensitive information in the storage layer\n @dev if the address is an account, it is allowed to read. If the address is a contract, it has to be in the whitelist\n */\n function senderIsAllowedToRead()\n internal\n view\n returns (bool _senderIsAllowedToRead)\n {\n // msg.sender is allowed to read only if its an EOA or a whitelisted contract\n _senderIsAllowedToRead = (msg.sender == tx.origin) || daoWhitelistingStorage().whitelist(msg.sender);\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/common/DaoWhitelistingCommon.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoWhitelistingCommon.sol", + "exportedSymbols": { + "DaoWhitelistingCommon": [ + 1819 + ] + }, + "id": 1820, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1775, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:6" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "./DaoConstants.sol", + "id": 1776, + "nodeType": "ImportDirective", + "scope": 1820, + "sourceUnit": 1581, + "src": "26:28:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoWhitelistingStorage.sol", + "file": "../storage/DaoWhitelistingStorage.sol", + "id": 1777, + "nodeType": "ImportDirective", + "scope": 1820, + "sourceUnit": 18441, + "src": "55:47:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 1778, + "nodeType": "ImportDirective", + "scope": 1820, + "sourceUnit": 19059, + "src": "103:64:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1779, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "204:14:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 1780, + "nodeType": "InheritanceSpecifier", + "src": "204:14:6" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1781, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "220:12:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 1782, + "nodeType": "InheritanceSpecifier", + "src": "220:12:6" + } + ], + "contractDependencies": [ + 1580, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1819, + "linearizedBaseContracts": [ + 1819, + 1580, + 19058 + ], + "name": "DaoWhitelistingCommon", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1795, + "nodeType": "Block", + "src": "359:100:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1787, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1785, + "src": "369:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1790, + "name": "CONTRACT_STORAGE_DAO_WHITELISTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1375, + "src": "417:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1789, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "404:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "404:47:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1788, + "name": "DaoWhitelistingStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18440, + "src": "381:22:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoWhitelistingStorage_$18440_$", + "typeString": "type(contract DaoWhitelistingStorage)" + } + }, + "id": 1792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "381:71:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + } + }, + "src": "369:83:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + } + }, + "id": 1794, + "nodeType": "ExpressionStatement", + "src": "369:83:6" + } + ] + }, + "documentation": null, + "id": 1796, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoWhitelistingStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1783, + "nodeType": "ParameterList", + "parameters": [], + "src": "271:2:6" + }, + "payable": false, + "returnParameters": { + "id": 1786, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1785, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1796, + "src": "321:32:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + }, + "typeName": { + "contractScope": null, + "id": 1784, + "name": "DaoWhitelistingStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18440, + "src": "321:22:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "320:34:6" + }, + "scope": 1819, + "src": "240:219:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1817, + "nodeType": "Block", + "src": "820:203:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1801, + "name": "_senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1799, + "src": "916:22:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1802, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "942:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "942:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1804, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26624, + "src": "956:2:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 1805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "956:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "942:23:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1807, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "941:25:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1811, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1005:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1005:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1808, + "name": "daoWhitelistingStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1796, + "src": "970:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoWhitelistingStorage_$18440_$", + "typeString": "function () view returns (contract DaoWhitelistingStorage)" + } + }, + "id": 1809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "970:24:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + } + }, + "id": 1810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "whitelist", + "nodeType": "MemberAccess", + "referencedDeclaration": 18406, + "src": "970:34:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "970:46:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "941:75:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "916:100:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1816, + "nodeType": "ExpressionStatement", + "src": "916:100:6" + } + ] + }, + "documentation": "@notice Check if a certain address is whitelisted to read sensitive information in the storage layer\n@dev if the address is an account, it is allowed to read. If the address is a contract, it has to be in the whitelist", + "id": 1818, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "senderIsAllowedToRead", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1797, + "nodeType": "ParameterList", + "parameters": [], + "src": "737:2:6" + }, + "payable": false, + "returnParameters": { + "id": 1800, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1799, + "name": "_senderIsAllowedToRead", + "nodeType": "VariableDeclaration", + "scope": 1818, + "src": "787:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1798, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "787:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "786:29:6" + }, + "scope": 1819, + "src": "707:316:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 1820, + "src": "170:855:6" + } + ], + "src": "0:1026:6" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoWhitelistingCommon.sol", + "exportedSymbols": { + "DaoWhitelistingCommon": [ + 1819 + ] + }, + "id": 1820, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1775, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:6" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "./DaoConstants.sol", + "id": 1776, + "nodeType": "ImportDirective", + "scope": 1820, + "sourceUnit": 1581, + "src": "26:28:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoWhitelistingStorage.sol", + "file": "../storage/DaoWhitelistingStorage.sol", + "id": 1777, + "nodeType": "ImportDirective", + "scope": 1820, + "sourceUnit": 18441, + "src": "55:47:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 1778, + "nodeType": "ImportDirective", + "scope": 1820, + "sourceUnit": 19059, + "src": "103:64:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1779, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "204:14:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 1780, + "nodeType": "InheritanceSpecifier", + "src": "204:14:6" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1781, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "220:12:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 1782, + "nodeType": "InheritanceSpecifier", + "src": "220:12:6" + } + ], + "contractDependencies": [ + 1580, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1819, + "linearizedBaseContracts": [ + 1819, + 1580, + 19058 + ], + "name": "DaoWhitelistingCommon", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1795, + "nodeType": "Block", + "src": "359:100:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1787, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1785, + "src": "369:9:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1790, + "name": "CONTRACT_STORAGE_DAO_WHITELISTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1375, + "src": "417:33:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1789, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "404:12:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "404:47:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1788, + "name": "DaoWhitelistingStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18440, + "src": "381:22:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoWhitelistingStorage_$18440_$", + "typeString": "type(contract DaoWhitelistingStorage)" + } + }, + "id": 1792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "381:71:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + } + }, + "src": "369:83:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + } + }, + "id": 1794, + "nodeType": "ExpressionStatement", + "src": "369:83:6" + } + ] + }, + "documentation": null, + "id": 1796, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "daoWhitelistingStorage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1783, + "nodeType": "ParameterList", + "parameters": [], + "src": "271:2:6" + }, + "payable": false, + "returnParameters": { + "id": 1786, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1785, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1796, + "src": "321:32:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + }, + "typeName": { + "contractScope": null, + "id": 1784, + "name": "DaoWhitelistingStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18440, + "src": "321:22:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "320:34:6" + }, + "scope": 1819, + "src": "240:219:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1817, + "nodeType": "Block", + "src": "820:203:6", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1801, + "name": "_senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1799, + "src": "916:22:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1802, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "942:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "942:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1804, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26624, + "src": "956:2:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 1805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "956:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "942:23:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1807, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "941:25:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1811, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1005:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1005:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1808, + "name": "daoWhitelistingStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1796, + "src": "970:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoWhitelistingStorage_$18440_$", + "typeString": "function () view returns (contract DaoWhitelistingStorage)" + } + }, + "id": 1809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "970:24:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingStorage_$18440", + "typeString": "contract DaoWhitelistingStorage" + } + }, + "id": 1810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "whitelist", + "nodeType": "MemberAccess", + "referencedDeclaration": 18406, + "src": "970:34:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 1813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "970:46:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "941:75:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "916:100:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1816, + "nodeType": "ExpressionStatement", + "src": "916:100:6" + } + ] + }, + "documentation": "@notice Check if a certain address is whitelisted to read sensitive information in the storage layer\n@dev if the address is an account, it is allowed to read. If the address is a contract, it has to be in the whitelist", + "id": 1818, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "senderIsAllowedToRead", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1797, + "nodeType": "ParameterList", + "parameters": [], + "src": "737:2:6" + }, + "payable": false, + "returnParameters": { + "id": 1800, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1799, + "name": "_senderIsAllowedToRead", + "nodeType": "VariableDeclaration", + "scope": 1818, + "src": "787:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1798, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "787:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "786:29:6" + }, + "scope": 1819, + "src": "707:316:6", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 1820, + "src": "170:855:6" + } + ], + "src": "0:1026:6" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.822Z" +} \ No newline at end of file diff --git a/build/contracts/DaoWhitelistingStorage.json b/build/contracts/DaoWhitelistingStorage.json new file mode 100644 index 0000000..38a2849 --- /dev/null +++ b/build/contracts/DaoWhitelistingStorage.json @@ -0,0 +1,1286 @@ +{ + "contractName": "DaoWhitelistingStorage", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "whitelist", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_contractAddress", + "type": "address" + }, + { + "name": "_senderIsAllowedToRead", + "type": "bool" + } + ], + "name": "setWhitelisted", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f9060001916905534801561113357600080fd5b5060405160208061198683398101806040528101908080519060200190929190505050611171602e5482611182640100000000026401000000009004565b151561117c57600080fd5b5061140a565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156111e957600080fd5b505af11580156111fd573d6000803e3d6000fd5b505050506040513d602081101561121357600080fd5b810190808051906020019092919050505090506000151581151514156113fe5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156113af57600080fd5b505af11580156113c3573d6000803e3d6000fd5b505050506040513d60208110156113d957600080fd5b810190808051906020019092919050505015156113f557600080fd5b60019150611403565b600091505b5092915050565b61056d806114196000396000f300608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec1461007d5780633943380c146100d45780633f83acff146101075780639281aa0b146101785780639b19251a146101c7578063db4ecbc114610222575b600080fd5b34801561008957600080fd5b50610092610279565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100e057600080fd5b506100e961029e565b60405180826000191660001916815260200191505060405180910390f35b34801561011357600080fd5b5061013660048036038101908080356000191690602001909291905050506102a4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561018457600080fd5b506101c5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610380565b005b3480156101d357600080fd5b50610208600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103f1565b604051808215151515815260200191505060405180910390f35b34801561022e57600080fd5b50610237610411565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561033e57600080fd5b505af1158015610352573d6000803e3d6000fd5b505050506040513d602081101561036857600080fd5b81019080805190602001909291905050509050919050565b61038b601f54610437565b151561039657600080fd5b80607060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60706020528060005260406000206000915054906101000a900460ff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156104d157600080fd5b505af11580156104e5573d6000803e3d6000fd5b505050506040513d60208110156104fb57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161490509190505600a165627a7a723058205b7596de47bdeec8fcce90879a5421909ce6ee89fc71a72d616ee14e5624e9dc0029", + "deployedBytecode": "0x608060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec1461007d5780633943380c146100d45780633f83acff146101075780639281aa0b146101785780639b19251a146101c7578063db4ecbc114610222575b600080fd5b34801561008957600080fd5b50610092610279565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100e057600080fd5b506100e961029e565b60405180826000191660001916815260200191505060405180910390f35b34801561011357600080fd5b5061013660048036038101908080356000191690602001909291905050506102a4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561018457600080fd5b506101c5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610380565b005b3480156101d357600080fd5b50610208600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103f1565b604051808215151515815260200191505060405180910390f35b34801561022e57600080fd5b50610237610411565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561033e57600080fd5b505af1158015610352573d6000803e3d6000fd5b505050506040513d602081101561036857600080fd5b81019080805190602001909291905050509050919050565b61038b601f54610437565b151561039657600080fd5b80607060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60706020528060005260406000206000915054906101000a900460ff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156104d157600080fd5b505af11580156104e5573d6000803e3d6000fd5b505050506040513d60208110156104fb57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161490509190505600a165627a7a723058205b7596de47bdeec8fcce90879a5421909ce6ee89fc71a72d616ee14e5624e9dc0029", + "sourceMap": "244:788:62:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;676:126:62;8:9:-1;5:2;;;30:1;27;20:12;5:2;676:126:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;744:50;749:33;;784:9;744:4;;;:50;;;:::i;:::-;736:59;;;;;;;;676:126;244:788;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;244:788:62:-;;;;;;;", + "deployedSourceMap": "244:788:62:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;808:222:62;;8:9:-1;5:2;;;30:1;27;20:12;5:2;808:222:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;627:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;627:42:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23;;;;;;;;;;;;;:::o;264:18::-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;808:222:62:-;924:36;934:25;;924:9;:36::i;:::-;916:45;;;;;;;;1001:22;971:9;:27;981:16;971:27;;;;;;;;;;;;;;;;:52;;;;;;;;;;;;;;;;;;808:222;;:::o;627:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;344:31:67:-;;;;;;;;;;;;;:::o;610:160::-;671:12;732:8;;;;;;;;;;;715:39;;;755:9;715:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;715:50:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;715:50:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;715:50:67;;;;;;;;;;;;;;;;701:64;;:10;:64;;;691:74;;610:160;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"./../common/DaoConstants.sol\";\nimport \"@digix/cacp-contracts-dao/contracts/ResolverClient.sol\";\n\n// This contract is basically created to restrict read access to\n// ethereum accounts, and whitelisted contracts\ncontract DaoWhitelistingStorage is ResolverClient, DaoConstants {\n\n // we want to avoid the scenario in which an on-chain bribing contract\n // can be deployed to distribute funds in a trustless way by verifying\n // on-chain votes. This mapping marks whether a contract address is whitelisted\n // to read from the read functions in DaoStorage, DaoSpecialStorage, etc.\n mapping (address => bool) public whitelist;\n\n constructor(address _resolver)\n public\n {\n require(init(CONTRACT_STORAGE_DAO_WHITELISTING, _resolver));\n }\n\n function setWhitelisted(address _contractAddress, bool _senderIsAllowedToRead)\n public\n {\n require(sender_is(CONTRACT_DAO_WHITELISTING));\n whitelist[_contractAddress] = _senderIsAllowedToRead;\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoWhitelistingStorage.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoWhitelistingStorage.sol", + "exportedSymbols": { + "DaoWhitelistingStorage": [ + 18440 + ] + }, + "id": 18441, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 18396, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:62" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "./../common/DaoConstants.sol", + "id": 18397, + "nodeType": "ImportDirective", + "scope": 18441, + "sourceUnit": 1581, + "src": "26:38:62", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 18398, + "nodeType": "ImportDirective", + "scope": 18441, + "sourceUnit": 19059, + "src": "65:64:62", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 18399, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "279:14:62", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 18400, + "nodeType": "InheritanceSpecifier", + "src": "279:14:62" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 18401, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "295:12:62", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 18402, + "nodeType": "InheritanceSpecifier", + "src": "295:12:62" + } + ], + "contractDependencies": [ + 1580, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 18440, + "linearizedBaseContracts": [ + 18440, + 1580, + 19058 + ], + "name": "DaoWhitelistingStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 18406, + "name": "whitelist", + "nodeType": "VariableDeclaration", + "scope": 18440, + "src": "627:42:62", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 18405, + "keyType": { + "id": 18403, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "636:7:62", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "627:25:62", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 18404, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "647:4:62", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 18418, + "nodeType": "Block", + "src": "726:76:62", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18413, + "name": "CONTRACT_STORAGE_DAO_WHITELISTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1375, + "src": "749:33:62", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 18414, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18408, + "src": "784:9:62", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 18412, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "744:4:62", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 18415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "744:50:62", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18411, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "736:7:62", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "736:59:62", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18417, + "nodeType": "ExpressionStatement", + "src": "736:59:62" + } + ] + }, + "documentation": null, + "id": 18419, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18409, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18408, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 18419, + "src": "688:17:62", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18407, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "688:7:62", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "687:19:62" + }, + "payable": false, + "returnParameters": { + "id": 18410, + "nodeType": "ParameterList", + "parameters": [], + "src": "726:0:62" + }, + "scope": 18440, + "src": "676:126:62", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18438, + "nodeType": "Block", + "src": "906:124:62", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18428, + "name": "CONTRACT_DAO_WHITELISTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1330, + "src": "934:25:62", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18427, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "924:9:62", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 18429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "924:36:62", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18426, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "916:7:62", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "916:45:62", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18431, + "nodeType": "ExpressionStatement", + "src": "916:45:62" + }, + { + "expression": { + "argumentTypes": null, + "id": 18436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18432, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18406, + "src": "971:9:62", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 18434, + "indexExpression": { + "argumentTypes": null, + "id": 18433, + "name": "_contractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18421, + "src": "981:16:62", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "971:27:62", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18435, + "name": "_senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18423, + "src": "1001:22:62", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "971:52:62", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18437, + "nodeType": "ExpressionStatement", + "src": "971:52:62" + } + ] + }, + "documentation": null, + "id": 18439, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setWhitelisted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18424, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18421, + "name": "_contractAddress", + "nodeType": "VariableDeclaration", + "scope": 18439, + "src": "832:24:62", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18420, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "832:7:62", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18423, + "name": "_senderIsAllowedToRead", + "nodeType": "VariableDeclaration", + "scope": 18439, + "src": "858:27:62", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18422, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "858:4:62", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "831:55:62" + }, + "payable": false, + "returnParameters": { + "id": 18425, + "nodeType": "ParameterList", + "parameters": [], + "src": "906:0:62" + }, + "scope": 18440, + "src": "808:222:62", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 18441, + "src": "244:788:62" + } + ], + "src": "0:1033:62" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoWhitelistingStorage.sol", + "exportedSymbols": { + "DaoWhitelistingStorage": [ + 18440 + ] + }, + "id": 18441, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 18396, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:62" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "./../common/DaoConstants.sol", + "id": 18397, + "nodeType": "ImportDirective", + "scope": 18441, + "sourceUnit": 1581, + "src": "26:38:62", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 18398, + "nodeType": "ImportDirective", + "scope": 18441, + "sourceUnit": 19059, + "src": "65:64:62", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 18399, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "279:14:62", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 18400, + "nodeType": "InheritanceSpecifier", + "src": "279:14:62" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 18401, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "295:12:62", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 18402, + "nodeType": "InheritanceSpecifier", + "src": "295:12:62" + } + ], + "contractDependencies": [ + 1580, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 18440, + "linearizedBaseContracts": [ + 18440, + 1580, + 19058 + ], + "name": "DaoWhitelistingStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 18406, + "name": "whitelist", + "nodeType": "VariableDeclaration", + "scope": 18440, + "src": "627:42:62", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 18405, + "keyType": { + "id": 18403, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "636:7:62", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "627:25:62", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 18404, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "647:4:62", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 18418, + "nodeType": "Block", + "src": "726:76:62", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18413, + "name": "CONTRACT_STORAGE_DAO_WHITELISTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1375, + "src": "749:33:62", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 18414, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18408, + "src": "784:9:62", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 18412, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "744:4:62", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 18415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "744:50:62", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18411, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "736:7:62", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "736:59:62", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18417, + "nodeType": "ExpressionStatement", + "src": "736:59:62" + } + ] + }, + "documentation": null, + "id": 18419, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18409, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18408, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 18419, + "src": "688:17:62", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18407, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "688:7:62", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "687:19:62" + }, + "payable": false, + "returnParameters": { + "id": 18410, + "nodeType": "ParameterList", + "parameters": [], + "src": "726:0:62" + }, + "scope": 18440, + "src": "676:126:62", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18438, + "nodeType": "Block", + "src": "906:124:62", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18428, + "name": "CONTRACT_DAO_WHITELISTING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1330, + "src": "934:25:62", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18427, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "924:9:62", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 18429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "924:36:62", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18426, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "916:7:62", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "916:45:62", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18431, + "nodeType": "ExpressionStatement", + "src": "916:45:62" + }, + { + "expression": { + "argumentTypes": null, + "id": 18436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18432, + "name": "whitelist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18406, + "src": "971:9:62", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 18434, + "indexExpression": { + "argumentTypes": null, + "id": 18433, + "name": "_contractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18421, + "src": "981:16:62", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "971:27:62", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18435, + "name": "_senderIsAllowedToRead", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18423, + "src": "1001:22:62", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "971:52:62", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18437, + "nodeType": "ExpressionStatement", + "src": "971:52:62" + } + ] + }, + "documentation": null, + "id": 18439, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setWhitelisted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18424, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18421, + "name": "_contractAddress", + "nodeType": "VariableDeclaration", + "scope": 18439, + "src": "832:24:62", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18420, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "832:7:62", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18423, + "name": "_senderIsAllowedToRead", + "nodeType": "VariableDeclaration", + "scope": 18439, + "src": "858:27:62", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18422, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "858:4:62", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "831:55:62" + }, + "payable": false, + "returnParameters": { + "id": 18425, + "nodeType": "ParameterList", + "parameters": [], + "src": "906:0:62" + }, + "scope": 18440, + "src": "808:222:62", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 18441, + "src": "244:788:62" + } + ], + "src": "0:1033:62" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0x0165addf01b2ee34bc03392f9fdc8e6ea5bd132c", + "transactionHash": "0x380e8d6a6ac549c2a1222253cbe58225e4bd26f914767e8239aaed121a9b66ce" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T09:39:55.001Z" +} \ No newline at end of file diff --git a/build/contracts/DemurrageStructs.json b/build/contracts/DemurrageStructs.json new file mode 100644 index 0000000..9cae5b0 --- /dev/null +++ b/build/contracts/DemurrageStructs.json @@ -0,0 +1,895 @@ +{ + "contractName": "DemurrageStructs", + "abi": [], + "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820013dc04f6d705875d429afa9ec37ee1433bfb37c3d8e216f318a4397a14ae2710029", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820013dc04f6d705875d429afa9ec37ee1433bfb37c3d8e216f318a4397a14ae2710029", + "sourceMap": "88:458:72:-;;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": "88:458:72:-;;;;;;;;", + "source": "pragma solidity ^0.4.19;\n\nimport \"@digix/solidity-core-libraries/contracts/Types.sol\";\n\nlibrary DemurrageStructs {\n using Types for Types.MutableUint;\n using Types for Types.MutableTimestamp;\n\n struct User {\n address account;\n bool no_demurrage_fee;\n Types.MutableUint balance;\n Types.MutableTimestamp payment_date;\n }\n\n struct Config {\n Types.MutableUint collector_balance;\n uint256 base;\n uint256 rate;\n address collector;\n }\n\n struct Demurrage {\n Config config;\n User user;\n uint256 collected_fee;\n }\n}\n", + "sourcePath": "@digix/lite-dgx-contract/contracts/libs/DemurrageStructs.sol", + "ast": { + "absolutePath": "@digix/lite-dgx-contract/contracts/libs/DemurrageStructs.sol", + "exportedSymbols": { + "DemurrageStructs": [ + 21671 + ] + }, + "id": 21672, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 21638, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:72" + }, + { + "absolutePath": "@digix/solidity-core-libraries/contracts/Types.sol", + "file": "@digix/solidity-core-libraries/contracts/Types.sol", + "id": 21639, + "nodeType": "ImportDirective", + "scope": 21672, + "sourceUnit": 25948, + "src": "26:60:72", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 21671, + "linearizedBaseContracts": [ + 21671 + ], + "name": "DemurrageStructs", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 21642, + "libraryName": { + "contractScope": null, + "id": 21640, + "name": "Types", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25947, + "src": "123:5:72", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Types_$25947", + "typeString": "library Types" + } + }, + "nodeType": "UsingForDirective", + "src": "117:34:72", + "typeName": { + "contractScope": null, + "id": 21641, + "name": "Types.MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "133:17:72", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + } + }, + { + "id": 21645, + "libraryName": { + "contractScope": null, + "id": 21643, + "name": "Types", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25947, + "src": "160:5:72", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Types_$25947", + "typeString": "library Types" + } + }, + "nodeType": "UsingForDirective", + "src": "154:39:72", + "typeName": { + "contractScope": null, + "id": 21644, + "name": "Types.MutableTimestamp", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25639, + "src": "170:22:72", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_storage_ptr", + "typeString": "struct Types.MutableTimestamp" + } + } + }, + { + "canonicalName": "DemurrageStructs.User", + "id": 21654, + "members": [ + { + "constant": false, + "id": 21647, + "name": "account", + "nodeType": "VariableDeclaration", + "scope": 21654, + "src": "215:15:72", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21646, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "215:7:72", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21649, + "name": "no_demurrage_fee", + "nodeType": "VariableDeclaration", + "scope": 21654, + "src": "236:21:72", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21648, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "236:4:72", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21651, + "name": "balance", + "nodeType": "VariableDeclaration", + "scope": 21654, + "src": "263:25:72", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 21650, + "name": "Types.MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "263:17:72", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21653, + "name": "payment_date", + "nodeType": "VariableDeclaration", + "scope": 21654, + "src": "294:35:72", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_storage_ptr", + "typeString": "struct Types.MutableTimestamp" + }, + "typeName": { + "contractScope": null, + "id": 21652, + "name": "Types.MutableTimestamp", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25639, + "src": "294:22:72", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_storage_ptr", + "typeString": "struct Types.MutableTimestamp" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "User", + "nodeType": "StructDefinition", + "scope": 21671, + "src": "197:137:72", + "visibility": "public" + }, + { + "canonicalName": "DemurrageStructs.Config", + "id": 21663, + "members": [ + { + "constant": false, + "id": 21656, + "name": "collector_balance", + "nodeType": "VariableDeclaration", + "scope": 21663, + "src": "358:35:72", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 21655, + "name": "Types.MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "358:17:72", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21658, + "name": "base", + "nodeType": "VariableDeclaration", + "scope": 21663, + "src": "399:12:72", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21657, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "399:7:72", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21660, + "name": "rate", + "nodeType": "VariableDeclaration", + "scope": 21663, + "src": "417:12:72", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21659, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "417:7:72", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21662, + "name": "collector", + "nodeType": "VariableDeclaration", + "scope": 21663, + "src": "435:17:72", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21661, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "435:7:72", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Config", + "nodeType": "StructDefinition", + "scope": 21671, + "src": "338:119:72", + "visibility": "public" + }, + { + "canonicalName": "DemurrageStructs.Demurrage", + "id": 21670, + "members": [ + { + "constant": false, + "id": 21665, + "name": "config", + "nodeType": "VariableDeclaration", + "scope": 21670, + "src": "484:13:72", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_storage_ptr", + "typeString": "struct DemurrageStructs.Config" + }, + "typeName": { + "contractScope": null, + "id": 21664, + "name": "Config", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21663, + "src": "484:6:72", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_storage_ptr", + "typeString": "struct DemurrageStructs.Config" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21667, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 21670, + "src": "503:9:72", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_storage_ptr", + "typeString": "struct DemurrageStructs.User" + }, + "typeName": { + "contractScope": null, + "id": 21666, + "name": "User", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21654, + "src": "503:4:72", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_storage_ptr", + "typeString": "struct DemurrageStructs.User" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21669, + "name": "collected_fee", + "nodeType": "VariableDeclaration", + "scope": 21670, + "src": "518:21:72", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21668, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "518:7:72", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Demurrage", + "nodeType": "StructDefinition", + "scope": 21671, + "src": "461:83:72", + "visibility": "public" + } + ], + "scope": 21672, + "src": "88:458:72" + } + ], + "src": "0:547:72" + }, + "legacyAST": { + "absolutePath": "@digix/lite-dgx-contract/contracts/libs/DemurrageStructs.sol", + "exportedSymbols": { + "DemurrageStructs": [ + 21671 + ] + }, + "id": 21672, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 21638, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:72" + }, + { + "absolutePath": "@digix/solidity-core-libraries/contracts/Types.sol", + "file": "@digix/solidity-core-libraries/contracts/Types.sol", + "id": 21639, + "nodeType": "ImportDirective", + "scope": 21672, + "sourceUnit": 25948, + "src": "26:60:72", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 21671, + "linearizedBaseContracts": [ + 21671 + ], + "name": "DemurrageStructs", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 21642, + "libraryName": { + "contractScope": null, + "id": 21640, + "name": "Types", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25947, + "src": "123:5:72", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Types_$25947", + "typeString": "library Types" + } + }, + "nodeType": "UsingForDirective", + "src": "117:34:72", + "typeName": { + "contractScope": null, + "id": 21641, + "name": "Types.MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "133:17:72", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + } + }, + { + "id": 21645, + "libraryName": { + "contractScope": null, + "id": 21643, + "name": "Types", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25947, + "src": "160:5:72", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Types_$25947", + "typeString": "library Types" + } + }, + "nodeType": "UsingForDirective", + "src": "154:39:72", + "typeName": { + "contractScope": null, + "id": 21644, + "name": "Types.MutableTimestamp", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25639, + "src": "170:22:72", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_storage_ptr", + "typeString": "struct Types.MutableTimestamp" + } + } + }, + { + "canonicalName": "DemurrageStructs.User", + "id": 21654, + "members": [ + { + "constant": false, + "id": 21647, + "name": "account", + "nodeType": "VariableDeclaration", + "scope": 21654, + "src": "215:15:72", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21646, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "215:7:72", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21649, + "name": "no_demurrage_fee", + "nodeType": "VariableDeclaration", + "scope": 21654, + "src": "236:21:72", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21648, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "236:4:72", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21651, + "name": "balance", + "nodeType": "VariableDeclaration", + "scope": 21654, + "src": "263:25:72", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 21650, + "name": "Types.MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "263:17:72", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21653, + "name": "payment_date", + "nodeType": "VariableDeclaration", + "scope": 21654, + "src": "294:35:72", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_storage_ptr", + "typeString": "struct Types.MutableTimestamp" + }, + "typeName": { + "contractScope": null, + "id": 21652, + "name": "Types.MutableTimestamp", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25639, + "src": "294:22:72", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_storage_ptr", + "typeString": "struct Types.MutableTimestamp" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "User", + "nodeType": "StructDefinition", + "scope": 21671, + "src": "197:137:72", + "visibility": "public" + }, + { + "canonicalName": "DemurrageStructs.Config", + "id": 21663, + "members": [ + { + "constant": false, + "id": 21656, + "name": "collector_balance", + "nodeType": "VariableDeclaration", + "scope": 21663, + "src": "358:35:72", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 21655, + "name": "Types.MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "358:17:72", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21658, + "name": "base", + "nodeType": "VariableDeclaration", + "scope": 21663, + "src": "399:12:72", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21657, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "399:7:72", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21660, + "name": "rate", + "nodeType": "VariableDeclaration", + "scope": 21663, + "src": "417:12:72", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21659, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "417:7:72", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21662, + "name": "collector", + "nodeType": "VariableDeclaration", + "scope": 21663, + "src": "435:17:72", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21661, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "435:7:72", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Config", + "nodeType": "StructDefinition", + "scope": 21671, + "src": "338:119:72", + "visibility": "public" + }, + { + "canonicalName": "DemurrageStructs.Demurrage", + "id": 21670, + "members": [ + { + "constant": false, + "id": 21665, + "name": "config", + "nodeType": "VariableDeclaration", + "scope": 21670, + "src": "484:13:72", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_storage_ptr", + "typeString": "struct DemurrageStructs.Config" + }, + "typeName": { + "contractScope": null, + "id": 21664, + "name": "Config", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21663, + "src": "484:6:72", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_storage_ptr", + "typeString": "struct DemurrageStructs.Config" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21667, + "name": "user", + "nodeType": "VariableDeclaration", + "scope": 21670, + "src": "503:9:72", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_storage_ptr", + "typeString": "struct DemurrageStructs.User" + }, + "typeName": { + "contractScope": null, + "id": 21666, + "name": "User", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21654, + "src": "503:4:72", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_storage_ptr", + "typeString": "struct DemurrageStructs.User" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21669, + "name": "collected_fee", + "nodeType": "VariableDeclaration", + "scope": 21670, + "src": "518:21:72", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21668, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "518:7:72", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Demurrage", + "nodeType": "StructDefinition", + "scope": 21671, + "src": "461:83:72", + "visibility": "public" + } + ], + "scope": 21672, + "src": "88:458:72" + } + ], + "src": "0:547:72" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.925Z" +} \ No newline at end of file diff --git a/build/contracts/DgxDemurrageCalculator.json b/build/contracts/DgxDemurrageCalculator.json new file mode 100644 index 0000000..c1df6cf --- /dev/null +++ b/build/contracts/DgxDemurrageCalculator.json @@ -0,0 +1,397 @@ +{ + "contractName": "DgxDemurrageCalculator", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "_initial_balance", + "type": "uint256" + }, + { + "name": "_days_elapsed", + "type": "uint256" + } + ], + "name": "calculateDemurrage", + "outputs": [ + { + "name": "_demurrage_fees", + "type": "uint256" + }, + { + "name": "_no_demurrage_fees", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.4.25;\n\n/// @title Digix Gold Token Demurrage Calculator\n/// @author Digix Holdings Pte Ltd\n/// @notice This contract is meant to be used by exchanges/other parties who want to calculate the DGX demurrage fees, provided an initial balance and the days elapsed\ncontract DgxDemurrageCalculator {\n function calculateDemurrage(uint256 _initial_balance, uint256 _days_elapsed)\n public\n view\n returns (uint256 _demurrage_fees, bool _no_demurrage_fees);\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/interface/DgxDemurrageCalculator.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interface/DgxDemurrageCalculator.sol", + "exportedSymbols": { + "DgxDemurrageCalculator": [ + 7899 + ] + }, + "id": 7900, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 7887, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:20" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Digix Gold Token Demurrage Calculator\n @author Digix Holdings Pte Ltd\n @notice This contract is meant to be used by exchanges/other parties who want to calculate the DGX demurrage fees, provided an initial balance and the days elapsed", + "fullyImplemented": false, + "id": 7899, + "linearizedBaseContracts": [ + 7899 + ], + "name": "DgxDemurrageCalculator", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 7898, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "calculateDemurrage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7892, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7889, + "name": "_initial_balance", + "nodeType": "VariableDeclaration", + "scope": 7898, + "src": "344:24:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7888, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "344:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7891, + "name": "_days_elapsed", + "nodeType": "VariableDeclaration", + "scope": 7898, + "src": "370:21:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7890, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "370:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "343:49:20" + }, + "payable": false, + "returnParameters": { + "id": 7897, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7894, + "name": "_demurrage_fees", + "nodeType": "VariableDeclaration", + "scope": 7898, + "src": "438:23:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7893, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "438:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7896, + "name": "_no_demurrage_fees", + "nodeType": "VariableDeclaration", + "scope": 7898, + "src": "463:23:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7895, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "463:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "437:50:20" + }, + "scope": 7899, + "src": "316:172:20", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 7900, + "src": "278:212:20" + } + ], + "src": "0:491:20" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interface/DgxDemurrageCalculator.sol", + "exportedSymbols": { + "DgxDemurrageCalculator": [ + 7899 + ] + }, + "id": 7900, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 7887, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:20" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Digix Gold Token Demurrage Calculator\n @author Digix Holdings Pte Ltd\n @notice This contract is meant to be used by exchanges/other parties who want to calculate the DGX demurrage fees, provided an initial balance and the days elapsed", + "fullyImplemented": false, + "id": 7899, + "linearizedBaseContracts": [ + 7899 + ], + "name": "DgxDemurrageCalculator", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 7898, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "calculateDemurrage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7892, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7889, + "name": "_initial_balance", + "nodeType": "VariableDeclaration", + "scope": 7898, + "src": "344:24:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7888, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "344:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7891, + "name": "_days_elapsed", + "nodeType": "VariableDeclaration", + "scope": 7898, + "src": "370:21:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7890, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "370:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "343:49:20" + }, + "payable": false, + "returnParameters": { + "id": 7897, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7894, + "name": "_demurrage_fees", + "nodeType": "VariableDeclaration", + "scope": 7898, + "src": "438:23:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7893, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "438:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7896, + "name": "_no_demurrage_fees", + "nodeType": "VariableDeclaration", + "scope": 7898, + "src": "463:23:20", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7895, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "463:4:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "437:50:20" + }, + "scope": 7899, + "src": "316:172:20", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 7900, + "src": "278:212:20" + } + ], + "src": "0:491:20" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.857Z" +} \ No newline at end of file diff --git a/build/contracts/DirectoryStorage.json b/build/contracts/DirectoryStorage.json new file mode 100644 index 0000000..af39520 --- /dev/null +++ b/build/contracts/DirectoryStorage.json @@ -0,0 +1,18335 @@ +{ + "contractName": "DirectoryStorage", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "_role_id", + "type": "uint256" + } + ], + "name": "read_role", + "outputs": [ + { + "name": "_name", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_group_id", + "type": "uint256" + } + ], + "name": "read_group", + "outputs": [ + { + "name": "_role_id", + "type": "uint256" + }, + { + "name": "_name", + "type": "bytes32" + }, + { + "name": "_document", + "type": "bytes32" + }, + { + "name": "_members_count", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "read_user_role_id", + "outputs": [ + { + "name": "_role_id", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "read_user", + "outputs": [ + { + "name": "_group_id", + "type": "uint256" + }, + { + "name": "_role_id", + "type": "uint256" + }, + { + "name": "_document", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "read_first_group", + "outputs": [ + { + "name": "_group_id", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "read_last_group", + "outputs": [ + { + "name": "_group_id", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_current_group_id", + "type": "uint256" + } + ], + "name": "read_previous_group_from_group", + "outputs": [ + { + "name": "_group_id", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_current_group_id", + "type": "uint256" + } + ], + "name": "read_next_group_from_group", + "outputs": [ + { + "name": "_group_id", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "read_total_groups", + "outputs": [ + { + "name": "_total_groups", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_group_id", + "type": "bytes32" + } + ], + "name": "read_first_user_in_group", + "outputs": [ + { + "name": "_user", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_group_id", + "type": "bytes32" + } + ], + "name": "read_last_user_in_group", + "outputs": [ + { + "name": "_user", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_group_id", + "type": "bytes32" + }, + { + "name": "_current_user", + "type": "address" + } + ], + "name": "read_next_user_in_group", + "outputs": [ + { + "name": "_user", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_group_id", + "type": "bytes32" + }, + { + "name": "_current_user", + "type": "address" + } + ], + "name": "read_previous_user_in_group", + "outputs": [ + { + "name": "_user", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_group_id", + "type": "bytes32" + } + ], + "name": "read_total_users_in_group", + "outputs": [ + { + "name": "_total_users", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50611109806100206000396000f3006080604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631d8b86b4146100d557806320a4c22d14610100578063339f38b61461012b57806338eeb1871461017457806339d20a5f146101e557806350c7e73b14610252578063657dcf0b146102c3578063ba16cfc714610329578063c31d02b214610354578063c97f5104146103ab578063dbee9e5b1461043c578063e17078c314610481578063eae2083f146104c2578063ee9589aa14610553575b600080fd5b3480156100e157600080fd5b506100ea610594565b6040518082815260200191505060405180910390f35b34801561010c57600080fd5b506101156105a7565b6040518082815260200191505060405180910390f35b34801561013757600080fd5b50610156600480360381019080803590602001909291905050506105ba565b60405180826000191660001916815260200191505060405180910390f35b34801561018057600080fd5b506101a360048036038101908080356000191690602001909291905050506105d9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101f157600080fd5b50610226600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105f0565b604051808481526020018381526020018260001916600019168152602001935050505060405180910390f35b34801561025e57600080fd5b5061028160048036038101908080356000191690602001909291905050506106b8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102cf57600080fd5b506102ee600480360381019080803590602001909291905050506106cf565b604051808581526020018460001916600019168152602001836000191660001916815260200182815260200194505050505060405180910390f35b34801561033557600080fd5b5061033e610830565b6040518082815260200191505060405180910390f35b34801561036057600080fd5b50610395600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610843565b6040518082815260200191505060405180910390f35b3480156103b757600080fd5b506103fa6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108ad565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561044857600080fd5b5061046b60048036038101908080356000191690602001909291905050506108c6565b6040518082815260200191505060405180910390f35b34801561048d57600080fd5b506104ac600480360381019080803590602001909291905050506108dd565b6040518082815260200191505060405180910390f35b3480156104ce57600080fd5b506105116004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108f3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561055f57600080fd5b5061057e6004803603810190808035906020019092919050505061090c565b6040518082815260200191505060405180910390f35b60006105a260008001610922565b905090565b60006105b5600080016109d3565b905090565b6000806009016000838152602001908152602001600020549050919050565b60006105e9600060060183610a84565b9050919050565b60008060008060080160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549250600060070160008481526020019081526020016000206002015491506000600701600084815260200190815260200160002060030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015490509193909250565b60006106c8600060060183610b46565b9050919050565b6000806000806000800173__DoublyLinkedList______________________639500c08e9091876040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561074d57600080fd5b505af4158015610761573d6000803e3d6000fd5b505050506040513d602081101561077757600080fd5b8101908080519060200190929190505050156107f9576000600701600086815260200190815260200160002060020154935060006007016000868152602001908152602001600020600001549250600060070160008681526020019081526020016000206001015491506107f2600060060186600102610c08565b9050610829565b600093507f696e76616c696400000000000000000000000000000000000000000000000000925060009150600090505b9193509193565b600061083e60008001610cca565b905090565b600080600060080160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600701600082815260200190815260200160002060020154915050919050565b60006108be60006006018484610d7b565b905092915050565b60006108d6600060060183610c08565b9050919050565b60006108ec6000800183610e72565b9050919050565b600061090460006006018484610f2c565b905092915050565b600061091b6000800183611023565b9050919050565b60008173__DoublyLinkedList______________________631240ff5a90916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b15801561099157600080fd5b505af41580156109a5573d6000803e3d6000fd5b505050506040513d60208110156109bb57600080fd5b81019080805190602001909291905050509050919050565b60008173__DoublyLinkedList______________________633ae6974290916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b158015610a4257600080fd5b505af4158015610a56573d6000803e3d6000fd5b505050506040513d6020811015610a6c57600080fd5b81019080805190602001909291905050509050919050565b60008273__DoublyLinkedList______________________63b0c29efb9091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015610b0357600080fd5b505af4158015610b17573d6000803e3d6000fd5b505050506040513d6020811015610b2d57600080fd5b8101908080519060200190929190505050905092915050565b60008273__DoublyLinkedList______________________63c501bf569091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015610bc557600080fd5b505af4158015610bd9573d6000803e3d6000fd5b505050506040513d6020811015610bef57600080fd5b8101908080519060200190929190505050905092915050565b60008273__DoublyLinkedList______________________6355a0a1bf9091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015610c8757600080fd5b505af4158015610c9b573d6000803e3d6000fd5b505050506040513d6020811015610cb157600080fd5b8101908080519060200190929190505050905092915050565b60008173__DoublyLinkedList______________________635e0d4aa990916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b158015610d3957600080fd5b505af4158015610d4d573d6000803e3d6000fd5b505050506040513d6020811015610d6357600080fd5b81019080805190602001909291905050509050919050565b60008373__DoublyLinkedList______________________6320482030909185856040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060206040518083038186803b158015610e2e57600080fd5b505af4158015610e42573d6000803e3d6000fd5b505050506040513d6020811015610e5857600080fd5b810190808051906020019092919050505090509392505050565b60008273__DoublyLinkedList______________________6340c6bb189091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015610ee957600080fd5b505af4158015610efd573d6000803e3d6000fd5b505050506040513d6020811015610f1357600080fd5b8101908080519060200190929190505050905092915050565b60008373__DoublyLinkedList______________________63675a4ef0909185856040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060206040518083038186803b158015610fdf57600080fd5b505af4158015610ff3573d6000803e3d6000fd5b505050506040513d602081101561100957600080fd5b810190808051906020019092919050505090509392505050565b60008273__DoublyLinkedList______________________63ec40b8979091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561109a57600080fd5b505af41580156110ae573d6000803e3d6000fd5b505050506040513d60208110156110c457600080fd5b81019080805190602001909291905050509050929150505600a165627a7a7230582094cc7eca2b5ffbf7508d3e176ad8db25efed60655160bc7c8f479fbf1d2031f30029", + "deployedBytecode": "0x6080604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631d8b86b4146100d557806320a4c22d14610100578063339f38b61461012b57806338eeb1871461017457806339d20a5f146101e557806350c7e73b14610252578063657dcf0b146102c3578063ba16cfc714610329578063c31d02b214610354578063c97f5104146103ab578063dbee9e5b1461043c578063e17078c314610481578063eae2083f146104c2578063ee9589aa14610553575b600080fd5b3480156100e157600080fd5b506100ea610594565b6040518082815260200191505060405180910390f35b34801561010c57600080fd5b506101156105a7565b6040518082815260200191505060405180910390f35b34801561013757600080fd5b50610156600480360381019080803590602001909291905050506105ba565b60405180826000191660001916815260200191505060405180910390f35b34801561018057600080fd5b506101a360048036038101908080356000191690602001909291905050506105d9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101f157600080fd5b50610226600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105f0565b604051808481526020018381526020018260001916600019168152602001935050505060405180910390f35b34801561025e57600080fd5b5061028160048036038101908080356000191690602001909291905050506106b8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102cf57600080fd5b506102ee600480360381019080803590602001909291905050506106cf565b604051808581526020018460001916600019168152602001836000191660001916815260200182815260200194505050505060405180910390f35b34801561033557600080fd5b5061033e610830565b6040518082815260200191505060405180910390f35b34801561036057600080fd5b50610395600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610843565b6040518082815260200191505060405180910390f35b3480156103b757600080fd5b506103fa6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108ad565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561044857600080fd5b5061046b60048036038101908080356000191690602001909291905050506108c6565b6040518082815260200191505060405180910390f35b34801561048d57600080fd5b506104ac600480360381019080803590602001909291905050506108dd565b6040518082815260200191505060405180910390f35b3480156104ce57600080fd5b506105116004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108f3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561055f57600080fd5b5061057e6004803603810190808035906020019092919050505061090c565b6040518082815260200191505060405180910390f35b60006105a260008001610922565b905090565b60006105b5600080016109d3565b905090565b6000806009016000838152602001908152602001600020549050919050565b60006105e9600060060183610a84565b9050919050565b60008060008060080160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549250600060070160008481526020019081526020016000206002015491506000600701600084815260200190815260200160002060030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015490509193909250565b60006106c8600060060183610b46565b9050919050565b6000806000806000800173__DoublyLinkedList______________________639500c08e9091876040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561074d57600080fd5b505af4158015610761573d6000803e3d6000fd5b505050506040513d602081101561077757600080fd5b8101908080519060200190929190505050156107f9576000600701600086815260200190815260200160002060020154935060006007016000868152602001908152602001600020600001549250600060070160008681526020019081526020016000206001015491506107f2600060060186600102610c08565b9050610829565b600093507f696e76616c696400000000000000000000000000000000000000000000000000925060009150600090505b9193509193565b600061083e60008001610cca565b905090565b600080600060080160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600701600082815260200190815260200160002060020154915050919050565b60006108be60006006018484610d7b565b905092915050565b60006108d6600060060183610c08565b9050919050565b60006108ec6000800183610e72565b9050919050565b600061090460006006018484610f2c565b905092915050565b600061091b6000800183611023565b9050919050565b60008173__DoublyLinkedList______________________631240ff5a90916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b15801561099157600080fd5b505af41580156109a5573d6000803e3d6000fd5b505050506040513d60208110156109bb57600080fd5b81019080805190602001909291905050509050919050565b60008173__DoublyLinkedList______________________633ae6974290916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b158015610a4257600080fd5b505af4158015610a56573d6000803e3d6000fd5b505050506040513d6020811015610a6c57600080fd5b81019080805190602001909291905050509050919050565b60008273__DoublyLinkedList______________________63b0c29efb9091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015610b0357600080fd5b505af4158015610b17573d6000803e3d6000fd5b505050506040513d6020811015610b2d57600080fd5b8101908080519060200190929190505050905092915050565b60008273__DoublyLinkedList______________________63c501bf569091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015610bc557600080fd5b505af4158015610bd9573d6000803e3d6000fd5b505050506040513d6020811015610bef57600080fd5b8101908080519060200190929190505050905092915050565b60008273__DoublyLinkedList______________________6355a0a1bf9091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015610c8757600080fd5b505af4158015610c9b573d6000803e3d6000fd5b505050506040513d6020811015610cb157600080fd5b8101908080519060200190929190505050905092915050565b60008173__DoublyLinkedList______________________635e0d4aa990916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b158015610d3957600080fd5b505af4158015610d4d573d6000803e3d6000fd5b505050506040513d6020811015610d6357600080fd5b81019080805190602001909291905050509050919050565b60008373__DoublyLinkedList______________________6320482030909185856040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060206040518083038186803b158015610e2e57600080fd5b505af4158015610e42573d6000803e3d6000fd5b505050506040513d6020811015610e5857600080fd5b810190808051906020019092919050505090509392505050565b60008273__DoublyLinkedList______________________6340c6bb189091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b158015610ee957600080fd5b505af4158015610efd573d6000803e3d6000fd5b505050506040513d6020811015610f1357600080fd5b8101908080519060200190929190505050905092915050565b60008373__DoublyLinkedList______________________63675a4ef0909185856040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060206040518083038186803b158015610fdf57600080fd5b505af4158015610ff3573d6000803e3d6000fd5b505050506040513d602081101561100957600080fd5b810190808051906020019092919050505090509392505050565b60008273__DoublyLinkedList______________________63ec40b8979091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561109a57600080fd5b505af41580156110ae573d6000803e3d6000fd5b505050506040513d60208110156110c457600080fd5b81019080805190602001909291905050509050929150505600a165627a7a7230582094cc7eca2b5ffbf7508d3e176ad8db25efed60655160bc7c8f479fbf1d2031f30029", + "sourceMap": "287:9954:68:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;287:9954:68;;;;;;;", + "deployedSourceMap": "287:9954:68:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6589:164;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6589:164:68;;;;;;;;;;;;;;;;;;;;;;;7973:168;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7973:168:68;;;;;;;;;;;;;;;;;;;;;;;2053:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2053:159:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8278:224;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8278:224:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6136:345;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6136:345:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8638:222;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8638:222:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3245:605;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3245:605:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6859:162;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6859:162:68;;;;;;;;;;;;;;;;;;;;;;;5666:240;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5666:240:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9580:268;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9580:268:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10005:234;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10005:234:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:225;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7223:225:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9088:260;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9088:260:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7642:217;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7642:217:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6589:164;6673:17;6712:36;6734:6;:13;;6712:21;:36::i;:::-;6700:48;;6589:164;:::o;7973:168::-;8058:21;8105:31;8122:6;:13;;8105:16;:31::i;:::-;8089:47;;7973:168;:::o;2053:159::-;2148:13;2179:6;:18;;:28;2198:8;2179:28;;;;;;;;;;;;2171:36;;2053:159;;;:::o;8278:224::-;8387:13;8418:79;8452:6;:24;;8486:9;8418:33;:79::i;:::-;8410:87;;8278:224;;;:::o;6136:345::-;6228:17;6247:16;6265:17;6304:6;:27;;:34;6332:5;6304:34;;;;;;;;;;;;;;;;6292:46;;6355:6;:19;;:30;6375:9;6355:30;;;;;;;;;;;:38;;;6344:49;;6411:6;:19;;:30;6431:9;6411:30;;;;;;;;;;;:49;;:56;6461:5;6411:56;;;;;;;;;;;;;;;:65;;;6399:77;;6136:345;;;;;:::o;8638:222::-;8746:13;8777:78;8810:6;:24;;8844:9;8777:32;:78::i;:::-;8769:86;;8638:222;;;:::o;3245:605::-;3342:16;3360:13;3375:17;3394:22;3430:6;:13;;:24;;;;3455:9;3430:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3430:35:68;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3430:35:68;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3430:35:68;;;;;;;;;;;;;;;;3426:420;;;3486:6;:19;;:30;3506:9;3486:30;;;;;;;;;;;:38;;;3475:49;;3540:6;:19;;:30;3560:9;3540:30;;;;;;;;;;;:35;;;3532:43;;3595:6;:19;;:30;3615:9;3595:30;;;;;;;;;;;:39;;;3583:51;;3659:74;3688:6;:24;;3722:9;3714:18;;3659:28;:74::i;:::-;3642:91;;3426:420;;;3765:1;3754:12;;3774:17;;;3799:14;;;3838:1;3821:18;;3426:420;3245:605;;;;;:::o;6859:162::-;6942:17;6981:35;7002:6;:13;;6981:20;:35::i;:::-;6969:47;;6859:162;:::o;5666:240::-;5766:16;5792:17;5812:6;:27;;:34;5840:5;5812:34;;;;;;;;;;;;;;;;5792:54;;5863:6;:19;;:30;5883:9;5863:30;;;;;;;;;;;:38;;;5852:49;;5666:240;;;;:::o;9580:268::-;9715:13;9746:97;9783:6;:24;;9817:9;9829:13;9746:36;:97::i;:::-;9738:105;;9580:268;;;;:::o;10005:234::-;10115:20;10160:74;10189:6;:24;;10223:9;10160:28;:74::i;:::-;10145:89;;10005:234;;;:::o;7223:225::-;7346:17;7385:58;7410:6;:13;;7425:17;7385:24;:58::i;:::-;7373:70;;7223:225;;;:::o;9088:260::-;9219:13;9250:93;9283:6;:24;;9317:9;9329:13;9250:32;:93::i;:::-;9242:101;;9088:260;;;;:::o;7642:217::-;7761:17;7800:54;7821:6;:13;;7836:17;7800:20;:54::i;:::-;7788:66;;7642:217;;;:::o;390:182:80:-;518:13;549:5;:16;;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;549:18:80;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;549:18:80;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;549:18:80;;;;;;;;;;;;;;;;541:26;;390:182;;;:::o;2071:174::-;2194:14;2227:5;:11;;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2227:13:80;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2227:13:80;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2227:13:80;;;;;;;;;;;;;;;;2218:22;;2071:174;;;:::o;557:248:78:-;734:13;765:5;:16;;;;782:17;765:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;765:35:78;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;765:35:78;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;765:35:78;;;;;;;;;;;;;;;;757:43;;557:248;;;;:::o;1042:245::-;1218:13;1249:5;:14;;;;1264:17;1249:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1249:33:78;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1249:33:78;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1249:33:78;;;;;;;;;;;;;;;;1241:41;;1042:245;;;;:::o;2809:240::-;2981:14;3014:5;:11;;;;3026:17;3014:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3014:30:78;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3014:30:78;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3014:30:78;;;;;;;;;;;;;;;;3005:39;;2809:240;;;;:::o;744:179:80:-;871:13;902:5;:14;;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;902:16:80;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;902:16:80;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;902:16:80;;;;;;;;;;;;;;;;894:24;;744:179;;;:::o;2258:292:78:-;2461:13;2492:5;:19;;;;2512:17;2531:13;2492:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2492:53:78;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2492:53:78;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2492:53:78;;;;;;;;;;;;;;;;2484:61;;2258:292;;;;;:::o;1653:224:80:-;1807:13;1838:5;:19;;;;1858:13;1838:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1838:34:80;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1838:34:80;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1838:34:80;;;;;;;;;;;;;;;;1830:42;;1653:224;;;;:::o;1627:284:78:-;1826:13;1857:5;:15;;;;1873:17;1892:13;1857:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1857:49:78;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1857:49:78;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1857:49:78;;;;;;;;;;;;;;;;1849:57;;1627:284;;;;;:::o;1176:216:80:-;1326:13;1357:5;:15;;;;1373:13;1357:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1357:30:80;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1357:30:80;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1357:30:80;;;;;;;;;;;;;;;;1349:38;;1176:216;;;;:::o", + "source": "pragma solidity ^0.4.16;\n\nimport \"@digix/solidity-collections/contracts/abstract/IndexedAddressIteratorStorage.sol\";\nimport \"@digix/solidity-collections/contracts/abstract/UintIteratorStorage.sol\";\n\n/**\n@title Directory Storage contains information of a directory\n@author DigixGlobal\n*/\ncontract DirectoryStorage is IndexedAddressIteratorStorage, UintIteratorStorage {\n\n using DoublyLinkedList for DoublyLinkedList.IndexedAddress;\n using DoublyLinkedList for DoublyLinkedList.Uint;\n\n struct User {\n bytes32 document;\n bool active;\n }\n\n struct Group {\n bytes32 name;\n bytes32 document;\n uint256 role_id;\n mapping(address => User) members_by_address;\n }\n\n struct System {\n DoublyLinkedList.Uint groups;\n DoublyLinkedList.IndexedAddress groups_collection;\n mapping (uint256 => Group) groups_by_id;\n mapping (address => uint256) group_ids_by_address;\n mapping (uint256 => bytes32) roles_by_id;\n bool initialized;\n uint256 total_groups;\n }\n\n System system;\n\n /**\n @notice Initializes directory settings\n @return _success If directory initialization is successful\n */\n function initialize_directory()\n internal\n returns (bool _success)\n {\n require(system.initialized == false);\n system.total_groups = 0;\n system.initialized = true;\n internal_create_role(1, \"root\");\n internal_create_group(1, \"root\", \"\");\n _success = internal_update_add_user_to_group(1, tx.origin, \"\");\n }\n\n /**\n @notice Creates a new role with the given information\n @param _role_id Id of the new role\n @param _name Name of the new role\n @return {\"_success\": \"If creation of new role is successful\"}\n */\n function internal_create_role(uint256 _role_id, bytes32 _name)\n internal\n returns (bool _success)\n {\n require(_role_id > 0);\n require(_name != bytes32(0x0));\n system.roles_by_id[_role_id] = _name;\n _success = true;\n }\n\n /**\n @notice Returns the role's name of a role id\n @param _role_id Id of the role\n @return {\"_name\": \"Name of the role\"}\n */\n function read_role(uint256 _role_id)\n public\n constant\n returns (bytes32 _name)\n {\n _name = system.roles_by_id[_role_id];\n }\n\n /**\n @notice Creates a new group with the given information\n @param _role_id Role id of the new group\n @param _name Name of the new group\n @param _document Document of the new group\n @return {\n \"_success\": \"If creation of the new group is successful\",\n \"_group_id: \"Id of the new group\"\n }\n */\n function internal_create_group(uint256 _role_id, bytes32 _name, bytes32 _document)\n internal\n returns (bool _success, uint256 _group_id)\n {\n require(_role_id > 0);\n require(read_role(_role_id) != bytes32(0x0));\n _group_id = ++system.total_groups;\n system.groups.append(_group_id);\n system.groups_by_id[_group_id].role_id = _role_id;\n system.groups_by_id[_group_id].name = _name;\n system.groups_by_id[_group_id].document = _document;\n _success = true;\n }\n\n /**\n @notice Returns the group's information\n @param _group_id Id of the group\n @return {\n \"_role_id\": \"Role id of the group\",\n \"_name: \"Name of the group\",\n \"_document: \"Document of the group\"\n }\n */\n function read_group(uint256 _group_id)\n public\n constant\n returns (uint256 _role_id, bytes32 _name, bytes32 _document, uint256 _members_count)\n {\n if (system.groups.valid_item(_group_id)) {\n _role_id = system.groups_by_id[_group_id].role_id;\n _name = system.groups_by_id[_group_id].name;\n _document = system.groups_by_id[_group_id].document;\n _members_count = read_total_indexed_addresses(system.groups_collection, bytes32(_group_id));\n } else {\n _role_id = 0;\n _name = \"invalid\";\n _document = \"\";\n _members_count = 0;\n }\n }\n\n /**\n @notice Adds new user with the given information to a group\n @param _group_id Id of the group\n @param _user Address of the new user\n @param _document Information of the new user\n @return {\"_success\": \"If adding new user to a group is successful\"}\n */\n function internal_update_add_user_to_group(uint256 _group_id, address _user, bytes32 _document)\n internal\n returns (bool _success)\n {\n if (system.groups_by_id[_group_id].members_by_address[_user].active == false && system.group_ids_by_address[_user] == 0 && system.groups_by_id[_group_id].role_id != 0) {\n\n system.groups_by_id[_group_id].members_by_address[_user].active = true;\n system.group_ids_by_address[_user] = _group_id;\n system.groups_collection.append(bytes32(_group_id), _user);\n system.groups_by_id[_group_id].members_by_address[_user].document = _document;\n _success = true;\n } else {\n _success = false;\n }\n }\n\n /**\n @notice Removes user from its group\n @param _user Address of the user\n @return {\"_success\": \"If removing of user is successful\"}\n */\n function internal_destroy_group_user(address _user)\n internal\n returns (bool _success)\n {\n uint256 _group_id = system.group_ids_by_address[_user];\n if ((_group_id == 1) && (system.groups_collection.total(bytes32(_group_id)) == 1)) {\n _success = false;\n } else {\n system.groups_by_id[_group_id].members_by_address[_user].active = false;\n system.group_ids_by_address[_user] = 0;\n delete system.groups_by_id[_group_id].members_by_address[_user];\n _success = system.groups_collection.remove_item(bytes32(_group_id), _user);\n }\n }\n\n /**\n @notice Returns the role id of a user\n @param _user Address of a user\n @return {\"_role_id\": \"Role id of the user\"}\n */\n function read_user_role_id(address _user)\n constant\n public\n returns (uint256 _role_id)\n {\n uint256 _group_id = system.group_ids_by_address[_user];\n _role_id = system.groups_by_id[_group_id].role_id;\n }\n\n /**\n @notice Returns the user's information\n @param _user Address of the user\n @return {\n \"_group_id\": \"Group id of the user\",\n \"_role_id\": \"Role id of the user\",\n \"_document\": \"Information of the user\"\n }\n */\n function read_user(address _user)\n public\n constant\n returns (uint256 _group_id, uint256 _role_id, bytes32 _document)\n {\n _group_id = system.group_ids_by_address[_user];\n _role_id = system.groups_by_id[_group_id].role_id;\n _document = system.groups_by_id[_group_id].members_by_address[_user].document;\n }\n\n /**\n @notice Returns the id of the first group\n @return {\"_group_id\": \"Id of the first group\"}\n */\n function read_first_group()\n view\n external\n returns (uint256 _group_id)\n {\n _group_id = read_first_from_uints(system.groups);\n }\n\n /**\n @notice Returns the id of the last group\n @return {\"_group_id\": \"Id of the last group\"}\n */\n function read_last_group()\n view\n external\n returns (uint256 _group_id)\n {\n _group_id = read_last_from_uints(system.groups);\n }\n\n /**\n @notice Returns the id of the previous group depending on the given current group\n @param _current_group_id Id of the current group\n @return {\"_group_id\": \"Id of the previous group\"}\n */\n function read_previous_group_from_group(uint256 _current_group_id)\n view\n external\n returns (uint256 _group_id)\n {\n _group_id = read_previous_from_uints(system.groups, _current_group_id);\n }\n\n /**\n @notice Returns the id of the next group depending on the given current group\n @param _current_group_id Id of the current group\n @return {\"_group_id\": \"Id of the next group\"}\n */\n function read_next_group_from_group(uint256 _current_group_id)\n view\n external\n returns (uint256 _group_id)\n {\n _group_id = read_next_from_uints(system.groups, _current_group_id);\n }\n\n /**\n @notice Returns the total number of groups\n @return {\"_total_groups\": \"Total number of groups\"}\n */\n function read_total_groups()\n view\n external\n returns (uint256 _total_groups)\n {\n _total_groups = read_total_uints(system.groups);\n }\n\n /**\n @notice Returns the first user of a group\n @param _group_id Id of the group\n @return {\"_user\": \"Address of the user\"}\n */\n function read_first_user_in_group(bytes32 _group_id)\n view\n external\n returns (address _user)\n {\n _user = read_first_from_indexed_addresses(system.groups_collection, bytes32(_group_id));\n }\n\n /**\n @notice Returns the last user of a group\n @param _group_id Id of the group\n @return {\"_user\": \"Address of the user\"}\n */\n function read_last_user_in_group(bytes32 _group_id)\n view\n external\n returns (address _user)\n {\n _user = read_last_from_indexed_addresses(system.groups_collection, bytes32(_group_id));\n }\n\n /**\n @notice Returns the next user of a group depending on the given current user\n @param _group_id Id of the group\n @param _current_user Address of the current user\n @return {\"_user\": \"Address of the next user\"}\n */\n function read_next_user_in_group(bytes32 _group_id, address _current_user)\n view\n external\n returns (address _user)\n {\n _user = read_next_from_indexed_addresses(system.groups_collection, bytes32(_group_id), _current_user);\n }\n\n /**\n @notice Returns the previous user of a group depending on the given current user\n @param _group_id Id of the group\n @param _current_user Address of the current user\n @return {\"_user\": \"Address of the last user\"}\n */\n function read_previous_user_in_group(bytes32 _group_id, address _current_user)\n view\n external\n returns (address _user)\n {\n _user = read_previous_from_indexed_addresses(system.groups_collection, bytes32(_group_id), _current_user);\n }\n\n /**\n @notice Returns the total number of users of a group\n @param _group_id Id of the group\n @return {\"_total_users\": \"Total number of users\"}\n */\n function read_total_users_in_group(bytes32 _group_id)\n view\n external\n returns (uint256 _total_users)\n {\n _total_users = read_total_indexed_addresses(system.groups_collection, bytes32(_group_id));\n }\n}\n", + "sourcePath": "@digix/cdap/contracts/storage/DirectoryStorage.sol", + "ast": { + "absolutePath": "@digix/cdap/contracts/storage/DirectoryStorage.sol", + "exportedSymbols": { + "DirectoryStorage": [ + 19751 + ] + }, + "id": 19752, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 19060, + "literals": [ + "solidity", + "^", + "0.4", + ".16" + ], + "nodeType": "PragmaDirective", + "src": "0:24:68" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/abstract/IndexedAddressIteratorStorage.sol", + "file": "@digix/solidity-collections/contracts/abstract/IndexedAddressIteratorStorage.sol", + "id": 19061, + "nodeType": "ImportDirective", + "scope": 19752, + "sourceUnit": 22578, + "src": "26:90:68", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/abstract/UintIteratorStorage.sol", + "file": "@digix/solidity-collections/contracts/abstract/UintIteratorStorage.sol", + "id": 19062, + "nodeType": "ImportDirective", + "scope": 19752, + "sourceUnit": 22988, + "src": "117:80:68", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 19063, + "name": "IndexedAddressIteratorStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 22577, + "src": "316:29:68", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IndexedAddressIteratorStorage_$22577", + "typeString": "contract IndexedAddressIteratorStorage" + } + }, + "id": 19064, + "nodeType": "InheritanceSpecifier", + "src": "316:29:68" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 19065, + "name": "UintIteratorStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 22987, + "src": "347:19:68", + "typeDescriptions": { + "typeIdentifier": "t_contract$_UintIteratorStorage_$22987", + "typeString": "contract UintIteratorStorage" + } + }, + "id": 19066, + "nodeType": "InheritanceSpecifier", + "src": "347:19:68" + } + ], + "contractDependencies": [ + 22577, + 22987 + ], + "contractKind": "contract", + "documentation": "@title Directory Storage contains information of a directory\n@author DigixGlobal", + "fullyImplemented": true, + "id": 19751, + "linearizedBaseContracts": [ + 19751, + 22987, + 22577 + ], + "name": "DirectoryStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 19069, + "libraryName": { + "contractScope": null, + "id": 19067, + "name": "DoublyLinkedList", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25546, + "src": "378:16:68", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DoublyLinkedList_$25546", + "typeString": "library DoublyLinkedList" + } + }, + "nodeType": "UsingForDirective", + "src": "372:59:68", + "typeName": { + "contractScope": null, + "id": 19068, + "name": "DoublyLinkedList.IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "399:31:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + } + }, + { + "id": 19072, + "libraryName": { + "contractScope": null, + "id": 19070, + "name": "DoublyLinkedList", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25546, + "src": "440:16:68", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DoublyLinkedList_$25546", + "typeString": "library DoublyLinkedList" + } + }, + "nodeType": "UsingForDirective", + "src": "434:49:68", + "typeName": { + "contractScope": null, + "id": 19071, + "name": "DoublyLinkedList.Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "461:21:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + } + }, + { + "canonicalName": "DirectoryStorage.User", + "id": 19077, + "members": [ + { + "constant": false, + "id": 19074, + "name": "document", + "nodeType": "VariableDeclaration", + "scope": 19077, + "src": "505:16:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19073, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "505:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19076, + "name": "active", + "nodeType": "VariableDeclaration", + "scope": 19077, + "src": "527:11:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19075, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "527:4:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "User", + "nodeType": "StructDefinition", + "scope": 19751, + "src": "487:56:68", + "visibility": "public" + }, + { + "canonicalName": "DirectoryStorage.Group", + "id": 19088, + "members": [ + { + "constant": false, + "id": 19079, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 19088, + "src": "566:12:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19078, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "566:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19081, + "name": "document", + "nodeType": "VariableDeclaration", + "scope": 19088, + "src": "584:16:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19080, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "584:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19083, + "name": "role_id", + "nodeType": "VariableDeclaration", + "scope": 19088, + "src": "606:15:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19082, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "606:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19087, + "name": "members_by_address", + "nodeType": "VariableDeclaration", + "scope": 19088, + "src": "627:43:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$19077_storage_$", + "typeString": "mapping(address => struct DirectoryStorage.User)" + }, + "typeName": { + "id": 19086, + "keyType": { + "id": 19084, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "635:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "627:24:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$19077_storage_$", + "typeString": "mapping(address => struct DirectoryStorage.User)" + }, + "valueType": { + "contractScope": null, + "id": 19085, + "name": "User", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19077, + "src": "646:4:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$19077_storage_ptr", + "typeString": "struct DirectoryStorage.User" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Group", + "nodeType": "StructDefinition", + "scope": 19751, + "src": "547:128:68", + "visibility": "public" + }, + { + "canonicalName": "DirectoryStorage.System", + "id": 19109, + "members": [ + { + "constant": false, + "id": 19090, + "name": "groups", + "nodeType": "VariableDeclaration", + "scope": 19109, + "src": "699:28:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 19089, + "name": "DoublyLinkedList.Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "699:21:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19092, + "name": "groups_collection", + "nodeType": "VariableDeclaration", + "scope": 19109, + "src": "733:49:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 19091, + "name": "DoublyLinkedList.IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "733:31:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19096, + "name": "groups_by_id", + "nodeType": "VariableDeclaration", + "scope": 19109, + "src": "788:39:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group)" + }, + "typeName": { + "id": 19095, + "keyType": { + "id": 19093, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "797:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "788:26:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group)" + }, + "valueType": { + "contractScope": null, + "id": 19094, + "name": "Group", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19088, + "src": "808:5:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage_ptr", + "typeString": "struct DirectoryStorage.Group" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19100, + "name": "group_ids_by_address", + "nodeType": "VariableDeclaration", + "scope": 19109, + "src": "833:49:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 19099, + "keyType": { + "id": 19097, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "842:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "833:28:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 19098, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "853:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19104, + "name": "roles_by_id", + "nodeType": "VariableDeclaration", + "scope": 19109, + "src": "888:40:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", + "typeString": "mapping(uint256 => bytes32)" + }, + "typeName": { + "id": 19103, + "keyType": { + "id": 19101, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "897:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "888:28:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", + "typeString": "mapping(uint256 => bytes32)" + }, + "valueType": { + "id": 19102, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "908:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19106, + "name": "initialized", + "nodeType": "VariableDeclaration", + "scope": 19109, + "src": "934:16:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19105, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "934:4:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19108, + "name": "total_groups", + "nodeType": "VariableDeclaration", + "scope": 19109, + "src": "956:20:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19107, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "956:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "System", + "nodeType": "StructDefinition", + "scope": 19751, + "src": "679:302:68", + "visibility": "public" + }, + { + "constant": false, + "id": 19111, + "name": "system", + "nodeType": "VariableDeclaration", + "scope": 19751, + "src": "985:13:68", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System" + }, + "typeName": { + "contractScope": null, + "id": 19110, + "name": "System", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19109, + "src": "985:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage_ptr", + "typeString": "struct DirectoryStorage.System" + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 19155, + "nodeType": "Block", + "src": "1205:254:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 19120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19117, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "1219:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19118, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "initialized", + "nodeType": "MemberAccess", + "referencedDeclaration": 19106, + "src": "1219:18:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 19119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1241:5:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1219:27:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 19116, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1211:7:68", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 19121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1211:36:68", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19122, + "nodeType": "ExpressionStatement", + "src": "1211:36:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19123, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "1253:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19125, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "total_groups", + "nodeType": "MemberAccess", + "referencedDeclaration": 19108, + "src": "1253:19:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 19126, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1275:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1253:23:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19128, + "nodeType": "ExpressionStatement", + "src": "1253:23:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19129, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "1282:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19131, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "initialized", + "nodeType": "MemberAccess", + "referencedDeclaration": 19106, + "src": "1282:18:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 19132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1303:4:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1282:25:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19134, + "nodeType": "ExpressionStatement", + "src": "1282:25:68" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 19136, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1334:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + { + "argumentTypes": null, + "hexValue": "726f6f74", + "id": 19137, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1337:6:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d6c66cad06fe14fdb6ce9297d80d32f24d7428996d0045cbf90cc345c677ba16", + "typeString": "literal_string \"root\"" + }, + "value": "root" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + { + "typeIdentifier": "t_stringliteral_d6c66cad06fe14fdb6ce9297d80d32f24d7428996d0045cbf90cc345c677ba16", + "typeString": "literal_string \"root\"" + } + ], + "id": 19135, + "name": "internal_create_role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19192, + "src": "1313:20:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (uint256,bytes32) returns (bool)" + } + }, + "id": 19138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1313:31:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19139, + "nodeType": "ExpressionStatement", + "src": "1313:31:68" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 19141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1372:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + { + "argumentTypes": null, + "hexValue": "726f6f74", + "id": 19142, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1375:6:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d6c66cad06fe14fdb6ce9297d80d32f24d7428996d0045cbf90cc345c677ba16", + "typeString": "literal_string \"root\"" + }, + "value": "root" + }, + { + "argumentTypes": null, + "hexValue": "", + "id": 19143, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1383:2:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + { + "typeIdentifier": "t_stringliteral_d6c66cad06fe14fdb6ce9297d80d32f24d7428996d0045cbf90cc345c677ba16", + "typeString": "literal_string \"root\"" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 19140, + "name": "internal_create_group", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19282, + "src": "1350:21:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (uint256,bytes32,bytes32) returns (bool,uint256)" + } + }, + "id": 19144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1350:36:68", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "id": 19145, + "nodeType": "ExpressionStatement", + "src": "1350:36:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19146, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19114, + "src": "1392:8:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 19148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1437:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19149, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26624, + "src": "1440:2:68", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 19150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1440:9:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "hexValue": "", + "id": 19151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1451:2:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 19147, + "name": "internal_update_add_user_to_group", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19445, + "src": "1403:33:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (uint256,address,bytes32) returns (bool)" + } + }, + "id": 19152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1403:51:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1392:62:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19154, + "nodeType": "ExpressionStatement", + "src": "1392:62:68" + } + ] + }, + "documentation": "@notice Initializes directory settings\n@return _success If directory initialization is successful", + "id": 19156, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "initialize_directory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19112, + "nodeType": "ParameterList", + "parameters": [], + "src": "1145:2:68" + }, + "payable": false, + "returnParameters": { + "id": 19115, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19114, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 19156, + "src": "1188:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19113, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1188:4:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1187:15:68" + }, + "scope": 19751, + "src": "1116:343:68", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 19191, + "nodeType": "Block", + "src": "1787:131:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 19168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 19166, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19158, + "src": "1801:8:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 19167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1812:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1801:12:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 19165, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1793:7:68", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 19169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1793:21:68", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19170, + "nodeType": "ExpressionStatement", + "src": "1793:21:68" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 19176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 19172, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19160, + "src": "1828:5:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 19174, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1845:3:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 19173, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1837:7:68", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 19175, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1837:12:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1828:21:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 19171, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1820:7:68", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 19177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1820:30:68", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19178, + "nodeType": "ExpressionStatement", + "src": "1820:30:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19179, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "1856:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19182, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "roles_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19104, + "src": "1856:18:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", + "typeString": "mapping(uint256 => bytes32)" + } + }, + "id": 19183, + "indexExpression": { + "argumentTypes": null, + "id": 19181, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19158, + "src": "1875:8:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1856:28:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 19184, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19160, + "src": "1887:5:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1856:36:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 19186, + "nodeType": "ExpressionStatement", + "src": "1856:36:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19187, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19163, + "src": "1898:8:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 19188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1909:4:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1898:15:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19190, + "nodeType": "ExpressionStatement", + "src": "1898:15:68" + } + ] + }, + "documentation": "@notice Creates a new role with the given information\n@param _role_id Id of the new role\n@param _name Name of the new role\n@return {\"_success\": \"If creation of new role is successful\"}", + "id": 19192, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "internal_create_role", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19161, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19158, + "name": "_role_id", + "nodeType": "VariableDeclaration", + "scope": 19192, + "src": "1697:16:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19157, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1697:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19160, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 19192, + "src": "1715:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19159, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1715:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1696:33:68" + }, + "payable": false, + "returnParameters": { + "id": 19164, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19163, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 19192, + "src": "1770:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19162, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1770:4:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1769:15:68" + }, + "scope": 19751, + "src": "1667:251:68", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 19206, + "nodeType": "Block", + "src": "2165:47:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19199, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19197, + "src": "2171:5:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19200, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "2179:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19201, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "roles_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19104, + "src": "2179:18:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", + "typeString": "mapping(uint256 => bytes32)" + } + }, + "id": 19203, + "indexExpression": { + "argumentTypes": null, + "id": 19202, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19194, + "src": "2198:8:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2179:28:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2171:36:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 19205, + "nodeType": "ExpressionStatement", + "src": "2171:36:68" + } + ] + }, + "documentation": "@notice Returns the role's name of a role id\n@param _role_id Id of the role\n@return {\"_name\": \"Name of the role\"}", + "id": 19207, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_role", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19195, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19194, + "name": "_role_id", + "nodeType": "VariableDeclaration", + "scope": 19207, + "src": "2072:16:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19193, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2072:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2071:18:68" + }, + "payable": false, + "returnParameters": { + "id": 19198, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19197, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 19207, + "src": "2148:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19196, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2148:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2147:15:68" + }, + "scope": 19751, + "src": "2053:159:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19281, + "nodeType": "Block", + "src": "2684:340:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 19223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 19221, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19209, + "src": "2698:8:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 19222, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2709:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2698:12:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 19220, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2690:7:68", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 19224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2690:21:68", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19225, + "nodeType": "ExpressionStatement", + "src": "2690:21:68" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 19233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19228, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19209, + "src": "2735:8:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 19227, + "name": "read_role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19207, + "src": "2725:9:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) view returns (bytes32)" + } + }, + "id": 19229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2725:19:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 19231, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2756:3:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 19230, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2748:7:68", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 19232, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2748:12:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2725:35:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 19226, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2717:7:68", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 19234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2717:44:68", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19235, + "nodeType": "ExpressionStatement", + "src": "2717:44:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19236, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19218, + "src": "2767:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 19239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "2779:21:68", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19237, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "2781:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19238, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "total_groups", + "nodeType": "MemberAccess", + "referencedDeclaration": 19108, + "src": "2781:19:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2767:33:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19241, + "nodeType": "ExpressionStatement", + "src": "2767:33:68" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19247, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19218, + "src": "2827:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19242, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "2806:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19245, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups", + "nodeType": "MemberAccess", + "referencedDeclaration": 19090, + "src": "2806:13:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + } + }, + "id": 19246, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 23761, + "src": "2806:20:68", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Uint_$23038_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_Uint_$23038_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer,uint256) returns (bool)" + } + }, + "id": 19248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2806:31:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19249, + "nodeType": "ExpressionStatement", + "src": "2806:31:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19250, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "2843:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19253, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "2843:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19254, + "indexExpression": { + "argumentTypes": null, + "id": 19252, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19218, + "src": "2863:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2843:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19255, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "role_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19083, + "src": "2843:38:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 19256, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19209, + "src": "2884:8:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2843:49:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19258, + "nodeType": "ExpressionStatement", + "src": "2843:49:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19259, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "2898:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19262, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "2898:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19263, + "indexExpression": { + "argumentTypes": null, + "id": 19261, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19218, + "src": "2918:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2898:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19264, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 19079, + "src": "2898:35:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 19265, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19211, + "src": "2936:5:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2898:43:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 19267, + "nodeType": "ExpressionStatement", + "src": "2898:43:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19268, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "2947:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19271, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "2947:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19272, + "indexExpression": { + "argumentTypes": null, + "id": 19270, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19218, + "src": "2967:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2947:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19273, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "document", + "nodeType": "MemberAccess", + "referencedDeclaration": 19081, + "src": "2947:39:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 19274, + "name": "_document", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19213, + "src": "2989:9:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2947:51:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 19276, + "nodeType": "ExpressionStatement", + "src": "2947:51:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19277, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19216, + "src": "3004:8:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 19278, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3015:4:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "3004:15:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19280, + "nodeType": "ExpressionStatement", + "src": "3004:15:68" + } + ] + }, + "documentation": "@notice Creates a new group with the given information\n@param _role_id Role id of the new group\n@param _name Name of the new group\n@param _document Document of the new group\n@return {\n\"_success\": \"If creation of the new group is successful\",\n\"_group_id: \"Id of the new group\"\n}", + "id": 19282, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "internal_create_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19214, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19209, + "name": "_role_id", + "nodeType": "VariableDeclaration", + "scope": 19282, + "src": "2556:16:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19208, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2556:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19211, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 19282, + "src": "2574:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19210, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2574:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19213, + "name": "_document", + "nodeType": "VariableDeclaration", + "scope": 19282, + "src": "2589:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19212, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2589:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2555:52:68" + }, + "payable": false, + "returnParameters": { + "id": 19219, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19216, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 19282, + "src": "2648:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19215, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2648:4:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19218, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19282, + "src": "2663:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19217, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2663:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2647:34:68" + }, + "scope": 19751, + "src": "2525:499:68", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 19353, + "nodeType": "Block", + "src": "3420:430:68", + "statements": [ + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19298, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19284, + "src": "3455:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19295, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "3430:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19296, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups", + "nodeType": "MemberAccess", + "referencedDeclaration": 19090, + "src": "3430:13:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + } + }, + "id": 19297, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 23916, + "src": "3430:24:68", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Uint_$23038_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_Uint_$23038_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer,uint256) view returns (bool)" + } + }, + "id": 19299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3430:35:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 19351, + "nodeType": "Block", + "src": "3746:100:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19335, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19287, + "src": "3754:8:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 19336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3765:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3754:12:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19338, + "nodeType": "ExpressionStatement", + "src": "3754:12:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19339, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19289, + "src": "3774:5:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "696e76616c6964", + "id": 19340, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3782:9:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ffd7db0f9d5cdeb49c4c9eba649d4dc6d852d64671e65488e57f58584992ac68", + "typeString": "literal_string \"invalid\"" + }, + "value": "invalid" + }, + "src": "3774:17:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 19342, + "nodeType": "ExpressionStatement", + "src": "3774:17:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19343, + "name": "_document", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19291, + "src": "3799:9:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "", + "id": 19344, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3811:2:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "3799:14:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 19346, + "nodeType": "ExpressionStatement", + "src": "3799:14:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19347, + "name": "_members_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19293, + "src": "3821:14:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 19348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3838:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3821:18:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19350, + "nodeType": "ExpressionStatement", + "src": "3821:18:68" + } + ] + }, + "id": 19352, + "nodeType": "IfStatement", + "src": "3426:420:68", + "trueBody": { + "id": 19334, + "nodeType": "Block", + "src": "3467:273:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19300, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19287, + "src": "3475:8:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19301, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "3486:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19302, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "3486:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19304, + "indexExpression": { + "argumentTypes": null, + "id": 19303, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19284, + "src": "3506:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3486:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19305, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "role_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19083, + "src": "3486:38:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3475:49:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19307, + "nodeType": "ExpressionStatement", + "src": "3475:49:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19308, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19289, + "src": "3532:5:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19309, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "3540:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19310, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "3540:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19312, + "indexExpression": { + "argumentTypes": null, + "id": 19311, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19284, + "src": "3560:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3540:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19313, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 19079, + "src": "3540:35:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3532:43:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 19315, + "nodeType": "ExpressionStatement", + "src": "3532:43:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19316, + "name": "_document", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19291, + "src": "3583:9:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19317, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "3595:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19318, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "3595:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19320, + "indexExpression": { + "argumentTypes": null, + "id": 19319, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19284, + "src": "3615:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3595:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19321, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "document", + "nodeType": "MemberAccess", + "referencedDeclaration": 19081, + "src": "3595:39:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3583:51:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 19323, + "nodeType": "ExpressionStatement", + "src": "3583:51:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19324, + "name": "_members_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19293, + "src": "3642:14:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19326, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "3688:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19327, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 19092, + "src": "3688:24:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19329, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19284, + "src": "3722:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 19328, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3714:7:68", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 19330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3714:18:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 19325, + "name": "read_total_indexed_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22576, + "src": "3659:28:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 19331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3659:74:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3642:91:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19333, + "nodeType": "ExpressionStatement", + "src": "3642:91:68" + } + ] + } + } + ] + }, + "documentation": "@notice Returns the group's information\n@param _group_id Id of the group\n@return {\n\"_role_id\": \"Role id of the group\",\n\"_name: \"Name of the group\",\n\"_document: \"Document of the group\"\n}", + "id": 19354, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19285, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19284, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19354, + "src": "3265:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19283, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3265:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3264:19:68" + }, + "payable": false, + "returnParameters": { + "id": 19294, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19287, + "name": "_role_id", + "nodeType": "VariableDeclaration", + "scope": 19354, + "src": "3342:16:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19286, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3342:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19289, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 19354, + "src": "3360:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19288, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3360:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19291, + "name": "_document", + "nodeType": "VariableDeclaration", + "scope": 19354, + "src": "3375:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19290, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3375:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19293, + "name": "_members_count", + "nodeType": "VariableDeclaration", + "scope": 19354, + "src": "3394:22:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19292, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3394:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3341:76:68" + }, + "scope": 19751, + "src": "3245:605:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19444, + "nodeType": "Block", + "src": "4271:529:68", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 19389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 19381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 19374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19365, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "4281:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19366, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "4281:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19368, + "indexExpression": { + "argumentTypes": null, + "id": 19367, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19356, + "src": "4301:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4281:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19369, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "members_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19087, + "src": "4281:49:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$19077_storage_$", + "typeString": "mapping(address => struct DirectoryStorage.User storage ref)" + } + }, + "id": 19371, + "indexExpression": { + "argumentTypes": null, + "id": 19370, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19358, + "src": "4331:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4281:56:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$19077_storage", + "typeString": "struct DirectoryStorage.User storage ref" + } + }, + "id": 19372, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "active", + "nodeType": "MemberAccess", + "referencedDeclaration": 19076, + "src": "4281:63:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 19373, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4348:5:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "4281:72:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 19380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19375, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "4357:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19376, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "group_ids_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19100, + "src": "4357:27:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 19378, + "indexExpression": { + "argumentTypes": null, + "id": 19377, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19358, + "src": "4385:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4357:34:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 19379, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4395:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4357:39:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4281:115:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 19388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19382, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "4400:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19383, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "4400:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19385, + "indexExpression": { + "argumentTypes": null, + "id": 19384, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19356, + "src": "4420:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4400:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19386, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "role_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19083, + "src": "4400:38:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 19387, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4442:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4400:43:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4281:162:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 19442, + "nodeType": "Block", + "src": "4765:31:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19438, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19363, + "src": "4773:8:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 19439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4784:5:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "4773:16:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19441, + "nodeType": "ExpressionStatement", + "src": "4773:16:68" + } + ] + }, + "id": 19443, + "nodeType": "IfStatement", + "src": "4277:519:68", + "trueBody": { + "id": 19437, + "nodeType": "Block", + "src": "4445:314:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19390, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "4454:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19393, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "4454:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19394, + "indexExpression": { + "argumentTypes": null, + "id": 19392, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19356, + "src": "4474:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4454:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19395, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "members_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19087, + "src": "4454:49:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$19077_storage_$", + "typeString": "mapping(address => struct DirectoryStorage.User storage ref)" + } + }, + "id": 19397, + "indexExpression": { + "argumentTypes": null, + "id": 19396, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19358, + "src": "4504:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4454:56:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$19077_storage", + "typeString": "struct DirectoryStorage.User storage ref" + } + }, + "id": 19398, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "active", + "nodeType": "MemberAccess", + "referencedDeclaration": 19076, + "src": "4454:63:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 19399, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4520:4:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4454:70:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19401, + "nodeType": "ExpressionStatement", + "src": "4454:70:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19402, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "4532:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19405, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "group_ids_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19100, + "src": "4532:27:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 19406, + "indexExpression": { + "argumentTypes": null, + "id": 19404, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19358, + "src": "4560:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4532:34:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 19407, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19356, + "src": "4569:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4532:46:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19409, + "nodeType": "ExpressionStatement", + "src": "4532:46:68" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19416, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19356, + "src": "4626:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 19415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4618:7:68", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 19417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4618:18:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 19418, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19358, + "src": "4638:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19410, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "4586:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19413, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 19092, + "src": "4586:24:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + } + }, + "id": 19414, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 24674, + "src": "4586:31:68", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_IndexedAddress_$23024_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32,address) returns (bool)" + } + }, + "id": 19419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4586:58:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19420, + "nodeType": "ExpressionStatement", + "src": "4586:58:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19421, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "4652:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19424, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "4652:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19425, + "indexExpression": { + "argumentTypes": null, + "id": 19423, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19356, + "src": "4672:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4652:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19426, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "members_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19087, + "src": "4652:49:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$19077_storage_$", + "typeString": "mapping(address => struct DirectoryStorage.User storage ref)" + } + }, + "id": 19428, + "indexExpression": { + "argumentTypes": null, + "id": 19427, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19358, + "src": "4702:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4652:56:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$19077_storage", + "typeString": "struct DirectoryStorage.User storage ref" + } + }, + "id": 19429, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "document", + "nodeType": "MemberAccess", + "referencedDeclaration": 19074, + "src": "4652:65:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 19430, + "name": "_document", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19360, + "src": "4720:9:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4652:77:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 19432, + "nodeType": "ExpressionStatement", + "src": "4652:77:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19433, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19363, + "src": "4737:8:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 19434, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4748:4:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4737:15:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19436, + "nodeType": "ExpressionStatement", + "src": "4737:15:68" + } + ] + } + } + ] + }, + "documentation": "@notice Adds new user with the given information to a group\n@param _group_id Id of the group\n@param _user Address of the new user\n@param _document Information of the new user\n@return {\"_success\": \"If adding new user to a group is successful\"}", + "id": 19445, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "internal_update_add_user_to_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19361, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19356, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19445, + "src": "4161:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19355, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4161:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19358, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 19445, + "src": "4180:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19357, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4180:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19360, + "name": "_document", + "nodeType": "VariableDeclaration", + "scope": 19445, + "src": "4195:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19359, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4195:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4160:53:68" + }, + "payable": false, + "returnParameters": { + "id": 19364, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19363, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 19445, + "src": "4254:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19362, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4254:4:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4253:15:68" + }, + "scope": 19751, + "src": "4118:682:68", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 19521, + "nodeType": "Block", + "src": "5057:475:68", + "statements": [ + { + "assignments": [ + 19453 + ], + "declarations": [ + { + "constant": false, + "id": 19453, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19522, + "src": "5063:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19452, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5063:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 19458, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19454, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "5083:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19455, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "group_ids_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19100, + "src": "5083:27:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 19457, + "indexExpression": { + "argumentTypes": null, + "id": 19456, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19447, + "src": "5111:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5083:34:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5063:54:68" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 19473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 19461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 19459, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19453, + "src": "5128:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 19460, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5141:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5128:14:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 19462, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5127:16:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 19471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19467, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19453, + "src": "5187:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 19466, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5179:7:68", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 19468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5179:18:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19463, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "5148:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19464, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 19092, + "src": "5148:24:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + } + }, + "id": 19465, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "total", + "nodeType": "MemberAccess", + "referencedDeclaration": 24739, + "src": "5148:30:68", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$returns$_t_uint256_$bound_to$_t_struct$_IndexedAddress_$23024_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 19469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5148:50:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 19470, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5202:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5148:55:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 19472, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5147:57:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5127:77:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 19519, + "nodeType": "Block", + "src": "5243:285:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19479, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "5251:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19482, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "5251:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19483, + "indexExpression": { + "argumentTypes": null, + "id": 19481, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19453, + "src": "5271:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5251:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19484, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "members_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19087, + "src": "5251:49:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$19077_storage_$", + "typeString": "mapping(address => struct DirectoryStorage.User storage ref)" + } + }, + "id": 19486, + "indexExpression": { + "argumentTypes": null, + "id": 19485, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19447, + "src": "5301:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5251:56:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$19077_storage", + "typeString": "struct DirectoryStorage.User storage ref" + } + }, + "id": 19487, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "active", + "nodeType": "MemberAccess", + "referencedDeclaration": 19076, + "src": "5251:63:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 19488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5317:5:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "5251:71:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19490, + "nodeType": "ExpressionStatement", + "src": "5251:71:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19491, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "5330:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19494, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "group_ids_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19100, + "src": "5330:27:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 19495, + "indexExpression": { + "argumentTypes": null, + "id": 19493, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19447, + "src": "5358:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5330:34:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 19496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5367:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5330:38:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19498, + "nodeType": "ExpressionStatement", + "src": "5330:38:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "5376:63:68", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19499, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "5383:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19500, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "5383:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19502, + "indexExpression": { + "argumentTypes": null, + "id": 19501, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19453, + "src": "5403:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5383:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19503, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "members_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19087, + "src": "5383:49:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$19077_storage_$", + "typeString": "mapping(address => struct DirectoryStorage.User storage ref)" + } + }, + "id": 19505, + "indexExpression": { + "argumentTypes": null, + "id": 19504, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19447, + "src": "5433:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5383:56:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$19077_storage", + "typeString": "struct DirectoryStorage.User storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19507, + "nodeType": "ExpressionStatement", + "src": "5376:63:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19508, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19450, + "src": "5447:8:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19513, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19453, + "src": "5503:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 19512, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5495:7:68", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 19514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5495:18:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 19515, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19447, + "src": "5515:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19509, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "5458:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19510, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 19092, + "src": "5458:24:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + } + }, + "id": 19511, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remove_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 24720, + "src": "5458:36:68", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_IndexedAddress_$23024_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32,address) returns (bool)" + } + }, + "id": 19516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5458:63:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5447:74:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19518, + "nodeType": "ExpressionStatement", + "src": "5447:74:68" + } + ] + }, + "id": 19520, + "nodeType": "IfStatement", + "src": "5123:405:68", + "trueBody": { + "id": 19478, + "nodeType": "Block", + "src": "5206:31:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19474, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19450, + "src": "5214:8:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 19475, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5225:5:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "5214:16:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19477, + "nodeType": "ExpressionStatement", + "src": "5214:16:68" + } + ] + } + } + ] + }, + "documentation": "@notice Removes user from its group\n@param _user Address of the user\n@return {\"_success\": \"If removing of user is successful\"}", + "id": 19522, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "internal_destroy_group_user", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19448, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19447, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 19522, + "src": "4985:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19446, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4985:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4984:15:68" + }, + "payable": false, + "returnParameters": { + "id": 19451, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19450, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 19522, + "src": "5040:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19449, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5040:4:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5039:15:68" + }, + "scope": 19751, + "src": "4948:584:68", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 19544, + "nodeType": "Block", + "src": "5786:120:68", + "statements": [ + { + "assignments": [ + 19530 + ], + "declarations": [ + { + "constant": false, + "id": 19530, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19545, + "src": "5792:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19529, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5792:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 19535, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19531, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "5812:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19532, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "group_ids_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19100, + "src": "5812:27:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 19534, + "indexExpression": { + "argumentTypes": null, + "id": 19533, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19524, + "src": "5840:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5812:34:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5792:54:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19536, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19527, + "src": "5852:8:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19537, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "5863:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19538, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "5863:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19540, + "indexExpression": { + "argumentTypes": null, + "id": 19539, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19530, + "src": "5883:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5863:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19541, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "role_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19083, + "src": "5863:38:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5852:49:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19543, + "nodeType": "ExpressionStatement", + "src": "5852:49:68" + } + ] + }, + "documentation": "@notice Returns the role id of a user\n@param _user Address of a user\n@return {\"_role_id\": \"Role id of the user\"}", + "id": 19545, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_user_role_id", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19525, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19524, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 19545, + "src": "5693:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19523, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5693:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5692:15:68" + }, + "payable": false, + "returnParameters": { + "id": 19528, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19527, + "name": "_role_id", + "nodeType": "VariableDeclaration", + "scope": 19545, + "src": "5766:16:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19526, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5766:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5765:18:68" + }, + "scope": 19751, + "src": "5666:240:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19582, + "nodeType": "Block", + "src": "6286:195:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19556, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19550, + "src": "6292:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19557, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "6304:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19558, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "group_ids_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19100, + "src": "6304:27:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 19560, + "indexExpression": { + "argumentTypes": null, + "id": 19559, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19547, + "src": "6332:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6304:34:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6292:46:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19562, + "nodeType": "ExpressionStatement", + "src": "6292:46:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19563, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19552, + "src": "6344:8:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19564, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "6355:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19565, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "6355:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19567, + "indexExpression": { + "argumentTypes": null, + "id": 19566, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19550, + "src": "6375:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6355:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19568, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "role_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19083, + "src": "6355:38:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6344:49:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19570, + "nodeType": "ExpressionStatement", + "src": "6344:49:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19571, + "name": "_document", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19554, + "src": "6399:9:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19572, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "6411:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19573, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "6411:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19575, + "indexExpression": { + "argumentTypes": null, + "id": 19574, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19550, + "src": "6431:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6411:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19576, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "members_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19087, + "src": "6411:49:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$19077_storage_$", + "typeString": "mapping(address => struct DirectoryStorage.User storage ref)" + } + }, + "id": 19578, + "indexExpression": { + "argumentTypes": null, + "id": 19577, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19547, + "src": "6461:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6411:56:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$19077_storage", + "typeString": "struct DirectoryStorage.User storage ref" + } + }, + "id": 19579, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "document", + "nodeType": "MemberAccess", + "referencedDeclaration": 19074, + "src": "6411:65:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6399:77:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 19581, + "nodeType": "ExpressionStatement", + "src": "6399:77:68" + } + ] + }, + "documentation": "@notice Returns the user's information\n@param _user Address of the user\n@return {\n\"_group_id\": \"Group id of the user\",\n\"_role_id\": \"Role id of the user\",\n\"_document\": \"Information of the user\"\n}", + "id": 19583, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_user", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19548, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19547, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 19583, + "src": "6155:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19546, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6155:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6154:15:68" + }, + "payable": false, + "returnParameters": { + "id": 19555, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19550, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19583, + "src": "6228:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19549, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6228:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19552, + "name": "_role_id", + "nodeType": "VariableDeclaration", + "scope": 19583, + "src": "6247:16:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19551, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6247:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19554, + "name": "_document", + "nodeType": "VariableDeclaration", + "scope": 19583, + "src": "6265:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19553, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6265:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6227:56:68" + }, + "scope": 19751, + "src": "6136:345:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19595, + "nodeType": "Block", + "src": "6694:59:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19588, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19586, + "src": "6700:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19590, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "6734:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19591, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups", + "nodeType": "MemberAccess", + "referencedDeclaration": 19090, + "src": "6734:13:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + } + ], + "id": 19589, + "name": "read_first_from_uints", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22924, + "src": "6712:21:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Uint_$23038_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer) view returns (uint256)" + } + }, + "id": 19592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6712:36:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6700:48:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19594, + "nodeType": "ExpressionStatement", + "src": "6700:48:68" + } + ] + }, + "documentation": "@notice Returns the id of the first group\n@return {\"_group_id\": \"Id of the first group\"}", + "id": 19596, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_first_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19584, + "nodeType": "ParameterList", + "parameters": [], + "src": "6614:2:68" + }, + "payable": false, + "returnParameters": { + "id": 19587, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19586, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19596, + "src": "6673:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19585, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6673:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6672:19:68" + }, + "scope": 19751, + "src": "6589:164:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 19608, + "nodeType": "Block", + "src": "6963:58:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19601, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19599, + "src": "6969:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19603, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "7002:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19604, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups", + "nodeType": "MemberAccess", + "referencedDeclaration": 19090, + "src": "7002:13:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + } + ], + "id": 19602, + "name": "read_last_from_uints", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22938, + "src": "6981:20:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Uint_$23038_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer) view returns (uint256)" + } + }, + "id": 19605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6981:35:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6969:47:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19607, + "nodeType": "ExpressionStatement", + "src": "6969:47:68" + } + ] + }, + "documentation": "@notice Returns the id of the last group\n@return {\"_group_id\": \"Id of the last group\"}", + "id": 19609, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_last_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19597, + "nodeType": "ParameterList", + "parameters": [], + "src": "6883:2:68" + }, + "payable": false, + "returnParameters": { + "id": 19600, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19599, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19609, + "src": "6942:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19598, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6942:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6941:19:68" + }, + "scope": 19751, + "src": "6859:162:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 19624, + "nodeType": "Block", + "src": "7367:81:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19616, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19614, + "src": "7373:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19618, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "7410:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19619, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups", + "nodeType": "MemberAccess", + "referencedDeclaration": 19090, + "src": "7410:13:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + } + }, + { + "argumentTypes": null, + "id": 19620, + "name": "_current_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19611, + "src": "7425:17:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 19617, + "name": "read_previous_from_uints", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22972, + "src": "7385:24:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Uint_$23038_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer,uint256) view returns (uint256)" + } + }, + "id": 19621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7385:58:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7373:70:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19623, + "nodeType": "ExpressionStatement", + "src": "7373:70:68" + } + ] + }, + "documentation": "@notice Returns the id of the previous group depending on the given current group\n@param _current_group_id Id of the current group\n@return {\"_group_id\": \"Id of the previous group\"}", + "id": 19625, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_previous_group_from_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19612, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19611, + "name": "_current_group_id", + "nodeType": "VariableDeclaration", + "scope": 19625, + "src": "7263:25:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19610, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7263:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7262:27:68" + }, + "payable": false, + "returnParameters": { + "id": 19615, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19614, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19625, + "src": "7346:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19613, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7346:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7345:19:68" + }, + "scope": 19751, + "src": "7223:225:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 19640, + "nodeType": "Block", + "src": "7782:77:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19632, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19630, + "src": "7788:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19634, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "7821:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19635, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups", + "nodeType": "MemberAccess", + "referencedDeclaration": 19090, + "src": "7821:13:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + } + }, + { + "argumentTypes": null, + "id": 19636, + "name": "_current_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19627, + "src": "7836:17:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 19633, + "name": "read_next_from_uints", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22955, + "src": "7800:20:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Uint_$23038_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer,uint256) view returns (uint256)" + } + }, + "id": 19637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7800:54:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7788:66:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19639, + "nodeType": "ExpressionStatement", + "src": "7788:66:68" + } + ] + }, + "documentation": "@notice Returns the id of the next group depending on the given current group\n@param _current_group_id Id of the current group\n@return {\"_group_id\": \"Id of the next group\"}", + "id": 19641, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_next_group_from_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19628, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19627, + "name": "_current_group_id", + "nodeType": "VariableDeclaration", + "scope": 19641, + "src": "7678:25:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19626, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7678:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7677:27:68" + }, + "payable": false, + "returnParameters": { + "id": 19631, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19630, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19641, + "src": "7761:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19629, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7761:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7760:19:68" + }, + "scope": 19751, + "src": "7642:217:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 19653, + "nodeType": "Block", + "src": "8083:58:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19646, + "name": "_total_groups", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19644, + "src": "8089:13:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19648, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "8122:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19649, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups", + "nodeType": "MemberAccess", + "referencedDeclaration": 19090, + "src": "8122:13:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + } + ], + "id": 19647, + "name": "read_total_uints", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22986, + "src": "8105:16:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Uint_$23038_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer) view returns (uint256)" + } + }, + "id": 19650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8105:31:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8089:47:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19652, + "nodeType": "ExpressionStatement", + "src": "8089:47:68" + } + ] + }, + "documentation": "@notice Returns the total number of groups\n@return {\"_total_groups\": \"Total number of groups\"}", + "id": 19654, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_total_groups", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19642, + "nodeType": "ParameterList", + "parameters": [], + "src": "7999:2:68" + }, + "payable": false, + "returnParameters": { + "id": 19645, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19644, + "name": "_total_groups", + "nodeType": "VariableDeclaration", + "scope": 19654, + "src": "8058:21:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19643, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8058:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8057:23:68" + }, + "scope": 19751, + "src": "7973:168:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 19671, + "nodeType": "Block", + "src": "8404:98:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19661, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19659, + "src": "8410:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19663, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "8452:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19664, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 19092, + "src": "8452:24:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19666, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19656, + "src": "8486:9:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 19665, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8478:7:68", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 19667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8478:18:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 19662, + "name": "read_first_from_indexed_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22502, + "src": "8418:33:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32) view returns (address)" + } + }, + "id": 19668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8418:79:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8410:87:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 19670, + "nodeType": "ExpressionStatement", + "src": "8410:87:68" + } + ] + }, + "documentation": "@notice Returns the first user of a group\n@param _group_id Id of the group\n@return {\"_user\": \"Address of the user\"}", + "id": 19672, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_first_user_in_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19657, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19656, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19672, + "src": "8312:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19655, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8312:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8311:19:68" + }, + "payable": false, + "returnParameters": { + "id": 19660, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19659, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 19672, + "src": "8387:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19658, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8387:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8386:15:68" + }, + "scope": 19751, + "src": "8278:224:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 19689, + "nodeType": "Block", + "src": "8763:97:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19679, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19677, + "src": "8769:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19681, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "8810:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19682, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 19092, + "src": "8810:24:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19684, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19674, + "src": "8844:9:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 19683, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8836:7:68", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 19685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8836:18:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 19680, + "name": "read_last_from_indexed_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22519, + "src": "8777:32:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32) view returns (address)" + } + }, + "id": 19686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8777:78:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8769:86:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 19688, + "nodeType": "ExpressionStatement", + "src": "8769:86:68" + } + ] + }, + "documentation": "@notice Returns the last user of a group\n@param _group_id Id of the group\n@return {\"_user\": \"Address of the user\"}", + "id": 19690, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_last_user_in_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19675, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19674, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19690, + "src": "8671:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19673, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8671:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8670:19:68" + }, + "payable": false, + "returnParameters": { + "id": 19678, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19677, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 19690, + "src": "8746:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19676, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8746:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8745:15:68" + }, + "scope": 19751, + "src": "8638:222:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 19710, + "nodeType": "Block", + "src": "9236:112:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19699, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19697, + "src": "9242:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19701, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "9283:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19702, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 19092, + "src": "9283:24:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19704, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19692, + "src": "9317:9:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 19703, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9309:7:68", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 19705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9309:18:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 19706, + "name": "_current_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19694, + "src": "9329:13:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19700, + "name": "read_next_from_indexed_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22539, + "src": "9250:32:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$_t_address_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32,address) view returns (address)" + } + }, + "id": 19707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9250:93:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9242:101:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 19709, + "nodeType": "ExpressionStatement", + "src": "9242:101:68" + } + ] + }, + "documentation": "@notice Returns the next user of a group depending on the given current user\n@param _group_id Id of the group\n@param _current_user Address of the current user\n@return {\"_user\": \"Address of the next user\"}", + "id": 19711, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_next_user_in_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19695, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19692, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19711, + "src": "9121:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19691, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9121:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19694, + "name": "_current_user", + "nodeType": "VariableDeclaration", + "scope": 19711, + "src": "9140:21:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19693, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9140:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9120:42:68" + }, + "payable": false, + "returnParameters": { + "id": 19698, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19697, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 19711, + "src": "9219:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19696, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9219:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9218:15:68" + }, + "scope": 19751, + "src": "9088:260:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 19731, + "nodeType": "Block", + "src": "9732:116:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19720, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19718, + "src": "9738:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19722, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "9783:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19723, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 19092, + "src": "9783:24:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19725, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19713, + "src": "9817:9:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 19724, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9809:7:68", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 19726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9809:18:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 19727, + "name": "_current_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19715, + "src": "9829:13:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19721, + "name": "read_previous_from_indexed_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22559, + "src": "9746:36:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$_t_address_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32,address) view returns (address)" + } + }, + "id": 19728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9746:97:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9738:105:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 19730, + "nodeType": "ExpressionStatement", + "src": "9738:105:68" + } + ] + }, + "documentation": "@notice Returns the previous user of a group depending on the given current user\n@param _group_id Id of the group\n@param _current_user Address of the current user\n@return {\"_user\": \"Address of the last user\"}", + "id": 19732, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_previous_user_in_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19716, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19713, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19732, + "src": "9617:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19712, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9617:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19715, + "name": "_current_user", + "nodeType": "VariableDeclaration", + "scope": 19732, + "src": "9636:21:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19714, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9636:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9616:42:68" + }, + "payable": false, + "returnParameters": { + "id": 19719, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19718, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 19732, + "src": "9715:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19717, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9715:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9714:15:68" + }, + "scope": 19751, + "src": "9580:268:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 19749, + "nodeType": "Block", + "src": "10139:100:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19739, + "name": "_total_users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19737, + "src": "10145:12:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19741, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "10189:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19742, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 19092, + "src": "10189:24:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19744, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19734, + "src": "10223:9:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 19743, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10215:7:68", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 19745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10215:18:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 19740, + "name": "read_total_indexed_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22576, + "src": "10160:28:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 19746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10160:74:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10145:89:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19748, + "nodeType": "ExpressionStatement", + "src": "10145:89:68" + } + ] + }, + "documentation": "@notice Returns the total number of users of a group\n@param _group_id Id of the group\n@return {\"_total_users\": \"Total number of users\"}", + "id": 19750, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_total_users_in_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19735, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19734, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19750, + "src": "10040:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19733, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10040:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10039:19:68" + }, + "payable": false, + "returnParameters": { + "id": 19738, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19737, + "name": "_total_users", + "nodeType": "VariableDeclaration", + "scope": 19750, + "src": "10115:20:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19736, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10115:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10114:22:68" + }, + "scope": 19751, + "src": "10005:234:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 19752, + "src": "287:9954:68" + } + ], + "src": "0:10242:68" + }, + "legacyAST": { + "absolutePath": "@digix/cdap/contracts/storage/DirectoryStorage.sol", + "exportedSymbols": { + "DirectoryStorage": [ + 19751 + ] + }, + "id": 19752, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 19060, + "literals": [ + "solidity", + "^", + "0.4", + ".16" + ], + "nodeType": "PragmaDirective", + "src": "0:24:68" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/abstract/IndexedAddressIteratorStorage.sol", + "file": "@digix/solidity-collections/contracts/abstract/IndexedAddressIteratorStorage.sol", + "id": 19061, + "nodeType": "ImportDirective", + "scope": 19752, + "sourceUnit": 22578, + "src": "26:90:68", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/abstract/UintIteratorStorage.sol", + "file": "@digix/solidity-collections/contracts/abstract/UintIteratorStorage.sol", + "id": 19062, + "nodeType": "ImportDirective", + "scope": 19752, + "sourceUnit": 22988, + "src": "117:80:68", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 19063, + "name": "IndexedAddressIteratorStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 22577, + "src": "316:29:68", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IndexedAddressIteratorStorage_$22577", + "typeString": "contract IndexedAddressIteratorStorage" + } + }, + "id": 19064, + "nodeType": "InheritanceSpecifier", + "src": "316:29:68" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 19065, + "name": "UintIteratorStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 22987, + "src": "347:19:68", + "typeDescriptions": { + "typeIdentifier": "t_contract$_UintIteratorStorage_$22987", + "typeString": "contract UintIteratorStorage" + } + }, + "id": 19066, + "nodeType": "InheritanceSpecifier", + "src": "347:19:68" + } + ], + "contractDependencies": [ + 22577, + 22987 + ], + "contractKind": "contract", + "documentation": "@title Directory Storage contains information of a directory\n@author DigixGlobal", + "fullyImplemented": true, + "id": 19751, + "linearizedBaseContracts": [ + 19751, + 22987, + 22577 + ], + "name": "DirectoryStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 19069, + "libraryName": { + "contractScope": null, + "id": 19067, + "name": "DoublyLinkedList", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25546, + "src": "378:16:68", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DoublyLinkedList_$25546", + "typeString": "library DoublyLinkedList" + } + }, + "nodeType": "UsingForDirective", + "src": "372:59:68", + "typeName": { + "contractScope": null, + "id": 19068, + "name": "DoublyLinkedList.IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "399:31:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + } + }, + { + "id": 19072, + "libraryName": { + "contractScope": null, + "id": 19070, + "name": "DoublyLinkedList", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25546, + "src": "440:16:68", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DoublyLinkedList_$25546", + "typeString": "library DoublyLinkedList" + } + }, + "nodeType": "UsingForDirective", + "src": "434:49:68", + "typeName": { + "contractScope": null, + "id": 19071, + "name": "DoublyLinkedList.Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "461:21:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + } + }, + { + "canonicalName": "DirectoryStorage.User", + "id": 19077, + "members": [ + { + "constant": false, + "id": 19074, + "name": "document", + "nodeType": "VariableDeclaration", + "scope": 19077, + "src": "505:16:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19073, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "505:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19076, + "name": "active", + "nodeType": "VariableDeclaration", + "scope": 19077, + "src": "527:11:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19075, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "527:4:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "User", + "nodeType": "StructDefinition", + "scope": 19751, + "src": "487:56:68", + "visibility": "public" + }, + { + "canonicalName": "DirectoryStorage.Group", + "id": 19088, + "members": [ + { + "constant": false, + "id": 19079, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 19088, + "src": "566:12:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19078, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "566:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19081, + "name": "document", + "nodeType": "VariableDeclaration", + "scope": 19088, + "src": "584:16:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19080, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "584:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19083, + "name": "role_id", + "nodeType": "VariableDeclaration", + "scope": 19088, + "src": "606:15:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19082, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "606:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19087, + "name": "members_by_address", + "nodeType": "VariableDeclaration", + "scope": 19088, + "src": "627:43:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$19077_storage_$", + "typeString": "mapping(address => struct DirectoryStorage.User)" + }, + "typeName": { + "id": 19086, + "keyType": { + "id": 19084, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "635:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "627:24:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$19077_storage_$", + "typeString": "mapping(address => struct DirectoryStorage.User)" + }, + "valueType": { + "contractScope": null, + "id": 19085, + "name": "User", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19077, + "src": "646:4:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$19077_storage_ptr", + "typeString": "struct DirectoryStorage.User" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Group", + "nodeType": "StructDefinition", + "scope": 19751, + "src": "547:128:68", + "visibility": "public" + }, + { + "canonicalName": "DirectoryStorage.System", + "id": 19109, + "members": [ + { + "constant": false, + "id": 19090, + "name": "groups", + "nodeType": "VariableDeclaration", + "scope": 19109, + "src": "699:28:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 19089, + "name": "DoublyLinkedList.Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "699:21:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19092, + "name": "groups_collection", + "nodeType": "VariableDeclaration", + "scope": 19109, + "src": "733:49:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 19091, + "name": "DoublyLinkedList.IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "733:31:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19096, + "name": "groups_by_id", + "nodeType": "VariableDeclaration", + "scope": 19109, + "src": "788:39:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group)" + }, + "typeName": { + "id": 19095, + "keyType": { + "id": 19093, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "797:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "788:26:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group)" + }, + "valueType": { + "contractScope": null, + "id": 19094, + "name": "Group", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19088, + "src": "808:5:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage_ptr", + "typeString": "struct DirectoryStorage.Group" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19100, + "name": "group_ids_by_address", + "nodeType": "VariableDeclaration", + "scope": 19109, + "src": "833:49:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 19099, + "keyType": { + "id": 19097, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "842:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "833:28:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 19098, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "853:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19104, + "name": "roles_by_id", + "nodeType": "VariableDeclaration", + "scope": 19109, + "src": "888:40:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", + "typeString": "mapping(uint256 => bytes32)" + }, + "typeName": { + "id": 19103, + "keyType": { + "id": 19101, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "897:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "888:28:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", + "typeString": "mapping(uint256 => bytes32)" + }, + "valueType": { + "id": 19102, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "908:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19106, + "name": "initialized", + "nodeType": "VariableDeclaration", + "scope": 19109, + "src": "934:16:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19105, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "934:4:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19108, + "name": "total_groups", + "nodeType": "VariableDeclaration", + "scope": 19109, + "src": "956:20:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19107, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "956:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "System", + "nodeType": "StructDefinition", + "scope": 19751, + "src": "679:302:68", + "visibility": "public" + }, + { + "constant": false, + "id": 19111, + "name": "system", + "nodeType": "VariableDeclaration", + "scope": 19751, + "src": "985:13:68", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System" + }, + "typeName": { + "contractScope": null, + "id": 19110, + "name": "System", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19109, + "src": "985:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage_ptr", + "typeString": "struct DirectoryStorage.System" + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 19155, + "nodeType": "Block", + "src": "1205:254:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 19120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19117, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "1219:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19118, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "initialized", + "nodeType": "MemberAccess", + "referencedDeclaration": 19106, + "src": "1219:18:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 19119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1241:5:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1219:27:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 19116, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1211:7:68", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 19121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1211:36:68", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19122, + "nodeType": "ExpressionStatement", + "src": "1211:36:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19123, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "1253:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19125, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "total_groups", + "nodeType": "MemberAccess", + "referencedDeclaration": 19108, + "src": "1253:19:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 19126, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1275:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1253:23:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19128, + "nodeType": "ExpressionStatement", + "src": "1253:23:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19129, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "1282:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19131, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "initialized", + "nodeType": "MemberAccess", + "referencedDeclaration": 19106, + "src": "1282:18:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 19132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1303:4:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1282:25:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19134, + "nodeType": "ExpressionStatement", + "src": "1282:25:68" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 19136, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1334:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + { + "argumentTypes": null, + "hexValue": "726f6f74", + "id": 19137, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1337:6:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d6c66cad06fe14fdb6ce9297d80d32f24d7428996d0045cbf90cc345c677ba16", + "typeString": "literal_string \"root\"" + }, + "value": "root" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + { + "typeIdentifier": "t_stringliteral_d6c66cad06fe14fdb6ce9297d80d32f24d7428996d0045cbf90cc345c677ba16", + "typeString": "literal_string \"root\"" + } + ], + "id": 19135, + "name": "internal_create_role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19192, + "src": "1313:20:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (uint256,bytes32) returns (bool)" + } + }, + "id": 19138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1313:31:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19139, + "nodeType": "ExpressionStatement", + "src": "1313:31:68" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 19141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1372:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + { + "argumentTypes": null, + "hexValue": "726f6f74", + "id": 19142, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1375:6:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d6c66cad06fe14fdb6ce9297d80d32f24d7428996d0045cbf90cc345c677ba16", + "typeString": "literal_string \"root\"" + }, + "value": "root" + }, + { + "argumentTypes": null, + "hexValue": "", + "id": 19143, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1383:2:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + { + "typeIdentifier": "t_stringliteral_d6c66cad06fe14fdb6ce9297d80d32f24d7428996d0045cbf90cc345c677ba16", + "typeString": "literal_string \"root\"" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 19140, + "name": "internal_create_group", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19282, + "src": "1350:21:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (uint256,bytes32,bytes32) returns (bool,uint256)" + } + }, + "id": 19144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1350:36:68", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "id": 19145, + "nodeType": "ExpressionStatement", + "src": "1350:36:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19146, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19114, + "src": "1392:8:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 19148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1437:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19149, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26624, + "src": "1440:2:68", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 19150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1440:9:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "hexValue": "", + "id": 19151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1451:2:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 19147, + "name": "internal_update_add_user_to_group", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19445, + "src": "1403:33:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (uint256,address,bytes32) returns (bool)" + } + }, + "id": 19152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1403:51:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1392:62:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19154, + "nodeType": "ExpressionStatement", + "src": "1392:62:68" + } + ] + }, + "documentation": "@notice Initializes directory settings\n@return _success If directory initialization is successful", + "id": 19156, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "initialize_directory", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19112, + "nodeType": "ParameterList", + "parameters": [], + "src": "1145:2:68" + }, + "payable": false, + "returnParameters": { + "id": 19115, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19114, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 19156, + "src": "1188:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19113, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1188:4:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1187:15:68" + }, + "scope": 19751, + "src": "1116:343:68", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 19191, + "nodeType": "Block", + "src": "1787:131:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 19168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 19166, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19158, + "src": "1801:8:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 19167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1812:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1801:12:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 19165, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1793:7:68", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 19169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1793:21:68", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19170, + "nodeType": "ExpressionStatement", + "src": "1793:21:68" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 19176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 19172, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19160, + "src": "1828:5:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 19174, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1845:3:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 19173, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1837:7:68", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 19175, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1837:12:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1828:21:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 19171, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1820:7:68", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 19177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1820:30:68", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19178, + "nodeType": "ExpressionStatement", + "src": "1820:30:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19179, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "1856:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19182, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "roles_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19104, + "src": "1856:18:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", + "typeString": "mapping(uint256 => bytes32)" + } + }, + "id": 19183, + "indexExpression": { + "argumentTypes": null, + "id": 19181, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19158, + "src": "1875:8:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1856:28:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 19184, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19160, + "src": "1887:5:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1856:36:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 19186, + "nodeType": "ExpressionStatement", + "src": "1856:36:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19187, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19163, + "src": "1898:8:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 19188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1909:4:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1898:15:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19190, + "nodeType": "ExpressionStatement", + "src": "1898:15:68" + } + ] + }, + "documentation": "@notice Creates a new role with the given information\n@param _role_id Id of the new role\n@param _name Name of the new role\n@return {\"_success\": \"If creation of new role is successful\"}", + "id": 19192, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "internal_create_role", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19161, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19158, + "name": "_role_id", + "nodeType": "VariableDeclaration", + "scope": 19192, + "src": "1697:16:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19157, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1697:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19160, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 19192, + "src": "1715:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19159, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1715:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1696:33:68" + }, + "payable": false, + "returnParameters": { + "id": 19164, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19163, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 19192, + "src": "1770:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19162, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1770:4:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1769:15:68" + }, + "scope": 19751, + "src": "1667:251:68", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 19206, + "nodeType": "Block", + "src": "2165:47:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19199, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19197, + "src": "2171:5:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19200, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "2179:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19201, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "roles_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19104, + "src": "2179:18:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", + "typeString": "mapping(uint256 => bytes32)" + } + }, + "id": 19203, + "indexExpression": { + "argumentTypes": null, + "id": 19202, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19194, + "src": "2198:8:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2179:28:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2171:36:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 19205, + "nodeType": "ExpressionStatement", + "src": "2171:36:68" + } + ] + }, + "documentation": "@notice Returns the role's name of a role id\n@param _role_id Id of the role\n@return {\"_name\": \"Name of the role\"}", + "id": 19207, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_role", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19195, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19194, + "name": "_role_id", + "nodeType": "VariableDeclaration", + "scope": 19207, + "src": "2072:16:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19193, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2072:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2071:18:68" + }, + "payable": false, + "returnParameters": { + "id": 19198, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19197, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 19207, + "src": "2148:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19196, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2148:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2147:15:68" + }, + "scope": 19751, + "src": "2053:159:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19281, + "nodeType": "Block", + "src": "2684:340:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 19223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 19221, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19209, + "src": "2698:8:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 19222, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2709:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2698:12:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 19220, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2690:7:68", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 19224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2690:21:68", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19225, + "nodeType": "ExpressionStatement", + "src": "2690:21:68" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 19233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19228, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19209, + "src": "2735:8:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 19227, + "name": "read_role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19207, + "src": "2725:9:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) view returns (bytes32)" + } + }, + "id": 19229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2725:19:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 19231, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2756:3:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 19230, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2748:7:68", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 19232, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2748:12:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2725:35:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 19226, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2717:7:68", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 19234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2717:44:68", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19235, + "nodeType": "ExpressionStatement", + "src": "2717:44:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19236, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19218, + "src": "2767:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 19239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "2779:21:68", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19237, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "2781:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19238, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "total_groups", + "nodeType": "MemberAccess", + "referencedDeclaration": 19108, + "src": "2781:19:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2767:33:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19241, + "nodeType": "ExpressionStatement", + "src": "2767:33:68" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19247, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19218, + "src": "2827:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19242, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "2806:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19245, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups", + "nodeType": "MemberAccess", + "referencedDeclaration": 19090, + "src": "2806:13:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + } + }, + "id": 19246, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 23761, + "src": "2806:20:68", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Uint_$23038_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_Uint_$23038_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer,uint256) returns (bool)" + } + }, + "id": 19248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2806:31:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19249, + "nodeType": "ExpressionStatement", + "src": "2806:31:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19250, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "2843:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19253, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "2843:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19254, + "indexExpression": { + "argumentTypes": null, + "id": 19252, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19218, + "src": "2863:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2843:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19255, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "role_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19083, + "src": "2843:38:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 19256, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19209, + "src": "2884:8:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2843:49:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19258, + "nodeType": "ExpressionStatement", + "src": "2843:49:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19259, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "2898:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19262, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "2898:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19263, + "indexExpression": { + "argumentTypes": null, + "id": 19261, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19218, + "src": "2918:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2898:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19264, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 19079, + "src": "2898:35:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 19265, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19211, + "src": "2936:5:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2898:43:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 19267, + "nodeType": "ExpressionStatement", + "src": "2898:43:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19268, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "2947:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19271, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "2947:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19272, + "indexExpression": { + "argumentTypes": null, + "id": 19270, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19218, + "src": "2967:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2947:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19273, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "document", + "nodeType": "MemberAccess", + "referencedDeclaration": 19081, + "src": "2947:39:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 19274, + "name": "_document", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19213, + "src": "2989:9:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2947:51:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 19276, + "nodeType": "ExpressionStatement", + "src": "2947:51:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19277, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19216, + "src": "3004:8:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 19278, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3015:4:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "3004:15:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19280, + "nodeType": "ExpressionStatement", + "src": "3004:15:68" + } + ] + }, + "documentation": "@notice Creates a new group with the given information\n@param _role_id Role id of the new group\n@param _name Name of the new group\n@param _document Document of the new group\n@return {\n\"_success\": \"If creation of the new group is successful\",\n\"_group_id: \"Id of the new group\"\n}", + "id": 19282, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "internal_create_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19214, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19209, + "name": "_role_id", + "nodeType": "VariableDeclaration", + "scope": 19282, + "src": "2556:16:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19208, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2556:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19211, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 19282, + "src": "2574:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19210, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2574:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19213, + "name": "_document", + "nodeType": "VariableDeclaration", + "scope": 19282, + "src": "2589:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19212, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2589:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2555:52:68" + }, + "payable": false, + "returnParameters": { + "id": 19219, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19216, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 19282, + "src": "2648:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19215, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2648:4:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19218, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19282, + "src": "2663:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19217, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2663:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2647:34:68" + }, + "scope": 19751, + "src": "2525:499:68", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 19353, + "nodeType": "Block", + "src": "3420:430:68", + "statements": [ + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19298, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19284, + "src": "3455:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19295, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "3430:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19296, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups", + "nodeType": "MemberAccess", + "referencedDeclaration": 19090, + "src": "3430:13:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + } + }, + "id": 19297, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 23916, + "src": "3430:24:68", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Uint_$23038_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_Uint_$23038_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer,uint256) view returns (bool)" + } + }, + "id": 19299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3430:35:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 19351, + "nodeType": "Block", + "src": "3746:100:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19335, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19287, + "src": "3754:8:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 19336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3765:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3754:12:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19338, + "nodeType": "ExpressionStatement", + "src": "3754:12:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19339, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19289, + "src": "3774:5:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "696e76616c6964", + "id": 19340, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3782:9:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ffd7db0f9d5cdeb49c4c9eba649d4dc6d852d64671e65488e57f58584992ac68", + "typeString": "literal_string \"invalid\"" + }, + "value": "invalid" + }, + "src": "3774:17:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 19342, + "nodeType": "ExpressionStatement", + "src": "3774:17:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19343, + "name": "_document", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19291, + "src": "3799:9:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "", + "id": 19344, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3811:2:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "3799:14:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 19346, + "nodeType": "ExpressionStatement", + "src": "3799:14:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19347, + "name": "_members_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19293, + "src": "3821:14:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 19348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3838:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3821:18:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19350, + "nodeType": "ExpressionStatement", + "src": "3821:18:68" + } + ] + }, + "id": 19352, + "nodeType": "IfStatement", + "src": "3426:420:68", + "trueBody": { + "id": 19334, + "nodeType": "Block", + "src": "3467:273:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19300, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19287, + "src": "3475:8:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19301, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "3486:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19302, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "3486:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19304, + "indexExpression": { + "argumentTypes": null, + "id": 19303, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19284, + "src": "3506:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3486:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19305, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "role_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19083, + "src": "3486:38:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3475:49:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19307, + "nodeType": "ExpressionStatement", + "src": "3475:49:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19308, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19289, + "src": "3532:5:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19309, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "3540:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19310, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "3540:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19312, + "indexExpression": { + "argumentTypes": null, + "id": 19311, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19284, + "src": "3560:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3540:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19313, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 19079, + "src": "3540:35:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3532:43:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 19315, + "nodeType": "ExpressionStatement", + "src": "3532:43:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19316, + "name": "_document", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19291, + "src": "3583:9:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19317, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "3595:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19318, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "3595:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19320, + "indexExpression": { + "argumentTypes": null, + "id": 19319, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19284, + "src": "3615:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3595:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19321, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "document", + "nodeType": "MemberAccess", + "referencedDeclaration": 19081, + "src": "3595:39:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3583:51:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 19323, + "nodeType": "ExpressionStatement", + "src": "3583:51:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19324, + "name": "_members_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19293, + "src": "3642:14:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19326, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "3688:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19327, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 19092, + "src": "3688:24:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19329, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19284, + "src": "3722:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 19328, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3714:7:68", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 19330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3714:18:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 19325, + "name": "read_total_indexed_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22576, + "src": "3659:28:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 19331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3659:74:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3642:91:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19333, + "nodeType": "ExpressionStatement", + "src": "3642:91:68" + } + ] + } + } + ] + }, + "documentation": "@notice Returns the group's information\n@param _group_id Id of the group\n@return {\n\"_role_id\": \"Role id of the group\",\n\"_name: \"Name of the group\",\n\"_document: \"Document of the group\"\n}", + "id": 19354, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19285, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19284, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19354, + "src": "3265:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19283, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3265:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3264:19:68" + }, + "payable": false, + "returnParameters": { + "id": 19294, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19287, + "name": "_role_id", + "nodeType": "VariableDeclaration", + "scope": 19354, + "src": "3342:16:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19286, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3342:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19289, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 19354, + "src": "3360:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19288, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3360:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19291, + "name": "_document", + "nodeType": "VariableDeclaration", + "scope": 19354, + "src": "3375:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19290, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3375:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19293, + "name": "_members_count", + "nodeType": "VariableDeclaration", + "scope": 19354, + "src": "3394:22:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19292, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3394:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3341:76:68" + }, + "scope": 19751, + "src": "3245:605:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19444, + "nodeType": "Block", + "src": "4271:529:68", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 19389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 19381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 19374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19365, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "4281:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19366, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "4281:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19368, + "indexExpression": { + "argumentTypes": null, + "id": 19367, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19356, + "src": "4301:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4281:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19369, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "members_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19087, + "src": "4281:49:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$19077_storage_$", + "typeString": "mapping(address => struct DirectoryStorage.User storage ref)" + } + }, + "id": 19371, + "indexExpression": { + "argumentTypes": null, + "id": 19370, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19358, + "src": "4331:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4281:56:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$19077_storage", + "typeString": "struct DirectoryStorage.User storage ref" + } + }, + "id": 19372, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "active", + "nodeType": "MemberAccess", + "referencedDeclaration": 19076, + "src": "4281:63:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 19373, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4348:5:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "4281:72:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 19380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19375, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "4357:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19376, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "group_ids_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19100, + "src": "4357:27:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 19378, + "indexExpression": { + "argumentTypes": null, + "id": 19377, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19358, + "src": "4385:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4357:34:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 19379, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4395:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4357:39:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4281:115:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 19388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19382, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "4400:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19383, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "4400:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19385, + "indexExpression": { + "argumentTypes": null, + "id": 19384, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19356, + "src": "4420:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4400:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19386, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "role_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19083, + "src": "4400:38:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 19387, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4442:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4400:43:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4281:162:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 19442, + "nodeType": "Block", + "src": "4765:31:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19438, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19363, + "src": "4773:8:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 19439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4784:5:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "4773:16:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19441, + "nodeType": "ExpressionStatement", + "src": "4773:16:68" + } + ] + }, + "id": 19443, + "nodeType": "IfStatement", + "src": "4277:519:68", + "trueBody": { + "id": 19437, + "nodeType": "Block", + "src": "4445:314:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19390, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "4454:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19393, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "4454:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19394, + "indexExpression": { + "argumentTypes": null, + "id": 19392, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19356, + "src": "4474:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4454:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19395, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "members_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19087, + "src": "4454:49:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$19077_storage_$", + "typeString": "mapping(address => struct DirectoryStorage.User storage ref)" + } + }, + "id": 19397, + "indexExpression": { + "argumentTypes": null, + "id": 19396, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19358, + "src": "4504:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4454:56:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$19077_storage", + "typeString": "struct DirectoryStorage.User storage ref" + } + }, + "id": 19398, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "active", + "nodeType": "MemberAccess", + "referencedDeclaration": 19076, + "src": "4454:63:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 19399, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4520:4:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4454:70:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19401, + "nodeType": "ExpressionStatement", + "src": "4454:70:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19402, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "4532:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19405, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "group_ids_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19100, + "src": "4532:27:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 19406, + "indexExpression": { + "argumentTypes": null, + "id": 19404, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19358, + "src": "4560:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4532:34:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 19407, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19356, + "src": "4569:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4532:46:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19409, + "nodeType": "ExpressionStatement", + "src": "4532:46:68" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19416, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19356, + "src": "4626:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 19415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4618:7:68", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 19417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4618:18:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 19418, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19358, + "src": "4638:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19410, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "4586:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19413, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 19092, + "src": "4586:24:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + } + }, + "id": 19414, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 24674, + "src": "4586:31:68", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_IndexedAddress_$23024_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32,address) returns (bool)" + } + }, + "id": 19419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4586:58:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19420, + "nodeType": "ExpressionStatement", + "src": "4586:58:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19421, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "4652:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19424, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "4652:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19425, + "indexExpression": { + "argumentTypes": null, + "id": 19423, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19356, + "src": "4672:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4652:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19426, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "members_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19087, + "src": "4652:49:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$19077_storage_$", + "typeString": "mapping(address => struct DirectoryStorage.User storage ref)" + } + }, + "id": 19428, + "indexExpression": { + "argumentTypes": null, + "id": 19427, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19358, + "src": "4702:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4652:56:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$19077_storage", + "typeString": "struct DirectoryStorage.User storage ref" + } + }, + "id": 19429, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "document", + "nodeType": "MemberAccess", + "referencedDeclaration": 19074, + "src": "4652:65:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 19430, + "name": "_document", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19360, + "src": "4720:9:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4652:77:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 19432, + "nodeType": "ExpressionStatement", + "src": "4652:77:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19433, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19363, + "src": "4737:8:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 19434, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4748:4:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4737:15:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19436, + "nodeType": "ExpressionStatement", + "src": "4737:15:68" + } + ] + } + } + ] + }, + "documentation": "@notice Adds new user with the given information to a group\n@param _group_id Id of the group\n@param _user Address of the new user\n@param _document Information of the new user\n@return {\"_success\": \"If adding new user to a group is successful\"}", + "id": 19445, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "internal_update_add_user_to_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19361, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19356, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19445, + "src": "4161:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19355, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4161:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19358, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 19445, + "src": "4180:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19357, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4180:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19360, + "name": "_document", + "nodeType": "VariableDeclaration", + "scope": 19445, + "src": "4195:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19359, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4195:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4160:53:68" + }, + "payable": false, + "returnParameters": { + "id": 19364, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19363, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 19445, + "src": "4254:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19362, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4254:4:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4253:15:68" + }, + "scope": 19751, + "src": "4118:682:68", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 19521, + "nodeType": "Block", + "src": "5057:475:68", + "statements": [ + { + "assignments": [ + 19453 + ], + "declarations": [ + { + "constant": false, + "id": 19453, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19522, + "src": "5063:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19452, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5063:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 19458, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19454, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "5083:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19455, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "group_ids_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19100, + "src": "5083:27:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 19457, + "indexExpression": { + "argumentTypes": null, + "id": 19456, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19447, + "src": "5111:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5083:34:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5063:54:68" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 19473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 19461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 19459, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19453, + "src": "5128:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 19460, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5141:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5128:14:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 19462, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5127:16:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 19471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19467, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19453, + "src": "5187:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 19466, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5179:7:68", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 19468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5179:18:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19463, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "5148:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19464, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 19092, + "src": "5148:24:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + } + }, + "id": 19465, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "total", + "nodeType": "MemberAccess", + "referencedDeclaration": 24739, + "src": "5148:30:68", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$returns$_t_uint256_$bound_to$_t_struct$_IndexedAddress_$23024_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 19469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5148:50:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 19470, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5202:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5148:55:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 19472, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5147:57:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5127:77:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 19519, + "nodeType": "Block", + "src": "5243:285:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19479, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "5251:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19482, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "5251:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19483, + "indexExpression": { + "argumentTypes": null, + "id": 19481, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19453, + "src": "5271:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5251:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19484, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "members_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19087, + "src": "5251:49:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$19077_storage_$", + "typeString": "mapping(address => struct DirectoryStorage.User storage ref)" + } + }, + "id": 19486, + "indexExpression": { + "argumentTypes": null, + "id": 19485, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19447, + "src": "5301:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5251:56:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$19077_storage", + "typeString": "struct DirectoryStorage.User storage ref" + } + }, + "id": 19487, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "active", + "nodeType": "MemberAccess", + "referencedDeclaration": 19076, + "src": "5251:63:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 19488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5317:5:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "5251:71:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19490, + "nodeType": "ExpressionStatement", + "src": "5251:71:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19491, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "5330:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19494, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "group_ids_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19100, + "src": "5330:27:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 19495, + "indexExpression": { + "argumentTypes": null, + "id": 19493, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19447, + "src": "5358:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5330:34:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 19496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5367:1:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5330:38:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19498, + "nodeType": "ExpressionStatement", + "src": "5330:38:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "5376:63:68", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19499, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "5383:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19500, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "5383:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19502, + "indexExpression": { + "argumentTypes": null, + "id": 19501, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19453, + "src": "5403:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5383:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19503, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "members_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19087, + "src": "5383:49:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$19077_storage_$", + "typeString": "mapping(address => struct DirectoryStorage.User storage ref)" + } + }, + "id": 19505, + "indexExpression": { + "argumentTypes": null, + "id": 19504, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19447, + "src": "5433:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5383:56:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$19077_storage", + "typeString": "struct DirectoryStorage.User storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19507, + "nodeType": "ExpressionStatement", + "src": "5376:63:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19508, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19450, + "src": "5447:8:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19513, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19453, + "src": "5503:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 19512, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5495:7:68", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 19514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5495:18:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 19515, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19447, + "src": "5515:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19509, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "5458:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19510, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 19092, + "src": "5458:24:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + } + }, + "id": 19511, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remove_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 24720, + "src": "5458:36:68", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_IndexedAddress_$23024_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32,address) returns (bool)" + } + }, + "id": 19516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5458:63:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5447:74:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19518, + "nodeType": "ExpressionStatement", + "src": "5447:74:68" + } + ] + }, + "id": 19520, + "nodeType": "IfStatement", + "src": "5123:405:68", + "trueBody": { + "id": 19478, + "nodeType": "Block", + "src": "5206:31:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19474, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19450, + "src": "5214:8:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 19475, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5225:5:68", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "5214:16:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19477, + "nodeType": "ExpressionStatement", + "src": "5214:16:68" + } + ] + } + } + ] + }, + "documentation": "@notice Removes user from its group\n@param _user Address of the user\n@return {\"_success\": \"If removing of user is successful\"}", + "id": 19522, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "internal_destroy_group_user", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19448, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19447, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 19522, + "src": "4985:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19446, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4985:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4984:15:68" + }, + "payable": false, + "returnParameters": { + "id": 19451, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19450, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 19522, + "src": "5040:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19449, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5040:4:68", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5039:15:68" + }, + "scope": 19751, + "src": "4948:584:68", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 19544, + "nodeType": "Block", + "src": "5786:120:68", + "statements": [ + { + "assignments": [ + 19530 + ], + "declarations": [ + { + "constant": false, + "id": 19530, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19545, + "src": "5792:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19529, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5792:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 19535, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19531, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "5812:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19532, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "group_ids_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19100, + "src": "5812:27:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 19534, + "indexExpression": { + "argumentTypes": null, + "id": 19533, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19524, + "src": "5840:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5812:34:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5792:54:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19536, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19527, + "src": "5852:8:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19537, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "5863:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19538, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "5863:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19540, + "indexExpression": { + "argumentTypes": null, + "id": 19539, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19530, + "src": "5883:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5863:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19541, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "role_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19083, + "src": "5863:38:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5852:49:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19543, + "nodeType": "ExpressionStatement", + "src": "5852:49:68" + } + ] + }, + "documentation": "@notice Returns the role id of a user\n@param _user Address of a user\n@return {\"_role_id\": \"Role id of the user\"}", + "id": 19545, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_user_role_id", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19525, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19524, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 19545, + "src": "5693:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19523, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5693:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5692:15:68" + }, + "payable": false, + "returnParameters": { + "id": 19528, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19527, + "name": "_role_id", + "nodeType": "VariableDeclaration", + "scope": 19545, + "src": "5766:16:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19526, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5766:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5765:18:68" + }, + "scope": 19751, + "src": "5666:240:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19582, + "nodeType": "Block", + "src": "6286:195:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19556, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19550, + "src": "6292:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19557, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "6304:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19558, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "group_ids_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19100, + "src": "6304:27:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 19560, + "indexExpression": { + "argumentTypes": null, + "id": 19559, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19547, + "src": "6332:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6304:34:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6292:46:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19562, + "nodeType": "ExpressionStatement", + "src": "6292:46:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19563, + "name": "_role_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19552, + "src": "6344:8:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19564, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "6355:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19565, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "6355:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19567, + "indexExpression": { + "argumentTypes": null, + "id": 19566, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19550, + "src": "6375:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6355:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19568, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "role_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19083, + "src": "6355:38:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6344:49:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19570, + "nodeType": "ExpressionStatement", + "src": "6344:49:68" + }, + { + "expression": { + "argumentTypes": null, + "id": 19580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19571, + "name": "_document", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19554, + "src": "6399:9:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19572, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "6411:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19573, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_by_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19096, + "src": "6411:19:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Group_$19088_storage_$", + "typeString": "mapping(uint256 => struct DirectoryStorage.Group storage ref)" + } + }, + "id": 19575, + "indexExpression": { + "argumentTypes": null, + "id": 19574, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19550, + "src": "6431:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6411:30:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Group_$19088_storage", + "typeString": "struct DirectoryStorage.Group storage ref" + } + }, + "id": 19576, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "members_by_address", + "nodeType": "MemberAccess", + "referencedDeclaration": 19087, + "src": "6411:49:68", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$19077_storage_$", + "typeString": "mapping(address => struct DirectoryStorage.User storage ref)" + } + }, + "id": 19578, + "indexExpression": { + "argumentTypes": null, + "id": 19577, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19547, + "src": "6461:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6411:56:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$19077_storage", + "typeString": "struct DirectoryStorage.User storage ref" + } + }, + "id": 19579, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "document", + "nodeType": "MemberAccess", + "referencedDeclaration": 19074, + "src": "6411:65:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6399:77:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 19581, + "nodeType": "ExpressionStatement", + "src": "6399:77:68" + } + ] + }, + "documentation": "@notice Returns the user's information\n@param _user Address of the user\n@return {\n\"_group_id\": \"Group id of the user\",\n\"_role_id\": \"Role id of the user\",\n\"_document\": \"Information of the user\"\n}", + "id": 19583, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_user", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19548, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19547, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 19583, + "src": "6155:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19546, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6155:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6154:15:68" + }, + "payable": false, + "returnParameters": { + "id": 19555, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19550, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19583, + "src": "6228:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19549, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6228:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19552, + "name": "_role_id", + "nodeType": "VariableDeclaration", + "scope": 19583, + "src": "6247:16:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19551, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6247:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19554, + "name": "_document", + "nodeType": "VariableDeclaration", + "scope": 19583, + "src": "6265:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19553, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6265:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6227:56:68" + }, + "scope": 19751, + "src": "6136:345:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19595, + "nodeType": "Block", + "src": "6694:59:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19588, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19586, + "src": "6700:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19590, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "6734:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19591, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups", + "nodeType": "MemberAccess", + "referencedDeclaration": 19090, + "src": "6734:13:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + } + ], + "id": 19589, + "name": "read_first_from_uints", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22924, + "src": "6712:21:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Uint_$23038_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer) view returns (uint256)" + } + }, + "id": 19592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6712:36:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6700:48:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19594, + "nodeType": "ExpressionStatement", + "src": "6700:48:68" + } + ] + }, + "documentation": "@notice Returns the id of the first group\n@return {\"_group_id\": \"Id of the first group\"}", + "id": 19596, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_first_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19584, + "nodeType": "ParameterList", + "parameters": [], + "src": "6614:2:68" + }, + "payable": false, + "returnParameters": { + "id": 19587, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19586, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19596, + "src": "6673:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19585, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6673:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6672:19:68" + }, + "scope": 19751, + "src": "6589:164:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 19608, + "nodeType": "Block", + "src": "6963:58:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19601, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19599, + "src": "6969:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19603, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "7002:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19604, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups", + "nodeType": "MemberAccess", + "referencedDeclaration": 19090, + "src": "7002:13:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + } + ], + "id": 19602, + "name": "read_last_from_uints", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22938, + "src": "6981:20:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Uint_$23038_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer) view returns (uint256)" + } + }, + "id": 19605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6981:35:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6969:47:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19607, + "nodeType": "ExpressionStatement", + "src": "6969:47:68" + } + ] + }, + "documentation": "@notice Returns the id of the last group\n@return {\"_group_id\": \"Id of the last group\"}", + "id": 19609, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_last_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19597, + "nodeType": "ParameterList", + "parameters": [], + "src": "6883:2:68" + }, + "payable": false, + "returnParameters": { + "id": 19600, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19599, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19609, + "src": "6942:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19598, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6942:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6941:19:68" + }, + "scope": 19751, + "src": "6859:162:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 19624, + "nodeType": "Block", + "src": "7367:81:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19616, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19614, + "src": "7373:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19618, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "7410:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19619, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups", + "nodeType": "MemberAccess", + "referencedDeclaration": 19090, + "src": "7410:13:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + } + }, + { + "argumentTypes": null, + "id": 19620, + "name": "_current_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19611, + "src": "7425:17:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 19617, + "name": "read_previous_from_uints", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22972, + "src": "7385:24:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Uint_$23038_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer,uint256) view returns (uint256)" + } + }, + "id": 19621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7385:58:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7373:70:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19623, + "nodeType": "ExpressionStatement", + "src": "7373:70:68" + } + ] + }, + "documentation": "@notice Returns the id of the previous group depending on the given current group\n@param _current_group_id Id of the current group\n@return {\"_group_id\": \"Id of the previous group\"}", + "id": 19625, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_previous_group_from_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19612, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19611, + "name": "_current_group_id", + "nodeType": "VariableDeclaration", + "scope": 19625, + "src": "7263:25:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19610, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7263:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7262:27:68" + }, + "payable": false, + "returnParameters": { + "id": 19615, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19614, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19625, + "src": "7346:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19613, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7346:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7345:19:68" + }, + "scope": 19751, + "src": "7223:225:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 19640, + "nodeType": "Block", + "src": "7782:77:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19632, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19630, + "src": "7788:9:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19634, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "7821:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19635, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups", + "nodeType": "MemberAccess", + "referencedDeclaration": 19090, + "src": "7821:13:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + } + }, + { + "argumentTypes": null, + "id": 19636, + "name": "_current_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19627, + "src": "7836:17:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 19633, + "name": "read_next_from_uints", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22955, + "src": "7800:20:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Uint_$23038_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer,uint256) view returns (uint256)" + } + }, + "id": 19637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7800:54:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7788:66:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19639, + "nodeType": "ExpressionStatement", + "src": "7788:66:68" + } + ] + }, + "documentation": "@notice Returns the id of the next group depending on the given current group\n@param _current_group_id Id of the current group\n@return {\"_group_id\": \"Id of the next group\"}", + "id": 19641, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_next_group_from_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19628, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19627, + "name": "_current_group_id", + "nodeType": "VariableDeclaration", + "scope": 19641, + "src": "7678:25:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19626, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7678:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7677:27:68" + }, + "payable": false, + "returnParameters": { + "id": 19631, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19630, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19641, + "src": "7761:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19629, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7761:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7760:19:68" + }, + "scope": 19751, + "src": "7642:217:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 19653, + "nodeType": "Block", + "src": "8083:58:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19646, + "name": "_total_groups", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19644, + "src": "8089:13:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19648, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "8122:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19649, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups", + "nodeType": "MemberAccess", + "referencedDeclaration": 19090, + "src": "8122:13:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Uint_$23038_storage", + "typeString": "struct DoublyLinkedList.Uint storage ref" + } + ], + "id": 19647, + "name": "read_total_uints", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22986, + "src": "8105:16:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Uint_$23038_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer) view returns (uint256)" + } + }, + "id": 19650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8105:31:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8089:47:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19652, + "nodeType": "ExpressionStatement", + "src": "8089:47:68" + } + ] + }, + "documentation": "@notice Returns the total number of groups\n@return {\"_total_groups\": \"Total number of groups\"}", + "id": 19654, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_total_groups", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19642, + "nodeType": "ParameterList", + "parameters": [], + "src": "7999:2:68" + }, + "payable": false, + "returnParameters": { + "id": 19645, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19644, + "name": "_total_groups", + "nodeType": "VariableDeclaration", + "scope": 19654, + "src": "8058:21:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19643, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8058:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8057:23:68" + }, + "scope": 19751, + "src": "7973:168:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 19671, + "nodeType": "Block", + "src": "8404:98:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19661, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19659, + "src": "8410:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19663, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "8452:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19664, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 19092, + "src": "8452:24:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19666, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19656, + "src": "8486:9:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 19665, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8478:7:68", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 19667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8478:18:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 19662, + "name": "read_first_from_indexed_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22502, + "src": "8418:33:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32) view returns (address)" + } + }, + "id": 19668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8418:79:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8410:87:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 19670, + "nodeType": "ExpressionStatement", + "src": "8410:87:68" + } + ] + }, + "documentation": "@notice Returns the first user of a group\n@param _group_id Id of the group\n@return {\"_user\": \"Address of the user\"}", + "id": 19672, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_first_user_in_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19657, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19656, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19672, + "src": "8312:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19655, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8312:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8311:19:68" + }, + "payable": false, + "returnParameters": { + "id": 19660, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19659, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 19672, + "src": "8387:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19658, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8387:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8386:15:68" + }, + "scope": 19751, + "src": "8278:224:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 19689, + "nodeType": "Block", + "src": "8763:97:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19679, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19677, + "src": "8769:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19681, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "8810:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19682, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 19092, + "src": "8810:24:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19684, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19674, + "src": "8844:9:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 19683, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8836:7:68", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 19685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8836:18:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 19680, + "name": "read_last_from_indexed_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22519, + "src": "8777:32:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32) view returns (address)" + } + }, + "id": 19686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8777:78:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8769:86:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 19688, + "nodeType": "ExpressionStatement", + "src": "8769:86:68" + } + ] + }, + "documentation": "@notice Returns the last user of a group\n@param _group_id Id of the group\n@return {\"_user\": \"Address of the user\"}", + "id": 19690, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_last_user_in_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19675, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19674, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19690, + "src": "8671:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19673, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8671:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8670:19:68" + }, + "payable": false, + "returnParameters": { + "id": 19678, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19677, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 19690, + "src": "8746:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19676, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8746:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8745:15:68" + }, + "scope": 19751, + "src": "8638:222:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 19710, + "nodeType": "Block", + "src": "9236:112:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19699, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19697, + "src": "9242:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19701, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "9283:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19702, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 19092, + "src": "9283:24:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19704, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19692, + "src": "9317:9:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 19703, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9309:7:68", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 19705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9309:18:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 19706, + "name": "_current_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19694, + "src": "9329:13:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19700, + "name": "read_next_from_indexed_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22539, + "src": "9250:32:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$_t_address_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32,address) view returns (address)" + } + }, + "id": 19707, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9250:93:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9242:101:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 19709, + "nodeType": "ExpressionStatement", + "src": "9242:101:68" + } + ] + }, + "documentation": "@notice Returns the next user of a group depending on the given current user\n@param _group_id Id of the group\n@param _current_user Address of the current user\n@return {\"_user\": \"Address of the next user\"}", + "id": 19711, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_next_user_in_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19695, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19692, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19711, + "src": "9121:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19691, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9121:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19694, + "name": "_current_user", + "nodeType": "VariableDeclaration", + "scope": 19711, + "src": "9140:21:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19693, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9140:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9120:42:68" + }, + "payable": false, + "returnParameters": { + "id": 19698, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19697, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 19711, + "src": "9219:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19696, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9219:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9218:15:68" + }, + "scope": 19751, + "src": "9088:260:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 19731, + "nodeType": "Block", + "src": "9732:116:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19720, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19718, + "src": "9738:5:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19722, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "9783:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19723, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 19092, + "src": "9783:24:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19725, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19713, + "src": "9817:9:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 19724, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9809:7:68", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 19726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9809:18:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 19727, + "name": "_current_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19715, + "src": "9829:13:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19721, + "name": "read_previous_from_indexed_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22559, + "src": "9746:36:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$_t_address_$returns$_t_address_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32,address) view returns (address)" + } + }, + "id": 19728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9746:97:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9738:105:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 19730, + "nodeType": "ExpressionStatement", + "src": "9738:105:68" + } + ] + }, + "documentation": "@notice Returns the previous user of a group depending on the given current user\n@param _group_id Id of the group\n@param _current_user Address of the current user\n@return {\"_user\": \"Address of the last user\"}", + "id": 19732, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_previous_user_in_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19716, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19713, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19732, + "src": "9617:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19712, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9617:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19715, + "name": "_current_user", + "nodeType": "VariableDeclaration", + "scope": 19732, + "src": "9636:21:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19714, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9636:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9616:42:68" + }, + "payable": false, + "returnParameters": { + "id": 19719, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19718, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 19732, + "src": "9715:13:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19717, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9715:7:68", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9714:15:68" + }, + "scope": 19751, + "src": "9580:268:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 19749, + "nodeType": "Block", + "src": "10139:100:68", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19739, + "name": "_total_users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19737, + "src": "10145:12:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19741, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19111, + "src": "10189:6:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$19109_storage", + "typeString": "struct DirectoryStorage.System storage ref" + } + }, + "id": 19742, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "groups_collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 19092, + "src": "10189:24:68", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19744, + "name": "_group_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19734, + "src": "10223:9:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 19743, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10215:7:68", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 19745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10215:18:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage", + "typeString": "struct DoublyLinkedList.IndexedAddress storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 19740, + "name": "read_total_indexed_addresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22576, + "src": "10160:28:68", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 19746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10160:74:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10145:89:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19748, + "nodeType": "ExpressionStatement", + "src": "10145:89:68" + } + ] + }, + "documentation": "@notice Returns the total number of users of a group\n@param _group_id Id of the group\n@return {\"_total_users\": \"Total number of users\"}", + "id": 19750, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_total_users_in_group", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19735, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19734, + "name": "_group_id", + "nodeType": "VariableDeclaration", + "scope": 19750, + "src": "10040:17:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19733, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10040:7:68", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10039:19:68" + }, + "payable": false, + "returnParameters": { + "id": 19738, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19737, + "name": "_total_users", + "nodeType": "VariableDeclaration", + "scope": 19750, + "src": "10115:20:68", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19736, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10115:7:68", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10114:22:68" + }, + "scope": 19751, + "src": "10005:234:68", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 19752, + "src": "287:9954:68" + } + ], + "src": "0:10242:68" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.913Z" +} \ No newline at end of file diff --git a/build/contracts/DoublyLinkedList.json b/build/contracts/DoublyLinkedList.json new file mode 100644 index 0000000..e63e8a5 --- /dev/null +++ b/build/contracts/DoublyLinkedList.json @@ -0,0 +1,70670 @@ +{ + "contractName": "DoublyLinkedList", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedUint storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_item", + "type": "uint256" + } + ], + "name": "find", + "outputs": [ + { + "name": "_item_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Address storage" + }, + { + "name": "_item", + "type": "address" + } + ], + "name": "find", + "outputs": [ + { + "name": "_item_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Bytes storage" + }, + { + "name": "_item", + "type": "bytes32" + } + ], + "name": "find", + "outputs": [ + { + "name": "_item_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Data storage" + }, + { + "name": "_item", + "type": "bytes32" + } + ], + "name": "find", + "outputs": [ + { + "name": "_item_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Uint storage" + }, + { + "name": "_item", + "type": "uint256" + } + ], + "name": "find", + "outputs": [ + { + "name": "_item_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Uint storage" + }, + { + "name": "_item_index", + "type": "uint256" + } + ], + "name": "get", + "outputs": [ + { + "name": "_item", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Data storage" + }, + { + "name": "_item_index", + "type": "uint256" + } + ], + "name": "get", + "outputs": [ + { + "name": "_item", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Bytes storage" + }, + { + "name": "_item_index", + "type": "uint256" + } + ], + "name": "get", + "outputs": [ + { + "name": "_item", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedUint storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_item_index", + "type": "uint256" + } + ], + "name": "get", + "outputs": [ + { + "name": "_item", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Address storage" + }, + { + "name": "_item_index", + "type": "uint256" + } + ], + "name": "get", + "outputs": [ + { + "name": "_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedUint storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_data", + "type": "uint256" + } + ], + "name": "append", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedAddress storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_data", + "type": "address" + } + ], + "name": "append", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedBytes storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_data", + "type": "bytes32" + } + ], + "name": "append", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Uint storage" + }, + { + "name": "_data", + "type": "uint256" + } + ], + "name": "append", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Bytes storage" + }, + { + "name": "_data", + "type": "bytes32" + } + ], + "name": "append", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Address storage" + }, + { + "name": "_data", + "type": "address" + } + ], + "name": "append", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedUint storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_item", + "type": "uint256" + } + ], + "name": "remove_item", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Bytes storage" + }, + { + "name": "_item", + "type": "bytes32" + } + ], + "name": "remove_item", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedBytes storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_item", + "type": "bytes32" + } + ], + "name": "remove_item", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedAddress storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_item", + "type": "address" + } + ], + "name": "remove_item", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Uint storage" + }, + { + "name": "_item", + "type": "uint256" + } + ], + "name": "remove_item", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Address storage" + }, + { + "name": "_item", + "type": "address" + } + ], + "name": "remove_item", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Bytes storage" + } + ], + "name": "total", + "outputs": [ + { + "name": "_total_count", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedBytes storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + } + ], + "name": "total", + "outputs": [ + { + "name": "_total_count", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Data storage" + } + ], + "name": "total", + "outputs": [ + { + "name": "_total_count", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedAddress storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + } + ], + "name": "total", + "outputs": [ + { + "name": "_total_count", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedUint storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + } + ], + "name": "total", + "outputs": [ + { + "name": "_total_count", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Address storage" + } + ], + "name": "total", + "outputs": [ + { + "name": "_total_count", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Uint storage" + } + ], + "name": "total", + "outputs": [ + { + "name": "_total_count", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedBytes storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + } + ], + "name": "start", + "outputs": [ + { + "name": "_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedAddress storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + } + ], + "name": "start", + "outputs": [ + { + "name": "_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Bytes storage" + } + ], + "name": "start", + "outputs": [ + { + "name": "_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Address storage" + } + ], + "name": "start", + "outputs": [ + { + "name": "_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Data storage" + } + ], + "name": "start", + "outputs": [ + { + "name": "_item_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Uint storage" + } + ], + "name": "start", + "outputs": [ + { + "name": "_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedUint storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + } + ], + "name": "start", + "outputs": [ + { + "name": "_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Bytes storage" + } + ], + "name": "start_item", + "outputs": [ + { + "name": "_start_item", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedBytes storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + } + ], + "name": "start_item", + "outputs": [ + { + "name": "_start_item", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Address storage" + } + ], + "name": "start_item", + "outputs": [ + { + "name": "_start_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedUint storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + } + ], + "name": "start_item", + "outputs": [ + { + "name": "_start_item", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Uint storage" + } + ], + "name": "start_item", + "outputs": [ + { + "name": "_start_item", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Data storage" + } + ], + "name": "start_item", + "outputs": [ + { + "name": "_item", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedAddress storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + } + ], + "name": "start_item", + "outputs": [ + { + "name": "_start_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedBytes storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + } + ], + "name": "end", + "outputs": [ + { + "name": "_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Uint storage" + } + ], + "name": "end", + "outputs": [ + { + "name": "_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Bytes storage" + } + ], + "name": "end", + "outputs": [ + { + "name": "_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedAddress storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + } + ], + "name": "end", + "outputs": [ + { + "name": "_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Data storage" + } + ], + "name": "end", + "outputs": [ + { + "name": "_item_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedUint storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + } + ], + "name": "end", + "outputs": [ + { + "name": "_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Address storage" + } + ], + "name": "end", + "outputs": [ + { + "name": "_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Uint storage" + } + ], + "name": "end_item", + "outputs": [ + { + "name": "_end_item", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Data storage" + } + ], + "name": "end_item", + "outputs": [ + { + "name": "_item", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedUint storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + } + ], + "name": "end_item", + "outputs": [ + { + "name": "_end_item", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Bytes storage" + } + ], + "name": "end_item", + "outputs": [ + { + "name": "_end_item", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Address storage" + } + ], + "name": "end_item", + "outputs": [ + { + "name": "_end_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedAddress storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + } + ], + "name": "end_item", + "outputs": [ + { + "name": "_end_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedBytes storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + } + ], + "name": "end_item", + "outputs": [ + { + "name": "_end_item", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedUint storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_item_index", + "type": "uint256" + } + ], + "name": "valid", + "outputs": [ + { + "name": "_yes", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Data storage" + }, + { + "name": "_item_index", + "type": "uint256" + } + ], + "name": "valid", + "outputs": [ + { + "name": "_yes", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Uint storage" + }, + { + "name": "_item_index", + "type": "uint256" + } + ], + "name": "valid", + "outputs": [ + { + "name": "_yes", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Bytes storage" + }, + { + "name": "_item_index", + "type": "uint256" + } + ], + "name": "valid", + "outputs": [ + { + "name": "_yes", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedAddress storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_item_index", + "type": "uint256" + } + ], + "name": "valid", + "outputs": [ + { + "name": "_yes", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Address storage" + }, + { + "name": "_item_index", + "type": "uint256" + } + ], + "name": "valid", + "outputs": [ + { + "name": "_yes", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedBytes storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_item_index", + "type": "uint256" + } + ], + "name": "valid", + "outputs": [ + { + "name": "_yes", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Data storage" + }, + { + "name": "_item", + "type": "bytes32" + } + ], + "name": "valid_item", + "outputs": [ + { + "name": "_yes", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedUint storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_item", + "type": "uint256" + } + ], + "name": "valid_item", + "outputs": [ + { + "name": "_yes", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Uint storage" + }, + { + "name": "_item", + "type": "uint256" + } + ], + "name": "valid_item", + "outputs": [ + { + "name": "_yes", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedBytes storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_item", + "type": "bytes32" + } + ], + "name": "valid_item", + "outputs": [ + { + "name": "_yes", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Bytes storage" + }, + { + "name": "_item", + "type": "bytes32" + } + ], + "name": "valid_item", + "outputs": [ + { + "name": "_yes", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedAddress storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_item", + "type": "address" + } + ], + "name": "valid_item", + "outputs": [ + { + "name": "_yes", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Address storage" + }, + { + "name": "_item", + "type": "address" + } + ], + "name": "valid_item", + "outputs": [ + { + "name": "_yes", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Bytes storage" + }, + { + "name": "_current_index", + "type": "uint256" + } + ], + "name": "previous", + "outputs": [ + { + "name": "_previous_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Uint storage" + }, + { + "name": "_current_index", + "type": "uint256" + } + ], + "name": "previous", + "outputs": [ + { + "name": "_previous_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedBytes storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_current_index", + "type": "uint256" + } + ], + "name": "previous", + "outputs": [ + { + "name": "_previous_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedUint storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_current_index", + "type": "uint256" + } + ], + "name": "previous", + "outputs": [ + { + "name": "_previous_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedAddress storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_current_index", + "type": "uint256" + } + ], + "name": "previous", + "outputs": [ + { + "name": "_previous_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Data storage" + }, + { + "name": "_current_index", + "type": "uint256" + } + ], + "name": "previous", + "outputs": [ + { + "name": "_previous_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Address storage" + }, + { + "name": "_current_index", + "type": "uint256" + } + ], + "name": "previous", + "outputs": [ + { + "name": "_previous_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedAddress storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_current_item", + "type": "address" + } + ], + "name": "previous_item", + "outputs": [ + { + "name": "_previous_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedUint storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_current_item", + "type": "uint256" + } + ], + "name": "previous_item", + "outputs": [ + { + "name": "_previous_item", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Uint storage" + }, + { + "name": "_current_item", + "type": "uint256" + } + ], + "name": "previous_item", + "outputs": [ + { + "name": "_previous_item", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Data storage" + }, + { + "name": "_current_item", + "type": "bytes32" + } + ], + "name": "previous_item", + "outputs": [ + { + "name": "_previous_item", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedBytes storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_current_item", + "type": "bytes32" + } + ], + "name": "previous_item", + "outputs": [ + { + "name": "_previous_item", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Bytes storage" + }, + { + "name": "_current_item", + "type": "bytes32" + } + ], + "name": "previous_item", + "outputs": [ + { + "name": "_previous_item", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Address storage" + }, + { + "name": "_current_item", + "type": "address" + } + ], + "name": "previous_item", + "outputs": [ + { + "name": "_previous_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedBytes storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_current_index", + "type": "uint256" + } + ], + "name": "next", + "outputs": [ + { + "name": "_next_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Uint storage" + }, + { + "name": "_current_index", + "type": "uint256" + } + ], + "name": "next", + "outputs": [ + { + "name": "_next_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Data storage" + }, + { + "name": "_current_index", + "type": "uint256" + } + ], + "name": "next", + "outputs": [ + { + "name": "_next_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedUint storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_current_index", + "type": "uint256" + } + ], + "name": "next", + "outputs": [ + { + "name": "_next_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Address storage" + }, + { + "name": "_current_index", + "type": "uint256" + } + ], + "name": "next", + "outputs": [ + { + "name": "_next_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Bytes storage" + }, + { + "name": "_current_index", + "type": "uint256" + } + ], + "name": "next", + "outputs": [ + { + "name": "_next_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedAddress storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_current_index", + "type": "uint256" + } + ], + "name": "next", + "outputs": [ + { + "name": "_next_index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Uint storage" + }, + { + "name": "_current_item", + "type": "uint256" + } + ], + "name": "next_item", + "outputs": [ + { + "name": "_next_item", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedBytes storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_current_item", + "type": "bytes32" + } + ], + "name": "next_item", + "outputs": [ + { + "name": "_next_item", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedUint storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_current_item", + "type": "uint256" + } + ], + "name": "next_item", + "outputs": [ + { + "name": "_next_item", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Address storage" + }, + { + "name": "_current_item", + "type": "address" + } + ], + "name": "next_item", + "outputs": [ + { + "name": "_next_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.IndexedAddress storage" + }, + { + "name": "_collection_index", + "type": "bytes32" + }, + { + "name": "_current_item", + "type": "address" + } + ], + "name": "next_item", + "outputs": [ + { + "name": "_next_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Data storage" + }, + { + "name": "_current_item", + "type": "bytes32" + } + ], + "name": "next_item", + "outputs": [ + { + "name": "_next_item", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "self", + "type": "DoublyLinkedList.Bytes storage" + }, + { + "name": "_current_item", + "type": "bytes32" + } + ], + "name": "next_item", + "outputs": [ + { + "name": "_next_item", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x61363d610030600b82828239805160001a6073146000811461002057610022565bfe5b5030600052607381538281f300730000000000000000000000000000000000000000301460806040526004361061048e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630ad2f1e4146104935780630cf65c5d146104d55780630f7795521461051757806311ef1f681461054b5780631240ff5a1461058d57806312e3853d146105c1578063141f30d1146105f557806315e8f3351461063f578063165a1b3e1461067d57806320482030146106cc57806322fddb161461075a578063255314821461078e5780632788c74d146107ca5780632a144178146108085780632dfabf0d14610852578063303f71461461088e57806334646f45146108cc57806337b306331461091c5780633ae697421461095e5780633b6650fe1461099257806340c6bb18146109d45780634444b47114610a1257806344b132fb14610a6257806345a103cc14610aae57806349c8cd5714610afe5780634caf5c7214610b3c5780634cdd415414610b8857806350d7409014610bd457806352c6bbf414610c2c57806355a0a1bf14610c7f57806356717c7914610cc1578063582f30b414610cfd5780635abec84714610d505780635e0d4aa914610d8457806362bc354714610db857806365a6b14d14610dec578063675a4ef014610e3257806367ea4be214610ec05780636d1d1e5614610f0c5780636e2d580514610f4e578063706853de14610f905780637436b4e814610fda57806377ed072f1461102a57806379355bf4146110685780637a362458146110b45780637ee0a583146111005780638780ec541461115457806387fca8a6146111a05780638c8e985c146112205780638dc8bc2b1461126257806390716d41146112c757806393e65fb7146113315780639500c08e1461137757806395108fc8146113b9578063966277fb146113f75780639682eb12146114585780639f9b1c98146114cb578063a48a7fbb1461150d578063a7b9777c14611559578063a87c1121146115d9578063a9786fe514611636578063b0c29efb14611678578063b0d6b1cc146116e6578063b197bf0b1461174c578063b598c31a14611780578063b894bf93146117f3578063bd25ecbf14611827578063bd3d106f1461185b578063be4517ef14611899578063bed5fa9a146118fa578063bf8a2ac61461193c578063bfbfe9d9146119a1578063c3338488146119ed578063c4e2ba3314611a4d578063c501bf5614611aa1578063c554912614611b0f578063cc71a88d14611b4d578063cd4292a714611b8f578063cf06689d14611bd1578063d2e98bca14611c1b578063d3209ca014611c61578063d372d5f614611ca3578063d61488b714611cf2578063d70fcee414611d4a578063d9970ab314611d88578063dbcdc19d14611dbc578063dc96b2fa14611e06578063de2c312e14611e42578063dfffdce314611e8e578063e29ae7ac14611eeb578063e837332314611f1f578063e8e7fed214611f5d578063ec40b89714611f91578063f1f9d1c414611fcf578063f46574aa14612027578063fa8a047414612087578063facf138e146120cd578063fbec360f1461210f578063fcc7e24714612159575b600080fd5b6104bf60048036038101908080359060200190929190803560001916906020019092919050505061219b565b6040518082815260200191505060405180910390f35b6105016004803603810190808035906020019092919080356000191690602001909291905050506121ca565b6040518082815260200191505060405180910390f35b610535600480360381019080803590602001909291905050506121e1565b6040518082815260200191505060405180910390f35b6105776004803603810190808035906020019092919080356000191690602001909291905050506121f6565b6040518082815260200191505060405180910390f35b6105ab60048036038101908080359060200190929190505050612229565b6040518082815260200191505060405180910390f35b6105df60048036038101908080359060200190929190505050612242565b6040518082815260200191505060405180910390f35b610621600480360381019080803590602001909291908035600019169060200190929190505050612257565b60405180826000191660001916815260200191505060405180910390f35b610667600480360381019080803590602001909291908035906020019092919050505061229f565b6040518082815260200191505060405180910390f35b81801561068957600080fd5b506106b26004803603810190808035906020019092919080359060200190929190505050612308565b604051808215151515815260200191505060405180910390f35b610718600480360381019080803590602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612322565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61077860048036038101908080359060200190929190505050612370565b6040518082815260200191505060405180910390f35b6107ac60048036038101908080359060200190929190505050612385565b60405180826000191660001916815260200191505060405180910390f35b6107f2600480360381019080803590602001909291908035906020019092919050505061239a565b6040518082815260200191505060405180910390f35b6108346004803603810190808035906020019092919080356000191690602001909291905050506123b1565b60405180826000191660001916815260200191505060405180910390f35b610870600480360381019080803590602001909291905050506123c8565b60405180826000191660001916815260200191505060405180910390f35b6108b660048036038101908080359060200190929190803590602001909291905050506123ff565b6040518082815260200191505060405180910390f35b61090260048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050612468565b604051808215151515815260200191505060405180910390f35b61094860048036038101908080359060200190929190803560001916906020019092919050505061249c565b6040518082815260200191505060405180910390f35b61097c600480360381019080803590602001909291905050506124cb565b6040518082815260200191505060405180910390f35b6109be6004803603810190808035906020019092919080356000191690602001909291905050506124e0565b6040518082815260200191505060405180910390f35b6109fc6004803603810190808035906020019092919080359060200190929190505050612547565b6040518082815260200191505060405180910390f35b610a4860048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050612565565b604051808215151515815260200191505060405180910390f35b610a9860048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050612596565b6040518082815260200191505060405180910390f35b610ae4600480360381019080803590602001909291908035600019169060200190929190803590602001909291905050506125c7565b604051808215151515815260200191505060405180910390f35b610b2660048036038101908080359060200190929190803590602001909291905050506125f8565b6040518082815260200191505060405180910390f35b610b726004803603810190808035906020019092919080356000191690602001909291908035906020019092919050505061260f565b6040518082815260200191505060405180910390f35b610bbe60048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050612647565b6040518082815260200191505060405180910390f35b610c1260048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061267c565b604051808215151515815260200191505060405180910390f35b818015610c3857600080fd5b50610c656004803603810190808035906020019092919080356000191690602001909291905050506126ac565b604051808215151515815260200191505060405180910390f35b610cab6004803603810190808035906020019092919080356000191690602001909291905050506126c3565b6040518082815260200191505060405180910390f35b610cdf600480360381019080803590602001909291905050506126f2565b60405180826000191660001916815260200191505060405180910390f35b818015610d0957600080fd5b50610d36600480360381019080803590602001909291908035600019169060200190929190505050612707565b604051808215151515815260200191505060405180910390f35b610d6e6004803603810190808035906020019092919050505061271e565b6040518082815260200191505060405180910390f35b610da260048036038101908080359060200190929190505050612733565b6040518082815260200191505060405180910390f35b610dd66004803603810190808035906020019092919050505061274c565b6040518082815260200191505060405180910390f35b610e18600480360381019080803590602001909291908035600019169060200190929190505050612761565b604051808215151515815260200191505060405180910390f35b610e7e600480360381019080803590602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612778565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610ef6600480360381019080803590602001909291908035600019169060200190929190803590602001909291905050506127c6565b6040518082815260200191505060405180910390f35b610f386004803603810190808035906020019092919080356000191690602001909291905050506127fa565b6040518082815260200191505060405180910390f35b610f7a600480360381019080803590602001909291908035600019169060200190929190505050612829565b6040518082815260200191505060405180910390f35b610fbc600480360381019080803590602001909291908035600019169060200190929190505050612858565b60405180826000191660001916815260200191505060405180910390f35b61101060048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050612887565b604051808215151515815260200191505060405180910390f35b61105260048036038101908080359060200190929190803590602001909291905050506128b8565b6040518082815260200191505060405180910390f35b61109e600480360381019080803590602001909291908035600019169060200190929190803590602001909291905050506128d2565b6040518082815260200191505060405180910390f35b6110ea60048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050612903565b6040518082815260200191505060405180910390f35b61113e60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612934565b6040518082815260200191505060405180910390f35b61118a60048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050612964565b6040518082815260200191505060405180910390f35b6111de60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612995565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61124c6004803603810190808035906020019092919080356000191690602001909291905050506129c9565b6040518082815260200191505060405180910390f35b81801561126e57600080fd5b506112ad60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129f8565b604051808215151515815260200191505060405180910390f35b6112ef6004803603810190808035906020019092919080359060200190929190505050612a28565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61135d600480360381019080803590602001909291908035600019169060200190929190505050612a43565b604051808215151515815260200191505060405180910390f35b61139f6004803603810190808035906020019092919080359060200190929190505050612a92565b604051808215151515815260200191505060405180910390f35b6113e16004803603810190808035906020019092919080359060200190929190505050612aac565b6040518082815260200191505060405180910390f35b81801561140357600080fd5b5061143e6004803603810190808035906020019092919080356000191690602001909291908035600019169060200190929190505050612ac3565b604051808215151515815260200191505060405180910390f35b81801561146457600080fd5b506114b1600480360381019080803590602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612af4565b604051808215151515815260200191505060405180910390f35b6114f7600480360381019080803590602001909291908035600019169060200190929190505050612b3e565b6040518082815260200191505060405180910390f35b61154360048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050612b71565b6040518082815260200191505060405180910390f35b61159760048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612ba2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b8180156115e557600080fd5b5061161c60048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050612bd6565b604051808215151515815260200191505060405180910390f35b61165e6004803603810190808035906020019092919080359060200190929190505050612c0a565b604051808215151515815260200191505060405180910390f35b6116a4600480360381019080803590602001909291908035600019169060200190929190505050612c37565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b611732600480360381019080803590602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c6a565b604051808215151515815260200191505060405180910390f35b61176a60048036038101908080359060200190929190505050612cb4565b6040518082815260200191505060405180910390f35b81801561178c57600080fd5b506117d9600480360381019080803590602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612cc5565b604051808215151515815260200191505060405180910390f35b61181160048036038101908080359060200190929190505050612d0f565b6040518082815260200191505060405180910390f35b61184560048036038101908080359060200190929190505050612d20565b6040518082815260200191505060405180910390f35b6118836004803603810190808035906020019092919080359060200190929190505050612d35565b6040518082815260200191505060405180910390f35b8180156118a557600080fd5b506118e06004803603810190808035906020019092919080356000191690602001909291908035600019169060200190929190505050612d4c565b604051808215151515815260200191505060405180910390f35b6119226004803603810190808035906020019092919080359060200190929190505050612d7d565b604051808215151515815260200191505060405180910390f35b81801561194857600080fd5b5061198760048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612d94565b604051808215151515815260200191505060405180910390f35b6119d760048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050612dc4565b6040518082815260200191505060405180910390f35b611a0b60048036038101908080359060200190929190505050612dfc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b611a876004803603810190808035906020019092919080356000191690602001909291908035600019169060200190929190505050612e15565b604051808215151515815260200191505060405180910390f35b611acd600480360381019080803590602001909291908035600019169060200190929190505050612e46565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b611b376004803603810190808035906020019092919080359060200190929190505050612e79565b6040518082815260200191505060405180910390f35b611b756004803603810190808035906020019092919080359060200190929190505050612e90565b604051808215151515815260200191505060405180910390f35b611bbb600480360381019080803590602001909291908035600019169060200190929190505050612ea7565b6040518082815260200191505060405180910390f35b611bfd600480360381019080803590602001909291908035600019169060200190929190505050612ed6565b60405180826000191660001916815260200191505060405180910390f35b611c436004803603810190808035906020019092919080359060200190929190505050612eed565b60405180826000191660001916815260200191505060405180910390f35b611c8d600480360381019080803590602001909291908035600019169060200190929190505050612f59565b6040518082815260200191505060405180910390f35b818015611caf57600080fd5b50611cd86004803603810190808035906020019092919080359060200190929190505050612f88565b604051808215151515815260200191505060405180910390f35b611d2c6004803603810190808035906020019092919080356000191690602001909291908035600019169060200190929190505050612fa2565b60405180826000191660001916815260200191505060405180910390f35b611d726004803603810190808035906020019092919080359060200190929190505050612fd3565b6040518082815260200191505060405180910390f35b611da660048036038101908080359060200190929190505050612fea565b6040518082815260200191505060405180910390f35b611de8600480360381019080803590602001909291908035600019169060200190929190505050612fff565b60405180826000191660001916815260200191505060405180910390f35b611e246004803603810190808035906020019092919050505061302e565b60405180826000191660001916815260200191505060405180910390f35b611e7860048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050613065565b6040518082815260200191505060405180910390f35b818015611e9a57600080fd5b50611ed160048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050613096565b604051808215151515815260200191505060405180910390f35b611f09600480360381019080803590602001909291905050506130ca565b6040518082815260200191505060405180910390f35b611f4760048036038101908080359060200190929190803590602001909291905050506130d8565b6040518082815260200191505060405180910390f35b611f7b600480360381019080803590602001909291905050506130f3565b6040518082815260200191505060405180910390f35b611fb96004803603810190808035906020019092919080359060200190929190505050613108565b6040518082815260200191505060405180910390f35b6120096004803603810190808035906020019092919080356000191690602001909291908035600019169060200190929190505050613126565b60405180826000191660001916815260200191505060405180910390f35b61204560048036038101908080359060200190929190505050613157565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6120af6004803603810190808035906020019092919080359060200190929190505050613170565b60405180826000191660001916815260200191505060405180910390f35b6120f56004803603810190808035906020019092919080359060200190929190505050613187565b604051808215151515815260200191505060405180910390f35b61213b60048036038101908080359060200190929190803560001916906020019092919050505061319e565b60405180826000191660001916815260200191505060405180910390f35b6121856004803603810190808035906020019092919080356000191690602001909291905050506131e6565b6040518082815260200191505060405180910390f35b60006121c28360000160008460001916600019168152602001908152602001600020612d0f565b905092915050565b60006121d983600001836124e0565b905092915050565b60006121ef826000016130ca565b9050919050565b600061221d836000016000846000191660001916815260200190815260200160002061302e565b60019004905092915050565b60006122378260000161302e565b600190049050919050565b6000612250826000016130ca565b9050919050565b600080600061226685856124e0565b915060008214151561228f5761227c85836123ff565b90506122888582612eed565b9250612297565b600060010292505b505092915050565b60006001151583600401600084815260200190815260200160002060009054906101000a900460ff16151514156122fd5782600501600183038154811015156122e457fe5b9060005260206000209060030201600201549050612302565b600090505b92915050565b600061231a8360000183600102613215565b905092915050565b600061236384600001600085600019166000191681526020019081526020016000208373ffffffffffffffffffffffffffffffffffffffff16600102612257565b6001900490509392505050565b600061237e82600001612cb4565b9050919050565b6000612393826000016123c8565b9050919050565b60006123a983600001836123ff565b905092915050565b60006123c08360000183612257565b905092915050565b6000806123d483612cb4565b90506000811415156123f1576123ea8382612eed565b91506123f9565b600060010291505b50919050565b60006001151583600401600084815260200190815260200160002060009054906101000a900460ff161515141561245d57826005016001830381548110151561244457fe5b9060005260206000209060030201600101549050612462565b600090505b92915050565b6000612493846000016000856000191660001916815260200190815260200160002083600102612a43565b90509392505050565b60006124c38360000160008460001916600019168152602001908152602001600020612cb4565b905092915050565b60006124d9826000016130ca565b9050919050565b600080836003016000846000191660001916815260200190815260200160002054148015612512575060008360020154145b156125205760009050612541565b82600301600083600019166000191681526020019081526020016000205490505b92915050565b60006125598360000183600102612257565b60019004905092915050565b600061258d846000016000856000191660001916815260200190815260200160002083612c0a565b90509392505050565b60006125be84600001600085600019166000191681526020019081526020016000208361229f565b90509392505050565b60006125ef846000016000856000191660001916815260200190815260200160002083612c0a565b90509392505050565b600061260783600001836123ff565b905092915050565b600061263a84600001600085600019166000191681526020019081526020016000208360010261319e565b6001900490509392505050565b600061266f846000016000856000191660001916815260200190815260200160002083612eed565b6001900490509392505050565b60006126a4836000018373ffffffffffffffffffffffffffffffffffffffff16600102612a43565b905092915050565b60006126bb8360000183613215565b905092915050565b60006126ea83600001600084600019166000191681526020019081526020016000206130ca565b905092915050565b60006127008260000161302e565b9050919050565b6000612716836000018361325b565b905092915050565b600061272c82600001612d0f565b9050919050565b6000612741826000016123c8565b600190049050919050565b600061275a82600001612d0f565b9050919050565b60006127708360000183612a43565b905092915050565b60006127b984600001600085600019166000191681526020019081526020016000208373ffffffffffffffffffffffffffffffffffffffff1660010261319e565b6001900490509392505050565b60006127f18460000160008560001916600019168152602001908152602001600020836001026124e0565b90509392505050565b60006128218360000160008460001916600019168152602001908152602001600020612cb4565b905092915050565b600061285083600001600084600019166000191681526020019081526020016000206130ca565b905092915050565b600061287f836000016000846000191660001916815260200190815260200160002061302e565b905092915050565b60006128af846000016000856000191660001916815260200190815260200160002083612c0a565b90509392505050565b60006128ca83600001836001026124e0565b905092915050565b60006128fa8460000160008560001916600019168152602001908152602001600020836123ff565b90509392505050565b600061292b8460000160008560001916600019168152602001908152602001600020836123ff565b90509392505050565b600061295c836000018373ffffffffffffffffffffffffffffffffffffffff166001026124e0565b905092915050565b600061298c8460000160008560001916600019168152602001908152602001600020836123ff565b90509392505050565b60006129bd836000018373ffffffffffffffffffffffffffffffffffffffff16600102612257565b60019004905092915050565b60006129f08360000160008460001916600019168152602001908152602001600020612cb4565b905092915050565b6000612a20836000018373ffffffffffffffffffffffffffffffffffffffff16600102613215565b905092915050565b6000612a378360000183612eed565b60019004905092915050565b600080836003016000846000191660001916815260200190815260200160002054905083600401600082815260200190815260200160002060009054906101000a900460ff1691505092915050565b6000612aa48360000183600102612a43565b905092915050565b6000612abb836000018361229f565b905092915050565b6000612aeb84600001600085600019166000191681526020019081526020016000208361325b565b90509392505050565b6000612b3584600001600085600019166000191681526020019081526020016000208373ffffffffffffffffffffffffffffffffffffffff1660010261325b565b90509392505050565b6000612b6583600001600084600019166000191681526020019081526020016000206123c8565b60019004905092915050565b6000612b9984600001600085600019166000191681526020019081526020016000208361229f565b90509392505050565b6000612bca836000018373ffffffffffffffffffffffffffffffffffffffff1660010261319e565b60019004905092915050565b6000612c01846000016000856000191660001916815260200190815260200160002083600102613215565b90509392505050565b600082600401600083815260200190815260200160002060009054906101000a900460ff16905092915050565b6000612c5e836000016000846000191660001916815260200190815260200160002061302e565b60019004905092915050565b6000612cab84600001600085600019166000191681526020019081526020016000208373ffffffffffffffffffffffffffffffffffffffff16600102612a43565b90509392505050565b600081600101549050809050919050565b6000612d0684600001600085600019166000191681526020019081526020016000208373ffffffffffffffffffffffffffffffffffffffff16600102613215565b90509392505050565b600081600001549050809050919050565b6000612d2e82600001612cb4565b9050919050565b6000612d4483600001836123ff565b905092915050565b6000612d74846000016000856000191660001916815260200190815260200160002083613215565b90509392505050565b6000612d8c8360000183612c0a565b905092915050565b6000612dbc836000018373ffffffffffffffffffffffffffffffffffffffff1660010261325b565b905092915050565b6000612def846000016000856000191660001916815260200190815260200160002083600102612257565b6001900490509392505050565b6000612e0a8260000161302e565b600190049050919050565b6000612e3d846000016000856000191660001916815260200190815260200160002083612a43565b90509392505050565b6000612e6d83600001600084600019166000191681526020019081526020016000206123c8565b60019004905092915050565b6000612e88836000018361229f565b905092915050565b6000612e9f8360000183612c0a565b905092915050565b6000612ece8360000160008460001916600019168152602001908152602001600020612d0f565b905092915050565b6000612ee5836000018361319e565b905092915050565b60006001151583600401600084815260200190815260200160002060009054906101000a900460ff1615151415612f4b578260050160018303815481101515612f3257fe5b9060005260206000209060030201600001549050612f53565b600060010290505b92915050565b6000612f8083600001600084600019166000191681526020019081526020016000206130ca565b905092915050565b6000612f9a836000018360010261325b565b905092915050565b6000612fca846000016000856000191660001916815260200190815260200160002083612257565b90509392505050565b6000612fe2836000018361229f565b905092915050565b6000612ff882600001612cb4565b9050919050565b600061302683600001600084600019166000191681526020019081526020016000206123c8565b905092915050565b60008061303a83612d0f565b9050600081141515613057576130508382612eed565b915061305f565b600060010291505b50919050565b600061308d84600001600085600019166000191681526020019081526020016000208361229f565b90509392505050565b60006130c184600001600085600019166000191681526020019081526020016000208360010261325b565b90509392505050565b600081600201549050919050565b60006130e78360000183612eed565b60019004905092915050565b600061310182600001612d0f565b9050919050565b600061311a836000018360010261319e565b60019004905092915050565b600061314e84600001600085600019166000191681526020019081526020016000208361319e565b90509392505050565b6000613165826000016123c8565b600190049050919050565b600061317f8360000183612eed565b905092915050565b60006131968360000183612c0a565b905092915050565b60008060006131ad85856124e0565b91506000821415156131d6576131c3858361229f565b90506131cf8582612eed565b92506131de565b600060010292505b505092915050565b600061320d8360000160008460001916600019168152602001908152602001600020612d0f565b905092915050565b60008061322284846124e0565b905060008114151561324c5761323884826133ff565b151561324357600080fd5b60019150613251565b600091505b8191505092915050565b600080600061326a85856124e0565b14158061327e575060008019168360001916145b1561328c57600091506133f8565b83600501606060405190810160405280856000191681526020018660010154815260200160008152509080600181540180825580915050906001820390600052602060002090600302016000909192909190915060008201518160000190600019169055602082015181600101556040820151816002015550509050600084600101541415613357576000846000015414158061332e57506000846002015414155b1561333857600080fd5b80846001018190558460000181905550600184600201819055506133a3565b8084600501600186600101540381548110151561337057fe5b90600052602060002090600302016002018190555080846001018190555083600201600081548092919060010191905055505b600184600401600083815260200190815260200160002060006101000a81548160ff02191690831515021790555080846003016000856000191660001916815260200190815260200160002081905550600191505b5092915050565b60006134096135ec565b6001151584600401600085815260200190815260200160002060009054906101000a900460ff16151514156135e057836005016001840381548110151561344c57fe5b9060005260206000209060030201606060405190810160405290816000820154600019166000191681526020016001820154815260200160028201548152505090506000816020015114156134ad57806040015184600001819055506134e0565b80604001518460050160018360200151038154811015156134ca57fe5b9060005260206000209060030201600201819055505b6000816040015114156134ff5780602001518460010181905550613532565b806020015184600501600183604001510381548110151561351c57fe5b9060005260206000209060030201600101819055505b836005016001840381548110151561354657fe5b9060005260206000209060030201600080820160009055600182016000905560028201600090555050600084600401600085815260200190815260200160002060006101000a81548160ff02191690831515021790555083600301600082600001516000191660001916815260200190815260200160002060009055836002016000815480929190600190039190505550600191506135e5565b600091505b5092915050565b60606040519081016040528060008019168152602001600081526020016000815250905600a165627a7a723058200f0b289fd96ccd44d9d7d2b302d5a948f1ad92aa9616a5ed91f65d9ef09c44500029", + "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061048e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630ad2f1e4146104935780630cf65c5d146104d55780630f7795521461051757806311ef1f681461054b5780631240ff5a1461058d57806312e3853d146105c1578063141f30d1146105f557806315e8f3351461063f578063165a1b3e1461067d57806320482030146106cc57806322fddb161461075a578063255314821461078e5780632788c74d146107ca5780632a144178146108085780632dfabf0d14610852578063303f71461461088e57806334646f45146108cc57806337b306331461091c5780633ae697421461095e5780633b6650fe1461099257806340c6bb18146109d45780634444b47114610a1257806344b132fb14610a6257806345a103cc14610aae57806349c8cd5714610afe5780634caf5c7214610b3c5780634cdd415414610b8857806350d7409014610bd457806352c6bbf414610c2c57806355a0a1bf14610c7f57806356717c7914610cc1578063582f30b414610cfd5780635abec84714610d505780635e0d4aa914610d8457806362bc354714610db857806365a6b14d14610dec578063675a4ef014610e3257806367ea4be214610ec05780636d1d1e5614610f0c5780636e2d580514610f4e578063706853de14610f905780637436b4e814610fda57806377ed072f1461102a57806379355bf4146110685780637a362458146110b45780637ee0a583146111005780638780ec541461115457806387fca8a6146111a05780638c8e985c146112205780638dc8bc2b1461126257806390716d41146112c757806393e65fb7146113315780639500c08e1461137757806395108fc8146113b9578063966277fb146113f75780639682eb12146114585780639f9b1c98146114cb578063a48a7fbb1461150d578063a7b9777c14611559578063a87c1121146115d9578063a9786fe514611636578063b0c29efb14611678578063b0d6b1cc146116e6578063b197bf0b1461174c578063b598c31a14611780578063b894bf93146117f3578063bd25ecbf14611827578063bd3d106f1461185b578063be4517ef14611899578063bed5fa9a146118fa578063bf8a2ac61461193c578063bfbfe9d9146119a1578063c3338488146119ed578063c4e2ba3314611a4d578063c501bf5614611aa1578063c554912614611b0f578063cc71a88d14611b4d578063cd4292a714611b8f578063cf06689d14611bd1578063d2e98bca14611c1b578063d3209ca014611c61578063d372d5f614611ca3578063d61488b714611cf2578063d70fcee414611d4a578063d9970ab314611d88578063dbcdc19d14611dbc578063dc96b2fa14611e06578063de2c312e14611e42578063dfffdce314611e8e578063e29ae7ac14611eeb578063e837332314611f1f578063e8e7fed214611f5d578063ec40b89714611f91578063f1f9d1c414611fcf578063f46574aa14612027578063fa8a047414612087578063facf138e146120cd578063fbec360f1461210f578063fcc7e24714612159575b600080fd5b6104bf60048036038101908080359060200190929190803560001916906020019092919050505061219b565b6040518082815260200191505060405180910390f35b6105016004803603810190808035906020019092919080356000191690602001909291905050506121ca565b6040518082815260200191505060405180910390f35b610535600480360381019080803590602001909291905050506121e1565b6040518082815260200191505060405180910390f35b6105776004803603810190808035906020019092919080356000191690602001909291905050506121f6565b6040518082815260200191505060405180910390f35b6105ab60048036038101908080359060200190929190505050612229565b6040518082815260200191505060405180910390f35b6105df60048036038101908080359060200190929190505050612242565b6040518082815260200191505060405180910390f35b610621600480360381019080803590602001909291908035600019169060200190929190505050612257565b60405180826000191660001916815260200191505060405180910390f35b610667600480360381019080803590602001909291908035906020019092919050505061229f565b6040518082815260200191505060405180910390f35b81801561068957600080fd5b506106b26004803603810190808035906020019092919080359060200190929190505050612308565b604051808215151515815260200191505060405180910390f35b610718600480360381019080803590602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612322565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61077860048036038101908080359060200190929190505050612370565b6040518082815260200191505060405180910390f35b6107ac60048036038101908080359060200190929190505050612385565b60405180826000191660001916815260200191505060405180910390f35b6107f2600480360381019080803590602001909291908035906020019092919050505061239a565b6040518082815260200191505060405180910390f35b6108346004803603810190808035906020019092919080356000191690602001909291905050506123b1565b60405180826000191660001916815260200191505060405180910390f35b610870600480360381019080803590602001909291905050506123c8565b60405180826000191660001916815260200191505060405180910390f35b6108b660048036038101908080359060200190929190803590602001909291905050506123ff565b6040518082815260200191505060405180910390f35b61090260048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050612468565b604051808215151515815260200191505060405180910390f35b61094860048036038101908080359060200190929190803560001916906020019092919050505061249c565b6040518082815260200191505060405180910390f35b61097c600480360381019080803590602001909291905050506124cb565b6040518082815260200191505060405180910390f35b6109be6004803603810190808035906020019092919080356000191690602001909291905050506124e0565b6040518082815260200191505060405180910390f35b6109fc6004803603810190808035906020019092919080359060200190929190505050612547565b6040518082815260200191505060405180910390f35b610a4860048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050612565565b604051808215151515815260200191505060405180910390f35b610a9860048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050612596565b6040518082815260200191505060405180910390f35b610ae4600480360381019080803590602001909291908035600019169060200190929190803590602001909291905050506125c7565b604051808215151515815260200191505060405180910390f35b610b2660048036038101908080359060200190929190803590602001909291905050506125f8565b6040518082815260200191505060405180910390f35b610b726004803603810190808035906020019092919080356000191690602001909291908035906020019092919050505061260f565b6040518082815260200191505060405180910390f35b610bbe60048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050612647565b6040518082815260200191505060405180910390f35b610c1260048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061267c565b604051808215151515815260200191505060405180910390f35b818015610c3857600080fd5b50610c656004803603810190808035906020019092919080356000191690602001909291905050506126ac565b604051808215151515815260200191505060405180910390f35b610cab6004803603810190808035906020019092919080356000191690602001909291905050506126c3565b6040518082815260200191505060405180910390f35b610cdf600480360381019080803590602001909291905050506126f2565b60405180826000191660001916815260200191505060405180910390f35b818015610d0957600080fd5b50610d36600480360381019080803590602001909291908035600019169060200190929190505050612707565b604051808215151515815260200191505060405180910390f35b610d6e6004803603810190808035906020019092919050505061271e565b6040518082815260200191505060405180910390f35b610da260048036038101908080359060200190929190505050612733565b6040518082815260200191505060405180910390f35b610dd66004803603810190808035906020019092919050505061274c565b6040518082815260200191505060405180910390f35b610e18600480360381019080803590602001909291908035600019169060200190929190505050612761565b604051808215151515815260200191505060405180910390f35b610e7e600480360381019080803590602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612778565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610ef6600480360381019080803590602001909291908035600019169060200190929190803590602001909291905050506127c6565b6040518082815260200191505060405180910390f35b610f386004803603810190808035906020019092919080356000191690602001909291905050506127fa565b6040518082815260200191505060405180910390f35b610f7a600480360381019080803590602001909291908035600019169060200190929190505050612829565b6040518082815260200191505060405180910390f35b610fbc600480360381019080803590602001909291908035600019169060200190929190505050612858565b60405180826000191660001916815260200191505060405180910390f35b61101060048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050612887565b604051808215151515815260200191505060405180910390f35b61105260048036038101908080359060200190929190803590602001909291905050506128b8565b6040518082815260200191505060405180910390f35b61109e600480360381019080803590602001909291908035600019169060200190929190803590602001909291905050506128d2565b6040518082815260200191505060405180910390f35b6110ea60048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050612903565b6040518082815260200191505060405180910390f35b61113e60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612934565b6040518082815260200191505060405180910390f35b61118a60048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050612964565b6040518082815260200191505060405180910390f35b6111de60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612995565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61124c6004803603810190808035906020019092919080356000191690602001909291905050506129c9565b6040518082815260200191505060405180910390f35b81801561126e57600080fd5b506112ad60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129f8565b604051808215151515815260200191505060405180910390f35b6112ef6004803603810190808035906020019092919080359060200190929190505050612a28565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61135d600480360381019080803590602001909291908035600019169060200190929190505050612a43565b604051808215151515815260200191505060405180910390f35b61139f6004803603810190808035906020019092919080359060200190929190505050612a92565b604051808215151515815260200191505060405180910390f35b6113e16004803603810190808035906020019092919080359060200190929190505050612aac565b6040518082815260200191505060405180910390f35b81801561140357600080fd5b5061143e6004803603810190808035906020019092919080356000191690602001909291908035600019169060200190929190505050612ac3565b604051808215151515815260200191505060405180910390f35b81801561146457600080fd5b506114b1600480360381019080803590602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612af4565b604051808215151515815260200191505060405180910390f35b6114f7600480360381019080803590602001909291908035600019169060200190929190505050612b3e565b6040518082815260200191505060405180910390f35b61154360048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050612b71565b6040518082815260200191505060405180910390f35b61159760048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612ba2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b8180156115e557600080fd5b5061161c60048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050612bd6565b604051808215151515815260200191505060405180910390f35b61165e6004803603810190808035906020019092919080359060200190929190505050612c0a565b604051808215151515815260200191505060405180910390f35b6116a4600480360381019080803590602001909291908035600019169060200190929190505050612c37565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b611732600480360381019080803590602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c6a565b604051808215151515815260200191505060405180910390f35b61176a60048036038101908080359060200190929190505050612cb4565b6040518082815260200191505060405180910390f35b81801561178c57600080fd5b506117d9600480360381019080803590602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612cc5565b604051808215151515815260200191505060405180910390f35b61181160048036038101908080359060200190929190505050612d0f565b6040518082815260200191505060405180910390f35b61184560048036038101908080359060200190929190505050612d20565b6040518082815260200191505060405180910390f35b6118836004803603810190808035906020019092919080359060200190929190505050612d35565b6040518082815260200191505060405180910390f35b8180156118a557600080fd5b506118e06004803603810190808035906020019092919080356000191690602001909291908035600019169060200190929190505050612d4c565b604051808215151515815260200191505060405180910390f35b6119226004803603810190808035906020019092919080359060200190929190505050612d7d565b604051808215151515815260200191505060405180910390f35b81801561194857600080fd5b5061198760048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612d94565b604051808215151515815260200191505060405180910390f35b6119d760048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050612dc4565b6040518082815260200191505060405180910390f35b611a0b60048036038101908080359060200190929190505050612dfc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b611a876004803603810190808035906020019092919080356000191690602001909291908035600019169060200190929190505050612e15565b604051808215151515815260200191505060405180910390f35b611acd600480360381019080803590602001909291908035600019169060200190929190505050612e46565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b611b376004803603810190808035906020019092919080359060200190929190505050612e79565b6040518082815260200191505060405180910390f35b611b756004803603810190808035906020019092919080359060200190929190505050612e90565b604051808215151515815260200191505060405180910390f35b611bbb600480360381019080803590602001909291908035600019169060200190929190505050612ea7565b6040518082815260200191505060405180910390f35b611bfd600480360381019080803590602001909291908035600019169060200190929190505050612ed6565b60405180826000191660001916815260200191505060405180910390f35b611c436004803603810190808035906020019092919080359060200190929190505050612eed565b60405180826000191660001916815260200191505060405180910390f35b611c8d600480360381019080803590602001909291908035600019169060200190929190505050612f59565b6040518082815260200191505060405180910390f35b818015611caf57600080fd5b50611cd86004803603810190808035906020019092919080359060200190929190505050612f88565b604051808215151515815260200191505060405180910390f35b611d2c6004803603810190808035906020019092919080356000191690602001909291908035600019169060200190929190505050612fa2565b60405180826000191660001916815260200191505060405180910390f35b611d726004803603810190808035906020019092919080359060200190929190505050612fd3565b6040518082815260200191505060405180910390f35b611da660048036038101908080359060200190929190505050612fea565b6040518082815260200191505060405180910390f35b611de8600480360381019080803590602001909291908035600019169060200190929190505050612fff565b60405180826000191660001916815260200191505060405180910390f35b611e246004803603810190808035906020019092919050505061302e565b60405180826000191660001916815260200191505060405180910390f35b611e7860048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050613065565b6040518082815260200191505060405180910390f35b818015611e9a57600080fd5b50611ed160048036038101908080359060200190929190803560001916906020019092919080359060200190929190505050613096565b604051808215151515815260200191505060405180910390f35b611f09600480360381019080803590602001909291905050506130ca565b6040518082815260200191505060405180910390f35b611f4760048036038101908080359060200190929190803590602001909291905050506130d8565b6040518082815260200191505060405180910390f35b611f7b600480360381019080803590602001909291905050506130f3565b6040518082815260200191505060405180910390f35b611fb96004803603810190808035906020019092919080359060200190929190505050613108565b6040518082815260200191505060405180910390f35b6120096004803603810190808035906020019092919080356000191690602001909291908035600019169060200190929190505050613126565b60405180826000191660001916815260200191505060405180910390f35b61204560048036038101908080359060200190929190505050613157565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6120af6004803603810190808035906020019092919080359060200190929190505050613170565b60405180826000191660001916815260200191505060405180910390f35b6120f56004803603810190808035906020019092919080359060200190929190505050613187565b604051808215151515815260200191505060405180910390f35b61213b60048036038101908080359060200190929190803560001916906020019092919050505061319e565b60405180826000191660001916815260200191505060405180910390f35b6121856004803603810190808035906020019092919080356000191690602001909291905050506131e6565b6040518082815260200191505060405180910390f35b60006121c28360000160008460001916600019168152602001908152602001600020612d0f565b905092915050565b60006121d983600001836124e0565b905092915050565b60006121ef826000016130ca565b9050919050565b600061221d836000016000846000191660001916815260200190815260200160002061302e565b60019004905092915050565b60006122378260000161302e565b600190049050919050565b6000612250826000016130ca565b9050919050565b600080600061226685856124e0565b915060008214151561228f5761227c85836123ff565b90506122888582612eed565b9250612297565b600060010292505b505092915050565b60006001151583600401600084815260200190815260200160002060009054906101000a900460ff16151514156122fd5782600501600183038154811015156122e457fe5b9060005260206000209060030201600201549050612302565b600090505b92915050565b600061231a8360000183600102613215565b905092915050565b600061236384600001600085600019166000191681526020019081526020016000208373ffffffffffffffffffffffffffffffffffffffff16600102612257565b6001900490509392505050565b600061237e82600001612cb4565b9050919050565b6000612393826000016123c8565b9050919050565b60006123a983600001836123ff565b905092915050565b60006123c08360000183612257565b905092915050565b6000806123d483612cb4565b90506000811415156123f1576123ea8382612eed565b91506123f9565b600060010291505b50919050565b60006001151583600401600084815260200190815260200160002060009054906101000a900460ff161515141561245d57826005016001830381548110151561244457fe5b9060005260206000209060030201600101549050612462565b600090505b92915050565b6000612493846000016000856000191660001916815260200190815260200160002083600102612a43565b90509392505050565b60006124c38360000160008460001916600019168152602001908152602001600020612cb4565b905092915050565b60006124d9826000016130ca565b9050919050565b600080836003016000846000191660001916815260200190815260200160002054148015612512575060008360020154145b156125205760009050612541565b82600301600083600019166000191681526020019081526020016000205490505b92915050565b60006125598360000183600102612257565b60019004905092915050565b600061258d846000016000856000191660001916815260200190815260200160002083612c0a565b90509392505050565b60006125be84600001600085600019166000191681526020019081526020016000208361229f565b90509392505050565b60006125ef846000016000856000191660001916815260200190815260200160002083612c0a565b90509392505050565b600061260783600001836123ff565b905092915050565b600061263a84600001600085600019166000191681526020019081526020016000208360010261319e565b6001900490509392505050565b600061266f846000016000856000191660001916815260200190815260200160002083612eed565b6001900490509392505050565b60006126a4836000018373ffffffffffffffffffffffffffffffffffffffff16600102612a43565b905092915050565b60006126bb8360000183613215565b905092915050565b60006126ea83600001600084600019166000191681526020019081526020016000206130ca565b905092915050565b60006127008260000161302e565b9050919050565b6000612716836000018361325b565b905092915050565b600061272c82600001612d0f565b9050919050565b6000612741826000016123c8565b600190049050919050565b600061275a82600001612d0f565b9050919050565b60006127708360000183612a43565b905092915050565b60006127b984600001600085600019166000191681526020019081526020016000208373ffffffffffffffffffffffffffffffffffffffff1660010261319e565b6001900490509392505050565b60006127f18460000160008560001916600019168152602001908152602001600020836001026124e0565b90509392505050565b60006128218360000160008460001916600019168152602001908152602001600020612cb4565b905092915050565b600061285083600001600084600019166000191681526020019081526020016000206130ca565b905092915050565b600061287f836000016000846000191660001916815260200190815260200160002061302e565b905092915050565b60006128af846000016000856000191660001916815260200190815260200160002083612c0a565b90509392505050565b60006128ca83600001836001026124e0565b905092915050565b60006128fa8460000160008560001916600019168152602001908152602001600020836123ff565b90509392505050565b600061292b8460000160008560001916600019168152602001908152602001600020836123ff565b90509392505050565b600061295c836000018373ffffffffffffffffffffffffffffffffffffffff166001026124e0565b905092915050565b600061298c8460000160008560001916600019168152602001908152602001600020836123ff565b90509392505050565b60006129bd836000018373ffffffffffffffffffffffffffffffffffffffff16600102612257565b60019004905092915050565b60006129f08360000160008460001916600019168152602001908152602001600020612cb4565b905092915050565b6000612a20836000018373ffffffffffffffffffffffffffffffffffffffff16600102613215565b905092915050565b6000612a378360000183612eed565b60019004905092915050565b600080836003016000846000191660001916815260200190815260200160002054905083600401600082815260200190815260200160002060009054906101000a900460ff1691505092915050565b6000612aa48360000183600102612a43565b905092915050565b6000612abb836000018361229f565b905092915050565b6000612aeb84600001600085600019166000191681526020019081526020016000208361325b565b90509392505050565b6000612b3584600001600085600019166000191681526020019081526020016000208373ffffffffffffffffffffffffffffffffffffffff1660010261325b565b90509392505050565b6000612b6583600001600084600019166000191681526020019081526020016000206123c8565b60019004905092915050565b6000612b9984600001600085600019166000191681526020019081526020016000208361229f565b90509392505050565b6000612bca836000018373ffffffffffffffffffffffffffffffffffffffff1660010261319e565b60019004905092915050565b6000612c01846000016000856000191660001916815260200190815260200160002083600102613215565b90509392505050565b600082600401600083815260200190815260200160002060009054906101000a900460ff16905092915050565b6000612c5e836000016000846000191660001916815260200190815260200160002061302e565b60019004905092915050565b6000612cab84600001600085600019166000191681526020019081526020016000208373ffffffffffffffffffffffffffffffffffffffff16600102612a43565b90509392505050565b600081600101549050809050919050565b6000612d0684600001600085600019166000191681526020019081526020016000208373ffffffffffffffffffffffffffffffffffffffff16600102613215565b90509392505050565b600081600001549050809050919050565b6000612d2e82600001612cb4565b9050919050565b6000612d4483600001836123ff565b905092915050565b6000612d74846000016000856000191660001916815260200190815260200160002083613215565b90509392505050565b6000612d8c8360000183612c0a565b905092915050565b6000612dbc836000018373ffffffffffffffffffffffffffffffffffffffff1660010261325b565b905092915050565b6000612def846000016000856000191660001916815260200190815260200160002083600102612257565b6001900490509392505050565b6000612e0a8260000161302e565b600190049050919050565b6000612e3d846000016000856000191660001916815260200190815260200160002083612a43565b90509392505050565b6000612e6d83600001600084600019166000191681526020019081526020016000206123c8565b60019004905092915050565b6000612e88836000018361229f565b905092915050565b6000612e9f8360000183612c0a565b905092915050565b6000612ece8360000160008460001916600019168152602001908152602001600020612d0f565b905092915050565b6000612ee5836000018361319e565b905092915050565b60006001151583600401600084815260200190815260200160002060009054906101000a900460ff1615151415612f4b578260050160018303815481101515612f3257fe5b9060005260206000209060030201600001549050612f53565b600060010290505b92915050565b6000612f8083600001600084600019166000191681526020019081526020016000206130ca565b905092915050565b6000612f9a836000018360010261325b565b905092915050565b6000612fca846000016000856000191660001916815260200190815260200160002083612257565b90509392505050565b6000612fe2836000018361229f565b905092915050565b6000612ff882600001612cb4565b9050919050565b600061302683600001600084600019166000191681526020019081526020016000206123c8565b905092915050565b60008061303a83612d0f565b9050600081141515613057576130508382612eed565b915061305f565b600060010291505b50919050565b600061308d84600001600085600019166000191681526020019081526020016000208361229f565b90509392505050565b60006130c184600001600085600019166000191681526020019081526020016000208360010261325b565b90509392505050565b600081600201549050919050565b60006130e78360000183612eed565b60019004905092915050565b600061310182600001612d0f565b9050919050565b600061311a836000018360010261319e565b60019004905092915050565b600061314e84600001600085600019166000191681526020019081526020016000208361319e565b90509392505050565b6000613165826000016123c8565b600190049050919050565b600061317f8360000183612eed565b905092915050565b60006131968360000183612c0a565b905092915050565b60008060006131ad85856124e0565b91506000821415156131d6576131c3858361229f565b90506131cf8582612eed565b92506131de565b600060010292505b505092915050565b600061320d8360000160008460001916600019168152602001908152602001600020612d0f565b905092915050565b60008061322284846124e0565b905060008114151561324c5761323884826133ff565b151561324357600080fd5b60019150613251565b600091505b8191505092915050565b600080600061326a85856124e0565b14158061327e575060008019168360001916145b1561328c57600091506133f8565b83600501606060405190810160405280856000191681526020018660010154815260200160008152509080600181540180825580915050906001820390600052602060002090600302016000909192909190915060008201518160000190600019169055602082015181600101556040820151816002015550509050600084600101541415613357576000846000015414158061332e57506000846002015414155b1561333857600080fd5b80846001018190558460000181905550600184600201819055506133a3565b8084600501600186600101540381548110151561337057fe5b90600052602060002090600302016002018190555080846001018190555083600201600081548092919060010191905055505b600184600401600083815260200190815260200160002060006101000a81548160ff02191690831515021790555080846003016000856000191660001916815260200190815260200160002081905550600191505b5092915050565b60006134096135ec565b6001151584600401600085815260200190815260200160002060009054906101000a900460ff16151514156135e057836005016001840381548110151561344c57fe5b9060005260206000209060030201606060405190810160405290816000820154600019166000191681526020016001820154815260200160028201548152505090506000816020015114156134ad57806040015184600001819055506134e0565b80604001518460050160018360200151038154811015156134ca57fe5b9060005260206000209060030201600201819055505b6000816040015114156134ff5780602001518460010181905550613532565b806020015184600501600183604001510381548110151561351c57fe5b9060005260206000209060030201600101819055505b836005016001840381548110151561354657fe5b9060005260206000209060030201600080820160009055600182016000905560028201600090555050600084600401600085815260200190815260200160002060006101000a81548160ff02191690831515021790555083600301600082600001516000191660001916815260200190815260200160002060009055836002016000815480929190600190039190505550600191506135e5565b600091505b5092915050565b60606040519081016040528060008019168152602001600081526020016000815250905600a165627a7a723058200f0b289fd96ccd44d9d7d2b302d5a948f1ad92aa9616a5ed91f65d9ef09c44500029", + "sourceMap": "26:25428:81:-;;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:25428:81:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16883:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19324:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20168:159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11210:228;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7540:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13924:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5232:414;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5650:310;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7054:170;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7054:170:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18497:290;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14425:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20801:159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15115:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21533:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4159:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4898:330;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12096:233;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23472:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7228:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;786:291;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8612:234;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11866:226;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12891:247;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23897:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21318:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13142:271;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9895:236;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14928:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20002:162;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20002:162:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16665:214;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20482:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19685:152;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19685:152:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14089:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7866:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7390:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21142:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19045:274;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9653:238;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11443:195;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10792:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23238:229;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17754;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6354:185;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24366:264;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12333:263;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9270:188;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18227:266;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15332:237;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17325:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13747:173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13747:173:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9462:186;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4670:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8214:180;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21754:195;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22158:214;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22158:214:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15999:216;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15999:216:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11642:220;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18791:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15774:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10565:223;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10565:223:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4432:234;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17089:231;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17987:236;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3978:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16435:226;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16435:226:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3517:180;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20654:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8398:210;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22590:224;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22590:224:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14748:176;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13417:163;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13417:163:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12600:287;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14242:178;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24128:234;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17527:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15573:197;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8037:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23034:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21953:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1081:283;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22818:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6731:160;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6731:160:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24634:288;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8850:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7720:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23672:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3701:273;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24926:248;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10136:213;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10136:213:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3361:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6543:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20331:147;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9048:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25178:272;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14574:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19505:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20964:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5964:386;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11007:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16883:202;17012:14;17045:35;17051:4;:9;;:28;17061:17;17051:28;;;;;;;;;;;;;;;;;17045:5;:35::i;:::-;17036:44;;16883:202;;;;:::o;19324:177::-;19431:19;19474:22;19479:4;:9;;19490:5;19474:4;:22::i;:::-;19460:36;;19324:177;;;;:::o;20168:159::-;20261:20;20306:16;20312:4;:9;;20306:5;:16::i;:::-;20291:31;;20168:159;;;:::o;11210:228::-;11341:19;11392:40;11403:4;:9;;:28;11413:17;11403:28;;;;;;;;;;;;;;;;;11392:10;:40::i;:::-;11384:49;;;11370:63;;11210:228;;;;:::o;7540:175::-;7637:19;7688:21;7699:4;:9;;7688:10;:21::i;:::-;7680:30;;;7666:44;;7540:175;;;:::o;13924:161::-;14019:20;14064:16;14070:4;:9;;14064:5;:16::i;:::-;14049:31;;13924:161;;;:::o;5232:414::-;5355:22;5387;5479:23;5412:25;5417:4;5423:13;5412:4;:25::i;:::-;5387:50;;684:1;5447:14;:22;;5443:199;;;5505:30;5514:4;5520:14;5505:8;:30::i;:::-;5479:56;;5560:26;5564:4;5570:15;5560:3;:26::i;:::-;5543:43;;5443:199;;;729:3;721:12;;5607:28;;5443:199;5232:414;;;;;;:::o;5650:310::-;5765:19;5836:4;5798:42;;:4;:18;;:34;5817:14;5798:34;;;;;;;;;;;;;;;;;;;;;:42;;;5794:162;;;5864:4;:15;;5897:1;5880:14;:18;5864:35;;;;;;;;;;;;;;;;;;;;:46;;;5850:60;;5794:162;;;684:1;5931:18;;5794:162;5650:310;;;;:::o;7054:170::-;7147:13;7181:38;7193:4;:9;;7212:5;7204:14;;7181:11;:38::i;:::-;7170:49;;7054:170;;;;:::o;18497:290::-;18657:22;18714:67;18728:4;:9;;:28;18738:17;18728:28;;;;;;;;;;;;;;;;;18766:13;18758:22;;;;18714:13;:67::i;:::-;18706:76;;;18689:93;;18497:290;;;;;:::o;14425:145::-;14518:14;14551;14555:4;:9;;14551:3;:14::i;:::-;14542:23;;14425:145;;;:::o;20801:159::-;20897:17;20936:19;20945:4;:9;;20936:8;:19::i;:::-;20924:31;;20801:159;;;:::o;15115:213::-;15237:23;15288:35;15297:4;:9;;15308:14;15288:8;:35::i;:::-;15270:53;;15115:213;;;;:::o;21533:217::-;21657:22;21706:39;21720:4;:9;;21731:13;21706;:39::i;:::-;21689:56;;21533:217;;;;:::o;4159:269::-;4254:13;4277:19;4299:9;4303:4;4299:3;:9::i;:::-;4277:31;;684:1;4318:11;:19;;4314:110;;;4355:22;4359:4;4365:11;4355:3;:22::i;:::-;4347:30;;4314:110;;;729:3;721:12;;4398:19;;4314:110;4159:269;;;;:::o;4898:330::-;5017:23;5092:4;5054:42;;:4;:18;;:34;5073:14;5054:34;;;;;;;;;;;;;;;;;;;;;:42;;;5050:174;;;5124:4;:15;;5157:1;5140:14;:18;5124:35;;;;;;;;;;;;;;;;;;;;:50;;;5106:68;;5050:174;;;684:1;5195:22;;5050:174;4898:330;;;;:::o;12096:233::-;12242:9;12268:56;12279:4;:9;;:28;12289:17;12279:28;;;;;;;;;;;;;;;;;12317:5;12309:14;;12268:10;:56::i;:::-;12261:63;;12096:233;;;;;:::o;23472:196::-;23597:14;23630:33;23634:4;:9;;:28;23644:17;23634:28;;;;;;;;;;;;;;;;;23630:3;:33::i;:::-;23621:42;;23472:196;;;;:::o;7228:158::-;7320:20;7365:16;7371:4;:9;;7365:5;:16::i;:::-;7350:31;;7228:158;;;:::o;786:291::-;892:19;684:1;926:4;:15;;:22;942:5;926:22;;;;;;;;;;;;;;;;;;:30;925:56;;;;;684:1;962:4;:10;;;:18;925:56;921:152;;;684:1;991:18;;921:152;;;1044:4;:15;;:22;1060:5;1044:22;;;;;;;;;;;;;;;;;;1030:36;;921:152;786:291;;;;:::o;8612:234::-;8735:22;8792:48;8806:4;:9;;8825:13;8817:22;;8792:13;:48::i;:::-;8784:57;;;8767:74;;8612:234;;;;:::o;11866:226::-;12013:9;12039:48;12045:4;:9;;:28;12055:17;12045:28;;;;;;;;;;;;;;;;;12075:11;12039:5;:48::i;:::-;12032:55;;11866:226;;;;;:::o;12891:247::-;13040:19;13083:50;13088:4;:9;;:28;13098:17;13088:28;;;;;;;;;;;;;;;;;13118:14;13083:4;:50::i;:::-;13069:64;;12891:247;;;;;:::o;23897:227::-;24045:9;24071:48;24077:4;:9;;:28;24087:17;24077:28;;;;;;;;;;;;;;;;;24107:11;24071:5;:48::i;:::-;24064:55;;23897:227;;;;;:::o;21318:211::-;21438:23;21489:35;21498:4;:9;;21509:14;21489:8;:35::i;:::-;21471:53;;21318:211;;;;:::o;13142:271::-;13295:18;13344:63;13354:4;:9;;:28;13364:17;13354:28;;;;;;;;;;;;;;;;;13392:13;13384:22;;13344:9;:63::i;:::-;13336:72;;;13323:85;;13142:271;;;;;:::o;9895:236::-;10040:13;10079:46;10083:4;:9;;:28;10093:17;10083:28;;;;;;;;;;;;;;;;;10113:11;10079:3;:46::i;:::-;10071:55;;;10063:63;;9895:236;;;;;:::o;14928:183::-;15043:9;15069:37;15080:4;:9;;15099:5;15091:14;;;;15069:10;:37::i;:::-;15062:44;;14928:183;;;;:::o;20002:162::-;20096:13;20130:29;20142:4;:9;;20153:5;20130:11;:29::i;:::-;20119:40;;20002:162;;;;:::o;16665:214::-;16794:20;16839:35;16845:4;:9;;:28;16855:17;16845:28;;;;;;;;;;;;;;;;;16839:5;:35::i;:::-;16824:50;;16665:214;;;;:::o;20482:167::-;20580:19;20623:21;20634:4;:9;;20623:10;:21::i;:::-;20609:35;;20482:167;;;:::o;19685:152::-;19774:13;19808:24;19815:4;:9;;19826:5;19808:6;:24::i;:::-;19797:35;;19685:152;;;;:::o;14089:149::-;14184:14;14217:16;14223:4;:9;;14217:5;:16::i;:::-;14208:25;;14089:149;;;:::o;7866:167::-;7961:17;8008:19;8017:4;:9;;8008:8;:19::i;:::-;8000:28;;;7988:40;;7866:167;;;:::o;7390:146::-;7482:14;7515:16;7521:4;:9;;7515:5;:16::i;:::-;7506:25;;7390:146;;;:::o;21142:172::-;21255:9;21281:28;21292:4;:9;;21303:5;21281:10;:28::i;:::-;21274:35;;21142:172;;;;:::o;19045:274::-;19201:18;19250:63;19260:4;:9;;:28;19270:17;19260:28;;;;;;;;;;;;;;;;;19298:13;19290:22;;;;19250:9;:63::i;:::-;19242:72;;;19229:85;;19045:274;;;;;:::o;9653:238::-;9793:19;9836:50;9841:4;:9;;:28;9851:17;9841:28;;;;;;;;;;;;;;;;;9879:5;9871:14;;9836:4;:50::i;:::-;9822:64;;9653:238;;;;;:::o;11443:195::-;11567:14;11600:33;11604:4;:9;;:28;11614:17;11604:28;;;;;;;;;;;;;;;;;11600:3;:33::i;:::-;11591:42;;11443:195;;;;:::o;10792:211::-;10918:20;10963:35;10969:4;:9;;:28;10979:17;10969:28;;;;;;;;;;;;;;;;;10963:5;:35::i;:::-;10948:50;;10792:211;;;;:::o;23238:229::-;23370:19;23421:40;23432:4;:9;;:28;23442:17;23432:28;;;;;;;;;;;;;;;;;23421:10;:40::i;:::-;23399:63;;23238:229;;;;:::o;17754:::-;17904:9;17930:48;17936:4;:9;;:28;17946:17;17936:28;;;;;;;;;;;;;;;;;17966:11;17930:5;:48::i;:::-;17923:55;;17754:229;;;;;:::o;6354:185::-;6460:19;6503:31;6508:4;:9;;6527:5;6519:14;;6503:4;:31::i;:::-;6489:45;;6354:185;;;;:::o;24366:264::-;24520:23;24571:54;24580:4;:9;;:28;24590:17;24580:28;;;;;;;;;;;;;;;;;24610:14;24571:8;:54::i;:::-;24553:72;;24366:264;;;;;:::o;12333:263::-;12486:23;12537:54;12546:4;:9;;:28;12556:17;12546:28;;;;;;;;;;;;;;;;;12576:14;12537:8;:54::i;:::-;12519:72;;12333:263;;;;;:::o;9270:188::-;9379:19;9422:31;9427:4;:9;;9446:5;9438:14;;;;9422:4;:31::i;:::-;9408:45;;9270:188;;;;:::o;18227:266::-;18383:23;18434:54;18443:4;:9;;:28;18453:17;18443:28;;;;;;;;;;;;;;;;;18473:14;18434:8;:54::i;:::-;18416:72;;18227:266;;;;;:::o;15332:237::-;15458:22;15515:48;15529:4;:9;;15548:13;15540:22;;;;15515:13;:48::i;:::-;15507:57;;;15490:74;;15332:237;;;;:::o;17325:198::-;17452:14;17485:33;17489:4;:9;;:28;17499:17;17489:28;;;;;;;;;;;;;;;;;17485:3;:33::i;:::-;17476:42;;17325:198;;;;:::o;13747:173::-;13843:13;13877:38;13889:4;:9;;13908:5;13900:14;;;;13877:11;:38::i;:::-;13866:49;;13747:173;;;;:::o;9462:186::-;9576:13;9615:27;9619:4;:9;;9630:11;9615:3;:27::i;:::-;9607:36;;;9599:44;;9462:186;;;;:::o;4670:224::-;4782:9;4801:19;4823:4;:15;;:22;4839:5;4823:22;;;;;;;;;;;;;;;;;;4801:44;;4858:4;:18;;:31;4877:11;4858:31;;;;;;;;;;;;;;;;;;;;;4851:38;;4670:224;;;;;:::o;8214:180::-;8326:9;8352:37;8363:4;:9;;8382:5;8374:14;;8352:10;:37::i;:::-;8345:44;;8214:180;;;;:::o;21754:195::-;21870:19;21913:31;21918:4;:9;;21929:14;21913:4;:31::i;:::-;21899:45;;21754:195;;;;:::o;22158:214::-;22281:13;22315:52;22322:4;:9;;:28;22332:17;22322:28;;;;;;;;;;;;;;;;;22360:5;22315:6;:52::i;:::-;22304:63;;22158:214;;;;;:::o;15999:216::-;16124:13;16158:52;16165:4;:9;;:28;16175:17;16165:28;;;;;;;;;;;;;;;;;16203:5;16195:14;;;;16158:6;:52::i;:::-;16147:63;;15999:216;;;;;:::o;11642:220::-;11771:17;11818:38;11827:4;:9;;:28;11837:17;11827:28;;;;;;;;;;;;;;;;;11818:8;:38::i;:::-;11810:47;;;11798:59;;11642:220;;;;:::o;18791:250::-;18943:19;18986:50;18991:4;:9;;:28;19001:17;18991:28;;;;;;;;;;;;;;;;;19021:14;18986:4;:50::i;:::-;18972:64;;18791:250;;;;;:::o;15774:221::-;15896:18;15945:44;15955:4;:9;;15974:13;15966:22;;;;15945:9;:44::i;:::-;15937:53;;;15924:66;;15774:221;;;;:::o;10565:223::-;10692:13;10726:57;10738:4;:9;;:28;10748:17;10738:28;;;;;;;;;;;;;;;;;10776:5;10768:14;;10726:11;:57::i;:::-;10715:68;;10565:223;;;;;:::o;4432:234::-;4545:9;4571:4;:18;;:31;4590:11;4571:31;;;;;;;;;;;;;;;;;;;;;4564:38;;4432:234;;;;:::o;17089:231::-;17223:19;17274:40;17285:4;:9;;:28;17295:17;17285:28;;;;;;;;;;;;;;;;;17274:10;:40::i;:::-;17266:49;;;17252:63;;17089:231;;;;:::o;17987:236::-;18136:9;18162:56;18173:4;:9;;:28;18183:17;18173:28;;;;;;;;;;;;;;;;;18211:5;18203:14;;;;18162:10;:56::i;:::-;18155:63;;17987:236;;;;;:::o;3978:177::-;4068:19;4111:4;:15;;;4097:29;;4139:11;4132:18;;3978:177;;;:::o;16435:226::-;16565:13;16599:57;16611:4;:9;;:28;16621:17;16611:28;;;;;;;;;;;;;;;;;16649:5;16641:14;;;;16599:11;:57::i;:::-;16588:68;;16435:226;;;;;:::o;3517:180::-;3609:19;3652:4;:16;;;3638:30;;3681:11;3674:18;;3517:180;;;:::o;20654:143::-;20745:14;20778;20782:4;:9;;20778:3;:14::i;:::-;20769:23;;20654:143;;;:::o;8398:210::-;8517:23;8568:35;8577:4;:9;;8588:14;8568:8;:35::i;:::-;8550:53;;8398:210;;;;:::o;22590:224::-;22718:13;22752:57;22764:4;:9;;:28;22774:17;22764:28;;;;;;;;;;;;;;;;;22802:5;22752:11;:57::i;:::-;22741:68;;22590:224;;;;;:::o;14748:176::-;14864:9;14890:29;14896:4;:9;;14907:11;14890:5;:29::i;:::-;14883:36;;14748:176;;;;:::o;13417:163::-;13508:13;13542:33;13549:4;:9;;13568:5;13560:14;;;;13542:6;:33::i;:::-;13531:44;;13417:163;;;;:::o;12600:287::-;12757:22;12814:67;12828:4;:9;;:28;12838:17;12828:28;;;;;;;;;;;;;;;;;12866:13;12858:22;;12814:13;:67::i;:::-;12806:76;;;12789:93;;12600:287;;;;;:::o;14242:178::-;14342:19;14393:21;14404:4;:9;;14393:10;:21::i;:::-;14385:30;;;14371:44;;14242:178;;;:::o;24128:234::-;24275:9;24301:56;24312:4;:9;;:28;24322:17;24312:28;;;;;;;;;;;;;;;;;24350:5;24301:10;:56::i;:::-;24294:63;;24128:234;;;;;:::o;17527:223::-;17659:17;17706:38;17715:4;:9;;:28;17725:17;17715:28;;;;;;;;;;;;;;;;;17706:8;:38::i;:::-;17698:47;;;17686:59;;17527:223;;;;:::o;15573:197::-;15691:19;15734:31;15739:4;:9;;15750:14;15734:4;:31::i;:::-;15720:45;;15573:197;;;;:::o;8037:173::-;8150:9;8176:29;8182:4;:9;;8193:11;8176:5;:29::i;:::-;8169:36;;8037:173;;;;:::o;23034:200::-;23161:14;23194:35;23200:4;:9;;:28;23210:17;23200:28;;;;;;;;;;;;;;;;;23194:5;:35::i;:::-;23185:44;;23034:200;;;;:::o;21953:201::-;22073:18;22114:35;22124:4;:9;;22135:13;22114:9;:35::i;:::-;22101:48;;21953:201;;;;:::o;1081:283::-;1192:13;1254:4;1219:39;;:4;:18;;:31;1238:11;1219:31;;;;;;;;;;;;;;;;;;;;;:39;;;1215:145;;;1276:4;:15;;1306:1;1292:11;:15;1276:32;;;;;;;;;;;;;;;;;;;;:37;;;1268:45;;1215:145;;;729:3;721:12;;1334:19;;1215:145;1081:283;;;;:::o;22818:212::-;22945:20;22990:35;22996:4;:9;;:28;23006:17;22996:28;;;;;;;;;;;;;;;;;22990:5;:35::i;:::-;22975:50;;22818:212;;;;:::o;6731:160::-;6819:13;6853:33;6860:4;:9;;6879:5;6871:14;;6853:6;:33::i;:::-;6842:44;;6731:160;;;;:::o;24634:288::-;24792:22;24849:67;24863:4;:9;;:28;24873:17;24863:28;;;;;;;;;;;;;;;;;24901:13;24849;:67::i;:::-;24824:93;;24634:288;;;;;:::o;8850:194::-;8965:19;9008:31;9013:4;:9;;9024:14;9008:4;:31::i;:::-;8994:45;;8850:194;;;;:::o;7720:142::-;7810:14;7843;7847:4;:9;;7843:3;:14::i;:::-;7834:23;;7720:142;;;:::o;23672:221::-;23802:17;23849:38;23858:4;:9;;:28;23868:17;23858:28;;;;;;;;;;;;;;;;;23849:8;:38::i;:::-;23829:59;;23672:221;;;;:::o;3701:273::-;3798:13;3821:19;3843:11;3849:4;3843:5;:11::i;:::-;3821:33;;684:1;3864:11;:19;;3860:110;;;3901:22;3905:4;3911:11;3901:3;:22::i;:::-;3893:30;;3860:110;;;729:3;721:12;;3944:19;;3860:110;3701:273;;;;:::o;24926:248::-;25076:19;25119:50;25124:4;:9;;:28;25134:17;25124:28;;;;;;;;;;;;;;;;;25154:14;25119:4;:50::i;:::-;25105:64;;24926:248;;;;;:::o;10136:213::-;10258:13;10292:52;10299:4;:9;;:28;10309:17;10299:28;;;;;;;;;;;;;;;;;10337:5;10329:14;;10292:6;:52::i;:::-;10281:63;;10136:213;;;;;:::o;3361:152::-;3453:20;3498:4;:10;;;3483:25;;3361:152;;;:::o;6543:183::-;6654:13;6693:27;6697:4;:9;;6708:11;6693:3;:27::i;:::-;6685:36;;;6677:44;;6543:183;;;;:::o;20331:147::-;20424:14;20457:16;20463:4;:9;;20457:5;:16::i;:::-;20448:25;;20331:147;;;:::o;9048:218::-;9167:18;9216:44;9226:4;:9;;9245:13;9237:22;;9216:9;:44::i;:::-;9208:53;;;9195:66;;9048:218;;;;:::o;25178:272::-;25332:18;25381:63;25391:4;:9;;:28;25401:17;25391:28;;;;;;;;;;;;;;;;;25429:13;25381:9;:63::i;:::-;25360:85;;25178:272;;;;;:::o;14574:170::-;14672:17;14719:19;14728:4;:9;;14719:8;:19::i;:::-;14711:28;;;14699:40;;14574:170;;;:::o;19505:175::-;19617:13;19648:27;19652:4;:9;;19663:11;19648:3;:27::i;:::-;19640:35;;19505:175;;;;:::o;20964:174::-;21078:9;21104:29;21110:4;:9;;21121:11;21104:5;:29::i;:::-;21097:36;;20964:174;;;;:::o;5964:386::-;6083:18;6111:22;6203:19;6136:25;6141:4;6147:13;6136:4;:25::i;:::-;6111:50;;684:1;6171:14;:22;;6167:179;;;6225:26;6230:4;6236:14;6225:4;:26::i;:::-;6203:48;;6272:22;6276:4;6282:11;6272:3;:22::i;:::-;6259:35;;6167:179;;;729:3;721:12;;6315:24;;6167:179;5964:386;;;;;;:::o;11007:199::-;11133:14;11166:35;11172:4;:9;;:28;11182:17;11172:28;;;;;;;;;;;;;;;;;11166:5;:35::i;:::-;11157:44;;11007:199;;;;:::o;3035:322::-;3130:13;3153:19;3175:17;3180:4;3186:5;3175:4;:17::i;:::-;3153:39;;684:1;3202:11;:19;;3198:134;;;3239:25;3246:4;3252:11;3239:6;:25::i;:::-;3231:34;;;;;;;;3284:4;3273:15;;3198:134;;;3320:5;3309:16;;3198:134;3344:8;3337:15;;3035:322;;;;;:::o;1368:857::-;1458:13;1617:14;684:1;1485:17;1490:4;1496:5;1485:4;:17::i;:::-;:25;;:49;;;;1523:11;1514:20;;;:5;:20;;;;1485:49;1481:740;;;1591:5;1580:16;;1481:740;;;1642:4;:15;;1663:70;;;;;;;;;1675:5;1663:70;;;;;;;1698:4;:15;;;1663:70;;;;684:1;1663:70;;;1642:92;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;1642:92:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1617:118;;684:1;1747:4;:15;;;:23;1743:369;;;684:1;1787:4;:16;;;:24;;1786:50;;;;684:1;1817:4;:10;;;:18;;1786:50;1782:185;;;1850:8;;;1782:185;1924:6;1906:4;:15;;:24;;;1887:4;:16;;:43;;;;1955:1;1942:4;:10;;:14;;;;1743:369;;;2041:6;1991:4;:15;;2025:1;2007:4;:15;;;:19;1991:36;;;;;;;;;;;;;;;;;;;;:47;;:56;;;;2075:6;2057:4;:15;;:24;;;;2091:4;:10;;;:12;;;;;;;;;;;;;1743:369;2148:4;2119;:18;;:26;2138:6;2119:26;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;2185:6;2160:4;:15;;:22;2176:5;2160:22;;;;;;;;;;;;;;;;;:31;;;;2210:4;2199:15;;1481:740;1368:857;;;;;:::o;2229:802::-;2320:13;2391:16;;:::i;:::-;2377:4;2347:34;;:4;:18;;:26;2366:6;2347:26;;;;;;;;;;;;;;;;;;;;;:34;;;2343:684;;;2410:4;:15;;2435:1;2426:6;:10;2410:27;;;;;;;;;;;;;;;;;;;;2391:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;684:1;2449:4;:19;;;:27;2445:180;;;2507:4;:15;;;2488:4;:16;;:34;;;;2445:180;;;2601:4;:15;;;2547:4;:15;;2585:1;2563:4;:19;;;:23;2547:40;;;;;;;;;;;;;;;;;;;;:51;;:69;;;;2445:180;684:1;2637:4;:15;;;:23;2633:183;;;2690:4;:19;;;2672:4;:15;;:37;;;;2633:183;;;2788:4;:19;;;2734:4;:15;;2768:1;2750:4;:15;;;:19;2734:36;;;;;;;;;;;;;;;;;;;;:51;;:73;;;;2633:183;2830:4;:15;;2855:1;2846:6;:10;2830:27;;;;;;;;;;;;;;;;;;;;;2823:34;;;;;;;;;;;;;;;;;;;;2894:5;2865:4;:18;;:26;2884:6;2865:26;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;2914:4;:15;;:26;2930:4;:9;;;2914:26;;;;;;;;;;;;;;;;;2907:33;;;2948:4;:10;;;:12;;;;;;;;;;;;;;2979:4;2968:15;;2343:684;;;3015:5;3004:16;;2343:684;2229:802;;;;;:::o;26:25428::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.19;\n\nlibrary DoublyLinkedList {\n\n struct Item {\n bytes32 item;\n uint256 previous_index;\n uint256 next_index;\n }\n\n struct Data {\n uint256 first_index;\n uint256 last_index;\n uint256 count;\n mapping(bytes32 => uint256) item_index;\n mapping(uint256 => bool) valid_indexes;\n Item[] collection;\n }\n\n struct IndexedUint {\n mapping(bytes32 => Data) data;\n }\n\n struct IndexedAddress {\n mapping(bytes32 => Data) data;\n }\n\n struct IndexedBytes {\n mapping(bytes32 => Data) data;\n }\n\n struct Address {\n Data data;\n }\n\n struct Bytes {\n Data data;\n }\n\n struct Uint {\n Data data;\n }\n\n uint256 constant NONE = uint256(0);\n bytes32 constant EMPTY_BYTES = bytes32(0x0);\n address constant NULL_ADDRESS = address(0x0);\n\n function find(Data storage self, bytes32 _item)\n public\n constant\n returns (uint256 _item_index)\n {\n if ((self.item_index[_item] == NONE) && (self.count == NONE)) {\n _item_index = NONE;\n } else {\n _item_index = self.item_index[_item];\n }\n }\n\n function get(Data storage self, uint256 _item_index)\n public\n constant\n returns (bytes32 _item)\n {\n if (self.valid_indexes[_item_index] == true) {\n _item = self.collection[_item_index - 1].item;\n } else {\n _item = EMPTY_BYTES;\n }\n }\n\n function append(Data storage self, bytes32 _data)\n internal\n returns (bool _success)\n {\n if (find(self, _data) != NONE || _data == bytes32(\"\")) { // rejects addition of empty values\n _success = false;\n } else {\n uint256 _index = uint256(self.collection.push(Item({item: _data, previous_index: self.last_index, next_index: NONE})));\n if (self.last_index == NONE) {\n if ((self.first_index != NONE) || (self.count != NONE)) {\n revert();\n } else {\n self.first_index = self.last_index = _index;\n self.count = 1;\n }\n } else {\n self.collection[self.last_index - 1].next_index = _index;\n self.last_index = _index;\n self.count++;\n }\n self.valid_indexes[_index] = true;\n self.item_index[_data] = _index;\n _success = true;\n }\n }\n\n function remove(Data storage self, uint256 _index)\n internal\n returns (bool _success)\n {\n if (self.valid_indexes[_index] == true) {\n Item memory item = self.collection[_index - 1];\n if (item.previous_index == NONE) {\n self.first_index = item.next_index;\n } else {\n self.collection[item.previous_index - 1].next_index = item.next_index;\n }\n\n if (item.next_index == NONE) {\n self.last_index = item.previous_index;\n } else {\n self.collection[item.next_index - 1].previous_index = item.previous_index;\n }\n delete self.collection[_index - 1];\n self.valid_indexes[_index] = false;\n delete self.item_index[item.item];\n self.count--;\n _success = true;\n } else {\n _success = false;\n }\n }\n\n function remove_item(Data storage self, bytes32 _item)\n internal\n returns (bool _success)\n {\n uint256 _item_index = find(self, _item);\n if (_item_index != NONE) {\n require(remove(self, _item_index));\n _success = true;\n } else {\n _success = false;\n }\n return _success;\n }\n\n function total(Data storage self)\n public\n constant\n returns (uint256 _total_count)\n {\n _total_count = self.count;\n }\n\n function start(Data storage self)\n public\n constant\n returns (uint256 _item_index)\n {\n _item_index = self.first_index;\n return _item_index;\n }\n\n function start_item(Data storage self)\n public\n constant\n returns (bytes32 _item)\n {\n uint256 _item_index = start(self);\n if (_item_index != NONE) {\n _item = get(self, _item_index);\n } else {\n _item = EMPTY_BYTES;\n }\n }\n\n function end(Data storage self)\n public\n constant\n returns (uint256 _item_index)\n {\n _item_index = self.last_index;\n return _item_index;\n }\n\n function end_item(Data storage self)\n public\n constant\n returns (bytes32 _item)\n {\n uint256 _item_index = end(self);\n if (_item_index != NONE) {\n _item = get(self, _item_index);\n } else {\n _item = EMPTY_BYTES;\n }\n }\n\n function valid(Data storage self, uint256 _item_index)\n public\n constant\n returns (bool _yes)\n {\n _yes = self.valid_indexes[_item_index];\n //_yes = ((_item_index - 1) < self.collection.length);\n }\n\n function valid_item(Data storage self, bytes32 _item)\n public\n constant\n returns (bool _yes)\n {\n uint256 _item_index = self.item_index[_item];\n _yes = self.valid_indexes[_item_index];\n }\n\n function previous(Data storage self, uint256 _current_index)\n public\n constant\n returns (uint256 _previous_index)\n {\n if (self.valid_indexes[_current_index] == true) {\n _previous_index = self.collection[_current_index - 1].previous_index;\n } else {\n _previous_index = NONE;\n }\n }\n\n function previous_item(Data storage self, bytes32 _current_item)\n public\n constant\n returns (bytes32 _previous_item)\n {\n uint256 _current_index = find(self, _current_item);\n if (_current_index != NONE) {\n uint256 _previous_index = previous(self, _current_index);\n _previous_item = get(self, _previous_index);\n } else {\n _previous_item = EMPTY_BYTES;\n }\n }\n\n function next(Data storage self, uint256 _current_index)\n public\n constant\n returns (uint256 _next_index)\n {\n if (self.valid_indexes[_current_index] == true) {\n _next_index = self.collection[_current_index - 1].next_index;\n } else {\n _next_index = NONE;\n }\n }\n\n function next_item(Data storage self, bytes32 _current_item)\n public\n constant\n returns (bytes32 _next_item)\n {\n uint256 _current_index = find(self, _current_item);\n if (_current_index != NONE) {\n uint256 _next_index = next(self, _current_index);\n _next_item = get(self, _next_index);\n } else {\n _next_item = EMPTY_BYTES;\n }\n }\n\n function find(Uint storage self, uint256 _item)\n public\n constant\n returns (uint256 _item_index)\n {\n _item_index = find(self.data, bytes32(_item));\n }\n\n function get(Uint storage self, uint256 _item_index)\n public\n constant\n returns (uint256 _item)\n {\n _item = uint256(get(self.data, _item_index));\n }\n\n\n function append(Uint storage self, uint256 _data)\n public\n returns (bool _success)\n {\n _success = append(self.data, bytes32(_data));\n }\n\n function remove(Uint storage self, uint256 _index)\n internal\n returns (bool _success)\n {\n _success = remove(self.data, _index);\n }\n\n function remove_item(Uint storage self, uint256 _item)\n public\n returns (bool _success)\n {\n _success = remove_item(self.data, bytes32(_item));\n }\n\n function total(Uint storage self)\n public\n constant\n returns (uint256 _total_count)\n {\n _total_count = total(self.data);\n }\n\n function start(Uint storage self)\n public\n constant\n returns (uint256 _index)\n {\n _index = start(self.data);\n }\n\n function start_item(Uint storage self)\n public\n constant\n returns (uint256 _start_item)\n {\n _start_item = uint256(start_item(self.data));\n }\n\n\n function end(Uint storage self)\n public\n constant\n returns (uint256 _index)\n {\n _index = end(self.data);\n }\n\n function end_item(Uint storage self)\n public\n constant\n returns (uint256 _end_item)\n {\n _end_item = uint256(end_item(self.data));\n }\n\n function valid(Uint storage self, uint256 _item_index)\n public\n constant\n returns (bool _yes)\n {\n _yes = valid(self.data, _item_index);\n }\n\n function valid_item(Uint storage self, uint256 _item)\n public\n constant\n returns (bool _yes)\n {\n _yes = valid_item(self.data, bytes32(_item));\n }\n\n function previous(Uint storage self, uint256 _current_index)\n public\n constant\n returns (uint256 _previous_index)\n {\n _previous_index = previous(self.data, _current_index);\n }\n\n function previous_item(Uint storage self, uint256 _current_item)\n public\n constant\n returns (uint256 _previous_item)\n {\n _previous_item = uint256(previous_item(self.data, bytes32(_current_item)));\n }\n\n function next(Uint storage self, uint256 _current_index)\n public\n constant\n returns (uint256 _next_index)\n {\n _next_index = next(self.data, _current_index);\n }\n\n function next_item(Uint storage self, uint256 _current_item)\n public\n constant\n returns (uint256 _next_item)\n {\n _next_item = uint256(next_item(self.data, bytes32(_current_item)));\n }\n\n function find(Address storage self, address _item)\n public\n constant\n returns (uint256 _item_index)\n {\n _item_index = find(self.data, bytes32(_item));\n }\n\n function get(Address storage self, uint256 _item_index)\n public\n constant\n returns (address _item)\n {\n _item = address(get(self.data, _item_index));\n }\n\n\n function find(IndexedUint storage self, bytes32 _collection_index, uint256 _item)\n public\n constant\n returns (uint256 _item_index)\n {\n _item_index = find(self.data[_collection_index], bytes32(_item));\n }\n\n function get(IndexedUint storage self, bytes32 _collection_index, uint256 _item_index)\n public\n constant\n returns (uint256 _item)\n {\n _item = uint256(get(self.data[_collection_index], _item_index));\n }\n\n\n function append(IndexedUint storage self, bytes32 _collection_index, uint256 _data)\n public\n returns (bool _success)\n {\n _success = append(self.data[_collection_index], bytes32(_data));\n }\n\n function remove(IndexedUint storage self, bytes32 _collection_index, uint256 _index)\n internal\n returns (bool _success)\n {\n _success = remove(self.data[_collection_index], _index);\n }\n\n function remove_item(IndexedUint storage self, bytes32 _collection_index, uint256 _item)\n public\n returns (bool _success)\n {\n _success = remove_item(self.data[_collection_index], bytes32(_item));\n }\n\n function total(IndexedUint storage self, bytes32 _collection_index)\n public\n constant\n returns (uint256 _total_count)\n {\n _total_count = total(self.data[_collection_index]);\n }\n\n function start(IndexedUint storage self, bytes32 _collection_index)\n public\n constant\n returns (uint256 _index)\n {\n _index = start(self.data[_collection_index]);\n }\n\n function start_item(IndexedUint storage self, bytes32 _collection_index)\n public\n constant\n returns (uint256 _start_item)\n {\n _start_item = uint256(start_item(self.data[_collection_index]));\n }\n\n\n function end(IndexedUint storage self, bytes32 _collection_index)\n public\n constant\n returns (uint256 _index)\n {\n _index = end(self.data[_collection_index]);\n }\n\n function end_item(IndexedUint storage self, bytes32 _collection_index)\n public\n constant\n returns (uint256 _end_item)\n {\n _end_item = uint256(end_item(self.data[_collection_index]));\n }\n\n function valid(IndexedUint storage self, bytes32 _collection_index, uint256 _item_index)\n public\n constant\n returns (bool _yes)\n {\n _yes = valid(self.data[_collection_index], _item_index);\n }\n\n function valid_item(IndexedUint storage self, bytes32 _collection_index, uint256 _item)\n public\n constant\n returns (bool _yes)\n {\n _yes = valid_item(self.data[_collection_index], bytes32(_item));\n }\n\n function previous(IndexedUint storage self, bytes32 _collection_index, uint256 _current_index)\n public\n constant\n returns (uint256 _previous_index)\n {\n _previous_index = previous(self.data[_collection_index], _current_index);\n }\n\n function previous_item(IndexedUint storage self, bytes32 _collection_index, uint256 _current_item)\n public\n constant\n returns (uint256 _previous_item)\n {\n _previous_item = uint256(previous_item(self.data[_collection_index], bytes32(_current_item)));\n }\n\n function next(IndexedUint storage self, bytes32 _collection_index, uint256 _current_index)\n public\n constant\n returns (uint256 _next_index)\n {\n _next_index = next(self.data[_collection_index], _current_index);\n }\n\n function next_item(IndexedUint storage self, bytes32 _collection_index, uint256 _current_item)\n public\n constant\n returns (uint256 _next_item)\n {\n _next_item = uint256(next_item(self.data[_collection_index], bytes32(_current_item)));\n }\n\n function append(Address storage self, address _data)\n public\n returns (bool _success)\n {\n _success = append(self.data, bytes32(_data));\n }\n\n function remove(Address storage self, uint256 _index)\n internal\n returns (bool _success)\n {\n _success = remove(self.data, _index);\n }\n\n\n function remove_item(Address storage self, address _item)\n public\n returns (bool _success)\n {\n _success = remove_item(self.data, bytes32(_item));\n }\n\n function total(Address storage self)\n public\n constant\n returns (uint256 _total_count)\n {\n _total_count = total(self.data);\n }\n\n function start(Address storage self)\n public\n constant\n returns (uint256 _index)\n {\n _index = start(self.data);\n }\n\n function start_item(Address storage self)\n public\n constant\n returns (address _start_item)\n {\n _start_item = address(start_item(self.data));\n }\n\n\n function end(Address storage self)\n public\n constant\n returns (uint256 _index)\n {\n _index = end(self.data);\n }\n\n function end_item(Address storage self)\n public\n constant\n returns (address _end_item)\n {\n _end_item = address(end_item(self.data));\n }\n\n function valid(Address storage self, uint256 _item_index)\n public\n constant\n returns (bool _yes)\n {\n _yes = valid(self.data, _item_index);\n }\n\n function valid_item(Address storage self, address _item)\n public\n constant\n returns (bool _yes)\n {\n _yes = valid_item(self.data, bytes32(_item));\n }\n\n function previous(Address storage self, uint256 _current_index)\n public\n constant\n returns (uint256 _previous_index)\n {\n _previous_index = previous(self.data, _current_index);\n }\n\n function previous_item(Address storage self, address _current_item)\n public\n constant\n returns (address _previous_item)\n {\n _previous_item = address(previous_item(self.data, bytes32(_current_item)));\n }\n\n function next(Address storage self, uint256 _current_index)\n public\n constant\n returns (uint256 _next_index)\n {\n _next_index = next(self.data, _current_index);\n }\n\n function next_item(Address storage self, address _current_item)\n public\n constant\n returns (address _next_item)\n {\n _next_item = address(next_item(self.data, bytes32(_current_item)));\n }\n\n function append(IndexedAddress storage self, bytes32 _collection_index, address _data)\n public\n returns (bool _success)\n {\n _success = append(self.data[_collection_index], bytes32(_data));\n }\n\n function remove(IndexedAddress storage self, bytes32 _collection_index, uint256 _index)\n internal\n returns (bool _success)\n {\n _success = remove(self.data[_collection_index], _index);\n }\n\n\n function remove_item(IndexedAddress storage self, bytes32 _collection_index, address _item)\n public\n returns (bool _success)\n {\n _success = remove_item(self.data[_collection_index], bytes32(_item));\n }\n\n function total(IndexedAddress storage self, bytes32 _collection_index)\n public\n constant\n returns (uint256 _total_count)\n {\n _total_count = total(self.data[_collection_index]);\n }\n\n function start(IndexedAddress storage self, bytes32 _collection_index)\n public\n constant\n returns (uint256 _index)\n {\n _index = start(self.data[_collection_index]);\n }\n\n function start_item(IndexedAddress storage self, bytes32 _collection_index)\n public\n constant\n returns (address _start_item)\n {\n _start_item = address(start_item(self.data[_collection_index]));\n }\n\n\n function end(IndexedAddress storage self, bytes32 _collection_index)\n public\n constant\n returns (uint256 _index)\n {\n _index = end(self.data[_collection_index]);\n }\n\n function end_item(IndexedAddress storage self, bytes32 _collection_index)\n public\n constant\n returns (address _end_item)\n {\n _end_item = address(end_item(self.data[_collection_index]));\n }\n\n function valid(IndexedAddress storage self, bytes32 _collection_index, uint256 _item_index)\n public\n constant\n returns (bool _yes)\n {\n _yes = valid(self.data[_collection_index], _item_index);\n }\n\n function valid_item(IndexedAddress storage self, bytes32 _collection_index, address _item)\n public\n constant\n returns (bool _yes)\n {\n _yes = valid_item(self.data[_collection_index], bytes32(_item));\n }\n\n function previous(IndexedAddress storage self, bytes32 _collection_index, uint256 _current_index)\n public\n constant\n returns (uint256 _previous_index)\n {\n _previous_index = previous(self.data[_collection_index], _current_index);\n }\n\n function previous_item(IndexedAddress storage self, bytes32 _collection_index, address _current_item)\n public\n constant\n returns (address _previous_item)\n {\n _previous_item = address(previous_item(self.data[_collection_index], bytes32(_current_item)));\n }\n\n function next(IndexedAddress storage self, bytes32 _collection_index, uint256 _current_index)\n public\n constant\n returns (uint256 _next_index)\n {\n _next_index = next(self.data[_collection_index], _current_index);\n }\n\n function next_item(IndexedAddress storage self, bytes32 _collection_index, address _current_item)\n public\n constant\n returns (address _next_item)\n {\n _next_item = address(next_item(self.data[_collection_index], bytes32(_current_item)));\n }\n\n\n function find(Bytes storage self, bytes32 _item)\n public\n constant\n returns (uint256 _item_index)\n {\n _item_index = find(self.data, _item);\n }\n\n function get(Bytes storage self, uint256 _item_index)\n public\n constant\n returns (bytes32 _item)\n {\n _item = get(self.data, _item_index);\n }\n\n\n function append(Bytes storage self, bytes32 _data)\n public\n returns (bool _success)\n {\n _success = append(self.data, _data);\n }\n\n function remove(Bytes storage self, uint256 _index)\n internal\n returns (bool _success)\n {\n _success = remove(self.data, _index);\n }\n\n\n function remove_item(Bytes storage self, bytes32 _item)\n public\n returns (bool _success)\n {\n _success = remove_item(self.data, _item);\n }\n\n function total(Bytes storage self)\n public\n constant\n returns (uint256 _total_count)\n {\n _total_count = total(self.data);\n }\n\n function start(Bytes storage self)\n public\n constant\n returns (uint256 _index)\n {\n _index = start(self.data);\n }\n\n function start_item(Bytes storage self)\n public\n constant\n returns (bytes32 _start_item)\n {\n _start_item = start_item(self.data);\n }\n\n\n function end(Bytes storage self)\n public\n constant\n returns (uint256 _index)\n {\n _index = end(self.data);\n }\n\n function end_item(Bytes storage self)\n public\n constant\n returns (bytes32 _end_item)\n {\n _end_item = end_item(self.data);\n }\n\n function valid(Bytes storage self, uint256 _item_index)\n public\n constant\n returns (bool _yes)\n {\n _yes = valid(self.data, _item_index);\n }\n\n function valid_item(Bytes storage self, bytes32 _item)\n public\n constant\n returns (bool _yes)\n {\n _yes = valid_item(self.data, _item);\n }\n\n function previous(Bytes storage self, uint256 _current_index)\n public\n constant\n returns (uint256 _previous_index)\n {\n _previous_index = previous(self.data, _current_index);\n }\n\n function previous_item(Bytes storage self, bytes32 _current_item)\n public\n constant\n returns (bytes32 _previous_item)\n {\n _previous_item = previous_item(self.data, _current_item);\n }\n\n function next(Bytes storage self, uint256 _current_index)\n public\n constant\n returns (uint256 _next_index)\n {\n _next_index = next(self.data, _current_index);\n }\n\n function next_item(Bytes storage self, bytes32 _current_item)\n public\n constant\n returns (bytes32 _next_item)\n {\n _next_item = next_item(self.data, _current_item);\n }\n\n function append(IndexedBytes storage self, bytes32 _collection_index, bytes32 _data)\n public\n returns (bool _success)\n {\n _success = append(self.data[_collection_index], bytes32(_data));\n }\n\n function remove(IndexedBytes storage self, bytes32 _collection_index, uint256 _index)\n internal\n returns (bool _success)\n {\n _success = remove(self.data[_collection_index], _index);\n }\n\n\n function remove_item(IndexedBytes storage self, bytes32 _collection_index, bytes32 _item)\n public\n returns (bool _success)\n {\n _success = remove_item(self.data[_collection_index], bytes32(_item));\n }\n\n function total(IndexedBytes storage self, bytes32 _collection_index)\n public\n constant\n returns (uint256 _total_count)\n {\n _total_count = total(self.data[_collection_index]);\n }\n\n function start(IndexedBytes storage self, bytes32 _collection_index)\n public\n constant\n returns (uint256 _index)\n {\n _index = start(self.data[_collection_index]);\n }\n\n function start_item(IndexedBytes storage self, bytes32 _collection_index)\n public\n constant\n returns (bytes32 _start_item)\n {\n _start_item = bytes32(start_item(self.data[_collection_index]));\n }\n\n\n function end(IndexedBytes storage self, bytes32 _collection_index)\n public\n constant\n returns (uint256 _index)\n {\n _index = end(self.data[_collection_index]);\n }\n\n function end_item(IndexedBytes storage self, bytes32 _collection_index)\n public\n constant\n returns (bytes32 _end_item)\n {\n _end_item = bytes32(end_item(self.data[_collection_index]));\n }\n\n function valid(IndexedBytes storage self, bytes32 _collection_index, uint256 _item_index)\n public\n constant\n returns (bool _yes)\n {\n _yes = valid(self.data[_collection_index], _item_index);\n }\n\n function valid_item(IndexedBytes storage self, bytes32 _collection_index, bytes32 _item)\n public\n constant\n returns (bool _yes)\n {\n _yes = valid_item(self.data[_collection_index], bytes32(_item));\n }\n\n function previous(IndexedBytes storage self, bytes32 _collection_index, uint256 _current_index)\n public\n constant\n returns (uint256 _previous_index)\n {\n _previous_index = previous(self.data[_collection_index], _current_index);\n }\n\n function previous_item(IndexedBytes storage self, bytes32 _collection_index, bytes32 _current_item)\n public\n constant\n returns (bytes32 _previous_item)\n {\n _previous_item = bytes32(previous_item(self.data[_collection_index], bytes32(_current_item)));\n }\n\n function next(IndexedBytes storage self, bytes32 _collection_index, uint256 _current_index)\n public\n constant\n returns (uint256 _next_index)\n {\n _next_index = next(self.data[_collection_index], _current_index);\n }\n\n function next_item(IndexedBytes storage self, bytes32 _collection_index, bytes32 _current_item)\n public\n constant\n returns (bytes32 _next_item)\n {\n _next_item = bytes32(next_item(self.data[_collection_index], bytes32(_current_item)));\n }\n\n\n}\n", + "sourcePath": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "ast": { + "absolutePath": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "exportedSymbols": { + "DoublyLinkedList": [ + 25546 + ] + }, + "id": 25547, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 22989, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:81" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 25546, + "linearizedBaseContracts": [ + 25546 + ], + "name": "DoublyLinkedList", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "DoublyLinkedList.Item", + "id": 22996, + "members": [ + { + "constant": false, + "id": 22991, + "name": "item", + "nodeType": "VariableDeclaration", + "scope": 22996, + "src": "74:12:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22990, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "74:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22993, + "name": "previous_index", + "nodeType": "VariableDeclaration", + "scope": 22996, + "src": "92:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22992, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "92:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22995, + "name": "next_index", + "nodeType": "VariableDeclaration", + "scope": 22996, + "src": "120:18:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22994, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "120:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Item", + "nodeType": "StructDefinition", + "scope": 25546, + "src": "56:87:81", + "visibility": "public" + }, + { + "canonicalName": "DoublyLinkedList.Data", + "id": 23014, + "members": [ + { + "constant": false, + "id": 22998, + "name": "first_index", + "nodeType": "VariableDeclaration", + "scope": 23014, + "src": "165:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22997, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "165:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23000, + "name": "last_index", + "nodeType": "VariableDeclaration", + "scope": 23014, + "src": "190:18:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22999, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "190:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23002, + "name": "count", + "nodeType": "VariableDeclaration", + "scope": 23014, + "src": "214:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23001, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "214:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23006, + "name": "item_index", + "nodeType": "VariableDeclaration", + "scope": 23014, + "src": "233:38:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 23005, + "keyType": { + "id": 23003, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "241:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "233:27:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueType": { + "id": 23004, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "252:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23010, + "name": "valid_indexes", + "nodeType": "VariableDeclaration", + "scope": 23014, + "src": "277:38:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + }, + "typeName": { + "id": 23009, + "keyType": { + "id": 23007, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "285:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "277:24:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + }, + "valueType": { + "id": 23008, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "296:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23013, + "name": "collection", + "nodeType": "VariableDeclaration", + "scope": 23014, + "src": "321:17:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Item_$22996_storage_$dyn_storage_ptr", + "typeString": "struct DoublyLinkedList.Item[]" + }, + "typeName": { + "baseType": { + "contractScope": null, + "id": 23011, + "name": "Item", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 22996, + "src": "321:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_storage_ptr", + "typeString": "struct DoublyLinkedList.Item" + } + }, + "id": 23012, + "length": null, + "nodeType": "ArrayTypeName", + "src": "321:6:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Item_$22996_storage_$dyn_storage_ptr", + "typeString": "struct DoublyLinkedList.Item[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Data", + "nodeType": "StructDefinition", + "scope": 25546, + "src": "147:196:81", + "visibility": "public" + }, + { + "canonicalName": "DoublyLinkedList.IndexedUint", + "id": 23019, + "members": [ + { + "constant": false, + "id": 23018, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 23019, + "src": "372:29:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data)" + }, + "typeName": { + "id": 23017, + "keyType": { + "id": 23015, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "380:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "372:24:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data)" + }, + "valueType": { + "contractScope": null, + "id": 23016, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "391:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "IndexedUint", + "nodeType": "StructDefinition", + "scope": 25546, + "src": "347:59:81", + "visibility": "public" + }, + { + "canonicalName": "DoublyLinkedList.IndexedAddress", + "id": 23024, + "members": [ + { + "constant": false, + "id": 23023, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 23024, + "src": "438:29:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data)" + }, + "typeName": { + "id": 23022, + "keyType": { + "id": 23020, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "446:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "438:24:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data)" + }, + "valueType": { + "contractScope": null, + "id": 23021, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "457:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "IndexedAddress", + "nodeType": "StructDefinition", + "scope": 25546, + "src": "410:62:81", + "visibility": "public" + }, + { + "canonicalName": "DoublyLinkedList.IndexedBytes", + "id": 23029, + "members": [ + { + "constant": false, + "id": 23028, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 23029, + "src": "502:29:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data)" + }, + "typeName": { + "id": 23027, + "keyType": { + "id": 23025, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "510:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "502:24:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data)" + }, + "valueType": { + "contractScope": null, + "id": 23026, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "521:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "IndexedBytes", + "nodeType": "StructDefinition", + "scope": 25546, + "src": "476:60:81", + "visibility": "public" + }, + { + "canonicalName": "DoublyLinkedList.Address", + "id": 23032, + "members": [ + { + "constant": false, + "id": 23031, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 23032, + "src": "561:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23030, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "561:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Address", + "nodeType": "StructDefinition", + "scope": 25546, + "src": "540:35:81", + "visibility": "public" + }, + { + "canonicalName": "DoublyLinkedList.Bytes", + "id": 23035, + "members": [ + { + "constant": false, + "id": 23034, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 23035, + "src": "598:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23033, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "598:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Bytes", + "nodeType": "StructDefinition", + "scope": 25546, + "src": "579:33:81", + "visibility": "public" + }, + { + "canonicalName": "DoublyLinkedList.Uint", + "id": 23038, + "members": [ + { + "constant": false, + "id": 23037, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 23038, + "src": "634:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23036, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "634:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Uint", + "nodeType": "StructDefinition", + "scope": 25546, + "src": "616:32:81", + "visibility": "public" + }, + { + "constant": true, + "id": 23043, + "name": "NONE", + "nodeType": "VariableDeclaration", + "scope": 25546, + "src": "652:34:81", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23039, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "652:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 23041, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "684:1:81", + "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": 23040, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "676:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 23042, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "676:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 23048, + "name": "EMPTY_BYTES", + "nodeType": "VariableDeclaration", + "scope": 25546, + "src": "690:43:81", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23044, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "690:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 23046, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "729:3:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 23045, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "721:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 23047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "721:12:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 23053, + "name": "NULL_ADDRESS", + "nodeType": "VariableDeclaration", + "scope": 25546, + "src": "737:44:81", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23049, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "737:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 23051, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "777:3:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 23050, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "769:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 23052, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "769:12:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "body": { + "id": 23089, + "nodeType": "Block", + "src": "915:162:81", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 23074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23062, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23055, + "src": "926:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23063, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "item_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23006, + "src": "926:15:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 23065, + "indexExpression": { + "argumentTypes": null, + "id": 23064, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23057, + "src": "942:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "926:22:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 23066, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "952:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "926:30:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 23068, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "925:32:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23069, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23055, + "src": "962:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23070, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "count", + "nodeType": "MemberAccess", + "referencedDeclaration": 23002, + "src": "962:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 23071, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "976:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "962:18:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 23073, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "961:20:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "925:56:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23087, + "nodeType": "Block", + "src": "1022:51:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23080, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23060, + "src": "1030:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23081, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23055, + "src": "1044:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23082, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "item_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23006, + "src": "1044:15:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 23084, + "indexExpression": { + "argumentTypes": null, + "id": 23083, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23057, + "src": "1060:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1044:22:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1030:36:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23086, + "nodeType": "ExpressionStatement", + "src": "1030:36:81" + } + ] + }, + "id": 23088, + "nodeType": "IfStatement", + "src": "921:152:81", + "trueBody": { + "id": 23079, + "nodeType": "Block", + "src": "983:33:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23075, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23060, + "src": "991:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23076, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "1005:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "991:18:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23078, + "nodeType": "ExpressionStatement", + "src": "991:18:81" + } + ] + } + } + ] + }, + "documentation": null, + "id": 23090, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "find", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23058, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23055, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23090, + "src": "800:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23054, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "800:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23057, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 23090, + "src": "819:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23056, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "819:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "799:34:81" + }, + "payable": false, + "returnParameters": { + "id": 23061, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23060, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23090, + "src": "892:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23059, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "892:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "891:21:81" + }, + "scope": 25546, + "src": "786:291:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23122, + "nodeType": "Block", + "src": "1209:155:81", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 23104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23099, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23092, + "src": "1219:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23100, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 23010, + "src": "1219:18:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 23102, + "indexExpression": { + "argumentTypes": null, + "id": 23101, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23094, + "src": "1238:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1219:31:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 23103, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1254:4:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1219:39:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23120, + "nodeType": "Block", + "src": "1326:34:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23116, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23097, + "src": "1334:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23117, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23048, + "src": "1342:11:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1334:19:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 23119, + "nodeType": "ExpressionStatement", + "src": "1334:19:81" + } + ] + }, + "id": 23121, + "nodeType": "IfStatement", + "src": "1215:145:81", + "trueBody": { + "id": 23115, + "nodeType": "Block", + "src": "1260:60:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23105, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23097, + "src": "1268:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23106, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23092, + "src": "1276:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23107, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 23013, + "src": "1276:15:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Item_$22996_storage_$dyn_storage", + "typeString": "struct DoublyLinkedList.Item storage ref[] storage ref" + } + }, + "id": 23111, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 23108, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23094, + "src": "1292:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 23109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1306:1:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1292:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1276:32:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_storage", + "typeString": "struct DoublyLinkedList.Item storage ref" + } + }, + "id": 23112, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "item", + "nodeType": "MemberAccess", + "referencedDeclaration": 22991, + "src": "1276:37:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1268:45:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 23114, + "nodeType": "ExpressionStatement", + "src": "1268:45:81" + } + ] + } + } + ] + }, + "documentation": null, + "id": 23123, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23095, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23092, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23123, + "src": "1094:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23091, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "1094:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23094, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23123, + "src": "1113:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23093, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1113:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1093:40:81" + }, + "payable": false, + "returnParameters": { + "id": 23098, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23097, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 23123, + "src": "1192:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23096, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1192:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1191:15:81" + }, + "scope": 25546, + "src": "1081:283:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23248, + "nodeType": "Block", + "src": "1475:750:81", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 23143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23133, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "1490:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 23134, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23127, + "src": "1496:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23132, + "name": "find", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23090, + 23721, + 24016, + 24060, + 24979 + ], + "referencedDeclaration": 23090, + "src": "1485:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 23135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1485:17:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 23136, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "1506:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1485:25:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 23142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 23138, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23127, + "src": "1514:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "", + "id": 23140, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1531:2:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 23139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1523:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 23141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1523:11:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1514:20:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1485:49:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23246, + "nodeType": "Block", + "src": "1609:612:81", + "statements": [ + { + "assignments": [ + 23150 + ], + "declarations": [ + { + "constant": false, + "id": 23150, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 23249, + "src": "1617:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23149, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1617:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 23163, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23156, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23127, + "src": "1675:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23157, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "1698:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23158, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "last_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23000, + "src": "1698:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 23159, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "1727:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": null, + "id": 23155, + "name": "Item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22996, + "src": "1663:4:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Item_$22996_storage_ptr_$", + "typeString": "type(struct DoublyLinkedList.Item storage pointer)" + } + }, + "id": 23160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "item", + "previous_index", + "next_index" + ], + "nodeType": "FunctionCall", + "src": "1663:70:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_memory", + "typeString": "struct DoublyLinkedList.Item memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Item_$22996_memory", + "typeString": "struct DoublyLinkedList.Item memory" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23152, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "1642:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23153, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 23013, + "src": "1642:15:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Item_$22996_storage_$dyn_storage", + "typeString": "struct DoublyLinkedList.Item storage ref[] storage ref" + } + }, + "id": 23154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1642:20:81", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Item_$22996_storage_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Item storage ref) returns (uint256)" + } + }, + "id": 23161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1642:92:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1634:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 23162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1634:101:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1617:118:81" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23164, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "1747:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23165, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "last_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23000, + "src": "1747:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 23166, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "1766:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1747:23:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23224, + "nodeType": "Block", + "src": "1981:131:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23201, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "1991:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23207, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 23013, + "src": "1991:15:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Item_$22996_storage_$dyn_storage", + "typeString": "struct DoublyLinkedList.Item storage ref[] storage ref" + } + }, + "id": 23208, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23203, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "2007:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23204, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "last_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23000, + "src": "2007:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 23205, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2025:1:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2007:19:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1991:36:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_storage", + "typeString": "struct DoublyLinkedList.Item storage ref" + } + }, + "id": 23209, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "next_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22995, + "src": "1991:47:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23210, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23150, + "src": "2041:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1991:56:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23212, + "nodeType": "ExpressionStatement", + "src": "1991:56:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23213, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "2057:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23215, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "last_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23000, + "src": "2057:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23216, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23150, + "src": "2075:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2057:24:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23218, + "nodeType": "ExpressionStatement", + "src": "2057:24:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2091:12:81", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23219, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "2091:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23221, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "count", + "nodeType": "MemberAccess", + "referencedDeclaration": 23002, + "src": "2091:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23223, + "nodeType": "ExpressionStatement", + "src": "2091:12:81" + } + ] + }, + "id": 23225, + "nodeType": "IfStatement", + "src": "1743:369:81", + "trueBody": { + "id": 23200, + "nodeType": "Block", + "src": "1772:203:81", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 23178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23168, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "1787:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23169, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "first_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22998, + "src": "1787:16:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 23170, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "1807:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1787:24:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 23172, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1786:26:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23173, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "1817:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23174, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "count", + "nodeType": "MemberAccess", + "referencedDeclaration": 23002, + "src": "1817:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 23175, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "1831:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1817:18:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 23177, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1816:20:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1786:50:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23198, + "nodeType": "Block", + "src": "1875:92:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23183, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "1887:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23185, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "first_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22998, + "src": "1887:16:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23186, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "1906:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23187, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "last_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23000, + "src": "1906:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23188, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23150, + "src": "1924:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1906:24:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1887:43:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23191, + "nodeType": "ExpressionStatement", + "src": "1887:43:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23192, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "1942:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23194, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "count", + "nodeType": "MemberAccess", + "referencedDeclaration": 23002, + "src": "1942:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 23195, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1955:1:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1942:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23197, + "nodeType": "ExpressionStatement", + "src": "1942:14:81" + } + ] + }, + "id": 23199, + "nodeType": "IfStatement", + "src": "1782:185:81", + "trueBody": { + "id": 23182, + "nodeType": "Block", + "src": "1838:31:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 23179, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26617, + 26618 + ], + "referencedDeclaration": 26617, + "src": "1850:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 23180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1850:8:81", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23181, + "nodeType": "ExpressionStatement", + "src": "1850:8:81" + } + ] + } + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 23232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23226, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "2119:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23229, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 23010, + "src": "2119:18:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 23230, + "indexExpression": { + "argumentTypes": null, + "id": 23228, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23150, + "src": "2138:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2119:26:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 23231, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2148:4:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2119:33:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23233, + "nodeType": "ExpressionStatement", + "src": "2119:33:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23234, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "2160:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "item_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23006, + "src": "2160:15:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 23238, + "indexExpression": { + "argumentTypes": null, + "id": 23236, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23127, + "src": "2176:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2160:22:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23239, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23150, + "src": "2185:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2160:31:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23241, + "nodeType": "ExpressionStatement", + "src": "2160:31:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23242, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23130, + "src": "2199:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 23243, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2210:4:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2199:15:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23245, + "nodeType": "ExpressionStatement", + "src": "2199:15:81" + } + ] + }, + "id": 23247, + "nodeType": "IfStatement", + "src": "1481:740:81", + "trueBody": { + "id": 23148, + "nodeType": "Block", + "src": "1536:67:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23144, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23130, + "src": "1580:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 23145, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1591:5:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1580:16:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23147, + "nodeType": "ExpressionStatement", + "src": "1580:16:81" + } + ] + } + } + ] + }, + "documentation": null, + "id": 23249, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "append", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23128, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23125, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23249, + "src": "1384:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23124, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "1384:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23127, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 23249, + "src": "1403:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23126, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1403:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1383:34:81" + }, + "payable": false, + "returnParameters": { + "id": 23131, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23130, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 23249, + "src": "1458:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23129, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1458:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1457:15:81" + }, + "scope": 25546, + "src": "1368:857:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 23366, + "nodeType": "Block", + "src": "2337:694:81", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 23263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23258, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23251, + "src": "2347:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23259, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 23010, + "src": "2347:18:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 23261, + "indexExpression": { + "argumentTypes": null, + "id": 23260, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23253, + "src": "2366:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2347:26:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 23262, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2377:4:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2347:34:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23364, + "nodeType": "Block", + "src": "2996:31:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23360, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23256, + "src": "3004:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 23361, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3015:5:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "3004:16:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23363, + "nodeType": "ExpressionStatement", + "src": "3004:16:81" + } + ] + }, + "id": 23365, + "nodeType": "IfStatement", + "src": "2343:684:81", + "trueBody": { + "id": 23359, + "nodeType": "Block", + "src": "2383:607:81", + "statements": [ + { + "assignments": [ + 23265 + ], + "declarations": [ + { + "constant": false, + "id": 23265, + "name": "item", + "nodeType": "VariableDeclaration", + "scope": 23367, + "src": "2391:16:81", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_memory_ptr", + "typeString": "struct DoublyLinkedList.Item" + }, + "typeName": { + "contractScope": null, + "id": 23264, + "name": "Item", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 22996, + "src": "2391:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_storage_ptr", + "typeString": "struct DoublyLinkedList.Item" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 23272, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23266, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23251, + "src": "2410:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23267, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 23013, + "src": "2410:15:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Item_$22996_storage_$dyn_storage", + "typeString": "struct DoublyLinkedList.Item storage ref[] storage ref" + } + }, + "id": 23271, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 23268, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23253, + "src": "2426:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 23269, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2435:1:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2426:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2410:27:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_storage", + "typeString": "struct DoublyLinkedList.Item storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2391:46:81" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23273, + "name": "item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23265, + "src": "2449:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_memory_ptr", + "typeString": "struct DoublyLinkedList.Item memory" + } + }, + "id": 23274, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previous_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22993, + "src": "2449:19:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 23275, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "2472:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2449:27:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23298, + "nodeType": "Block", + "src": "2537:88:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23285, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23251, + "src": "2547:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23291, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 23013, + "src": "2547:15:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Item_$22996_storage_$dyn_storage", + "typeString": "struct DoublyLinkedList.Item storage ref[] storage ref" + } + }, + "id": 23292, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23287, + "name": "item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23265, + "src": "2563:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_memory_ptr", + "typeString": "struct DoublyLinkedList.Item memory" + } + }, + "id": 23288, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previous_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22993, + "src": "2563:19:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 23289, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2585:1:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2563:23:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2547:40:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_storage", + "typeString": "struct DoublyLinkedList.Item storage ref" + } + }, + "id": 23293, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "next_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22995, + "src": "2547:51:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23294, + "name": "item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23265, + "src": "2601:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_memory_ptr", + "typeString": "struct DoublyLinkedList.Item memory" + } + }, + "id": 23295, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "next_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22995, + "src": "2601:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2547:69:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23297, + "nodeType": "ExpressionStatement", + "src": "2547:69:81" + } + ] + }, + "id": 23299, + "nodeType": "IfStatement", + "src": "2445:180:81", + "trueBody": { + "id": 23284, + "nodeType": "Block", + "src": "2478:53:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23277, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23251, + "src": "2488:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23279, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "first_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22998, + "src": "2488:16:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23280, + "name": "item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23265, + "src": "2507:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_memory_ptr", + "typeString": "struct DoublyLinkedList.Item memory" + } + }, + "id": 23281, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "next_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22995, + "src": "2507:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2488:34:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23283, + "nodeType": "ExpressionStatement", + "src": "2488:34:81" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23300, + "name": "item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23265, + "src": "2637:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_memory_ptr", + "typeString": "struct DoublyLinkedList.Item memory" + } + }, + "id": 23301, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "next_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22995, + "src": "2637:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 23302, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "2656:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2637:23:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23325, + "nodeType": "Block", + "src": "2724:92:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23312, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23251, + "src": "2734:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23318, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 23013, + "src": "2734:15:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Item_$22996_storage_$dyn_storage", + "typeString": "struct DoublyLinkedList.Item storage ref[] storage ref" + } + }, + "id": 23319, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23314, + "name": "item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23265, + "src": "2750:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_memory_ptr", + "typeString": "struct DoublyLinkedList.Item memory" + } + }, + "id": 23315, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "next_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22995, + "src": "2750:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 23316, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2768:1:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2750:19:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2734:36:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_storage", + "typeString": "struct DoublyLinkedList.Item storage ref" + } + }, + "id": 23320, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "previous_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22993, + "src": "2734:51:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23321, + "name": "item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23265, + "src": "2788:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_memory_ptr", + "typeString": "struct DoublyLinkedList.Item memory" + } + }, + "id": 23322, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previous_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22993, + "src": "2788:19:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2734:73:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23324, + "nodeType": "ExpressionStatement", + "src": "2734:73:81" + } + ] + }, + "id": 23326, + "nodeType": "IfStatement", + "src": "2633:183:81", + "trueBody": { + "id": 23311, + "nodeType": "Block", + "src": "2662:56:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23304, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23251, + "src": "2672:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23306, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "last_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23000, + "src": "2672:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23307, + "name": "item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23265, + "src": "2690:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_memory_ptr", + "typeString": "struct DoublyLinkedList.Item memory" + } + }, + "id": 23308, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previous_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22993, + "src": "2690:19:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2672:37:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23310, + "nodeType": "ExpressionStatement", + "src": "2672:37:81" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 23333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "2823:34:81", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23327, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23251, + "src": "2830:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23328, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 23013, + "src": "2830:15:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Item_$22996_storage_$dyn_storage", + "typeString": "struct DoublyLinkedList.Item storage ref[] storage ref" + } + }, + "id": 23332, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 23329, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23253, + "src": "2846:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 23330, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2855:1:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2846:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2830:27:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_storage", + "typeString": "struct DoublyLinkedList.Item storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23334, + "nodeType": "ExpressionStatement", + "src": "2823:34:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23335, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23251, + "src": "2865:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23338, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 23010, + "src": "2865:18:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 23339, + "indexExpression": { + "argumentTypes": null, + "id": 23337, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23253, + "src": "2884:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2865:26:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 23340, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2894:5:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "2865:34:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23342, + "nodeType": "ExpressionStatement", + "src": "2865:34:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "2907:33:81", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23343, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23251, + "src": "2914:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23344, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "item_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23006, + "src": "2914:15:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 23347, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23345, + "name": "item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23265, + "src": "2930:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_memory_ptr", + "typeString": "struct DoublyLinkedList.Item memory" + } + }, + "id": 23346, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "item", + "nodeType": "MemberAccess", + "referencedDeclaration": 22991, + "src": "2930:9:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2914:26:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23349, + "nodeType": "ExpressionStatement", + "src": "2907:33:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "2948:12:81", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23350, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23251, + "src": "2948:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23352, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "count", + "nodeType": "MemberAccess", + "referencedDeclaration": 23002, + "src": "2948:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23354, + "nodeType": "ExpressionStatement", + "src": "2948:12:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23355, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23256, + "src": "2968:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 23356, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2979:4:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2968:15:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23358, + "nodeType": "ExpressionStatement", + "src": "2968:15:81" + } + ] + } + } + ] + }, + "documentation": null, + "id": 23367, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23254, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23251, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23367, + "src": "2245:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23250, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "2245:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23253, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 23367, + "src": "2264:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23252, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2264:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2244:35:81" + }, + "payable": false, + "returnParameters": { + "id": 23257, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23256, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 23367, + "src": "2320:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23255, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2320:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2319:15:81" + }, + "scope": 25546, + "src": "2229:802:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 23406, + "nodeType": "Block", + "src": "3147:210:81", + "statements": [ + { + "assignments": [ + 23377 + ], + "declarations": [ + { + "constant": false, + "id": 23377, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23407, + "src": "3153:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23376, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3153:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 23382, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23379, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23369, + "src": "3180:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 23380, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23371, + "src": "3186:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23378, + "name": "find", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23090, + 23721, + 24016, + 24060, + 24979 + ], + "referencedDeclaration": 23090, + "src": "3175:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 23381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3175:17:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3153:39:81" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 23383, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23377, + "src": "3202:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 23384, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "3217:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3202:19:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23402, + "nodeType": "Block", + "src": "3301:31:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23398, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23374, + "src": "3309:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 23399, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3320:5:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "3309:16:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23401, + "nodeType": "ExpressionStatement", + "src": "3309:16:81" + } + ] + }, + "id": 23403, + "nodeType": "IfStatement", + "src": "3198:134:81", + "trueBody": { + "id": 23397, + "nodeType": "Block", + "src": "3223:72:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23388, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23369, + "src": "3246:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 23389, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23377, + "src": "3252:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23387, + "name": "remove", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23367, + 23779, + 24130, + 24433, + 24696, + 25033, + 25280 + ], + "referencedDeclaration": 23367, + "src": "3239:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) returns (bool)" + } + }, + "id": 23390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3239:25:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 23386, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3231:7:81", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 23391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3231:34:81", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23392, + "nodeType": "ExpressionStatement", + "src": "3231:34:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23393, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23374, + "src": "3273:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 23394, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3284:4:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "3273:15:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23396, + "nodeType": "ExpressionStatement", + "src": "3273:15:81" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 23404, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23374, + "src": "3344:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 23375, + "id": 23405, + "nodeType": "Return", + "src": "3337:15:81" + } + ] + }, + "documentation": null, + "id": 23407, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23372, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23369, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23407, + "src": "3056:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23368, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "3056:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23371, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 23407, + "src": "3075:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23370, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3075:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3055:34:81" + }, + "payable": false, + "returnParameters": { + "id": 23375, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23374, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 23407, + "src": "3130:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23373, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3130:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3129:15:81" + }, + "scope": 25546, + "src": "3035:322:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 23419, + "nodeType": "Block", + "src": "3477:36:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23414, + "name": "_total_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23412, + "src": "3483:12:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23415, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23409, + "src": "3498:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23416, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "count", + "nodeType": "MemberAccess", + "referencedDeclaration": 23002, + "src": "3498:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3483:25:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23418, + "nodeType": "ExpressionStatement", + "src": "3483:25:81" + } + ] + }, + "documentation": null, + "id": 23420, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "total", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23410, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23409, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23420, + "src": "3376:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23408, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "3376:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3375:19:81" + }, + "payable": false, + "returnParameters": { + "id": 23413, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23412, + "name": "_total_count", + "nodeType": "VariableDeclaration", + "scope": 23420, + "src": "3453:20:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23411, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3453:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3452:22:81" + }, + "scope": 25546, + "src": "3361:152:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23434, + "nodeType": "Block", + "src": "3632:65:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23427, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23425, + "src": "3638:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23428, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23422, + "src": "3652:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23429, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "first_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22998, + "src": "3652:16:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3638:30:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23431, + "nodeType": "ExpressionStatement", + "src": "3638:30:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23432, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23425, + "src": "3681:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 23426, + "id": 23433, + "nodeType": "Return", + "src": "3674:18:81" + } + ] + }, + "documentation": null, + "id": 23435, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23423, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23422, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23435, + "src": "3532:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23421, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "3532:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3531:19:81" + }, + "payable": false, + "returnParameters": { + "id": 23426, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23425, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23435, + "src": "3609:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23424, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3609:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3608:21:81" + }, + "scope": 25546, + "src": "3517:180:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23465, + "nodeType": "Block", + "src": "3815:159:81", + "statements": [ + { + "assignments": [ + 23443 + ], + "declarations": [ + { + "constant": false, + "id": 23443, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23466, + "src": "3821:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23442, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3821:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 23447, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23445, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23437, + "src": "3849:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + ], + "id": 23444, + "name": "start", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23435, + 23829, + 24192, + 24483, + 24758, + 25081, + 25342 + ], + "referencedDeclaration": 23435, + "src": "3843:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 23446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3843:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3821:33:81" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 23448, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23443, + "src": "3864:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 23449, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "3879:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3864:19:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23463, + "nodeType": "Block", + "src": "3936:34:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23459, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23440, + "src": "3944:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23460, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23048, + "src": "3952:11:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3944:19:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 23462, + "nodeType": "ExpressionStatement", + "src": "3944:19:81" + } + ] + }, + "id": 23464, + "nodeType": "IfStatement", + "src": "3860:110:81", + "trueBody": { + "id": 23458, + "nodeType": "Block", + "src": "3885:45:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23451, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23440, + "src": "3893:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23453, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23437, + "src": "3905:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 23454, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23443, + "src": "3911:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23452, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23123, + 23741, + 24036, + 24084, + 24997 + ], + "referencedDeclaration": 23123, + "src": "3901:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bytes32)" + } + }, + "id": 23455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3901:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3893:30:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 23457, + "nodeType": "ExpressionStatement", + "src": "3893:30:81" + } + ] + } + } + ] + }, + "documentation": null, + "id": 23466, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23438, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23437, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23466, + "src": "3721:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23436, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "3721:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3720:19:81" + }, + "payable": false, + "returnParameters": { + "id": 23441, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23440, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 23466, + "src": "3798:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23439, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3798:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3797:15:81" + }, + "scope": 25546, + "src": "3701:273:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23480, + "nodeType": "Block", + "src": "4091:64:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23473, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23471, + "src": "4097:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23474, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23468, + "src": "4111:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23475, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "last_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23000, + "src": "4111:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4097:29:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23477, + "nodeType": "ExpressionStatement", + "src": "4097:29:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23478, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23471, + "src": "4139:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 23472, + "id": 23479, + "nodeType": "Return", + "src": "4132:18:81" + } + ] + }, + "documentation": null, + "id": 23481, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23469, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23468, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23481, + "src": "3991:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23467, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "3991:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3990:19:81" + }, + "payable": false, + "returnParameters": { + "id": 23472, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23471, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23481, + "src": "4068:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23470, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4068:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4067:21:81" + }, + "scope": 25546, + "src": "3978:177:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23511, + "nodeType": "Block", + "src": "4271:157:81", + "statements": [ + { + "assignments": [ + 23489 + ], + "declarations": [ + { + "constant": false, + "id": 23489, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23512, + "src": "4277:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23488, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4277:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 23493, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23491, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23483, + "src": "4303:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + ], + "id": 23490, + "name": "end", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23481, + 23861, + 24232, + 24515, + 24798, + 25111, + 25382 + ], + "referencedDeclaration": 23481, + "src": "4299:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 23492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4299:9:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4277:31:81" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 23494, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23489, + "src": "4318:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 23495, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "4333:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4318:19:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23509, + "nodeType": "Block", + "src": "4390:34:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23505, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23486, + "src": "4398:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23506, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23048, + "src": "4406:11:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4398:19:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 23508, + "nodeType": "ExpressionStatement", + "src": "4398:19:81" + } + ] + }, + "id": 23510, + "nodeType": "IfStatement", + "src": "4314:110:81", + "trueBody": { + "id": 23504, + "nodeType": "Block", + "src": "4339:45:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23497, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23486, + "src": "4347:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23499, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23483, + "src": "4359:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 23500, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23489, + "src": "4365:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23498, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23123, + 23741, + 24036, + 24084, + 24997 + ], + "referencedDeclaration": 23123, + "src": "4355:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bytes32)" + } + }, + "id": 23501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4355:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4347:30:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 23503, + "nodeType": "ExpressionStatement", + "src": "4347:30:81" + } + ] + } + } + ] + }, + "documentation": null, + "id": 23512, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23484, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23483, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23512, + "src": "4177:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23482, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "4177:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4176:19:81" + }, + "payable": false, + "returnParameters": { + "id": 23487, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23486, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 23512, + "src": "4254:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23485, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4254:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4253:15:81" + }, + "scope": 25546, + "src": "4159:269:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23528, + "nodeType": "Block", + "src": "4558:108:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23521, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23519, + "src": "4564:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23522, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23514, + "src": "4571:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23523, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 23010, + "src": "4571:18:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 23525, + "indexExpression": { + "argumentTypes": null, + "id": 23524, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23516, + "src": "4590:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4571:31:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4564:38:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23527, + "nodeType": "ExpressionStatement", + "src": "4564:38:81" + } + ] + }, + "documentation": null, + "id": 23529, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23517, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23514, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23529, + "src": "4447:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23513, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "4447:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23516, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23529, + "src": "4466:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23515, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4466:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4446:40:81" + }, + "payable": false, + "returnParameters": { + "id": 23520, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23519, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 23529, + "src": "4545:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23518, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4545:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4544:11:81" + }, + "scope": 25546, + "src": "4432:234:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23552, + "nodeType": "Block", + "src": "4795:99:81", + "statements": [ + { + "assignments": [ + 23539 + ], + "declarations": [ + { + "constant": false, + "id": 23539, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23553, + "src": "4801:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23538, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4801:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 23544, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23540, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23531, + "src": "4823:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23541, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "item_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23006, + "src": "4823:15:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 23543, + "indexExpression": { + "argumentTypes": null, + "id": 23542, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23533, + "src": "4839:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4823:22:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4801:44:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23545, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23536, + "src": "4851:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23546, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23531, + "src": "4858:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23547, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 23010, + "src": "4858:18:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 23549, + "indexExpression": { + "argumentTypes": null, + "id": 23548, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23539, + "src": "4877:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4858:31:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4851:38:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23551, + "nodeType": "ExpressionStatement", + "src": "4851:38:81" + } + ] + }, + "documentation": null, + "id": 23553, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23534, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23531, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23553, + "src": "4690:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23530, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "4690:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23533, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 23553, + "src": "4709:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23532, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4709:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4689:34:81" + }, + "payable": false, + "returnParameters": { + "id": 23537, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23536, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 23553, + "src": "4782:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23535, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4782:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4781:11:81" + }, + "scope": 25546, + "src": "4670:224:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23585, + "nodeType": "Block", + "src": "5044:184:81", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 23567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23562, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23555, + "src": "5054:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23563, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 23010, + "src": "5054:18:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 23565, + "indexExpression": { + "argumentTypes": null, + "id": 23564, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23557, + "src": "5073:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5054:34:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 23566, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5092:4:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "5054:42:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23583, + "nodeType": "Block", + "src": "5187:37:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23579, + "name": "_previous_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23560, + "src": "5195:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23580, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "5213:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5195:22:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23582, + "nodeType": "ExpressionStatement", + "src": "5195:22:81" + } + ] + }, + "id": 23584, + "nodeType": "IfStatement", + "src": "5050:174:81", + "trueBody": { + "id": 23578, + "nodeType": "Block", + "src": "5098:83:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23568, + "name": "_previous_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23560, + "src": "5106:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23569, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23555, + "src": "5124:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23570, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 23013, + "src": "5124:15:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Item_$22996_storage_$dyn_storage", + "typeString": "struct DoublyLinkedList.Item storage ref[] storage ref" + } + }, + "id": 23574, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 23571, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23557, + "src": "5140:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 23572, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5157:1:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5140:18:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5124:35:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_storage", + "typeString": "struct DoublyLinkedList.Item storage ref" + } + }, + "id": 23575, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previous_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22993, + "src": "5124:50:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5106:68:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23577, + "nodeType": "ExpressionStatement", + "src": "5106:68:81" + } + ] + } + } + ] + }, + "documentation": null, + "id": 23586, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23558, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23555, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23586, + "src": "4916:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23554, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "4916:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23557, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 23586, + "src": "4935:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23556, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4935:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4915:43:81" + }, + "payable": false, + "returnParameters": { + "id": 23561, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23560, + "name": "_previous_index", + "nodeType": "VariableDeclaration", + "scope": 23586, + "src": "5017:23:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23559, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5017:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5016:25:81" + }, + "scope": 25546, + "src": "4898:330:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23626, + "nodeType": "Block", + "src": "5381:265:81", + "statements": [ + { + "assignments": [ + 23596 + ], + "declarations": [ + { + "constant": false, + "id": 23596, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 23627, + "src": "5387:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23595, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5387:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 23601, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23598, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23588, + "src": "5417:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 23599, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23590, + "src": "5423:13:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23597, + "name": "find", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23090, + 23721, + 24016, + 24060, + 24979 + ], + "referencedDeclaration": 23090, + "src": "5412:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 23600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5412:25:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5387:50:81" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 23602, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23596, + "src": "5447:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 23603, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "5465:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5447:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23624, + "nodeType": "Block", + "src": "5599:43:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23620, + "name": "_previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23593, + "src": "5607:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23621, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23048, + "src": "5624:11:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5607:28:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 23623, + "nodeType": "ExpressionStatement", + "src": "5607:28:81" + } + ] + }, + "id": 23625, + "nodeType": "IfStatement", + "src": "5443:199:81", + "trueBody": { + "id": 23619, + "nodeType": "Block", + "src": "5471:122:81", + "statements": [ + { + "assignments": [ + 23606 + ], + "declarations": [ + { + "constant": false, + "id": 23606, + "name": "_previous_index", + "nodeType": "VariableDeclaration", + "scope": 23627, + "src": "5479:23:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23605, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5479:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 23611, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23608, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23588, + "src": "5514:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 23609, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23596, + "src": "5520:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23607, + "name": "previous", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23586, + 23934, + 24321, + 24588, + 24887, + 25180, + 25471 + ], + "referencedDeclaration": 23586, + "src": "5505:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 23610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5505:30:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5479:56:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23612, + "name": "_previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23593, + "src": "5543:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23614, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23588, + "src": "5564:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 23615, + "name": "_previous_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23606, + "src": "5570:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23613, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23123, + 23741, + 24036, + 24084, + 24997 + ], + "referencedDeclaration": 23123, + "src": "5560:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bytes32)" + } + }, + "id": 23616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5560:26:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5543:43:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 23618, + "nodeType": "ExpressionStatement", + "src": "5543:43:81" + } + ] + } + } + ] + }, + "documentation": null, + "id": 23627, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23591, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23588, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23627, + "src": "5255:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23587, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "5255:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23590, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 23627, + "src": "5274:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23589, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5274:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5254:42:81" + }, + "payable": false, + "returnParameters": { + "id": 23594, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23593, + "name": "_previous_item", + "nodeType": "VariableDeclaration", + "scope": 23627, + "src": "5355:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23592, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5355:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5354:24:81" + }, + "scope": 25546, + "src": "5232:414:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23659, + "nodeType": "Block", + "src": "5788:172:81", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 23641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23636, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23629, + "src": "5798:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23637, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 23010, + "src": "5798:18:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 23639, + "indexExpression": { + "argumentTypes": null, + "id": 23638, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23631, + "src": "5817:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5798:34:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 23640, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5836:4:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "5798:42:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23657, + "nodeType": "Block", + "src": "5923:33:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23653, + "name": "_next_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23634, + "src": "5931:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23654, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "5945:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5931:18:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23656, + "nodeType": "ExpressionStatement", + "src": "5931:18:81" + } + ] + }, + "id": 23658, + "nodeType": "IfStatement", + "src": "5794:162:81", + "trueBody": { + "id": 23652, + "nodeType": "Block", + "src": "5842:75:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23642, + "name": "_next_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23634, + "src": "5850:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23643, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23629, + "src": "5864:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23644, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 23013, + "src": "5864:15:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Item_$22996_storage_$dyn_storage", + "typeString": "struct DoublyLinkedList.Item storage ref[] storage ref" + } + }, + "id": 23648, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 23645, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23631, + "src": "5880:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 23646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5897:1:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5880:18:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5864:35:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_storage", + "typeString": "struct DoublyLinkedList.Item storage ref" + } + }, + "id": 23649, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "next_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22995, + "src": "5864:46:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5850:60:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23651, + "nodeType": "ExpressionStatement", + "src": "5850:60:81" + } + ] + } + } + ] + }, + "documentation": null, + "id": 23660, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23632, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23629, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23660, + "src": "5664:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23628, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "5664:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23631, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 23660, + "src": "5683:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23630, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5683:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5663:43:81" + }, + "payable": false, + "returnParameters": { + "id": 23635, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23634, + "name": "_next_index", + "nodeType": "VariableDeclaration", + "scope": 23660, + "src": "5765:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23633, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5765:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5764:21:81" + }, + "scope": 25546, + "src": "5650:310:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23700, + "nodeType": "Block", + "src": "6105:245:81", + "statements": [ + { + "assignments": [ + 23670 + ], + "declarations": [ + { + "constant": false, + "id": 23670, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 23701, + "src": "6111:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23669, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6111:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 23675, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23672, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23662, + "src": "6141:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 23673, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23664, + "src": "6147:13:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23671, + "name": "find", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23090, + 23721, + 24016, + 24060, + 24979 + ], + "referencedDeclaration": 23090, + "src": "6136:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 23674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6136:25:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6111:50:81" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 23676, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23670, + "src": "6171:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 23677, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "6189:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6171:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23698, + "nodeType": "Block", + "src": "6307:39:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23694, + "name": "_next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23667, + "src": "6315:10:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23695, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23048, + "src": "6328:11:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6315:24:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 23697, + "nodeType": "ExpressionStatement", + "src": "6315:24:81" + } + ] + }, + "id": 23699, + "nodeType": "IfStatement", + "src": "6167:179:81", + "trueBody": { + "id": 23693, + "nodeType": "Block", + "src": "6195:106:81", + "statements": [ + { + "assignments": [ + 23680 + ], + "declarations": [ + { + "constant": false, + "id": 23680, + "name": "_next_index", + "nodeType": "VariableDeclaration", + "scope": 23701, + "src": "6203:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23679, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6203:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 23685, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23682, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23662, + "src": "6230:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 23683, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23670, + "src": "6236:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23681, + "name": "next", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23660, + 23974, + 24369, + 24628, + 24935, + 25216, + 25519 + ], + "referencedDeclaration": 23660, + "src": "6225:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 23684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6225:26:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6203:48:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23686, + "name": "_next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23667, + "src": "6259:10:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23688, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23662, + "src": "6276:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 23689, + "name": "_next_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23680, + "src": "6282:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23687, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23123, + 23741, + 24036, + 24084, + 24997 + ], + "referencedDeclaration": 23123, + "src": "6272:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bytes32)" + } + }, + "id": 23690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6272:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6259:35:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 23692, + "nodeType": "ExpressionStatement", + "src": "6259:35:81" + } + ] + } + } + ] + }, + "documentation": null, + "id": 23701, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23665, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23662, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23701, + "src": "5983:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23661, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "5983:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23664, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 23701, + "src": "6002:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23663, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6002:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5982:42:81" + }, + "payable": false, + "returnParameters": { + "id": 23668, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23667, + "name": "_next_item", + "nodeType": "VariableDeclaration", + "scope": 23701, + "src": "6083:18:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23666, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6083:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6082:20:81" + }, + "scope": 25546, + "src": "5964:386:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23720, + "nodeType": "Block", + "src": "6483:56:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23710, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23708, + "src": "6489:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23712, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23703, + "src": "6508:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23713, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "6508:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23715, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23705, + "src": "6527:5:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23714, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6519:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 23716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6519:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23711, + "name": "find", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23090, + 23721, + 24016, + 24060, + 24979 + ], + "referencedDeclaration": 23090, + "src": "6503:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 23717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6503:31:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6489:45:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23719, + "nodeType": "ExpressionStatement", + "src": "6489:45:81" + } + ] + }, + "documentation": null, + "id": 23721, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "find", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23706, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23703, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23721, + "src": "6368:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23702, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "6368:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23705, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 23721, + "src": "6387:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23704, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6387:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6367:34:81" + }, + "payable": false, + "returnParameters": { + "id": 23709, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23708, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23721, + "src": "6460:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23707, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6460:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6459:21:81" + }, + "scope": 25546, + "src": "6354:185:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23740, + "nodeType": "Block", + "src": "6671:55:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23730, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23728, + "src": "6677:5:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23733, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23723, + "src": "6697:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23734, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "6697:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 23735, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23725, + "src": "6708:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23732, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23123, + 23741, + 24036, + 24084, + 24997 + ], + "referencedDeclaration": 23123, + "src": "6693:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bytes32)" + } + }, + "id": 23736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6693:27:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23731, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6685:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 23737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6685:36:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6677:44:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23739, + "nodeType": "ExpressionStatement", + "src": "6677:44:81" + } + ] + }, + "documentation": null, + "id": 23741, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23726, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23723, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23741, + "src": "6556:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23722, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "6556:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23725, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23741, + "src": "6575:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23724, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6575:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6555:40:81" + }, + "payable": false, + "returnParameters": { + "id": 23729, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23728, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 23741, + "src": "6654:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23727, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6654:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6653:15:81" + }, + "scope": 25546, + "src": "6543:183:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23760, + "nodeType": "Block", + "src": "6836:55:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23750, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23748, + "src": "6842:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23752, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23743, + "src": "6860:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23753, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "6860:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23755, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23745, + "src": "6879:5:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23754, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6871:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 23756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6871:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23751, + "name": "append", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23249, + 23761, + 24108, + 24415, + 24674, + 25015, + 25258 + ], + "referencedDeclaration": 23249, + "src": "6853:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 23757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6853:33:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6842:44:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23759, + "nodeType": "ExpressionStatement", + "src": "6842:44:81" + } + ] + }, + "documentation": null, + "id": 23761, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "append", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23746, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23743, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23761, + "src": "6747:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23742, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "6747:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23745, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 23761, + "src": "6766:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23744, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6766:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6746:34:81" + }, + "payable": false, + "returnParameters": { + "id": 23749, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23748, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 23761, + "src": "6819:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23747, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6819:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6818:15:81" + }, + "scope": 25546, + "src": "6731:160:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23778, + "nodeType": "Block", + "src": "7003:47:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23770, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23768, + "src": "7009:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23772, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23763, + "src": "7027:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23773, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "7027:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 23774, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23765, + "src": "7038:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23771, + "name": "remove", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23367, + 23779, + 24130, + 24433, + 24696, + 25033, + 25280 + ], + "referencedDeclaration": 23367, + "src": "7020:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) returns (bool)" + } + }, + "id": 23775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7020:25:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7009:36:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23777, + "nodeType": "ExpressionStatement", + "src": "7009:36:81" + } + ] + }, + "documentation": null, + "id": 23779, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23766, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23763, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23779, + "src": "6911:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23762, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "6911:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23765, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 23779, + "src": "6930:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23764, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6930:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6910:35:81" + }, + "payable": false, + "returnParameters": { + "id": 23769, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23768, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 23779, + "src": "6986:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23767, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6986:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6985:15:81" + }, + "scope": 25546, + "src": "6895:155:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 23798, + "nodeType": "Block", + "src": "7164:60:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23788, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23786, + "src": "7170:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23790, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23781, + "src": "7193:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23791, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "7193:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23793, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23783, + "src": "7212:5:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23792, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7204:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 23794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7204:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23789, + "name": "remove_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23407, + 23799, + 24154, + 24453, + 24720, + 25051, + 25304 + ], + "referencedDeclaration": 23407, + "src": "7181:11:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 23795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7181:38:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7170:49:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23797, + "nodeType": "ExpressionStatement", + "src": "7170:49:81" + } + ] + }, + "documentation": null, + "id": 23799, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23784, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23781, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23799, + "src": "7075:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23780, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "7075:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23783, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 23799, + "src": "7094:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23782, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7094:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7074:34:81" + }, + "payable": false, + "returnParameters": { + "id": 23787, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23786, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 23799, + "src": "7147:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23785, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7147:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7146:15:81" + }, + "scope": 25546, + "src": "7054:170:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23813, + "nodeType": "Block", + "src": "7344:42:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23806, + "name": "_total_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23804, + "src": "7350:12:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23808, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23801, + "src": "7371:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23809, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "7371:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 23807, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23420, + 23814, + 24173, + 24468, + 24739, + 25066, + 25323 + ], + "referencedDeclaration": 23420, + "src": "7365:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 23810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7365:16:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7350:31:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23812, + "nodeType": "ExpressionStatement", + "src": "7350:31:81" + } + ] + }, + "documentation": null, + "id": 23814, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "total", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23802, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23801, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23814, + "src": "7243:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23800, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "7243:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7242:19:81" + }, + "payable": false, + "returnParameters": { + "id": 23805, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23804, + "name": "_total_count", + "nodeType": "VariableDeclaration", + "scope": 23814, + "src": "7320:20:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23803, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7320:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7319:22:81" + }, + "scope": 25546, + "src": "7228:158:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23828, + "nodeType": "Block", + "src": "7500:36:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23821, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23819, + "src": "7506:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23823, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23816, + "src": "7521:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23824, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "7521:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 23822, + "name": "start", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23435, + 23829, + 24192, + 24483, + 24758, + 25081, + 25342 + ], + "referencedDeclaration": 23435, + "src": "7515:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 23825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7515:16:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7506:25:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23827, + "nodeType": "ExpressionStatement", + "src": "7506:25:81" + } + ] + }, + "documentation": null, + "id": 23829, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23817, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23816, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23829, + "src": "7405:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23815, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "7405:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7404:19:81" + }, + "payable": false, + "returnParameters": { + "id": 23820, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23819, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 23829, + "src": "7482:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23818, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7482:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7481:16:81" + }, + "scope": 25546, + "src": "7390:146:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23845, + "nodeType": "Block", + "src": "7660:55:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23836, + "name": "_start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23834, + "src": "7666:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23839, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23831, + "src": "7699:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23840, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "7699:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 23838, + "name": "start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23466, + 23846, + 24213, + 24500, + 24779, + 25096, + 25363 + ], + "referencedDeclaration": 23466, + "src": "7688:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 23841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7688:21:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23837, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7680:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 23842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7680:30:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7666:44:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23844, + "nodeType": "ExpressionStatement", + "src": "7666:44:81" + } + ] + }, + "documentation": null, + "id": 23846, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23832, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23831, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23846, + "src": "7560:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23830, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "7560:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7559:19:81" + }, + "payable": false, + "returnParameters": { + "id": 23835, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23834, + "name": "_start_item", + "nodeType": "VariableDeclaration", + "scope": 23846, + "src": "7637:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23833, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7637:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7636:21:81" + }, + "scope": 25546, + "src": "7540:175:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23860, + "nodeType": "Block", + "src": "7828:34:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23853, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23851, + "src": "7834:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23855, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23848, + "src": "7847:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23856, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "7847:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 23854, + "name": "end", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23481, + 23861, + 24232, + 24515, + 24798, + 25111, + 25382 + ], + "referencedDeclaration": 23481, + "src": "7843:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 23857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7843:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7834:23:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23859, + "nodeType": "ExpressionStatement", + "src": "7834:23:81" + } + ] + }, + "documentation": null, + "id": 23861, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23849, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23848, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23861, + "src": "7733:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23847, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "7733:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7732:19:81" + }, + "payable": false, + "returnParameters": { + "id": 23852, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23851, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 23861, + "src": "7810:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23850, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7810:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7809:16:81" + }, + "scope": 25546, + "src": "7720:142:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23877, + "nodeType": "Block", + "src": "7982:51:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23868, + "name": "_end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23866, + "src": "7988:9:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23871, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23863, + "src": "8017:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23872, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "8017:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 23870, + "name": "end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23512, + 23878, + 24253, + 24532, + 24819, + 25126, + 25403 + ], + "referencedDeclaration": 23512, + "src": "8008:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 23873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8008:19:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23869, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8000:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 23874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8000:28:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7988:40:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23876, + "nodeType": "ExpressionStatement", + "src": "7988:40:81" + } + ] + }, + "documentation": null, + "id": 23878, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23864, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23863, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23878, + "src": "7884:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23862, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "7884:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7883:19:81" + }, + "payable": false, + "returnParameters": { + "id": 23867, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23866, + "name": "_end_item", + "nodeType": "VariableDeclaration", + "scope": 23878, + "src": "7961:17:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23865, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7961:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7960:19:81" + }, + "scope": 25546, + "src": "7866:167:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23895, + "nodeType": "Block", + "src": "8163:47:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23887, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23885, + "src": "8169:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23889, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23880, + "src": "8182:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23890, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "8182:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 23891, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23882, + "src": "8193:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23888, + "name": "valid", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23529, + 23896, + 24275, + 24550, + 24841, + 25144, + 25425 + ], + "referencedDeclaration": 23529, + "src": "8176:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bool)" + } + }, + "id": 23892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8176:29:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8169:36:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23894, + "nodeType": "ExpressionStatement", + "src": "8169:36:81" + } + ] + }, + "documentation": null, + "id": 23896, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23883, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23880, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23896, + "src": "8052:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23879, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "8052:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23882, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23896, + "src": "8071:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23881, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8071:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8051:40:81" + }, + "payable": false, + "returnParameters": { + "id": 23886, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23885, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 23896, + "src": "8150:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23884, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8150:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8149:11:81" + }, + "scope": 25546, + "src": "8037:173:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23915, + "nodeType": "Block", + "src": "8339:55:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23905, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23903, + "src": "8345:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23907, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23898, + "src": "8363:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23908, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "8363:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23910, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23900, + "src": "8382:5:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23909, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8374:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 23911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8374:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23906, + "name": "valid_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23553, + 23916, + 24299, + 24570, + 24865, + 25162, + 25449 + ], + "referencedDeclaration": 23553, + "src": "8352:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bool)" + } + }, + "id": 23912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8352:37:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8345:44:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23914, + "nodeType": "ExpressionStatement", + "src": "8345:44:81" + } + ] + }, + "documentation": null, + "id": 23916, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23901, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23898, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23916, + "src": "8234:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23897, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "8234:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23900, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 23916, + "src": "8253:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23899, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8253:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8233:34:81" + }, + "payable": false, + "returnParameters": { + "id": 23904, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23903, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 23916, + "src": "8326:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23902, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8326:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8325:11:81" + }, + "scope": 25546, + "src": "8214:180:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23933, + "nodeType": "Block", + "src": "8544:64:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23925, + "name": "_previous_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23923, + "src": "8550:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23927, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23918, + "src": "8577:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23928, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "8577:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 23929, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23920, + "src": "8588:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23926, + "name": "previous", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23586, + 23934, + 24321, + 24588, + 24887, + 25180, + 25471 + ], + "referencedDeclaration": 23586, + "src": "8568:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 23930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8568:35:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8550:53:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23932, + "nodeType": "ExpressionStatement", + "src": "8550:53:81" + } + ] + }, + "documentation": null, + "id": 23934, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23921, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23918, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23934, + "src": "8416:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23917, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "8416:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23920, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 23934, + "src": "8435:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23919, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8435:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8415:43:81" + }, + "payable": false, + "returnParameters": { + "id": 23924, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23923, + "name": "_previous_index", + "nodeType": "VariableDeclaration", + "scope": 23934, + "src": "8517:23:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23922, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8517:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8516:25:81" + }, + "scope": 25546, + "src": "8398:210:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23955, + "nodeType": "Block", + "src": "8761:85:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23943, + "name": "_previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23941, + "src": "8767:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23946, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23936, + "src": "8806:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23947, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "8806:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23949, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23938, + "src": "8825:13:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23948, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8817:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 23950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8817:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23945, + "name": "previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23627, + 23956, + 24347, + 24610, + 24913, + 25198, + 25497 + ], + "referencedDeclaration": 23627, + "src": "8792:13:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 23951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8792:48:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23944, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8784:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 23952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8784:57:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8767:74:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23954, + "nodeType": "ExpressionStatement", + "src": "8767:74:81" + } + ] + }, + "documentation": null, + "id": 23956, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23939, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23936, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23956, + "src": "8635:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23935, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "8635:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23938, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 23956, + "src": "8654:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23937, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8654:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8634:42:81" + }, + "payable": false, + "returnParameters": { + "id": 23942, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23941, + "name": "_previous_item", + "nodeType": "VariableDeclaration", + "scope": 23956, + "src": "8735:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23940, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8735:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8734:24:81" + }, + "scope": 25546, + "src": "8612:234:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23973, + "nodeType": "Block", + "src": "8988:56:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23965, + "name": "_next_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23963, + "src": "8994:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23967, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23958, + "src": "9013:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23968, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "9013:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 23969, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23960, + "src": "9024:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23966, + "name": "next", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23660, + 23974, + 24369, + 24628, + 24935, + 25216, + 25519 + ], + "referencedDeclaration": 23660, + "src": "9008:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 23970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9008:31:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8994:45:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23972, + "nodeType": "ExpressionStatement", + "src": "8994:45:81" + } + ] + }, + "documentation": null, + "id": 23974, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23961, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23958, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23974, + "src": "8864:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23957, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "8864:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23960, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 23974, + "src": "8883:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23959, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8883:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8863:43:81" + }, + "payable": false, + "returnParameters": { + "id": 23964, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23963, + "name": "_next_index", + "nodeType": "VariableDeclaration", + "scope": 23974, + "src": "8965:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23962, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8965:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8964:21:81" + }, + "scope": 25546, + "src": "8850:194:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23995, + "nodeType": "Block", + "src": "9189:77:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23983, + "name": "_next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23981, + "src": "9195:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23986, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23976, + "src": "9226:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23987, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "9226:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23989, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23978, + "src": "9245:13:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23988, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9237:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 23990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9237:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23985, + "name": "next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23701, + 23996, + 24395, + 24650, + 24961, + 25234, + 25545 + ], + "referencedDeclaration": 23701, + "src": "9216:9:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 23991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9216:44:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23984, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9208:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 23992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9208:53:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9195:66:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23994, + "nodeType": "ExpressionStatement", + "src": "9195:66:81" + } + ] + }, + "documentation": null, + "id": 23996, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23979, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23976, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23996, + "src": "9067:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23975, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "9067:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23978, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 23996, + "src": "9086:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23977, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9086:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9066:42:81" + }, + "payable": false, + "returnParameters": { + "id": 23982, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23981, + "name": "_next_item", + "nodeType": "VariableDeclaration", + "scope": 23996, + "src": "9167:18:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23980, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9167:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9166:20:81" + }, + "scope": 25546, + "src": "9048:218:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24015, + "nodeType": "Block", + "src": "9402:56:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24005, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24003, + "src": "9408:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24007, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23998, + "src": "9427:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24008, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "9427:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24010, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24000, + "src": "9446:5:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 24009, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9438:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9438:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24006, + "name": "find", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23090, + 23721, + 24016, + 24060, + 24979 + ], + "referencedDeclaration": 23090, + "src": "9422:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 24012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9422:31:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9408:45:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24014, + "nodeType": "ExpressionStatement", + "src": "9408:45:81" + } + ] + }, + "documentation": null, + "id": 24016, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "find", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24001, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23998, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24016, + "src": "9284:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 23997, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "9284:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24000, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24016, + "src": "9306:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23999, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9306:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9283:37:81" + }, + "payable": false, + "returnParameters": { + "id": 24004, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24003, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 24016, + "src": "9379:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24002, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9379:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9378:21:81" + }, + "scope": 25546, + "src": "9270:188:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24035, + "nodeType": "Block", + "src": "9593:55:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24025, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24023, + "src": "9599:5:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24028, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24018, + "src": "9619:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24029, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "9619:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24030, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24020, + "src": "9630:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24027, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23123, + 23741, + 24036, + 24084, + 24997 + ], + "referencedDeclaration": 23123, + "src": "9615:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bytes32)" + } + }, + "id": 24031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9615:27:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24026, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9607:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 24032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9607:36:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9599:44:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 24034, + "nodeType": "ExpressionStatement", + "src": "9599:44:81" + } + ] + }, + "documentation": null, + "id": 24036, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24021, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24018, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24036, + "src": "9475:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24017, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "9475:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24020, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 24036, + "src": "9497:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24019, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9497:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9474:43:81" + }, + "payable": false, + "returnParameters": { + "id": 24024, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24023, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24036, + "src": "9576:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24022, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9576:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9575:15:81" + }, + "scope": 25546, + "src": "9462:186:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24059, + "nodeType": "Block", + "src": "9816:75:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24047, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24045, + "src": "9822:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24049, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24038, + "src": "9841:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24050, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "9841:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24052, + "indexExpression": { + "argumentTypes": null, + "id": 24051, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24040, + "src": "9851:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9841:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24054, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24042, + "src": "9879:5:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24053, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9871:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9871:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24048, + "name": "find", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23090, + 23721, + 24016, + 24060, + 24979 + ], + "referencedDeclaration": 23090, + "src": "9836:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 24056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9836:50:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9822:64:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24058, + "nodeType": "ExpressionStatement", + "src": "9822:64:81" + } + ] + }, + "documentation": null, + "id": 24060, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "find", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24043, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24038, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24060, + "src": "9667:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24037, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "9667:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24040, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24060, + "src": "9693:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24039, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9693:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24042, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24060, + "src": "9720:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24041, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9720:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9666:68:81" + }, + "payable": false, + "returnParameters": { + "id": 24046, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24045, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 24060, + "src": "9793:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24044, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9793:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9792:21:81" + }, + "scope": 25546, + "src": "9653:238:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24083, + "nodeType": "Block", + "src": "10057:74:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24071, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24069, + "src": "10063:5:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24074, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24062, + "src": "10083:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24075, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "10083:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24077, + "indexExpression": { + "argumentTypes": null, + "id": 24076, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24064, + "src": "10093:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10083:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24078, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24066, + "src": "10113:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24073, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23123, + 23741, + 24036, + 24084, + 24997 + ], + "referencedDeclaration": 23123, + "src": "10079:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bytes32)" + } + }, + "id": 24079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10079:46:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24072, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10071:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 24080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10071:55:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10063:63:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24082, + "nodeType": "ExpressionStatement", + "src": "10063:63:81" + } + ] + }, + "documentation": null, + "id": 24084, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24067, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24062, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24084, + "src": "9908:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24061, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "9908:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24064, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24084, + "src": "9934:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24063, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9934:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24066, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 24084, + "src": "9961:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24065, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9961:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9907:74:81" + }, + "payable": false, + "returnParameters": { + "id": 24070, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24069, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24084, + "src": "10040:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24068, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10040:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10039:15:81" + }, + "scope": 25546, + "src": "9895:236:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24107, + "nodeType": "Block", + "src": "10275:74:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24095, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24093, + "src": "10281:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24097, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24086, + "src": "10299:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24098, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "10299:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24100, + "indexExpression": { + "argumentTypes": null, + "id": 24099, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24088, + "src": "10309:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10299:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24102, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24090, + "src": "10337:5:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24101, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10329:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10329:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24096, + "name": "append", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23249, + 23761, + 24108, + 24415, + 24674, + 25015, + 25258 + ], + "referencedDeclaration": 23249, + "src": "10292:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 24104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10292:52:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10281:63:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24106, + "nodeType": "ExpressionStatement", + "src": "10281:63:81" + } + ] + }, + "documentation": null, + "id": 24108, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "append", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24091, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24086, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24108, + "src": "10152:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24085, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "10152:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24088, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24108, + "src": "10178:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24087, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10178:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24090, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 24108, + "src": "10205:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24089, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10205:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10151:68:81" + }, + "payable": false, + "returnParameters": { + "id": 24094, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24093, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 24108, + "src": "10258:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24092, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10258:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10257:15:81" + }, + "scope": 25546, + "src": "10136:213:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24129, + "nodeType": "Block", + "src": "10495:66:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24119, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24117, + "src": "10501:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24121, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24110, + "src": "10519:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24122, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "10519:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24124, + "indexExpression": { + "argumentTypes": null, + "id": 24123, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24112, + "src": "10529:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10519:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24125, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24114, + "src": "10549:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24120, + "name": "remove", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23367, + 23779, + 24130, + 24433, + 24696, + 25033, + 25280 + ], + "referencedDeclaration": 23367, + "src": "10512:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) returns (bool)" + } + }, + "id": 24126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10512:44:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10501:55:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24128, + "nodeType": "ExpressionStatement", + "src": "10501:55:81" + } + ] + }, + "documentation": null, + "id": 24130, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24115, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24110, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24130, + "src": "10369:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24109, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "10369:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24112, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24130, + "src": "10395:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24111, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10395:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24114, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 24130, + "src": "10422:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24113, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10422:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10368:69:81" + }, + "payable": false, + "returnParameters": { + "id": 24118, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24117, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 24130, + "src": "10478:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24116, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10478:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10477:15:81" + }, + "scope": 25546, + "src": "10353:208:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 24153, + "nodeType": "Block", + "src": "10709:79:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24141, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24139, + "src": "10715:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24143, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24132, + "src": "10738:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24144, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "10738:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24146, + "indexExpression": { + "argumentTypes": null, + "id": 24145, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24134, + "src": "10748:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10738:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24148, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24136, + "src": "10776:5:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24147, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10768:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10768:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24142, + "name": "remove_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23407, + 23799, + 24154, + 24453, + 24720, + 25051, + 25304 + ], + "referencedDeclaration": 23407, + "src": "10726:11:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 24150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10726:57:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10715:68:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24152, + "nodeType": "ExpressionStatement", + "src": "10715:68:81" + } + ] + }, + "documentation": null, + "id": 24154, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24137, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24132, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24154, + "src": "10586:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24131, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "10586:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24134, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24154, + "src": "10612:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24133, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10612:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24136, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24154, + "src": "10639:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24135, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10639:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10585:68:81" + }, + "payable": false, + "returnParameters": { + "id": 24140, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24139, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 24154, + "src": "10692:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24138, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10692:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10691:15:81" + }, + "scope": 25546, + "src": "10565:223:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24172, + "nodeType": "Block", + "src": "10942:61:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24163, + "name": "_total_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24161, + "src": "10948:12:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24165, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24156, + "src": "10969:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24166, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "10969:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24168, + "indexExpression": { + "argumentTypes": null, + "id": 24167, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24158, + "src": "10979:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10969:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24164, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23420, + 23814, + 24173, + 24468, + 24739, + 25066, + 25323 + ], + "referencedDeclaration": 23420, + "src": "10963:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 24169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10963:35:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10948:50:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24171, + "nodeType": "ExpressionStatement", + "src": "10948:50:81" + } + ] + }, + "documentation": null, + "id": 24173, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "total", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24159, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24156, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24173, + "src": "10807:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24155, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "10807:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24158, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24173, + "src": "10833:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24157, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10833:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10806:53:81" + }, + "payable": false, + "returnParameters": { + "id": 24162, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24161, + "name": "_total_count", + "nodeType": "VariableDeclaration", + "scope": 24173, + "src": "10918:20:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24160, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10918:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10917:22:81" + }, + "scope": 25546, + "src": "10792:211:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24191, + "nodeType": "Block", + "src": "11151:55:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24182, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24180, + "src": "11157:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24184, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24175, + "src": "11172:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24185, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "11172:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24187, + "indexExpression": { + "argumentTypes": null, + "id": 24186, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24177, + "src": "11182:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11172:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24183, + "name": "start", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23435, + 23829, + 24192, + 24483, + 24758, + 25081, + 25342 + ], + "referencedDeclaration": 23435, + "src": "11166:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 24188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11166:35:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11157:44:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24190, + "nodeType": "ExpressionStatement", + "src": "11157:44:81" + } + ] + }, + "documentation": null, + "id": 24192, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24178, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24175, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24192, + "src": "11022:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24174, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "11022:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24177, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24192, + "src": "11048:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24176, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11048:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11021:53:81" + }, + "payable": false, + "returnParameters": { + "id": 24181, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24180, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 24192, + "src": "11133:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24179, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11133:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11132:16:81" + }, + "scope": 25546, + "src": "11007:199:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24212, + "nodeType": "Block", + "src": "11364:74:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24201, + "name": "_start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24199, + "src": "11370:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24204, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24194, + "src": "11403:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24205, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "11403:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24207, + "indexExpression": { + "argumentTypes": null, + "id": 24206, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24196, + "src": "11413:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11403:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24203, + "name": "start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23466, + 23846, + 24213, + 24500, + 24779, + 25096, + 25363 + ], + "referencedDeclaration": 23466, + "src": "11392:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 24208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11392:40:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24202, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11384:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 24209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11384:49:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11370:63:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24211, + "nodeType": "ExpressionStatement", + "src": "11370:63:81" + } + ] + }, + "documentation": null, + "id": 24213, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24197, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24194, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24213, + "src": "11230:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24193, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "11230:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24196, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24213, + "src": "11256:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24195, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11256:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11229:53:81" + }, + "payable": false, + "returnParameters": { + "id": 24200, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24199, + "name": "_start_item", + "nodeType": "VariableDeclaration", + "scope": 24213, + "src": "11341:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24198, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11341:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11340:21:81" + }, + "scope": 25546, + "src": "11210:228:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24231, + "nodeType": "Block", + "src": "11585:53:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24222, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24220, + "src": "11591:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24224, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24215, + "src": "11604:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24225, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "11604:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24227, + "indexExpression": { + "argumentTypes": null, + "id": 24226, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24217, + "src": "11614:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11604:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24223, + "name": "end", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23481, + 23861, + 24232, + 24515, + 24798, + 25111, + 25382 + ], + "referencedDeclaration": 23481, + "src": "11600:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 24228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11600:33:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11591:42:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24230, + "nodeType": "ExpressionStatement", + "src": "11591:42:81" + } + ] + }, + "documentation": null, + "id": 24232, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24218, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24215, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24232, + "src": "11456:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24214, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "11456:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24217, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24232, + "src": "11482:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24216, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11482:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11455:53:81" + }, + "payable": false, + "returnParameters": { + "id": 24221, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24220, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 24232, + "src": "11567:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24219, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11567:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11566:16:81" + }, + "scope": 25546, + "src": "11443:195:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24252, + "nodeType": "Block", + "src": "11792:70:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24241, + "name": "_end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24239, + "src": "11798:9:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24244, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24234, + "src": "11827:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24245, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "11827:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24247, + "indexExpression": { + "argumentTypes": null, + "id": 24246, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24236, + "src": "11837:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11827:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24243, + "name": "end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23512, + 23878, + 24253, + 24532, + 24819, + 25126, + 25403 + ], + "referencedDeclaration": 23512, + "src": "11818:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 24248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11818:38:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24242, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11810:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 24249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11810:47:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11798:59:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24251, + "nodeType": "ExpressionStatement", + "src": "11798:59:81" + } + ] + }, + "documentation": null, + "id": 24253, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24237, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24234, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24253, + "src": "11660:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24233, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "11660:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24236, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24253, + "src": "11686:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24235, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11686:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11659:53:81" + }, + "payable": false, + "returnParameters": { + "id": 24240, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24239, + "name": "_end_item", + "nodeType": "VariableDeclaration", + "scope": 24253, + "src": "11771:17:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24238, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11771:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11770:19:81" + }, + "scope": 25546, + "src": "11642:220:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24274, + "nodeType": "Block", + "src": "12026:66:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24264, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24262, + "src": "12032:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24266, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24255, + "src": "12045:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24267, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "12045:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24269, + "indexExpression": { + "argumentTypes": null, + "id": 24268, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24257, + "src": "12055:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12045:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24270, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24259, + "src": "12075:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24265, + "name": "valid", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23529, + 23896, + 24275, + 24550, + 24841, + 25144, + 25425 + ], + "referencedDeclaration": 23529, + "src": "12039:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bool)" + } + }, + "id": 24271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12039:48:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12032:55:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24273, + "nodeType": "ExpressionStatement", + "src": "12032:55:81" + } + ] + }, + "documentation": null, + "id": 24275, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24260, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24255, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24275, + "src": "11881:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24254, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "11881:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24257, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24275, + "src": "11907:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24256, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11907:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24259, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 24275, + "src": "11934:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24258, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11934:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11880:74:81" + }, + "payable": false, + "returnParameters": { + "id": 24263, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24262, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 24275, + "src": "12013:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24261, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12013:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12012:11:81" + }, + "scope": 25546, + "src": "11866:226:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24298, + "nodeType": "Block", + "src": "12255:74:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24286, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24284, + "src": "12261:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24288, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24277, + "src": "12279:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24289, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "12279:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24291, + "indexExpression": { + "argumentTypes": null, + "id": 24290, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24279, + "src": "12289:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12279:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24293, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24281, + "src": "12317:5:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24292, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12309:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12309:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24287, + "name": "valid_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23553, + 23916, + 24299, + 24570, + 24865, + 25162, + 25449 + ], + "referencedDeclaration": 23553, + "src": "12268:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bool)" + } + }, + "id": 24295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12268:56:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12261:63:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24297, + "nodeType": "ExpressionStatement", + "src": "12261:63:81" + } + ] + }, + "documentation": null, + "id": 24299, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24282, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24277, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24299, + "src": "12116:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24276, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "12116:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24279, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24299, + "src": "12142:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24278, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12142:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24281, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24299, + "src": "12169:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24280, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12169:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12115:68:81" + }, + "payable": false, + "returnParameters": { + "id": 24285, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24284, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 24299, + "src": "12242:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24283, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12242:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12241:11:81" + }, + "scope": 25546, + "src": "12096:233:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24320, + "nodeType": "Block", + "src": "12513:83:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24310, + "name": "_previous_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24308, + "src": "12519:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24312, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24301, + "src": "12546:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24313, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "12546:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24315, + "indexExpression": { + "argumentTypes": null, + "id": 24314, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24303, + "src": "12556:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12546:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24316, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24305, + "src": "12576:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24311, + "name": "previous", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23586, + 23934, + 24321, + 24588, + 24887, + 25180, + 25471 + ], + "referencedDeclaration": 23586, + "src": "12537:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 24317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12537:54:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12519:72:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24319, + "nodeType": "ExpressionStatement", + "src": "12519:72:81" + } + ] + }, + "documentation": null, + "id": 24321, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24306, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24301, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24321, + "src": "12351:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24300, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "12351:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24303, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24321, + "src": "12377:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24302, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12377:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24305, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 24321, + "src": "12404:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24304, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12404:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12350:77:81" + }, + "payable": false, + "returnParameters": { + "id": 24309, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24308, + "name": "_previous_index", + "nodeType": "VariableDeclaration", + "scope": 24321, + "src": "12486:23:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24307, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12486:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12485:25:81" + }, + "scope": 25546, + "src": "12333:263:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24346, + "nodeType": "Block", + "src": "12783:104:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24332, + "name": "_previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24330, + "src": "12789:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24335, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24323, + "src": "12828:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24336, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "12828:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24338, + "indexExpression": { + "argumentTypes": null, + "id": 24337, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24325, + "src": "12838:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12828:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24340, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24327, + "src": "12866:13:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24339, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12858:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12858:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24334, + "name": "previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23627, + 23956, + 24347, + 24610, + 24913, + 25198, + 25497 + ], + "referencedDeclaration": 23627, + "src": "12814:13:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 24342, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12814:67:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24333, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12806:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 24343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12806:76:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12789:93:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24345, + "nodeType": "ExpressionStatement", + "src": "12789:93:81" + } + ] + }, + "documentation": null, + "id": 24347, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24328, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24323, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24347, + "src": "12623:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24322, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "12623:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24325, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24347, + "src": "12649:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24324, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12649:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24327, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 24347, + "src": "12676:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24326, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12676:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12622:76:81" + }, + "payable": false, + "returnParameters": { + "id": 24331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24330, + "name": "_previous_item", + "nodeType": "VariableDeclaration", + "scope": 24347, + "src": "12757:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24329, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12757:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12756:24:81" + }, + "scope": 25546, + "src": "12600:287:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24368, + "nodeType": "Block", + "src": "13063:75:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24358, + "name": "_next_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24356, + "src": "13069:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24360, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24349, + "src": "13088:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24361, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "13088:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24363, + "indexExpression": { + "argumentTypes": null, + "id": 24362, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24351, + "src": "13098:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13088:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24364, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24353, + "src": "13118:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24359, + "name": "next", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23660, + 23974, + 24369, + 24628, + 24935, + 25216, + 25519 + ], + "referencedDeclaration": 23660, + "src": "13083:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 24365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13083:50:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13069:64:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24367, + "nodeType": "ExpressionStatement", + "src": "13069:64:81" + } + ] + }, + "documentation": null, + "id": 24369, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24354, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24349, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24369, + "src": "12905:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24348, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "12905:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24351, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24369, + "src": "12931:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24350, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12931:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24353, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 24369, + "src": "12958:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24352, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12958:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12904:77:81" + }, + "payable": false, + "returnParameters": { + "id": 24357, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24356, + "name": "_next_index", + "nodeType": "VariableDeclaration", + "scope": 24369, + "src": "13040:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24355, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13040:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13039:21:81" + }, + "scope": 25546, + "src": "12891:247:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24394, + "nodeType": "Block", + "src": "13317:96:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24380, + "name": "_next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24378, + "src": "13323:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24383, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24371, + "src": "13354:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24384, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "13354:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24386, + "indexExpression": { + "argumentTypes": null, + "id": 24385, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24373, + "src": "13364:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13354:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24388, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24375, + "src": "13392:13:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24387, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13384:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13384:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24382, + "name": "next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23701, + 23996, + 24395, + 24650, + 24961, + 25234, + 25545 + ], + "referencedDeclaration": 23701, + "src": "13344:9:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 24390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13344:63:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13336:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 24391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13336:72:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13323:85:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24393, + "nodeType": "ExpressionStatement", + "src": "13323:85:81" + } + ] + }, + "documentation": null, + "id": 24395, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24376, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24371, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24395, + "src": "13161:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24370, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "13161:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24373, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24395, + "src": "13187:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24372, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13187:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24375, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 24395, + "src": "13214:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24374, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13214:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13160:76:81" + }, + "payable": false, + "returnParameters": { + "id": 24379, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24378, + "name": "_next_item", + "nodeType": "VariableDeclaration", + "scope": 24395, + "src": "13295:18:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24377, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13295:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13294:20:81" + }, + "scope": 25546, + "src": "13142:271:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24414, + "nodeType": "Block", + "src": "13525:55:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24404, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24402, + "src": "13531:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24406, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24397, + "src": "13549:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24407, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "13549:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24409, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24399, + "src": "13568:5:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 24408, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13560:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13560:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24405, + "name": "append", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23249, + 23761, + 24108, + 24415, + 24674, + 25015, + 25258 + ], + "referencedDeclaration": 23249, + "src": "13542:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 24411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13542:33:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "13531:44:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24413, + "nodeType": "ExpressionStatement", + "src": "13531:44:81" + } + ] + }, + "documentation": null, + "id": 24415, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "append", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24400, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24397, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24415, + "src": "13433:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24396, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "13433:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24399, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 24415, + "src": "13455:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24398, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13455:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13432:37:81" + }, + "payable": false, + "returnParameters": { + "id": 24403, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24402, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 24415, + "src": "13508:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24401, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13508:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13507:15:81" + }, + "scope": 25546, + "src": "13417:163:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24432, + "nodeType": "Block", + "src": "13695:47:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24424, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24422, + "src": "13701:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24426, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24417, + "src": "13719:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24427, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "13719:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24428, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24419, + "src": "13730:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24425, + "name": "remove", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23367, + 23779, + 24130, + 24433, + 24696, + 25033, + 25280 + ], + "referencedDeclaration": 23367, + "src": "13712:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) returns (bool)" + } + }, + "id": 24429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13712:25:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "13701:36:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24431, + "nodeType": "ExpressionStatement", + "src": "13701:36:81" + } + ] + }, + "documentation": null, + "id": 24433, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24420, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24417, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24433, + "src": "13600:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24416, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "13600:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24419, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 24433, + "src": "13622:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24418, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13622:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13599:38:81" + }, + "payable": false, + "returnParameters": { + "id": 24423, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24422, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 24433, + "src": "13678:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24421, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13678:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13677:15:81" + }, + "scope": 25546, + "src": "13584:158:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 24452, + "nodeType": "Block", + "src": "13860:60:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24442, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24440, + "src": "13866:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24444, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24435, + "src": "13889:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24445, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "13889:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24447, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24437, + "src": "13908:5:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 24446, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13900:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13900:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24443, + "name": "remove_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23407, + 23799, + 24154, + 24453, + 24720, + 25051, + 25304 + ], + "referencedDeclaration": 23407, + "src": "13877:11:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 24449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13877:38:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "13866:49:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24451, + "nodeType": "ExpressionStatement", + "src": "13866:49:81" + } + ] + }, + "documentation": null, + "id": 24453, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24438, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24435, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24453, + "src": "13768:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24434, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "13768:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24437, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24453, + "src": "13790:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24436, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13790:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13767:37:81" + }, + "payable": false, + "returnParameters": { + "id": 24441, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24440, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 24453, + "src": "13843:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24439, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13843:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13842:15:81" + }, + "scope": 25546, + "src": "13747:173:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24467, + "nodeType": "Block", + "src": "14043:42:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24460, + "name": "_total_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24458, + "src": "14049:12:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24462, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24455, + "src": "14070:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24463, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "14070:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24461, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23420, + 23814, + 24173, + 24468, + 24739, + 25066, + 25323 + ], + "referencedDeclaration": 23420, + "src": "14064:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 24464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14064:16:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14049:31:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24466, + "nodeType": "ExpressionStatement", + "src": "14049:31:81" + } + ] + }, + "documentation": null, + "id": 24468, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "total", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24456, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24455, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24468, + "src": "13939:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24454, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "13939:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13938:22:81" + }, + "payable": false, + "returnParameters": { + "id": 24459, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24458, + "name": "_total_count", + "nodeType": "VariableDeclaration", + "scope": 24468, + "src": "14019:20:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24457, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14019:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14018:22:81" + }, + "scope": 25546, + "src": "13924:161:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24482, + "nodeType": "Block", + "src": "14202:36:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24475, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24473, + "src": "14208:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24477, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24470, + "src": "14223:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24478, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "14223:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24476, + "name": "start", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23435, + 23829, + 24192, + 24483, + 24758, + 25081, + 25342 + ], + "referencedDeclaration": 23435, + "src": "14217:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 24479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14217:16:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14208:25:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24481, + "nodeType": "ExpressionStatement", + "src": "14208:25:81" + } + ] + }, + "documentation": null, + "id": 24483, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24471, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24470, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24483, + "src": "14104:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24469, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "14104:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14103:22:81" + }, + "payable": false, + "returnParameters": { + "id": 24474, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24473, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 24483, + "src": "14184:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24472, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14184:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14183:16:81" + }, + "scope": 25546, + "src": "14089:149:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24499, + "nodeType": "Block", + "src": "14365:55:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24490, + "name": "_start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24488, + "src": "14371:11:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24493, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24485, + "src": "14404:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24494, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "14404:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24492, + "name": "start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23466, + 23846, + 24213, + 24500, + 24779, + 25096, + 25363 + ], + "referencedDeclaration": 23466, + "src": "14393:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 24495, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14393:21:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24491, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "14385:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 24496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14385:30:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14371:44:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 24498, + "nodeType": "ExpressionStatement", + "src": "14371:44:81" + } + ] + }, + "documentation": null, + "id": 24500, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24486, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24485, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24500, + "src": "14262:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24484, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "14262:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14261:22:81" + }, + "payable": false, + "returnParameters": { + "id": 24489, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24488, + "name": "_start_item", + "nodeType": "VariableDeclaration", + "scope": 24500, + "src": "14342:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24487, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14342:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14341:21:81" + }, + "scope": 25546, + "src": "14242:178:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24514, + "nodeType": "Block", + "src": "14536:34:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24507, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24505, + "src": "14542:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24509, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24502, + "src": "14555:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24510, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "14555:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24508, + "name": "end", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23481, + 23861, + 24232, + 24515, + 24798, + 25111, + 25382 + ], + "referencedDeclaration": 23481, + "src": "14551:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 24511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14551:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14542:23:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24513, + "nodeType": "ExpressionStatement", + "src": "14542:23:81" + } + ] + }, + "documentation": null, + "id": 24515, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24503, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24502, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24515, + "src": "14438:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24501, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "14438:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14437:22:81" + }, + "payable": false, + "returnParameters": { + "id": 24506, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24505, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 24515, + "src": "14518:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24504, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14518:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14517:16:81" + }, + "scope": 25546, + "src": "14425:145:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24531, + "nodeType": "Block", + "src": "14693:51:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24522, + "name": "_end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24520, + "src": "14699:9:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24525, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24517, + "src": "14728:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24526, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "14728:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24524, + "name": "end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23512, + 23878, + 24253, + 24532, + 24819, + 25126, + 25403 + ], + "referencedDeclaration": 23512, + "src": "14719:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 24527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14719:19:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24523, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "14711:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 24528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14711:28:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14699:40:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 24530, + "nodeType": "ExpressionStatement", + "src": "14699:40:81" + } + ] + }, + "documentation": null, + "id": 24532, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24518, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24517, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24532, + "src": "14592:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24516, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "14592:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14591:22:81" + }, + "payable": false, + "returnParameters": { + "id": 24521, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24520, + "name": "_end_item", + "nodeType": "VariableDeclaration", + "scope": 24532, + "src": "14672:17:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14672:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14671:19:81" + }, + "scope": 25546, + "src": "14574:170:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24549, + "nodeType": "Block", + "src": "14877:47:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24541, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24539, + "src": "14883:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24543, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24534, + "src": "14896:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24544, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "14896:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24545, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24536, + "src": "14907:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24542, + "name": "valid", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23529, + 23896, + 24275, + 24550, + 24841, + 25144, + 25425 + ], + "referencedDeclaration": 23529, + "src": "14890:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bool)" + } + }, + "id": 24546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14890:29:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "14883:36:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24548, + "nodeType": "ExpressionStatement", + "src": "14883:36:81" + } + ] + }, + "documentation": null, + "id": 24550, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24537, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24534, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24550, + "src": "14763:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24533, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "14763:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24536, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 24550, + "src": "14785:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24535, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14785:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14762:43:81" + }, + "payable": false, + "returnParameters": { + "id": 24540, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24539, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 24550, + "src": "14864:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24538, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14864:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14863:11:81" + }, + "scope": 25546, + "src": "14748:176:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24569, + "nodeType": "Block", + "src": "15056:55:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24559, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24557, + "src": "15062:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24561, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24552, + "src": "15080:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24562, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "15080:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24564, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24554, + "src": "15099:5:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 24563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15091:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15091:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24560, + "name": "valid_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23553, + 23916, + 24299, + 24570, + 24865, + 25162, + 25449 + ], + "referencedDeclaration": 23553, + "src": "15069:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bool)" + } + }, + "id": 24566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15069:37:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "15062:44:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24568, + "nodeType": "ExpressionStatement", + "src": "15062:44:81" + } + ] + }, + "documentation": null, + "id": 24570, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24555, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24552, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24570, + "src": "14948:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24551, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "14948:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24554, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24570, + "src": "14970:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24553, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14970:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14947:37:81" + }, + "payable": false, + "returnParameters": { + "id": 24558, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24557, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 24570, + "src": "15043:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24556, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15043:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15042:11:81" + }, + "scope": 25546, + "src": "14928:183:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24587, + "nodeType": "Block", + "src": "15264:64:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24579, + "name": "_previous_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24577, + "src": "15270:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24581, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24572, + "src": "15297:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24582, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "15297:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24583, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24574, + "src": "15308:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24580, + "name": "previous", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23586, + 23934, + 24321, + 24588, + 24887, + 25180, + 25471 + ], + "referencedDeclaration": 23586, + "src": "15288:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 24584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15288:35:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15270:53:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24586, + "nodeType": "ExpressionStatement", + "src": "15270:53:81" + } + ] + }, + "documentation": null, + "id": 24588, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24575, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24572, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24588, + "src": "15133:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24571, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "15133:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24574, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 24588, + "src": "15155:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24573, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15155:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15132:46:81" + }, + "payable": false, + "returnParameters": { + "id": 24578, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24577, + "name": "_previous_index", + "nodeType": "VariableDeclaration", + "scope": 24588, + "src": "15237:23:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24576, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15237:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15236:25:81" + }, + "scope": 25546, + "src": "15115:213:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24609, + "nodeType": "Block", + "src": "15484:85:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24597, + "name": "_previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24595, + "src": "15490:14:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24600, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24590, + "src": "15529:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24601, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "15529:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24603, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24592, + "src": "15548:13:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 24602, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15540:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15540:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24599, + "name": "previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23627, + 23956, + 24347, + 24610, + 24913, + 25198, + 25497 + ], + "referencedDeclaration": 23627, + "src": "15515:13:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 24605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15515:48:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24598, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15507:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 24606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15507:57:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15490:74:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 24608, + "nodeType": "ExpressionStatement", + "src": "15490:74:81" + } + ] + }, + "documentation": null, + "id": 24610, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24593, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24590, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24610, + "src": "15355:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24589, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "15355:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24592, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 24610, + "src": "15377:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24591, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15377:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15354:45:81" + }, + "payable": false, + "returnParameters": { + "id": 24596, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24595, + "name": "_previous_item", + "nodeType": "VariableDeclaration", + "scope": 24610, + "src": "15458:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24594, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15458:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15457:24:81" + }, + "scope": 25546, + "src": "15332:237:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24627, + "nodeType": "Block", + "src": "15714:56:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24619, + "name": "_next_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24617, + "src": "15720:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24621, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24612, + "src": "15739:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24622, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "15739:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24623, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24614, + "src": "15750:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24620, + "name": "next", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23660, + 23974, + 24369, + 24628, + 24935, + 25216, + 25519 + ], + "referencedDeclaration": 23660, + "src": "15734:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 24624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15734:31:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15720:45:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24626, + "nodeType": "ExpressionStatement", + "src": "15720:45:81" + } + ] + }, + "documentation": null, + "id": 24628, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24615, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24612, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24628, + "src": "15587:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24611, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "15587:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24614, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 24628, + "src": "15609:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24613, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15609:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15586:46:81" + }, + "payable": false, + "returnParameters": { + "id": 24618, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24617, + "name": "_next_index", + "nodeType": "VariableDeclaration", + "scope": 24628, + "src": "15691:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24616, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15691:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15690:21:81" + }, + "scope": 25546, + "src": "15573:197:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24649, + "nodeType": "Block", + "src": "15918:77:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24637, + "name": "_next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24635, + "src": "15924:10:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24640, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24630, + "src": "15955:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24641, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "15955:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24643, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24632, + "src": "15974:13:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 24642, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15966:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15966:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24639, + "name": "next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23701, + 23996, + 24395, + 24650, + 24961, + 25234, + 25545 + ], + "referencedDeclaration": 23701, + "src": "15945:9:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 24645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15945:44:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24638, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15937:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 24646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15937:53:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15924:66:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 24648, + "nodeType": "ExpressionStatement", + "src": "15924:66:81" + } + ] + }, + "documentation": null, + "id": 24650, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24630, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24650, + "src": "15793:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24629, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "15793:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24632, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 24650, + "src": "15815:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24631, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15815:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15792:45:81" + }, + "payable": false, + "returnParameters": { + "id": 24636, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24635, + "name": "_next_item", + "nodeType": "VariableDeclaration", + "scope": 24650, + "src": "15896:18:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24634, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15896:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15895:20:81" + }, + "scope": 25546, + "src": "15774:221:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24673, + "nodeType": "Block", + "src": "16141:74:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24661, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24659, + "src": "16147:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24663, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24652, + "src": "16165:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24664, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "16165:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24666, + "indexExpression": { + "argumentTypes": null, + "id": 24665, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24654, + "src": "16175:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16165:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24668, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24656, + "src": "16203:5:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 24667, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16195:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16195:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24662, + "name": "append", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23249, + 23761, + 24108, + 24415, + 24674, + 25015, + 25258 + ], + "referencedDeclaration": 23249, + "src": "16158:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 24670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16158:52:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16147:63:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24672, + "nodeType": "ExpressionStatement", + "src": "16147:63:81" + } + ] + }, + "documentation": null, + "id": 24674, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "append", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24657, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24652, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24674, + "src": "16015:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24651, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "16015:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24654, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24674, + "src": "16044:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24653, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16044:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24656, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 24674, + "src": "16071:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24655, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16071:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16014:71:81" + }, + "payable": false, + "returnParameters": { + "id": 24660, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24659, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 24674, + "src": "16124:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24658, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16124:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16123:15:81" + }, + "scope": 25546, + "src": "15999:216:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24695, + "nodeType": "Block", + "src": "16364:66:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24685, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24683, + "src": "16370:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24687, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24676, + "src": "16388:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24688, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "16388:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24690, + "indexExpression": { + "argumentTypes": null, + "id": 24689, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24678, + "src": "16398:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16388:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24691, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24680, + "src": "16418:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24686, + "name": "remove", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23367, + 23779, + 24130, + 24433, + 24696, + 25033, + 25280 + ], + "referencedDeclaration": 23367, + "src": "16381:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) returns (bool)" + } + }, + "id": 24692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16381:44:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16370:55:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24694, + "nodeType": "ExpressionStatement", + "src": "16370:55:81" + } + ] + }, + "documentation": null, + "id": 24696, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24681, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24676, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24696, + "src": "16235:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24675, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "16235:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24678, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24696, + "src": "16264:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24677, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16264:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24680, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 24696, + "src": "16291:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24679, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16291:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16234:72:81" + }, + "payable": false, + "returnParameters": { + "id": 24684, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24683, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 24696, + "src": "16347:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24682, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16347:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16346:15:81" + }, + "scope": 25546, + "src": "16219:211:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 24719, + "nodeType": "Block", + "src": "16582:79:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24707, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24705, + "src": "16588:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24709, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24698, + "src": "16611:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24710, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "16611:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24712, + "indexExpression": { + "argumentTypes": null, + "id": 24711, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24700, + "src": "16621:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16611:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24714, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24702, + "src": "16649:5:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 24713, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16641:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16641:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24708, + "name": "remove_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23407, + 23799, + 24154, + 24453, + 24720, + 25051, + 25304 + ], + "referencedDeclaration": 23407, + "src": "16599:11:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 24716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16599:57:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16588:68:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24718, + "nodeType": "ExpressionStatement", + "src": "16588:68:81" + } + ] + }, + "documentation": null, + "id": 24720, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24703, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24698, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24720, + "src": "16456:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24697, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "16456:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24700, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24720, + "src": "16485:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24699, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16485:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24702, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24720, + "src": "16512:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24701, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16512:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16455:71:81" + }, + "payable": false, + "returnParameters": { + "id": 24706, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24705, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 24720, + "src": "16565:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24704, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16565:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16564:15:81" + }, + "scope": 25546, + "src": "16435:226:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24738, + "nodeType": "Block", + "src": "16818:61:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24729, + "name": "_total_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24727, + "src": "16824:12:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24731, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24722, + "src": "16845:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24732, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "16845:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24734, + "indexExpression": { + "argumentTypes": null, + "id": 24733, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24724, + "src": "16855:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16845:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24730, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23420, + 23814, + 24173, + 24468, + 24739, + 25066, + 25323 + ], + "referencedDeclaration": 23420, + "src": "16839:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 24735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16839:35:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16824:50:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24737, + "nodeType": "ExpressionStatement", + "src": "16824:50:81" + } + ] + }, + "documentation": null, + "id": 24739, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "total", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24725, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24722, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24739, + "src": "16680:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24721, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "16680:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24724, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24739, + "src": "16709:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24723, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16709:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16679:56:81" + }, + "payable": false, + "returnParameters": { + "id": 24728, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24727, + "name": "_total_count", + "nodeType": "VariableDeclaration", + "scope": 24739, + "src": "16794:20:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24726, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16794:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16793:22:81" + }, + "scope": 25546, + "src": "16665:214:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24757, + "nodeType": "Block", + "src": "17030:55:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24748, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24746, + "src": "17036:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24750, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24741, + "src": "17051:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24751, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "17051:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24753, + "indexExpression": { + "argumentTypes": null, + "id": 24752, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24743, + "src": "17061:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17051:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24749, + "name": "start", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23435, + 23829, + 24192, + 24483, + 24758, + 25081, + 25342 + ], + "referencedDeclaration": 23435, + "src": "17045:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 24754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17045:35:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17036:44:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24756, + "nodeType": "ExpressionStatement", + "src": "17036:44:81" + } + ] + }, + "documentation": null, + "id": 24758, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24744, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24741, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24758, + "src": "16898:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24740, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "16898:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24743, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24758, + "src": "16927:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24742, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16927:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16897:56:81" + }, + "payable": false, + "returnParameters": { + "id": 24747, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24746, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 24758, + "src": "17012:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24745, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17012:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17011:16:81" + }, + "scope": 25546, + "src": "16883:202:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24778, + "nodeType": "Block", + "src": "17246:74:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24767, + "name": "_start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24765, + "src": "17252:11:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24770, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24760, + "src": "17285:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24771, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "17285:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24773, + "indexExpression": { + "argumentTypes": null, + "id": 24772, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24762, + "src": "17295:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17285:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24769, + "name": "start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23466, + 23846, + 24213, + 24500, + 24779, + 25096, + 25363 + ], + "referencedDeclaration": 23466, + "src": "17274:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 24774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17274:40:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24768, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17266:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 24775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17266:49:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "17252:63:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 24777, + "nodeType": "ExpressionStatement", + "src": "17252:63:81" + } + ] + }, + "documentation": null, + "id": 24779, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24763, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24760, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24779, + "src": "17109:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24759, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "17109:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24762, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24779, + "src": "17138:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24761, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17138:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17108:56:81" + }, + "payable": false, + "returnParameters": { + "id": 24766, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24765, + "name": "_start_item", + "nodeType": "VariableDeclaration", + "scope": 24779, + "src": "17223:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24764, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17223:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17222:21:81" + }, + "scope": 25546, + "src": "17089:231:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24797, + "nodeType": "Block", + "src": "17470:53:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24788, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24786, + "src": "17476:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24790, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24781, + "src": "17489:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24791, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "17489:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24793, + "indexExpression": { + "argumentTypes": null, + "id": 24792, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24783, + "src": "17499:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17489:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24789, + "name": "end", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23481, + 23861, + 24232, + 24515, + 24798, + 25111, + 25382 + ], + "referencedDeclaration": 23481, + "src": "17485:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 24794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17485:33:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17476:42:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24796, + "nodeType": "ExpressionStatement", + "src": "17476:42:81" + } + ] + }, + "documentation": null, + "id": 24798, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24784, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24781, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24798, + "src": "17338:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24780, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "17338:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24783, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24798, + "src": "17367:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24782, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17367:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17337:56:81" + }, + "payable": false, + "returnParameters": { + "id": 24787, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24786, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 24798, + "src": "17452:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24785, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17452:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17451:16:81" + }, + "scope": 25546, + "src": "17325:198:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24818, + "nodeType": "Block", + "src": "17680:70:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24807, + "name": "_end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24805, + "src": "17686:9:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24810, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24800, + "src": "17715:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24811, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "17715:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24813, + "indexExpression": { + "argumentTypes": null, + "id": 24812, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24802, + "src": "17725:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17715:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24809, + "name": "end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23512, + 23878, + 24253, + 24532, + 24819, + 25126, + 25403 + ], + "referencedDeclaration": 23512, + "src": "17706:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 24814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17706:38:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24808, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17698:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 24815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17698:47:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "17686:59:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 24817, + "nodeType": "ExpressionStatement", + "src": "17686:59:81" + } + ] + }, + "documentation": null, + "id": 24819, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24803, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24800, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24819, + "src": "17545:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24799, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "17545:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24802, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24819, + "src": "17574:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24801, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17574:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17544:56:81" + }, + "payable": false, + "returnParameters": { + "id": 24806, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24805, + "name": "_end_item", + "nodeType": "VariableDeclaration", + "scope": 24819, + "src": "17659:17:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24804, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17659:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17658:19:81" + }, + "scope": 25546, + "src": "17527:223:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24840, + "nodeType": "Block", + "src": "17917:66:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24830, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24828, + "src": "17923:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24832, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24821, + "src": "17936:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24833, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "17936:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24835, + "indexExpression": { + "argumentTypes": null, + "id": 24834, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24823, + "src": "17946:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17936:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24836, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24825, + "src": "17966:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24831, + "name": "valid", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23529, + 23896, + 24275, + 24550, + 24841, + 25144, + 25425 + ], + "referencedDeclaration": 23529, + "src": "17930:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bool)" + } + }, + "id": 24837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17930:48:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "17923:55:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24839, + "nodeType": "ExpressionStatement", + "src": "17923:55:81" + } + ] + }, + "documentation": null, + "id": 24841, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24826, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24821, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24841, + "src": "17769:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24820, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "17769:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24823, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24841, + "src": "17798:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24822, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17798:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24825, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 24841, + "src": "17825:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24824, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17825:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17768:77:81" + }, + "payable": false, + "returnParameters": { + "id": 24829, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24828, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 24841, + "src": "17904:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24827, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "17904:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17903:11:81" + }, + "scope": 25546, + "src": "17754:229:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24864, + "nodeType": "Block", + "src": "18149:74:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24852, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24850, + "src": "18155:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24854, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24843, + "src": "18173:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24855, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "18173:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24857, + "indexExpression": { + "argumentTypes": null, + "id": 24856, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24845, + "src": "18183:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18173:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24859, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24847, + "src": "18211:5:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 24858, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "18203:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18203:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24853, + "name": "valid_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23553, + 23916, + 24299, + 24570, + 24865, + 25162, + 25449 + ], + "referencedDeclaration": 23553, + "src": "18162:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bool)" + } + }, + "id": 24861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18162:56:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "18155:63:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24863, + "nodeType": "ExpressionStatement", + "src": "18155:63:81" + } + ] + }, + "documentation": null, + "id": 24865, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24848, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24843, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24865, + "src": "18007:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24842, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "18007:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24845, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24865, + "src": "18036:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24844, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18036:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24847, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24865, + "src": "18063:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24846, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18063:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18006:71:81" + }, + "payable": false, + "returnParameters": { + "id": 24851, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24850, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 24865, + "src": "18136:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24849, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "18136:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18135:11:81" + }, + "scope": 25546, + "src": "17987:236:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24886, + "nodeType": "Block", + "src": "18410:83:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24876, + "name": "_previous_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24874, + "src": "18416:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24878, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24867, + "src": "18443:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24879, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "18443:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24881, + "indexExpression": { + "argumentTypes": null, + "id": 24880, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24869, + "src": "18453:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18443:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24882, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24871, + "src": "18473:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24877, + "name": "previous", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23586, + 23934, + 24321, + 24588, + 24887, + 25180, + 25471 + ], + "referencedDeclaration": 23586, + "src": "18434:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 24883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18434:54:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18416:72:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24885, + "nodeType": "ExpressionStatement", + "src": "18416:72:81" + } + ] + }, + "documentation": null, + "id": 24887, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24872, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24867, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24887, + "src": "18245:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24866, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "18245:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24869, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24887, + "src": "18274:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24868, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18274:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24871, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 24887, + "src": "18301:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24870, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18301:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18244:80:81" + }, + "payable": false, + "returnParameters": { + "id": 24875, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24874, + "name": "_previous_index", + "nodeType": "VariableDeclaration", + "scope": 24887, + "src": "18383:23:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24873, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18383:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18382:25:81" + }, + "scope": 25546, + "src": "18227:266:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24912, + "nodeType": "Block", + "src": "18683:104:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24898, + "name": "_previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24896, + "src": "18689:14:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24901, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24889, + "src": "18728:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24902, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "18728:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24904, + "indexExpression": { + "argumentTypes": null, + "id": 24903, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24891, + "src": "18738:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18728:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24906, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24893, + "src": "18766:13:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 24905, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "18758:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18758:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24900, + "name": "previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23627, + 23956, + 24347, + 24610, + 24913, + 25198, + 25497 + ], + "referencedDeclaration": 23627, + "src": "18714:13:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 24908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18714:67:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24899, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "18706:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 24909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18706:76:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "18689:93:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 24911, + "nodeType": "ExpressionStatement", + "src": "18689:93:81" + } + ] + }, + "documentation": null, + "id": 24913, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24894, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24889, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24913, + "src": "18520:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24888, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "18520:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24891, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24913, + "src": "18549:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24890, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18549:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24893, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 24913, + "src": "18576:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24892, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18576:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18519:79:81" + }, + "payable": false, + "returnParameters": { + "id": 24897, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24896, + "name": "_previous_item", + "nodeType": "VariableDeclaration", + "scope": 24913, + "src": "18657:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24895, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18657:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18656:24:81" + }, + "scope": 25546, + "src": "18497:290:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24934, + "nodeType": "Block", + "src": "18966:75:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24924, + "name": "_next_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24922, + "src": "18972:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24926, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24915, + "src": "18991:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24927, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "18991:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24929, + "indexExpression": { + "argumentTypes": null, + "id": 24928, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24917, + "src": "19001:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18991:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24930, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24919, + "src": "19021:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24925, + "name": "next", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23660, + 23974, + 24369, + 24628, + 24935, + 25216, + 25519 + ], + "referencedDeclaration": 23660, + "src": "18986:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 24931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18986:50:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18972:64:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24933, + "nodeType": "ExpressionStatement", + "src": "18972:64:81" + } + ] + }, + "documentation": null, + "id": 24935, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24920, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24915, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24935, + "src": "18805:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24914, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "18805:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24917, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24935, + "src": "18834:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24916, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18834:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24919, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 24935, + "src": "18861:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24918, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18861:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18804:80:81" + }, + "payable": false, + "returnParameters": { + "id": 24923, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24922, + "name": "_next_index", + "nodeType": "VariableDeclaration", + "scope": 24935, + "src": "18943:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24921, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18943:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18942:21:81" + }, + "scope": 25546, + "src": "18791:250:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24960, + "nodeType": "Block", + "src": "19223:96:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24946, + "name": "_next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24944, + "src": "19229:10:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24949, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24937, + "src": "19260:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24950, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "19260:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24952, + "indexExpression": { + "argumentTypes": null, + "id": 24951, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24939, + "src": "19270:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19260:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24954, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24941, + "src": "19298:13:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 24953, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "19290:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19290:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24948, + "name": "next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23701, + 23996, + 24395, + 24650, + 24961, + 25234, + 25545 + ], + "referencedDeclaration": 23701, + "src": "19250:9:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 24956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19250:63:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "19242:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 24957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19242:72:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "19229:85:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 24959, + "nodeType": "ExpressionStatement", + "src": "19229:85:81" + } + ] + }, + "documentation": null, + "id": 24961, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24942, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24937, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24961, + "src": "19064:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24936, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "19064:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24939, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24961, + "src": "19093:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24938, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19093:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24941, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 24961, + "src": "19120:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24940, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19120:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19063:79:81" + }, + "payable": false, + "returnParameters": { + "id": 24945, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24944, + "name": "_next_item", + "nodeType": "VariableDeclaration", + "scope": 24961, + "src": "19201:18:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24943, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19201:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19200:20:81" + }, + "scope": 25546, + "src": "19045:274:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24978, + "nodeType": "Block", + "src": "19454:47:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24970, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24968, + "src": "19460:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24972, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24963, + "src": "19479:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 24973, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "19479:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24974, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24965, + "src": "19490:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24971, + "name": "find", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23090, + 23721, + 24016, + 24060, + 24979 + ], + "referencedDeclaration": 23090, + "src": "19474:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 24975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19474:22:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19460:36:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24977, + "nodeType": "ExpressionStatement", + "src": "19460:36:81" + } + ] + }, + "documentation": null, + "id": 24979, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "find", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24966, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24963, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24979, + "src": "19338:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 24962, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "19338:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24965, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24979, + "src": "19358:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24964, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19358:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19337:35:81" + }, + "payable": false, + "returnParameters": { + "id": 24969, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24968, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 24979, + "src": "19431:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24967, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19431:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19430:21:81" + }, + "scope": 25546, + "src": "19324:177:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24996, + "nodeType": "Block", + "src": "19634:46:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24988, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24986, + "src": "19640:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24990, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24981, + "src": "19652:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 24991, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "19652:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24992, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24983, + "src": "19663:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24989, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23123, + 23741, + 24036, + 24084, + 24997 + ], + "referencedDeclaration": 23123, + "src": "19648:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bytes32)" + } + }, + "id": 24993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19648:27:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "19640:35:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 24995, + "nodeType": "ExpressionStatement", + "src": "19640:35:81" + } + ] + }, + "documentation": null, + "id": 24997, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24984, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24981, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24997, + "src": "19518:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 24980, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "19518:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24983, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 24997, + "src": "19538:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24982, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19538:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19517:41:81" + }, + "payable": false, + "returnParameters": { + "id": 24987, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24986, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24997, + "src": "19617:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24985, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19617:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19616:15:81" + }, + "scope": 25546, + "src": "19505:175:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25014, + "nodeType": "Block", + "src": "19791:46:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25006, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25004, + "src": "19797:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25008, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24999, + "src": "19815:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25009, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "19815:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25010, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25001, + "src": "19826:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25007, + "name": "append", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23249, + 23761, + 24108, + 24415, + 24674, + 25015, + 25258 + ], + "referencedDeclaration": 23249, + "src": "19808:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 25011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19808:24:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "19797:35:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 25013, + "nodeType": "ExpressionStatement", + "src": "19797:35:81" + } + ] + }, + "documentation": null, + "id": 25015, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "append", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25002, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24999, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25015, + "src": "19701:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 24998, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "19701:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25001, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 25015, + "src": "19721:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25000, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19721:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19700:35:81" + }, + "payable": false, + "returnParameters": { + "id": 25005, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25004, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 25015, + "src": "19774:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25003, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "19774:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19773:15:81" + }, + "scope": 25546, + "src": "19685:152:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25032, + "nodeType": "Block", + "src": "19950:47:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25024, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25022, + "src": "19956:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25026, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25017, + "src": "19974:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25027, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "19974:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25028, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25019, + "src": "19985:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 25025, + "name": "remove", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23367, + 23779, + 24130, + 24433, + 24696, + 25033, + 25280 + ], + "referencedDeclaration": 23367, + "src": "19967:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) returns (bool)" + } + }, + "id": 25029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19967:25:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "19956:36:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 25031, + "nodeType": "ExpressionStatement", + "src": "19956:36:81" + } + ] + }, + "documentation": null, + "id": 25033, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25020, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25017, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25033, + "src": "19857:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25016, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "19857:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25019, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 25033, + "src": "19877:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25018, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19877:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19856:36:81" + }, + "payable": false, + "returnParameters": { + "id": 25023, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25022, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 25033, + "src": "19933:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25021, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "19933:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19932:15:81" + }, + "scope": 25546, + "src": "19841:156:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 25050, + "nodeType": "Block", + "src": "20113:51:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25042, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25040, + "src": "20119:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25044, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25035, + "src": "20142:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25045, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "20142:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25046, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25037, + "src": "20153:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25043, + "name": "remove_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23407, + 23799, + 24154, + 24453, + 24720, + 25051, + 25304 + ], + "referencedDeclaration": 23407, + "src": "20130:11:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 25047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20130:29:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "20119:40:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 25049, + "nodeType": "ExpressionStatement", + "src": "20119:40:81" + } + ] + }, + "documentation": null, + "id": 25051, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25038, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25035, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25051, + "src": "20023:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25034, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "20023:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25037, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 25051, + "src": "20043:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25036, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20043:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20022:35:81" + }, + "payable": false, + "returnParameters": { + "id": 25041, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25040, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 25051, + "src": "20096:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25039, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "20096:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20095:15:81" + }, + "scope": 25546, + "src": "20002:162:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25065, + "nodeType": "Block", + "src": "20285:42:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25063, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25058, + "name": "_total_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25056, + "src": "20291:12:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25060, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25053, + "src": "20312:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25061, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "20312:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 25059, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23420, + 23814, + 24173, + 24468, + 24739, + 25066, + 25323 + ], + "referencedDeclaration": 23420, + "src": "20306:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 25062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20306:16:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20291:31:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25064, + "nodeType": "ExpressionStatement", + "src": "20291:31:81" + } + ] + }, + "documentation": null, + "id": 25066, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "total", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25054, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25053, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25066, + "src": "20183:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25052, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "20183:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20182:20:81" + }, + "payable": false, + "returnParameters": { + "id": 25057, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25056, + "name": "_total_count", + "nodeType": "VariableDeclaration", + "scope": 25066, + "src": "20261:20:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25055, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20261:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20260:22:81" + }, + "scope": 25546, + "src": "20168:159:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25080, + "nodeType": "Block", + "src": "20442:36:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25073, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25071, + "src": "20448:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25075, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25068, + "src": "20463:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25076, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "20463:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 25074, + "name": "start", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23435, + 23829, + 24192, + 24483, + 24758, + 25081, + 25342 + ], + "referencedDeclaration": 23435, + "src": "20457:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 25077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20457:16:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20448:25:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25079, + "nodeType": "ExpressionStatement", + "src": "20448:25:81" + } + ] + }, + "documentation": null, + "id": 25081, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25069, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25068, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25081, + "src": "20346:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25067, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "20346:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20345:20:81" + }, + "payable": false, + "returnParameters": { + "id": 25072, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25071, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 25081, + "src": "20424:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25070, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20424:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20423:16:81" + }, + "scope": 25546, + "src": "20331:147:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25095, + "nodeType": "Block", + "src": "20603:46:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25088, + "name": "_start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25086, + "src": "20609:11:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25090, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25083, + "src": "20634:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25091, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "20634:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 25089, + "name": "start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23466, + 23846, + 24213, + 24500, + 24779, + 25096, + 25363 + ], + "referencedDeclaration": 23466, + "src": "20623:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 25092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20623:21:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "20609:35:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 25094, + "nodeType": "ExpressionStatement", + "src": "20609:35:81" + } + ] + }, + "documentation": null, + "id": 25096, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25084, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25083, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25096, + "src": "20502:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25082, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "20502:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20501:20:81" + }, + "payable": false, + "returnParameters": { + "id": 25087, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25086, + "name": "_start_item", + "nodeType": "VariableDeclaration", + "scope": 25096, + "src": "20580:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25085, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20580:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20579:21:81" + }, + "scope": 25546, + "src": "20482:167:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25110, + "nodeType": "Block", + "src": "20763:34:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25103, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25101, + "src": "20769:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25105, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25098, + "src": "20782:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25106, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "20782:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 25104, + "name": "end", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23481, + 23861, + 24232, + 24515, + 24798, + 25111, + 25382 + ], + "referencedDeclaration": 23481, + "src": "20778:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 25107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20778:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20769:23:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25109, + "nodeType": "ExpressionStatement", + "src": "20769:23:81" + } + ] + }, + "documentation": null, + "id": 25111, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25099, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25098, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25111, + "src": "20667:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25097, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "20667:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20666:20:81" + }, + "payable": false, + "returnParameters": { + "id": 25102, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25101, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 25111, + "src": "20745:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25100, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20745:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20744:16:81" + }, + "scope": 25546, + "src": "20654:143:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25125, + "nodeType": "Block", + "src": "20918:42:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25118, + "name": "_end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25116, + "src": "20924:9:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25120, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25113, + "src": "20945:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25121, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "20945:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 25119, + "name": "end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23512, + 23878, + 24253, + 24532, + 24819, + 25126, + 25403 + ], + "referencedDeclaration": 23512, + "src": "20936:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 25122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20936:19:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "20924:31:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 25124, + "nodeType": "ExpressionStatement", + "src": "20924:31:81" + } + ] + }, + "documentation": null, + "id": 25126, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25114, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25113, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25126, + "src": "20819:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25112, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "20819:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20818:20:81" + }, + "payable": false, + "returnParameters": { + "id": 25117, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25116, + "name": "_end_item", + "nodeType": "VariableDeclaration", + "scope": 25126, + "src": "20897:17:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25115, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20897:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20896:19:81" + }, + "scope": 25546, + "src": "20801:159:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25143, + "nodeType": "Block", + "src": "21091:47:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25135, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25133, + "src": "21097:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25137, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25128, + "src": "21110:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25138, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "21110:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25139, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25130, + "src": "21121:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 25136, + "name": "valid", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23529, + 23896, + 24275, + 24550, + 24841, + 25144, + 25425 + ], + "referencedDeclaration": 23529, + "src": "21104:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bool)" + } + }, + "id": 25140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21104:29:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "21097:36:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 25142, + "nodeType": "ExpressionStatement", + "src": "21097:36:81" + } + ] + }, + "documentation": null, + "id": 25144, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25131, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25128, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25144, + "src": "20979:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25127, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "20979:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25130, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 25144, + "src": "20999:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25129, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20999:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20978:41:81" + }, + "payable": false, + "returnParameters": { + "id": 25134, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25133, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 25144, + "src": "21078:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25132, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21078:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21077:11:81" + }, + "scope": 25546, + "src": "20964:174:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25161, + "nodeType": "Block", + "src": "21268:46:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25153, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25151, + "src": "21274:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25155, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25146, + "src": "21292:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25156, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "21292:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25157, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25148, + "src": "21303:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25154, + "name": "valid_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23553, + 23916, + 24299, + 24570, + 24865, + 25162, + 25449 + ], + "referencedDeclaration": 23553, + "src": "21281:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bool)" + } + }, + "id": 25158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21281:28:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "21274:35:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 25160, + "nodeType": "ExpressionStatement", + "src": "21274:35:81" + } + ] + }, + "documentation": null, + "id": 25162, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25149, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25146, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25162, + "src": "21162:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25145, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "21162:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25148, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 25162, + "src": "21182:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25147, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "21182:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21161:35:81" + }, + "payable": false, + "returnParameters": { + "id": 25152, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25151, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 25162, + "src": "21255:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25150, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21255:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21254:11:81" + }, + "scope": 25546, + "src": "21142:172:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25179, + "nodeType": "Block", + "src": "21465:64:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25171, + "name": "_previous_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25169, + "src": "21471:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25173, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25164, + "src": "21498:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25174, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "21498:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25175, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25166, + "src": "21509:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 25172, + "name": "previous", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23586, + 23934, + 24321, + 24588, + 24887, + 25180, + 25471 + ], + "referencedDeclaration": 23586, + "src": "21489:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 25176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21489:35:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21471:53:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25178, + "nodeType": "ExpressionStatement", + "src": "21471:53:81" + } + ] + }, + "documentation": null, + "id": 25180, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25167, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25164, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25180, + "src": "21336:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25163, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "21336:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25166, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 25180, + "src": "21356:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25165, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21356:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21335:44:81" + }, + "payable": false, + "returnParameters": { + "id": 25170, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25169, + "name": "_previous_index", + "nodeType": "VariableDeclaration", + "scope": 25180, + "src": "21438:23:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25168, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21438:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21437:25:81" + }, + "scope": 25546, + "src": "21318:211:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25197, + "nodeType": "Block", + "src": "21683:67:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25189, + "name": "_previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25187, + "src": "21689:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25191, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25182, + "src": "21720:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25192, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "21720:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25193, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25184, + "src": "21731:13:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25190, + "name": "previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23627, + 23956, + 24347, + 24610, + 24913, + 25198, + 25497 + ], + "referencedDeclaration": 23627, + "src": "21706:13:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 25194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21706:39:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "21689:56:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 25196, + "nodeType": "ExpressionStatement", + "src": "21689:56:81" + } + ] + }, + "documentation": null, + "id": 25198, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25185, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25182, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25198, + "src": "21556:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25181, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "21556:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25184, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 25198, + "src": "21576:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25183, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "21576:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21555:43:81" + }, + "payable": false, + "returnParameters": { + "id": 25188, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25187, + "name": "_previous_item", + "nodeType": "VariableDeclaration", + "scope": 25198, + "src": "21657:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25186, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "21657:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21656:24:81" + }, + "scope": 25546, + "src": "21533:217:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25215, + "nodeType": "Block", + "src": "21893:56:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25207, + "name": "_next_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25205, + "src": "21899:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25209, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25200, + "src": "21918:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25210, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "21918:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25211, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25202, + "src": "21929:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 25208, + "name": "next", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23660, + 23974, + 24369, + 24628, + 24935, + 25216, + 25519 + ], + "referencedDeclaration": 23660, + "src": "21913:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 25212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21913:31:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21899:45:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25214, + "nodeType": "ExpressionStatement", + "src": "21899:45:81" + } + ] + }, + "documentation": null, + "id": 25216, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25203, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25200, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25216, + "src": "21768:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25199, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "21768:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25202, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 25216, + "src": "21788:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21788:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21767:44:81" + }, + "payable": false, + "returnParameters": { + "id": 25206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25205, + "name": "_next_index", + "nodeType": "VariableDeclaration", + "scope": 25216, + "src": "21870:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25204, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21870:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21869:21:81" + }, + "scope": 25546, + "src": "21754:195:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25233, + "nodeType": "Block", + "src": "22095:59:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25225, + "name": "_next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25223, + "src": "22101:10:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25227, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25218, + "src": "22124:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25228, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "22124:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25229, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25220, + "src": "22135:13:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25226, + "name": "next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23701, + 23996, + 24395, + 24650, + 24961, + 25234, + 25545 + ], + "referencedDeclaration": 23701, + "src": "22114:9:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 25230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22114:35:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "22101:48:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 25232, + "nodeType": "ExpressionStatement", + "src": "22101:48:81" + } + ] + }, + "documentation": null, + "id": 25234, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25221, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25218, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25234, + "src": "21972:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25217, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "21972:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25220, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 25234, + "src": "21992:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25219, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "21992:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21971:43:81" + }, + "payable": false, + "returnParameters": { + "id": 25224, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25223, + "name": "_next_item", + "nodeType": "VariableDeclaration", + "scope": 25234, + "src": "22073:18:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25222, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22073:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22072:20:81" + }, + "scope": 25546, + "src": "21953:201:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25257, + "nodeType": "Block", + "src": "22298:74:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25245, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25243, + "src": "22304:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25247, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25236, + "src": "22322:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25248, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "22322:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25250, + "indexExpression": { + "argumentTypes": null, + "id": 25249, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25238, + "src": "22332:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22322:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 25252, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25240, + "src": "22360:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25251, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "22352:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 25253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22352:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25246, + "name": "append", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23249, + 23761, + 24108, + 24415, + 24674, + 25015, + 25258 + ], + "referencedDeclaration": 23249, + "src": "22315:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 25254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22315:52:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "22304:63:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 25256, + "nodeType": "ExpressionStatement", + "src": "22304:63:81" + } + ] + }, + "documentation": null, + "id": 25258, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "append", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25241, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25236, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25258, + "src": "22174:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25235, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "22174:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25238, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25258, + "src": "22201:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25237, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22201:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25240, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 25258, + "src": "22228:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25239, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22228:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22173:69:81" + }, + "payable": false, + "returnParameters": { + "id": 25244, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25243, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 25258, + "src": "22281:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25242, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "22281:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22280:15:81" + }, + "scope": 25546, + "src": "22158:214:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25279, + "nodeType": "Block", + "src": "22519:66:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25269, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25267, + "src": "22525:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25271, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25260, + "src": "22543:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25272, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "22543:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25274, + "indexExpression": { + "argumentTypes": null, + "id": 25273, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25262, + "src": "22553:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22543:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25275, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25264, + "src": "22573:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 25270, + "name": "remove", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23367, + 23779, + 24130, + 24433, + 24696, + 25033, + 25280 + ], + "referencedDeclaration": 23367, + "src": "22536:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) returns (bool)" + } + }, + "id": 25276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22536:44:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "22525:55:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 25278, + "nodeType": "ExpressionStatement", + "src": "22525:55:81" + } + ] + }, + "documentation": null, + "id": 25280, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25265, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25260, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25280, + "src": "22392:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25259, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "22392:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25262, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25280, + "src": "22419:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25261, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22419:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25264, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 25280, + "src": "22446:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25263, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22446:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22391:70:81" + }, + "payable": false, + "returnParameters": { + "id": 25268, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25267, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 25280, + "src": "22502:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25266, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "22502:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22501:15:81" + }, + "scope": 25546, + "src": "22376:209:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 25303, + "nodeType": "Block", + "src": "22735:79:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25291, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25289, + "src": "22741:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25293, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25282, + "src": "22764:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25294, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "22764:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25296, + "indexExpression": { + "argumentTypes": null, + "id": 25295, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25284, + "src": "22774:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22764:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 25298, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25286, + "src": "22802:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25297, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "22794:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 25299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22794:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25292, + "name": "remove_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23407, + 23799, + 24154, + 24453, + 24720, + 25051, + 25304 + ], + "referencedDeclaration": 23407, + "src": "22752:11:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 25300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22752:57:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "22741:68:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 25302, + "nodeType": "ExpressionStatement", + "src": "22741:68:81" + } + ] + }, + "documentation": null, + "id": 25304, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25287, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25282, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25304, + "src": "22611:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25281, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "22611:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25284, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25304, + "src": "22638:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25283, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22638:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25286, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 25304, + "src": "22665:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25285, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22665:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22610:69:81" + }, + "payable": false, + "returnParameters": { + "id": 25290, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25289, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 25304, + "src": "22718:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25288, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "22718:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22717:15:81" + }, + "scope": 25546, + "src": "22590:224:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25322, + "nodeType": "Block", + "src": "22969:61:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25313, + "name": "_total_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25311, + "src": "22975:12:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25315, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25306, + "src": "22996:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25316, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "22996:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25318, + "indexExpression": { + "argumentTypes": null, + "id": 25317, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25308, + "src": "23006:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22996:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 25314, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23420, + 23814, + 24173, + 24468, + 24739, + 25066, + 25323 + ], + "referencedDeclaration": 23420, + "src": "22990:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 25319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22990:35:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22975:50:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25321, + "nodeType": "ExpressionStatement", + "src": "22975:50:81" + } + ] + }, + "documentation": null, + "id": 25323, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "total", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25309, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25306, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25323, + "src": "22833:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25305, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "22833:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25308, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25323, + "src": "22860:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25307, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22860:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22832:54:81" + }, + "payable": false, + "returnParameters": { + "id": 25312, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25311, + "name": "_total_count", + "nodeType": "VariableDeclaration", + "scope": 25323, + "src": "22945:20:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25310, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22945:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22944:22:81" + }, + "scope": 25546, + "src": "22818:212:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25341, + "nodeType": "Block", + "src": "23179:55:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25332, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25330, + "src": "23185:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25334, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25325, + "src": "23200:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25335, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "23200:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25337, + "indexExpression": { + "argumentTypes": null, + "id": 25336, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25327, + "src": "23210:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23200:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 25333, + "name": "start", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23435, + 23829, + 24192, + 24483, + 24758, + 25081, + 25342 + ], + "referencedDeclaration": 23435, + "src": "23194:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 25338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23194:35:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23185:44:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25340, + "nodeType": "ExpressionStatement", + "src": "23185:44:81" + } + ] + }, + "documentation": null, + "id": 25342, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25328, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25325, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25342, + "src": "23049:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25324, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "23049:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25327, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25342, + "src": "23076:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25326, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23076:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23048:54:81" + }, + "payable": false, + "returnParameters": { + "id": 25331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25330, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 25342, + "src": "23161:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25329, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23161:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23160:16:81" + }, + "scope": 25546, + "src": "23034:200:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25362, + "nodeType": "Block", + "src": "23393:74:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25351, + "name": "_start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25349, + "src": "23399:11:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25354, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25344, + "src": "23432:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25355, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "23432:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25357, + "indexExpression": { + "argumentTypes": null, + "id": 25356, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25346, + "src": "23442:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23432:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 25353, + "name": "start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23466, + 23846, + 24213, + 24500, + 24779, + 25096, + 25363 + ], + "referencedDeclaration": 23466, + "src": "23421:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 25358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23421:40:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "23413:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 25359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23413:49:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "23399:63:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 25361, + "nodeType": "ExpressionStatement", + "src": "23399:63:81" + } + ] + }, + "documentation": null, + "id": 25363, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25347, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25344, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25363, + "src": "23258:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25343, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "23258:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25346, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25363, + "src": "23285:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25345, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23285:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23257:54:81" + }, + "payable": false, + "returnParameters": { + "id": 25350, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25349, + "name": "_start_item", + "nodeType": "VariableDeclaration", + "scope": 25363, + "src": "23370:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25348, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23370:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23369:21:81" + }, + "scope": 25546, + "src": "23238:229:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25381, + "nodeType": "Block", + "src": "23615:53:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25372, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25370, + "src": "23621:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25374, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25365, + "src": "23634:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25375, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "23634:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25377, + "indexExpression": { + "argumentTypes": null, + "id": 25376, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25367, + "src": "23644:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23634:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 25373, + "name": "end", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23481, + 23861, + 24232, + 24515, + 24798, + 25111, + 25382 + ], + "referencedDeclaration": 23481, + "src": "23630:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 25378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23630:33:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23621:42:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25380, + "nodeType": "ExpressionStatement", + "src": "23621:42:81" + } + ] + }, + "documentation": null, + "id": 25382, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25368, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25365, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25382, + "src": "23485:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25364, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "23485:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25367, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25382, + "src": "23512:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25366, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23512:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23484:54:81" + }, + "payable": false, + "returnParameters": { + "id": 25371, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25370, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 25382, + "src": "23597:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25369, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23597:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23596:16:81" + }, + "scope": 25546, + "src": "23472:196:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25402, + "nodeType": "Block", + "src": "23823:70:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25391, + "name": "_end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25389, + "src": "23829:9:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25394, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25384, + "src": "23858:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25395, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "23858:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25397, + "indexExpression": { + "argumentTypes": null, + "id": 25396, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25386, + "src": "23868:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23858:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 25393, + "name": "end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23512, + 23878, + 24253, + 24532, + 24819, + 25126, + 25403 + ], + "referencedDeclaration": 23512, + "src": "23849:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 25398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23849:38:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25392, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "23841:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 25399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23841:47:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "23829:59:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 25401, + "nodeType": "ExpressionStatement", + "src": "23829:59:81" + } + ] + }, + "documentation": null, + "id": 25403, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25387, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25384, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25403, + "src": "23690:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25383, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "23690:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25386, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25403, + "src": "23717:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25385, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23717:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23689:54:81" + }, + "payable": false, + "returnParameters": { + "id": 25390, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25389, + "name": "_end_item", + "nodeType": "VariableDeclaration", + "scope": 25403, + "src": "23802:17:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25388, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23802:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23801:19:81" + }, + "scope": 25546, + "src": "23672:221:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25424, + "nodeType": "Block", + "src": "24058:66:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25414, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25412, + "src": "24064:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25416, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25405, + "src": "24077:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25417, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "24077:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25419, + "indexExpression": { + "argumentTypes": null, + "id": 25418, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25407, + "src": "24087:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24077:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25420, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25409, + "src": "24107:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 25415, + "name": "valid", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23529, + 23896, + 24275, + 24550, + 24841, + 25144, + 25425 + ], + "referencedDeclaration": 23529, + "src": "24071:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bool)" + } + }, + "id": 25421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24071:48:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "24064:55:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 25423, + "nodeType": "ExpressionStatement", + "src": "24064:55:81" + } + ] + }, + "documentation": null, + "id": 25425, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25410, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25405, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25425, + "src": "23912:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25404, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "23912:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25407, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25425, + "src": "23939:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25406, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23939:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25409, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 25425, + "src": "23966:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25408, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23966:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23911:75:81" + }, + "payable": false, + "returnParameters": { + "id": 25413, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25412, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 25425, + "src": "24045:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25411, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24045:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "24044:11:81" + }, + "scope": 25546, + "src": "23897:227:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25448, + "nodeType": "Block", + "src": "24288:74:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25436, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25434, + "src": "24294:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25438, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25427, + "src": "24312:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25439, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "24312:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25441, + "indexExpression": { + "argumentTypes": null, + "id": 25440, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25429, + "src": "24322:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24312:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 25443, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25431, + "src": "24350:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25442, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "24342:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 25444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24342:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25437, + "name": "valid_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23553, + 23916, + 24299, + 24570, + 24865, + 25162, + 25449 + ], + "referencedDeclaration": 23553, + "src": "24301:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bool)" + } + }, + "id": 25445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24301:56:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "24294:63:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 25447, + "nodeType": "ExpressionStatement", + "src": "24294:63:81" + } + ] + }, + "documentation": null, + "id": 25449, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25432, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25427, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25449, + "src": "24148:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25426, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "24148:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25429, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25449, + "src": "24175:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25428, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24175:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25431, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 25449, + "src": "24202:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25430, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24202:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "24147:69:81" + }, + "payable": false, + "returnParameters": { + "id": 25435, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25434, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 25449, + "src": "24275:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25433, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24275:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "24274:11:81" + }, + "scope": 25546, + "src": "24128:234:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25470, + "nodeType": "Block", + "src": "24547:83:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25460, + "name": "_previous_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25458, + "src": "24553:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25462, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25451, + "src": "24580:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25463, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "24580:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25465, + "indexExpression": { + "argumentTypes": null, + "id": 25464, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25453, + "src": "24590:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24580:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25466, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25455, + "src": "24610:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 25461, + "name": "previous", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23586, + 23934, + 24321, + 24588, + 24887, + 25180, + 25471 + ], + "referencedDeclaration": 23586, + "src": "24571:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 25467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24571:54:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24553:72:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25469, + "nodeType": "ExpressionStatement", + "src": "24553:72:81" + } + ] + }, + "documentation": null, + "id": 25471, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25456, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25451, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25471, + "src": "24384:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25450, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "24384:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25453, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25471, + "src": "24411:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25452, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24411:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25455, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 25471, + "src": "24438:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25454, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24438:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "24383:78:81" + }, + "payable": false, + "returnParameters": { + "id": 25459, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25458, + "name": "_previous_index", + "nodeType": "VariableDeclaration", + "scope": 25471, + "src": "24520:23:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25457, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24520:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "24519:25:81" + }, + "scope": 25546, + "src": "24366:264:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25496, + "nodeType": "Block", + "src": "24818:104:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25482, + "name": "_previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25480, + "src": "24824:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25485, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25473, + "src": "24863:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25486, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "24863:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25488, + "indexExpression": { + "argumentTypes": null, + "id": 25487, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25475, + "src": "24873:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24863:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 25490, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25477, + "src": "24901:13:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25489, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "24893:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 25491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24893:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25484, + "name": "previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23627, + 23956, + 24347, + 24610, + 24913, + 25198, + 25497 + ], + "referencedDeclaration": 23627, + "src": "24849:13:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 25492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24849:67:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25483, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "24841:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 25493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24841:76:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "24824:93:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 25495, + "nodeType": "ExpressionStatement", + "src": "24824:93:81" + } + ] + }, + "documentation": null, + "id": 25497, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25478, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25473, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25497, + "src": "24657:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25472, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "24657:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25475, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25497, + "src": "24684:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25474, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24684:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25477, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 25497, + "src": "24711:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25476, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24711:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "24656:77:81" + }, + "payable": false, + "returnParameters": { + "id": 25481, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25480, + "name": "_previous_item", + "nodeType": "VariableDeclaration", + "scope": 25497, + "src": "24792:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25479, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24792:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "24791:24:81" + }, + "scope": 25546, + "src": "24634:288:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25518, + "nodeType": "Block", + "src": "25099:75:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25508, + "name": "_next_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25506, + "src": "25105:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25510, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25499, + "src": "25124:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25511, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "25124:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25513, + "indexExpression": { + "argumentTypes": null, + "id": 25512, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25501, + "src": "25134:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25124:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25514, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25503, + "src": "25154:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 25509, + "name": "next", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23660, + 23974, + 24369, + 24628, + 24935, + 25216, + 25519 + ], + "referencedDeclaration": 23660, + "src": "25119:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 25515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25119:50:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "25105:64:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25517, + "nodeType": "ExpressionStatement", + "src": "25105:64:81" + } + ] + }, + "documentation": null, + "id": 25519, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25504, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25499, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25519, + "src": "24940:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25498, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "24940:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25501, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25519, + "src": "24967:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25500, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24967:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25503, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 25519, + "src": "24994:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25502, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24994:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "24939:78:81" + }, + "payable": false, + "returnParameters": { + "id": 25507, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25506, + "name": "_next_index", + "nodeType": "VariableDeclaration", + "scope": 25519, + "src": "25076:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25505, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25076:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "25075:21:81" + }, + "scope": 25546, + "src": "24926:248:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25544, + "nodeType": "Block", + "src": "25354:96:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25530, + "name": "_next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25528, + "src": "25360:10:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25533, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25521, + "src": "25391:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25534, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "25391:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25536, + "indexExpression": { + "argumentTypes": null, + "id": 25535, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25523, + "src": "25401:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25391:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 25538, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25525, + "src": "25429:13:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25537, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "25421:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 25539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25421:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25532, + "name": "next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23701, + 23996, + 24395, + 24650, + 24961, + 25234, + 25545 + ], + "referencedDeclaration": 23701, + "src": "25381:9:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 25540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25381:63:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "25373:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 25541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25373:72:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "25360:85:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 25543, + "nodeType": "ExpressionStatement", + "src": "25360:85:81" + } + ] + }, + "documentation": null, + "id": 25545, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25526, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25521, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25545, + "src": "25197:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25520, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "25197:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25523, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25545, + "src": "25224:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25522, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "25224:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25525, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 25545, + "src": "25251:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25524, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "25251:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "25196:77:81" + }, + "payable": false, + "returnParameters": { + "id": 25529, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25528, + "name": "_next_item", + "nodeType": "VariableDeclaration", + "scope": 25545, + "src": "25332:18:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25527, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "25332:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "25331:20:81" + }, + "scope": 25546, + "src": "25178:272:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 25547, + "src": "26:25428:81" + } + ], + "src": "0:25455:81" + }, + "legacyAST": { + "absolutePath": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "exportedSymbols": { + "DoublyLinkedList": [ + 25546 + ] + }, + "id": 25547, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 22989, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:81" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 25546, + "linearizedBaseContracts": [ + 25546 + ], + "name": "DoublyLinkedList", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "DoublyLinkedList.Item", + "id": 22996, + "members": [ + { + "constant": false, + "id": 22991, + "name": "item", + "nodeType": "VariableDeclaration", + "scope": 22996, + "src": "74:12:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22990, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "74:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22993, + "name": "previous_index", + "nodeType": "VariableDeclaration", + "scope": 22996, + "src": "92:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22992, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "92:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22995, + "name": "next_index", + "nodeType": "VariableDeclaration", + "scope": 22996, + "src": "120:18:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22994, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "120:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Item", + "nodeType": "StructDefinition", + "scope": 25546, + "src": "56:87:81", + "visibility": "public" + }, + { + "canonicalName": "DoublyLinkedList.Data", + "id": 23014, + "members": [ + { + "constant": false, + "id": 22998, + "name": "first_index", + "nodeType": "VariableDeclaration", + "scope": 23014, + "src": "165:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22997, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "165:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23000, + "name": "last_index", + "nodeType": "VariableDeclaration", + "scope": 23014, + "src": "190:18:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22999, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "190:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23002, + "name": "count", + "nodeType": "VariableDeclaration", + "scope": 23014, + "src": "214:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23001, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "214:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23006, + "name": "item_index", + "nodeType": "VariableDeclaration", + "scope": 23014, + "src": "233:38:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 23005, + "keyType": { + "id": 23003, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "241:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "233:27:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueType": { + "id": 23004, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "252:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23010, + "name": "valid_indexes", + "nodeType": "VariableDeclaration", + "scope": 23014, + "src": "277:38:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + }, + "typeName": { + "id": 23009, + "keyType": { + "id": 23007, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "285:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "277:24:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + }, + "valueType": { + "id": 23008, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "296:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23013, + "name": "collection", + "nodeType": "VariableDeclaration", + "scope": 23014, + "src": "321:17:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Item_$22996_storage_$dyn_storage_ptr", + "typeString": "struct DoublyLinkedList.Item[]" + }, + "typeName": { + "baseType": { + "contractScope": null, + "id": 23011, + "name": "Item", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 22996, + "src": "321:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_storage_ptr", + "typeString": "struct DoublyLinkedList.Item" + } + }, + "id": 23012, + "length": null, + "nodeType": "ArrayTypeName", + "src": "321:6:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Item_$22996_storage_$dyn_storage_ptr", + "typeString": "struct DoublyLinkedList.Item[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Data", + "nodeType": "StructDefinition", + "scope": 25546, + "src": "147:196:81", + "visibility": "public" + }, + { + "canonicalName": "DoublyLinkedList.IndexedUint", + "id": 23019, + "members": [ + { + "constant": false, + "id": 23018, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 23019, + "src": "372:29:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data)" + }, + "typeName": { + "id": 23017, + "keyType": { + "id": 23015, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "380:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "372:24:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data)" + }, + "valueType": { + "contractScope": null, + "id": 23016, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "391:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "IndexedUint", + "nodeType": "StructDefinition", + "scope": 25546, + "src": "347:59:81", + "visibility": "public" + }, + { + "canonicalName": "DoublyLinkedList.IndexedAddress", + "id": 23024, + "members": [ + { + "constant": false, + "id": 23023, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 23024, + "src": "438:29:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data)" + }, + "typeName": { + "id": 23022, + "keyType": { + "id": 23020, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "446:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "438:24:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data)" + }, + "valueType": { + "contractScope": null, + "id": 23021, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "457:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "IndexedAddress", + "nodeType": "StructDefinition", + "scope": 25546, + "src": "410:62:81", + "visibility": "public" + }, + { + "canonicalName": "DoublyLinkedList.IndexedBytes", + "id": 23029, + "members": [ + { + "constant": false, + "id": 23028, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 23029, + "src": "502:29:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data)" + }, + "typeName": { + "id": 23027, + "keyType": { + "id": 23025, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "510:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "502:24:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data)" + }, + "valueType": { + "contractScope": null, + "id": 23026, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "521:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "IndexedBytes", + "nodeType": "StructDefinition", + "scope": 25546, + "src": "476:60:81", + "visibility": "public" + }, + { + "canonicalName": "DoublyLinkedList.Address", + "id": 23032, + "members": [ + { + "constant": false, + "id": 23031, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 23032, + "src": "561:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23030, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "561:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Address", + "nodeType": "StructDefinition", + "scope": 25546, + "src": "540:35:81", + "visibility": "public" + }, + { + "canonicalName": "DoublyLinkedList.Bytes", + "id": 23035, + "members": [ + { + "constant": false, + "id": 23034, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 23035, + "src": "598:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23033, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "598:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Bytes", + "nodeType": "StructDefinition", + "scope": 25546, + "src": "579:33:81", + "visibility": "public" + }, + { + "canonicalName": "DoublyLinkedList.Uint", + "id": 23038, + "members": [ + { + "constant": false, + "id": 23037, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 23038, + "src": "634:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23036, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "634:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Uint", + "nodeType": "StructDefinition", + "scope": 25546, + "src": "616:32:81", + "visibility": "public" + }, + { + "constant": true, + "id": 23043, + "name": "NONE", + "nodeType": "VariableDeclaration", + "scope": 25546, + "src": "652:34:81", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23039, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "652:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 23041, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "684:1:81", + "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": 23040, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "676:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 23042, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "676:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 23048, + "name": "EMPTY_BYTES", + "nodeType": "VariableDeclaration", + "scope": 25546, + "src": "690:43:81", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23044, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "690:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 23046, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "729:3:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 23045, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "721:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 23047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "721:12:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": true, + "id": 23053, + "name": "NULL_ADDRESS", + "nodeType": "VariableDeclaration", + "scope": 25546, + "src": "737:44:81", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23049, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "737:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 23051, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "777:3:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 23050, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "769:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 23052, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "769:12:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "body": { + "id": 23089, + "nodeType": "Block", + "src": "915:162:81", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 23074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23062, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23055, + "src": "926:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23063, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "item_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23006, + "src": "926:15:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 23065, + "indexExpression": { + "argumentTypes": null, + "id": 23064, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23057, + "src": "942:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "926:22:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 23066, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "952:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "926:30:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 23068, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "925:32:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23069, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23055, + "src": "962:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23070, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "count", + "nodeType": "MemberAccess", + "referencedDeclaration": 23002, + "src": "962:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 23071, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "976:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "962:18:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 23073, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "961:20:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "925:56:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23087, + "nodeType": "Block", + "src": "1022:51:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23080, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23060, + "src": "1030:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23081, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23055, + "src": "1044:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23082, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "item_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23006, + "src": "1044:15:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 23084, + "indexExpression": { + "argumentTypes": null, + "id": 23083, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23057, + "src": "1060:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1044:22:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1030:36:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23086, + "nodeType": "ExpressionStatement", + "src": "1030:36:81" + } + ] + }, + "id": 23088, + "nodeType": "IfStatement", + "src": "921:152:81", + "trueBody": { + "id": 23079, + "nodeType": "Block", + "src": "983:33:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23075, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23060, + "src": "991:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23076, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "1005:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "991:18:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23078, + "nodeType": "ExpressionStatement", + "src": "991:18:81" + } + ] + } + } + ] + }, + "documentation": null, + "id": 23090, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "find", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23058, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23055, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23090, + "src": "800:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23054, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "800:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23057, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 23090, + "src": "819:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23056, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "819:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "799:34:81" + }, + "payable": false, + "returnParameters": { + "id": 23061, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23060, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23090, + "src": "892:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23059, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "892:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "891:21:81" + }, + "scope": 25546, + "src": "786:291:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23122, + "nodeType": "Block", + "src": "1209:155:81", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 23104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23099, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23092, + "src": "1219:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23100, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 23010, + "src": "1219:18:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 23102, + "indexExpression": { + "argumentTypes": null, + "id": 23101, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23094, + "src": "1238:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1219:31:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 23103, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1254:4:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1219:39:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23120, + "nodeType": "Block", + "src": "1326:34:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23116, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23097, + "src": "1334:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23117, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23048, + "src": "1342:11:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1334:19:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 23119, + "nodeType": "ExpressionStatement", + "src": "1334:19:81" + } + ] + }, + "id": 23121, + "nodeType": "IfStatement", + "src": "1215:145:81", + "trueBody": { + "id": 23115, + "nodeType": "Block", + "src": "1260:60:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23105, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23097, + "src": "1268:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23106, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23092, + "src": "1276:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23107, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 23013, + "src": "1276:15:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Item_$22996_storage_$dyn_storage", + "typeString": "struct DoublyLinkedList.Item storage ref[] storage ref" + } + }, + "id": 23111, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 23108, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23094, + "src": "1292:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 23109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1306:1:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1292:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1276:32:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_storage", + "typeString": "struct DoublyLinkedList.Item storage ref" + } + }, + "id": 23112, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "item", + "nodeType": "MemberAccess", + "referencedDeclaration": 22991, + "src": "1276:37:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1268:45:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 23114, + "nodeType": "ExpressionStatement", + "src": "1268:45:81" + } + ] + } + } + ] + }, + "documentation": null, + "id": 23123, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23095, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23092, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23123, + "src": "1094:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23091, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "1094:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23094, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23123, + "src": "1113:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23093, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1113:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1093:40:81" + }, + "payable": false, + "returnParameters": { + "id": 23098, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23097, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 23123, + "src": "1192:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23096, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1192:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1191:15:81" + }, + "scope": 25546, + "src": "1081:283:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23248, + "nodeType": "Block", + "src": "1475:750:81", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 23143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23133, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "1490:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 23134, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23127, + "src": "1496:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23132, + "name": "find", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23090, + 23721, + 24016, + 24060, + 24979 + ], + "referencedDeclaration": 23090, + "src": "1485:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 23135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1485:17:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 23136, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "1506:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1485:25:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 23142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 23138, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23127, + "src": "1514:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "", + "id": 23140, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1531:2:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 23139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1523:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 23141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1523:11:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1514:20:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1485:49:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23246, + "nodeType": "Block", + "src": "1609:612:81", + "statements": [ + { + "assignments": [ + 23150 + ], + "declarations": [ + { + "constant": false, + "id": 23150, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 23249, + "src": "1617:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23149, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1617:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 23163, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23156, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23127, + "src": "1675:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23157, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "1698:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23158, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "last_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23000, + "src": "1698:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 23159, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "1727:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": null, + "id": 23155, + "name": "Item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22996, + "src": "1663:4:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Item_$22996_storage_ptr_$", + "typeString": "type(struct DoublyLinkedList.Item storage pointer)" + } + }, + "id": 23160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "item", + "previous_index", + "next_index" + ], + "nodeType": "FunctionCall", + "src": "1663:70:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_memory", + "typeString": "struct DoublyLinkedList.Item memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Item_$22996_memory", + "typeString": "struct DoublyLinkedList.Item memory" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23152, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "1642:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23153, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 23013, + "src": "1642:15:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Item_$22996_storage_$dyn_storage", + "typeString": "struct DoublyLinkedList.Item storage ref[] storage ref" + } + }, + "id": 23154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1642:20:81", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Item_$22996_storage_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Item storage ref) returns (uint256)" + } + }, + "id": 23161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1642:92:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1634:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 23162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1634:101:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1617:118:81" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23164, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "1747:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23165, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "last_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23000, + "src": "1747:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 23166, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "1766:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1747:23:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23224, + "nodeType": "Block", + "src": "1981:131:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23201, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "1991:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23207, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 23013, + "src": "1991:15:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Item_$22996_storage_$dyn_storage", + "typeString": "struct DoublyLinkedList.Item storage ref[] storage ref" + } + }, + "id": 23208, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23203, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "2007:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23204, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "last_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23000, + "src": "2007:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 23205, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2025:1:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2007:19:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1991:36:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_storage", + "typeString": "struct DoublyLinkedList.Item storage ref" + } + }, + "id": 23209, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "next_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22995, + "src": "1991:47:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23210, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23150, + "src": "2041:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1991:56:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23212, + "nodeType": "ExpressionStatement", + "src": "1991:56:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23213, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "2057:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23215, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "last_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23000, + "src": "2057:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23216, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23150, + "src": "2075:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2057:24:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23218, + "nodeType": "ExpressionStatement", + "src": "2057:24:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2091:12:81", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23219, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "2091:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23221, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "count", + "nodeType": "MemberAccess", + "referencedDeclaration": 23002, + "src": "2091:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23223, + "nodeType": "ExpressionStatement", + "src": "2091:12:81" + } + ] + }, + "id": 23225, + "nodeType": "IfStatement", + "src": "1743:369:81", + "trueBody": { + "id": 23200, + "nodeType": "Block", + "src": "1772:203:81", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 23178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23168, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "1787:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23169, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "first_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22998, + "src": "1787:16:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 23170, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "1807:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1787:24:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 23172, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1786:26:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23173, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "1817:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23174, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "count", + "nodeType": "MemberAccess", + "referencedDeclaration": 23002, + "src": "1817:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 23175, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "1831:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1817:18:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 23177, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1816:20:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1786:50:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23198, + "nodeType": "Block", + "src": "1875:92:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23183, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "1887:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23185, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "first_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22998, + "src": "1887:16:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23186, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "1906:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23187, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "last_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23000, + "src": "1906:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23188, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23150, + "src": "1924:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1906:24:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1887:43:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23191, + "nodeType": "ExpressionStatement", + "src": "1887:43:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23192, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "1942:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23194, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "count", + "nodeType": "MemberAccess", + "referencedDeclaration": 23002, + "src": "1942:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 23195, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1955:1:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1942:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23197, + "nodeType": "ExpressionStatement", + "src": "1942:14:81" + } + ] + }, + "id": 23199, + "nodeType": "IfStatement", + "src": "1782:185:81", + "trueBody": { + "id": 23182, + "nodeType": "Block", + "src": "1838:31:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 23179, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26617, + 26618 + ], + "referencedDeclaration": 26617, + "src": "1850:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 23180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1850:8:81", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23181, + "nodeType": "ExpressionStatement", + "src": "1850:8:81" + } + ] + } + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 23232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23226, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "2119:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23229, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 23010, + "src": "2119:18:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 23230, + "indexExpression": { + "argumentTypes": null, + "id": 23228, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23150, + "src": "2138:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2119:26:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 23231, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2148:4:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2119:33:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23233, + "nodeType": "ExpressionStatement", + "src": "2119:33:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23234, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23125, + "src": "2160:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "item_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23006, + "src": "2160:15:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 23238, + "indexExpression": { + "argumentTypes": null, + "id": 23236, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23127, + "src": "2176:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2160:22:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23239, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23150, + "src": "2185:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2160:31:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23241, + "nodeType": "ExpressionStatement", + "src": "2160:31:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23242, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23130, + "src": "2199:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 23243, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2210:4:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2199:15:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23245, + "nodeType": "ExpressionStatement", + "src": "2199:15:81" + } + ] + }, + "id": 23247, + "nodeType": "IfStatement", + "src": "1481:740:81", + "trueBody": { + "id": 23148, + "nodeType": "Block", + "src": "1536:67:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23144, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23130, + "src": "1580:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 23145, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1591:5:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1580:16:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23147, + "nodeType": "ExpressionStatement", + "src": "1580:16:81" + } + ] + } + } + ] + }, + "documentation": null, + "id": 23249, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "append", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23128, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23125, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23249, + "src": "1384:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23124, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "1384:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23127, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 23249, + "src": "1403:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23126, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1403:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1383:34:81" + }, + "payable": false, + "returnParameters": { + "id": 23131, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23130, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 23249, + "src": "1458:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23129, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1458:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1457:15:81" + }, + "scope": 25546, + "src": "1368:857:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 23366, + "nodeType": "Block", + "src": "2337:694:81", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 23263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23258, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23251, + "src": "2347:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23259, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 23010, + "src": "2347:18:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 23261, + "indexExpression": { + "argumentTypes": null, + "id": 23260, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23253, + "src": "2366:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2347:26:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 23262, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2377:4:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2347:34:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23364, + "nodeType": "Block", + "src": "2996:31:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23360, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23256, + "src": "3004:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 23361, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3015:5:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "3004:16:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23363, + "nodeType": "ExpressionStatement", + "src": "3004:16:81" + } + ] + }, + "id": 23365, + "nodeType": "IfStatement", + "src": "2343:684:81", + "trueBody": { + "id": 23359, + "nodeType": "Block", + "src": "2383:607:81", + "statements": [ + { + "assignments": [ + 23265 + ], + "declarations": [ + { + "constant": false, + "id": 23265, + "name": "item", + "nodeType": "VariableDeclaration", + "scope": 23367, + "src": "2391:16:81", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_memory_ptr", + "typeString": "struct DoublyLinkedList.Item" + }, + "typeName": { + "contractScope": null, + "id": 23264, + "name": "Item", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 22996, + "src": "2391:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_storage_ptr", + "typeString": "struct DoublyLinkedList.Item" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 23272, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23266, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23251, + "src": "2410:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23267, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 23013, + "src": "2410:15:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Item_$22996_storage_$dyn_storage", + "typeString": "struct DoublyLinkedList.Item storage ref[] storage ref" + } + }, + "id": 23271, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 23268, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23253, + "src": "2426:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 23269, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2435:1:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2426:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2410:27:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_storage", + "typeString": "struct DoublyLinkedList.Item storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2391:46:81" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23273, + "name": "item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23265, + "src": "2449:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_memory_ptr", + "typeString": "struct DoublyLinkedList.Item memory" + } + }, + "id": 23274, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previous_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22993, + "src": "2449:19:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 23275, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "2472:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2449:27:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23298, + "nodeType": "Block", + "src": "2537:88:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23285, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23251, + "src": "2547:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23291, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 23013, + "src": "2547:15:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Item_$22996_storage_$dyn_storage", + "typeString": "struct DoublyLinkedList.Item storage ref[] storage ref" + } + }, + "id": 23292, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23287, + "name": "item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23265, + "src": "2563:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_memory_ptr", + "typeString": "struct DoublyLinkedList.Item memory" + } + }, + "id": 23288, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previous_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22993, + "src": "2563:19:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 23289, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2585:1:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2563:23:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2547:40:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_storage", + "typeString": "struct DoublyLinkedList.Item storage ref" + } + }, + "id": 23293, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "next_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22995, + "src": "2547:51:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23294, + "name": "item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23265, + "src": "2601:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_memory_ptr", + "typeString": "struct DoublyLinkedList.Item memory" + } + }, + "id": 23295, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "next_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22995, + "src": "2601:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2547:69:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23297, + "nodeType": "ExpressionStatement", + "src": "2547:69:81" + } + ] + }, + "id": 23299, + "nodeType": "IfStatement", + "src": "2445:180:81", + "trueBody": { + "id": 23284, + "nodeType": "Block", + "src": "2478:53:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23277, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23251, + "src": "2488:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23279, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "first_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22998, + "src": "2488:16:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23280, + "name": "item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23265, + "src": "2507:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_memory_ptr", + "typeString": "struct DoublyLinkedList.Item memory" + } + }, + "id": 23281, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "next_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22995, + "src": "2507:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2488:34:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23283, + "nodeType": "ExpressionStatement", + "src": "2488:34:81" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23300, + "name": "item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23265, + "src": "2637:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_memory_ptr", + "typeString": "struct DoublyLinkedList.Item memory" + } + }, + "id": 23301, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "next_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22995, + "src": "2637:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 23302, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "2656:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2637:23:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23325, + "nodeType": "Block", + "src": "2724:92:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23312, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23251, + "src": "2734:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23318, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 23013, + "src": "2734:15:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Item_$22996_storage_$dyn_storage", + "typeString": "struct DoublyLinkedList.Item storage ref[] storage ref" + } + }, + "id": 23319, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23314, + "name": "item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23265, + "src": "2750:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_memory_ptr", + "typeString": "struct DoublyLinkedList.Item memory" + } + }, + "id": 23315, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "next_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22995, + "src": "2750:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 23316, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2768:1:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2750:19:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2734:36:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_storage", + "typeString": "struct DoublyLinkedList.Item storage ref" + } + }, + "id": 23320, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "previous_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22993, + "src": "2734:51:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23321, + "name": "item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23265, + "src": "2788:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_memory_ptr", + "typeString": "struct DoublyLinkedList.Item memory" + } + }, + "id": 23322, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previous_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22993, + "src": "2788:19:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2734:73:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23324, + "nodeType": "ExpressionStatement", + "src": "2734:73:81" + } + ] + }, + "id": 23326, + "nodeType": "IfStatement", + "src": "2633:183:81", + "trueBody": { + "id": 23311, + "nodeType": "Block", + "src": "2662:56:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23304, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23251, + "src": "2672:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23306, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "last_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23000, + "src": "2672:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23307, + "name": "item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23265, + "src": "2690:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_memory_ptr", + "typeString": "struct DoublyLinkedList.Item memory" + } + }, + "id": 23308, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previous_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22993, + "src": "2690:19:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2672:37:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23310, + "nodeType": "ExpressionStatement", + "src": "2672:37:81" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 23333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "2823:34:81", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23327, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23251, + "src": "2830:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23328, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 23013, + "src": "2830:15:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Item_$22996_storage_$dyn_storage", + "typeString": "struct DoublyLinkedList.Item storage ref[] storage ref" + } + }, + "id": 23332, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 23329, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23253, + "src": "2846:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 23330, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2855:1:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2846:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2830:27:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_storage", + "typeString": "struct DoublyLinkedList.Item storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23334, + "nodeType": "ExpressionStatement", + "src": "2823:34:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23335, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23251, + "src": "2865:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23338, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 23010, + "src": "2865:18:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 23339, + "indexExpression": { + "argumentTypes": null, + "id": 23337, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23253, + "src": "2884:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2865:26:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 23340, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2894:5:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "2865:34:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23342, + "nodeType": "ExpressionStatement", + "src": "2865:34:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "2907:33:81", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23343, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23251, + "src": "2914:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23344, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "item_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23006, + "src": "2914:15:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 23347, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23345, + "name": "item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23265, + "src": "2930:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_memory_ptr", + "typeString": "struct DoublyLinkedList.Item memory" + } + }, + "id": 23346, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "item", + "nodeType": "MemberAccess", + "referencedDeclaration": 22991, + "src": "2930:9:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2914:26:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23349, + "nodeType": "ExpressionStatement", + "src": "2907:33:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "2948:12:81", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23350, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23251, + "src": "2948:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23352, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "count", + "nodeType": "MemberAccess", + "referencedDeclaration": 23002, + "src": "2948:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23354, + "nodeType": "ExpressionStatement", + "src": "2948:12:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23355, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23256, + "src": "2968:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 23356, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2979:4:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2968:15:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23358, + "nodeType": "ExpressionStatement", + "src": "2968:15:81" + } + ] + } + } + ] + }, + "documentation": null, + "id": 23367, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23254, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23251, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23367, + "src": "2245:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23250, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "2245:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23253, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 23367, + "src": "2264:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23252, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2264:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2244:35:81" + }, + "payable": false, + "returnParameters": { + "id": 23257, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23256, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 23367, + "src": "2320:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23255, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2320:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2319:15:81" + }, + "scope": 25546, + "src": "2229:802:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 23406, + "nodeType": "Block", + "src": "3147:210:81", + "statements": [ + { + "assignments": [ + 23377 + ], + "declarations": [ + { + "constant": false, + "id": 23377, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23407, + "src": "3153:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23376, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3153:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 23382, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23379, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23369, + "src": "3180:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 23380, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23371, + "src": "3186:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23378, + "name": "find", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23090, + 23721, + 24016, + 24060, + 24979 + ], + "referencedDeclaration": 23090, + "src": "3175:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 23381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3175:17:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3153:39:81" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 23383, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23377, + "src": "3202:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 23384, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "3217:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3202:19:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23402, + "nodeType": "Block", + "src": "3301:31:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23398, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23374, + "src": "3309:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 23399, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3320:5:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "3309:16:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23401, + "nodeType": "ExpressionStatement", + "src": "3309:16:81" + } + ] + }, + "id": 23403, + "nodeType": "IfStatement", + "src": "3198:134:81", + "trueBody": { + "id": 23397, + "nodeType": "Block", + "src": "3223:72:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23388, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23369, + "src": "3246:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 23389, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23377, + "src": "3252:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23387, + "name": "remove", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23367, + 23779, + 24130, + 24433, + 24696, + 25033, + 25280 + ], + "referencedDeclaration": 23367, + "src": "3239:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) returns (bool)" + } + }, + "id": 23390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3239:25:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 23386, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3231:7:81", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 23391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3231:34:81", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 23392, + "nodeType": "ExpressionStatement", + "src": "3231:34:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23393, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23374, + "src": "3273:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 23394, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3284:4:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "3273:15:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23396, + "nodeType": "ExpressionStatement", + "src": "3273:15:81" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 23404, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23374, + "src": "3344:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 23375, + "id": 23405, + "nodeType": "Return", + "src": "3337:15:81" + } + ] + }, + "documentation": null, + "id": 23407, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23372, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23369, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23407, + "src": "3056:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23368, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "3056:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23371, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 23407, + "src": "3075:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23370, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3075:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3055:34:81" + }, + "payable": false, + "returnParameters": { + "id": 23375, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23374, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 23407, + "src": "3130:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23373, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3130:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3129:15:81" + }, + "scope": 25546, + "src": "3035:322:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 23419, + "nodeType": "Block", + "src": "3477:36:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23414, + "name": "_total_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23412, + "src": "3483:12:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23415, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23409, + "src": "3498:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23416, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "count", + "nodeType": "MemberAccess", + "referencedDeclaration": 23002, + "src": "3498:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3483:25:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23418, + "nodeType": "ExpressionStatement", + "src": "3483:25:81" + } + ] + }, + "documentation": null, + "id": 23420, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "total", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23410, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23409, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23420, + "src": "3376:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23408, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "3376:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3375:19:81" + }, + "payable": false, + "returnParameters": { + "id": 23413, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23412, + "name": "_total_count", + "nodeType": "VariableDeclaration", + "scope": 23420, + "src": "3453:20:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23411, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3453:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3452:22:81" + }, + "scope": 25546, + "src": "3361:152:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23434, + "nodeType": "Block", + "src": "3632:65:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23427, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23425, + "src": "3638:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23428, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23422, + "src": "3652:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23429, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "first_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22998, + "src": "3652:16:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3638:30:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23431, + "nodeType": "ExpressionStatement", + "src": "3638:30:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23432, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23425, + "src": "3681:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 23426, + "id": 23433, + "nodeType": "Return", + "src": "3674:18:81" + } + ] + }, + "documentation": null, + "id": 23435, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23423, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23422, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23435, + "src": "3532:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23421, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "3532:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3531:19:81" + }, + "payable": false, + "returnParameters": { + "id": 23426, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23425, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23435, + "src": "3609:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23424, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3609:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3608:21:81" + }, + "scope": 25546, + "src": "3517:180:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23465, + "nodeType": "Block", + "src": "3815:159:81", + "statements": [ + { + "assignments": [ + 23443 + ], + "declarations": [ + { + "constant": false, + "id": 23443, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23466, + "src": "3821:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23442, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3821:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 23447, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23445, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23437, + "src": "3849:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + ], + "id": 23444, + "name": "start", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23435, + 23829, + 24192, + 24483, + 24758, + 25081, + 25342 + ], + "referencedDeclaration": 23435, + "src": "3843:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 23446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3843:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3821:33:81" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 23448, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23443, + "src": "3864:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 23449, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "3879:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3864:19:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23463, + "nodeType": "Block", + "src": "3936:34:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23459, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23440, + "src": "3944:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23460, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23048, + "src": "3952:11:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3944:19:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 23462, + "nodeType": "ExpressionStatement", + "src": "3944:19:81" + } + ] + }, + "id": 23464, + "nodeType": "IfStatement", + "src": "3860:110:81", + "trueBody": { + "id": 23458, + "nodeType": "Block", + "src": "3885:45:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23451, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23440, + "src": "3893:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23453, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23437, + "src": "3905:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 23454, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23443, + "src": "3911:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23452, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23123, + 23741, + 24036, + 24084, + 24997 + ], + "referencedDeclaration": 23123, + "src": "3901:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bytes32)" + } + }, + "id": 23455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3901:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3893:30:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 23457, + "nodeType": "ExpressionStatement", + "src": "3893:30:81" + } + ] + } + } + ] + }, + "documentation": null, + "id": 23466, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23438, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23437, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23466, + "src": "3721:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23436, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "3721:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3720:19:81" + }, + "payable": false, + "returnParameters": { + "id": 23441, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23440, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 23466, + "src": "3798:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23439, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3798:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3797:15:81" + }, + "scope": 25546, + "src": "3701:273:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23480, + "nodeType": "Block", + "src": "4091:64:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23473, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23471, + "src": "4097:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23474, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23468, + "src": "4111:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23475, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "last_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23000, + "src": "4111:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4097:29:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23477, + "nodeType": "ExpressionStatement", + "src": "4097:29:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23478, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23471, + "src": "4139:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 23472, + "id": 23479, + "nodeType": "Return", + "src": "4132:18:81" + } + ] + }, + "documentation": null, + "id": 23481, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23469, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23468, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23481, + "src": "3991:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23467, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "3991:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3990:19:81" + }, + "payable": false, + "returnParameters": { + "id": 23472, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23471, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23481, + "src": "4068:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23470, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4068:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4067:21:81" + }, + "scope": 25546, + "src": "3978:177:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23511, + "nodeType": "Block", + "src": "4271:157:81", + "statements": [ + { + "assignments": [ + 23489 + ], + "declarations": [ + { + "constant": false, + "id": 23489, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23512, + "src": "4277:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23488, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4277:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 23493, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23491, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23483, + "src": "4303:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + ], + "id": 23490, + "name": "end", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23481, + 23861, + 24232, + 24515, + 24798, + 25111, + 25382 + ], + "referencedDeclaration": 23481, + "src": "4299:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 23492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4299:9:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4277:31:81" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 23494, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23489, + "src": "4318:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 23495, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "4333:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4318:19:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23509, + "nodeType": "Block", + "src": "4390:34:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23505, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23486, + "src": "4398:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23506, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23048, + "src": "4406:11:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4398:19:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 23508, + "nodeType": "ExpressionStatement", + "src": "4398:19:81" + } + ] + }, + "id": 23510, + "nodeType": "IfStatement", + "src": "4314:110:81", + "trueBody": { + "id": 23504, + "nodeType": "Block", + "src": "4339:45:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23497, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23486, + "src": "4347:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23499, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23483, + "src": "4359:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 23500, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23489, + "src": "4365:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23498, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23123, + 23741, + 24036, + 24084, + 24997 + ], + "referencedDeclaration": 23123, + "src": "4355:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bytes32)" + } + }, + "id": 23501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4355:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4347:30:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 23503, + "nodeType": "ExpressionStatement", + "src": "4347:30:81" + } + ] + } + } + ] + }, + "documentation": null, + "id": 23512, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23484, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23483, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23512, + "src": "4177:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23482, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "4177:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4176:19:81" + }, + "payable": false, + "returnParameters": { + "id": 23487, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23486, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 23512, + "src": "4254:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23485, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4254:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4253:15:81" + }, + "scope": 25546, + "src": "4159:269:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23528, + "nodeType": "Block", + "src": "4558:108:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23521, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23519, + "src": "4564:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23522, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23514, + "src": "4571:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23523, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 23010, + "src": "4571:18:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 23525, + "indexExpression": { + "argumentTypes": null, + "id": 23524, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23516, + "src": "4590:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4571:31:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4564:38:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23527, + "nodeType": "ExpressionStatement", + "src": "4564:38:81" + } + ] + }, + "documentation": null, + "id": 23529, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23517, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23514, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23529, + "src": "4447:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23513, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "4447:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23516, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23529, + "src": "4466:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23515, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4466:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4446:40:81" + }, + "payable": false, + "returnParameters": { + "id": 23520, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23519, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 23529, + "src": "4545:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23518, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4545:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4544:11:81" + }, + "scope": 25546, + "src": "4432:234:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23552, + "nodeType": "Block", + "src": "4795:99:81", + "statements": [ + { + "assignments": [ + 23539 + ], + "declarations": [ + { + "constant": false, + "id": 23539, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23553, + "src": "4801:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23538, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4801:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 23544, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23540, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23531, + "src": "4823:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23541, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "item_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 23006, + "src": "4823:15:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 23543, + "indexExpression": { + "argumentTypes": null, + "id": 23542, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23533, + "src": "4839:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4823:22:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4801:44:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23545, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23536, + "src": "4851:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23546, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23531, + "src": "4858:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23547, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 23010, + "src": "4858:18:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 23549, + "indexExpression": { + "argumentTypes": null, + "id": 23548, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23539, + "src": "4877:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4858:31:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4851:38:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23551, + "nodeType": "ExpressionStatement", + "src": "4851:38:81" + } + ] + }, + "documentation": null, + "id": 23553, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23534, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23531, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23553, + "src": "4690:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23530, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "4690:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23533, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 23553, + "src": "4709:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23532, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4709:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4689:34:81" + }, + "payable": false, + "returnParameters": { + "id": 23537, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23536, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 23553, + "src": "4782:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23535, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4782:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4781:11:81" + }, + "scope": 25546, + "src": "4670:224:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23585, + "nodeType": "Block", + "src": "5044:184:81", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 23567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23562, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23555, + "src": "5054:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23563, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 23010, + "src": "5054:18:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 23565, + "indexExpression": { + "argumentTypes": null, + "id": 23564, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23557, + "src": "5073:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5054:34:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 23566, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5092:4:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "5054:42:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23583, + "nodeType": "Block", + "src": "5187:37:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23579, + "name": "_previous_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23560, + "src": "5195:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23580, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "5213:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5195:22:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23582, + "nodeType": "ExpressionStatement", + "src": "5195:22:81" + } + ] + }, + "id": 23584, + "nodeType": "IfStatement", + "src": "5050:174:81", + "trueBody": { + "id": 23578, + "nodeType": "Block", + "src": "5098:83:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23568, + "name": "_previous_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23560, + "src": "5106:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23569, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23555, + "src": "5124:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23570, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 23013, + "src": "5124:15:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Item_$22996_storage_$dyn_storage", + "typeString": "struct DoublyLinkedList.Item storage ref[] storage ref" + } + }, + "id": 23574, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 23571, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23557, + "src": "5140:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 23572, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5157:1:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5140:18:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5124:35:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_storage", + "typeString": "struct DoublyLinkedList.Item storage ref" + } + }, + "id": 23575, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previous_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22993, + "src": "5124:50:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5106:68:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23577, + "nodeType": "ExpressionStatement", + "src": "5106:68:81" + } + ] + } + } + ] + }, + "documentation": null, + "id": 23586, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23558, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23555, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23586, + "src": "4916:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23554, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "4916:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23557, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 23586, + "src": "4935:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23556, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4935:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4915:43:81" + }, + "payable": false, + "returnParameters": { + "id": 23561, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23560, + "name": "_previous_index", + "nodeType": "VariableDeclaration", + "scope": 23586, + "src": "5017:23:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23559, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5017:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5016:25:81" + }, + "scope": 25546, + "src": "4898:330:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23626, + "nodeType": "Block", + "src": "5381:265:81", + "statements": [ + { + "assignments": [ + 23596 + ], + "declarations": [ + { + "constant": false, + "id": 23596, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 23627, + "src": "5387:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23595, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5387:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 23601, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23598, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23588, + "src": "5417:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 23599, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23590, + "src": "5423:13:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23597, + "name": "find", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23090, + 23721, + 24016, + 24060, + 24979 + ], + "referencedDeclaration": 23090, + "src": "5412:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 23600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5412:25:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5387:50:81" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 23602, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23596, + "src": "5447:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 23603, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "5465:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5447:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23624, + "nodeType": "Block", + "src": "5599:43:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23620, + "name": "_previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23593, + "src": "5607:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23621, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23048, + "src": "5624:11:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5607:28:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 23623, + "nodeType": "ExpressionStatement", + "src": "5607:28:81" + } + ] + }, + "id": 23625, + "nodeType": "IfStatement", + "src": "5443:199:81", + "trueBody": { + "id": 23619, + "nodeType": "Block", + "src": "5471:122:81", + "statements": [ + { + "assignments": [ + 23606 + ], + "declarations": [ + { + "constant": false, + "id": 23606, + "name": "_previous_index", + "nodeType": "VariableDeclaration", + "scope": 23627, + "src": "5479:23:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23605, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5479:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 23611, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23608, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23588, + "src": "5514:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 23609, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23596, + "src": "5520:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23607, + "name": "previous", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23586, + 23934, + 24321, + 24588, + 24887, + 25180, + 25471 + ], + "referencedDeclaration": 23586, + "src": "5505:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 23610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5505:30:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5479:56:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23612, + "name": "_previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23593, + "src": "5543:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23614, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23588, + "src": "5564:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 23615, + "name": "_previous_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23606, + "src": "5570:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23613, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23123, + 23741, + 24036, + 24084, + 24997 + ], + "referencedDeclaration": 23123, + "src": "5560:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bytes32)" + } + }, + "id": 23616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5560:26:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5543:43:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 23618, + "nodeType": "ExpressionStatement", + "src": "5543:43:81" + } + ] + } + } + ] + }, + "documentation": null, + "id": 23627, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23591, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23588, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23627, + "src": "5255:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23587, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "5255:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23590, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 23627, + "src": "5274:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23589, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5274:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5254:42:81" + }, + "payable": false, + "returnParameters": { + "id": 23594, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23593, + "name": "_previous_item", + "nodeType": "VariableDeclaration", + "scope": 23627, + "src": "5355:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23592, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5355:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5354:24:81" + }, + "scope": 25546, + "src": "5232:414:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23659, + "nodeType": "Block", + "src": "5788:172:81", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 23641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23636, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23629, + "src": "5798:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23637, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 23010, + "src": "5798:18:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 23639, + "indexExpression": { + "argumentTypes": null, + "id": 23638, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23631, + "src": "5817:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5798:34:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 23640, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5836:4:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "5798:42:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23657, + "nodeType": "Block", + "src": "5923:33:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23653, + "name": "_next_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23634, + "src": "5931:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23654, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "5945:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5931:18:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23656, + "nodeType": "ExpressionStatement", + "src": "5931:18:81" + } + ] + }, + "id": 23658, + "nodeType": "IfStatement", + "src": "5794:162:81", + "trueBody": { + "id": 23652, + "nodeType": "Block", + "src": "5842:75:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23642, + "name": "_next_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23634, + "src": "5850:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23643, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23629, + "src": "5864:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + "id": 23644, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collection", + "nodeType": "MemberAccess", + "referencedDeclaration": 23013, + "src": "5864:15:81", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_Item_$22996_storage_$dyn_storage", + "typeString": "struct DoublyLinkedList.Item storage ref[] storage ref" + } + }, + "id": 23648, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 23645, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23631, + "src": "5880:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 23646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5897:1:81", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5880:18:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5864:35:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Item_$22996_storage", + "typeString": "struct DoublyLinkedList.Item storage ref" + } + }, + "id": 23649, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "next_index", + "nodeType": "MemberAccess", + "referencedDeclaration": 22995, + "src": "5864:46:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5850:60:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23651, + "nodeType": "ExpressionStatement", + "src": "5850:60:81" + } + ] + } + } + ] + }, + "documentation": null, + "id": 23660, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23632, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23629, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23660, + "src": "5664:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23628, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "5664:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23631, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 23660, + "src": "5683:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23630, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5683:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5663:43:81" + }, + "payable": false, + "returnParameters": { + "id": 23635, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23634, + "name": "_next_index", + "nodeType": "VariableDeclaration", + "scope": 23660, + "src": "5765:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23633, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5765:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5764:21:81" + }, + "scope": 25546, + "src": "5650:310:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23700, + "nodeType": "Block", + "src": "6105:245:81", + "statements": [ + { + "assignments": [ + 23670 + ], + "declarations": [ + { + "constant": false, + "id": 23670, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 23701, + "src": "6111:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23669, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6111:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 23675, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23672, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23662, + "src": "6141:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 23673, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23664, + "src": "6147:13:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23671, + "name": "find", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23090, + 23721, + 24016, + 24060, + 24979 + ], + "referencedDeclaration": 23090, + "src": "6136:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 23674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6136:25:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6111:50:81" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 23678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 23676, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23670, + "src": "6171:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 23677, + "name": "NONE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23043, + "src": "6189:4:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6171:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 23698, + "nodeType": "Block", + "src": "6307:39:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23696, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23694, + "name": "_next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23667, + "src": "6315:10:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 23695, + "name": "EMPTY_BYTES", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23048, + "src": "6328:11:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6315:24:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 23697, + "nodeType": "ExpressionStatement", + "src": "6315:24:81" + } + ] + }, + "id": 23699, + "nodeType": "IfStatement", + "src": "6167:179:81", + "trueBody": { + "id": 23693, + "nodeType": "Block", + "src": "6195:106:81", + "statements": [ + { + "assignments": [ + 23680 + ], + "declarations": [ + { + "constant": false, + "id": 23680, + "name": "_next_index", + "nodeType": "VariableDeclaration", + "scope": 23701, + "src": "6203:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23679, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6203:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 23685, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23682, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23662, + "src": "6230:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 23683, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23670, + "src": "6236:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23681, + "name": "next", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23660, + 23974, + 24369, + 24628, + 24935, + 25216, + 25519 + ], + "referencedDeclaration": 23660, + "src": "6225:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 23684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6225:26:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6203:48:81" + }, + { + "expression": { + "argumentTypes": null, + "id": 23691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23686, + "name": "_next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23667, + "src": "6259:10:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23688, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23662, + "src": "6276:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + } + }, + { + "argumentTypes": null, + "id": 23689, + "name": "_next_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23680, + "src": "6282:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data storage pointer" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23687, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23123, + 23741, + 24036, + 24084, + 24997 + ], + "referencedDeclaration": 23123, + "src": "6272:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bytes32)" + } + }, + "id": 23690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6272:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6259:35:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 23692, + "nodeType": "ExpressionStatement", + "src": "6259:35:81" + } + ] + } + } + ] + }, + "documentation": null, + "id": 23701, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23665, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23662, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23701, + "src": "5983:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + }, + "typeName": { + "contractScope": null, + "id": 23661, + "name": "Data", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23014, + "src": "5983:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage_ptr", + "typeString": "struct DoublyLinkedList.Data" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23664, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 23701, + "src": "6002:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23663, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6002:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5982:42:81" + }, + "payable": false, + "returnParameters": { + "id": 23668, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23667, + "name": "_next_item", + "nodeType": "VariableDeclaration", + "scope": 23701, + "src": "6083:18:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 23666, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6083:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6082:20:81" + }, + "scope": 25546, + "src": "5964:386:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23720, + "nodeType": "Block", + "src": "6483:56:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23710, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23708, + "src": "6489:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23712, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23703, + "src": "6508:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23713, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "6508:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23715, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23705, + "src": "6527:5:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23714, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6519:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 23716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6519:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23711, + "name": "find", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23090, + 23721, + 24016, + 24060, + 24979 + ], + "referencedDeclaration": 23090, + "src": "6503:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 23717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6503:31:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6489:45:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23719, + "nodeType": "ExpressionStatement", + "src": "6489:45:81" + } + ] + }, + "documentation": null, + "id": 23721, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "find", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23706, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23703, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23721, + "src": "6368:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23702, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "6368:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23705, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 23721, + "src": "6387:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23704, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6387:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6367:34:81" + }, + "payable": false, + "returnParameters": { + "id": 23709, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23708, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23721, + "src": "6460:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23707, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6460:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6459:21:81" + }, + "scope": 25546, + "src": "6354:185:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23740, + "nodeType": "Block", + "src": "6671:55:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23730, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23728, + "src": "6677:5:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23733, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23723, + "src": "6697:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23734, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "6697:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 23735, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23725, + "src": "6708:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23732, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23123, + 23741, + 24036, + 24084, + 24997 + ], + "referencedDeclaration": 23123, + "src": "6693:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bytes32)" + } + }, + "id": 23736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6693:27:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23731, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6685:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 23737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6685:36:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6677:44:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23739, + "nodeType": "ExpressionStatement", + "src": "6677:44:81" + } + ] + }, + "documentation": null, + "id": 23741, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23726, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23723, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23741, + "src": "6556:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23722, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "6556:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23725, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23741, + "src": "6575:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23724, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6575:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6555:40:81" + }, + "payable": false, + "returnParameters": { + "id": 23729, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23728, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 23741, + "src": "6654:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23727, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6654:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6653:15:81" + }, + "scope": 25546, + "src": "6543:183:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23760, + "nodeType": "Block", + "src": "6836:55:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23750, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23748, + "src": "6842:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23752, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23743, + "src": "6860:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23753, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "6860:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23755, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23745, + "src": "6879:5:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23754, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6871:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 23756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6871:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23751, + "name": "append", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23249, + 23761, + 24108, + 24415, + 24674, + 25015, + 25258 + ], + "referencedDeclaration": 23249, + "src": "6853:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 23757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6853:33:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6842:44:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23759, + "nodeType": "ExpressionStatement", + "src": "6842:44:81" + } + ] + }, + "documentation": null, + "id": 23761, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "append", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23746, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23743, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23761, + "src": "6747:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23742, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "6747:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23745, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 23761, + "src": "6766:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23744, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6766:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6746:34:81" + }, + "payable": false, + "returnParameters": { + "id": 23749, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23748, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 23761, + "src": "6819:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23747, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6819:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6818:15:81" + }, + "scope": 25546, + "src": "6731:160:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23778, + "nodeType": "Block", + "src": "7003:47:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23770, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23768, + "src": "7009:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23772, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23763, + "src": "7027:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23773, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "7027:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 23774, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23765, + "src": "7038:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23771, + "name": "remove", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23367, + 23779, + 24130, + 24433, + 24696, + 25033, + 25280 + ], + "referencedDeclaration": 23367, + "src": "7020:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) returns (bool)" + } + }, + "id": 23775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7020:25:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7009:36:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23777, + "nodeType": "ExpressionStatement", + "src": "7009:36:81" + } + ] + }, + "documentation": null, + "id": 23779, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23766, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23763, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23779, + "src": "6911:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23762, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "6911:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23765, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 23779, + "src": "6930:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23764, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6930:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6910:35:81" + }, + "payable": false, + "returnParameters": { + "id": 23769, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23768, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 23779, + "src": "6986:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23767, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6986:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6985:15:81" + }, + "scope": 25546, + "src": "6895:155:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 23798, + "nodeType": "Block", + "src": "7164:60:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23788, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23786, + "src": "7170:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23790, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23781, + "src": "7193:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23791, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "7193:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23793, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23783, + "src": "7212:5:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23792, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7204:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 23794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7204:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23789, + "name": "remove_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23407, + 23799, + 24154, + 24453, + 24720, + 25051, + 25304 + ], + "referencedDeclaration": 23407, + "src": "7181:11:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 23795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7181:38:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7170:49:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23797, + "nodeType": "ExpressionStatement", + "src": "7170:49:81" + } + ] + }, + "documentation": null, + "id": 23799, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23784, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23781, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23799, + "src": "7075:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23780, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "7075:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23783, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 23799, + "src": "7094:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23782, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7094:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7074:34:81" + }, + "payable": false, + "returnParameters": { + "id": 23787, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23786, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 23799, + "src": "7147:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23785, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7147:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7146:15:81" + }, + "scope": 25546, + "src": "7054:170:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23813, + "nodeType": "Block", + "src": "7344:42:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23806, + "name": "_total_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23804, + "src": "7350:12:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23808, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23801, + "src": "7371:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23809, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "7371:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 23807, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23420, + 23814, + 24173, + 24468, + 24739, + 25066, + 25323 + ], + "referencedDeclaration": 23420, + "src": "7365:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 23810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7365:16:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7350:31:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23812, + "nodeType": "ExpressionStatement", + "src": "7350:31:81" + } + ] + }, + "documentation": null, + "id": 23814, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "total", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23802, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23801, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23814, + "src": "7243:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23800, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "7243:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7242:19:81" + }, + "payable": false, + "returnParameters": { + "id": 23805, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23804, + "name": "_total_count", + "nodeType": "VariableDeclaration", + "scope": 23814, + "src": "7320:20:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23803, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7320:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7319:22:81" + }, + "scope": 25546, + "src": "7228:158:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23828, + "nodeType": "Block", + "src": "7500:36:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23821, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23819, + "src": "7506:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23823, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23816, + "src": "7521:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23824, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "7521:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 23822, + "name": "start", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23435, + 23829, + 24192, + 24483, + 24758, + 25081, + 25342 + ], + "referencedDeclaration": 23435, + "src": "7515:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 23825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7515:16:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7506:25:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23827, + "nodeType": "ExpressionStatement", + "src": "7506:25:81" + } + ] + }, + "documentation": null, + "id": 23829, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23817, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23816, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23829, + "src": "7405:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23815, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "7405:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7404:19:81" + }, + "payable": false, + "returnParameters": { + "id": 23820, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23819, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 23829, + "src": "7482:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23818, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7482:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7481:16:81" + }, + "scope": 25546, + "src": "7390:146:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23845, + "nodeType": "Block", + "src": "7660:55:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23836, + "name": "_start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23834, + "src": "7666:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23839, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23831, + "src": "7699:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23840, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "7699:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 23838, + "name": "start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23466, + 23846, + 24213, + 24500, + 24779, + 25096, + 25363 + ], + "referencedDeclaration": 23466, + "src": "7688:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 23841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7688:21:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23837, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7680:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 23842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7680:30:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7666:44:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23844, + "nodeType": "ExpressionStatement", + "src": "7666:44:81" + } + ] + }, + "documentation": null, + "id": 23846, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23832, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23831, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23846, + "src": "7560:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23830, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "7560:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7559:19:81" + }, + "payable": false, + "returnParameters": { + "id": 23835, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23834, + "name": "_start_item", + "nodeType": "VariableDeclaration", + "scope": 23846, + "src": "7637:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23833, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7637:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7636:21:81" + }, + "scope": 25546, + "src": "7540:175:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23860, + "nodeType": "Block", + "src": "7828:34:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23853, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23851, + "src": "7834:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23855, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23848, + "src": "7847:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23856, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "7847:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 23854, + "name": "end", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23481, + 23861, + 24232, + 24515, + 24798, + 25111, + 25382 + ], + "referencedDeclaration": 23481, + "src": "7843:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 23857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7843:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7834:23:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23859, + "nodeType": "ExpressionStatement", + "src": "7834:23:81" + } + ] + }, + "documentation": null, + "id": 23861, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23849, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23848, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23861, + "src": "7733:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23847, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "7733:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7732:19:81" + }, + "payable": false, + "returnParameters": { + "id": 23852, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23851, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 23861, + "src": "7810:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23850, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7810:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7809:16:81" + }, + "scope": 25546, + "src": "7720:142:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23877, + "nodeType": "Block", + "src": "7982:51:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23868, + "name": "_end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23866, + "src": "7988:9:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23871, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23863, + "src": "8017:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23872, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "8017:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 23870, + "name": "end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23512, + 23878, + 24253, + 24532, + 24819, + 25126, + 25403 + ], + "referencedDeclaration": 23512, + "src": "8008:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 23873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8008:19:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23869, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8000:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 23874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8000:28:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7988:40:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23876, + "nodeType": "ExpressionStatement", + "src": "7988:40:81" + } + ] + }, + "documentation": null, + "id": 23878, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23864, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23863, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23878, + "src": "7884:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23862, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "7884:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7883:19:81" + }, + "payable": false, + "returnParameters": { + "id": 23867, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23866, + "name": "_end_item", + "nodeType": "VariableDeclaration", + "scope": 23878, + "src": "7961:17:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23865, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7961:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7960:19:81" + }, + "scope": 25546, + "src": "7866:167:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23895, + "nodeType": "Block", + "src": "8163:47:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23887, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23885, + "src": "8169:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23889, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23880, + "src": "8182:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23890, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "8182:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 23891, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23882, + "src": "8193:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23888, + "name": "valid", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23529, + 23896, + 24275, + 24550, + 24841, + 25144, + 25425 + ], + "referencedDeclaration": 23529, + "src": "8176:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bool)" + } + }, + "id": 23892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8176:29:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8169:36:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23894, + "nodeType": "ExpressionStatement", + "src": "8169:36:81" + } + ] + }, + "documentation": null, + "id": 23896, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23883, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23880, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23896, + "src": "8052:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23879, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "8052:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23882, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 23896, + "src": "8071:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23881, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8071:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8051:40:81" + }, + "payable": false, + "returnParameters": { + "id": 23886, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23885, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 23896, + "src": "8150:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23884, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8150:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8149:11:81" + }, + "scope": 25546, + "src": "8037:173:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23915, + "nodeType": "Block", + "src": "8339:55:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23905, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23903, + "src": "8345:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23907, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23898, + "src": "8363:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23908, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "8363:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23910, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23900, + "src": "8382:5:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23909, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8374:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 23911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8374:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23906, + "name": "valid_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23553, + 23916, + 24299, + 24570, + 24865, + 25162, + 25449 + ], + "referencedDeclaration": 23553, + "src": "8352:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bool)" + } + }, + "id": 23912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8352:37:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8345:44:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 23914, + "nodeType": "ExpressionStatement", + "src": "8345:44:81" + } + ] + }, + "documentation": null, + "id": 23916, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23901, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23898, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23916, + "src": "8234:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23897, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "8234:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23900, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 23916, + "src": "8253:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23899, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8253:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8233:34:81" + }, + "payable": false, + "returnParameters": { + "id": 23904, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23903, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 23916, + "src": "8326:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 23902, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8326:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8325:11:81" + }, + "scope": 25546, + "src": "8214:180:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23933, + "nodeType": "Block", + "src": "8544:64:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23925, + "name": "_previous_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23923, + "src": "8550:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23927, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23918, + "src": "8577:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23928, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "8577:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 23929, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23920, + "src": "8588:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23926, + "name": "previous", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23586, + 23934, + 24321, + 24588, + 24887, + 25180, + 25471 + ], + "referencedDeclaration": 23586, + "src": "8568:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 23930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8568:35:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8550:53:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23932, + "nodeType": "ExpressionStatement", + "src": "8550:53:81" + } + ] + }, + "documentation": null, + "id": 23934, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23921, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23918, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23934, + "src": "8416:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23917, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "8416:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23920, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 23934, + "src": "8435:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23919, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8435:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8415:43:81" + }, + "payable": false, + "returnParameters": { + "id": 23924, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23923, + "name": "_previous_index", + "nodeType": "VariableDeclaration", + "scope": 23934, + "src": "8517:23:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23922, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8517:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8516:25:81" + }, + "scope": 25546, + "src": "8398:210:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23955, + "nodeType": "Block", + "src": "8761:85:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23943, + "name": "_previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23941, + "src": "8767:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23946, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23936, + "src": "8806:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23947, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "8806:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23949, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23938, + "src": "8825:13:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23948, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8817:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 23950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8817:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23945, + "name": "previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23627, + 23956, + 24347, + 24610, + 24913, + 25198, + 25497 + ], + "referencedDeclaration": 23627, + "src": "8792:13:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 23951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8792:48:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23944, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8784:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 23952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8784:57:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8767:74:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23954, + "nodeType": "ExpressionStatement", + "src": "8767:74:81" + } + ] + }, + "documentation": null, + "id": 23956, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23939, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23936, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23956, + "src": "8635:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23935, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "8635:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23938, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 23956, + "src": "8654:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23937, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8654:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8634:42:81" + }, + "payable": false, + "returnParameters": { + "id": 23942, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23941, + "name": "_previous_item", + "nodeType": "VariableDeclaration", + "scope": 23956, + "src": "8735:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23940, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8735:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8734:24:81" + }, + "scope": 25546, + "src": "8612:234:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23973, + "nodeType": "Block", + "src": "8988:56:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23965, + "name": "_next_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23963, + "src": "8994:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23967, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23958, + "src": "9013:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23968, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "9013:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 23969, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23960, + "src": "9024:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23966, + "name": "next", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23660, + 23974, + 24369, + 24628, + 24935, + 25216, + 25519 + ], + "referencedDeclaration": 23660, + "src": "9008:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 23970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9008:31:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8994:45:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23972, + "nodeType": "ExpressionStatement", + "src": "8994:45:81" + } + ] + }, + "documentation": null, + "id": 23974, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23961, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23958, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23974, + "src": "8864:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23957, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "8864:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23960, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 23974, + "src": "8883:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23959, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8883:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8863:43:81" + }, + "payable": false, + "returnParameters": { + "id": 23964, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23963, + "name": "_next_index", + "nodeType": "VariableDeclaration", + "scope": 23974, + "src": "8965:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23962, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8965:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8964:21:81" + }, + "scope": 25546, + "src": "8850:194:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 23995, + "nodeType": "Block", + "src": "9189:77:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 23993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 23983, + "name": "_next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23981, + "src": "9195:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 23986, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23976, + "src": "9226:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 23987, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23037, + "src": "9226:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 23989, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23978, + "src": "9245:13:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 23988, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9237:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 23990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9237:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23985, + "name": "next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23701, + 23996, + 24395, + 24650, + 24961, + 25234, + 25545 + ], + "referencedDeclaration": 23701, + "src": "9216:9:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 23991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9216:44:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 23984, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9208:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 23992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9208:53:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9195:66:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 23994, + "nodeType": "ExpressionStatement", + "src": "9195:66:81" + } + ] + }, + "documentation": null, + "id": 23996, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 23979, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23976, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 23996, + "src": "9067:17:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 23975, + "name": "Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "9067:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23978, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 23996, + "src": "9086:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23977, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9086:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9066:42:81" + }, + "payable": false, + "returnParameters": { + "id": 23982, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23981, + "name": "_next_item", + "nodeType": "VariableDeclaration", + "scope": 23996, + "src": "9167:18:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 23980, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9167:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9166:20:81" + }, + "scope": 25546, + "src": "9048:218:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24015, + "nodeType": "Block", + "src": "9402:56:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24005, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24003, + "src": "9408:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24007, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 23998, + "src": "9427:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24008, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "9427:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24010, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24000, + "src": "9446:5:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 24009, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9438:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9438:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24006, + "name": "find", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23090, + 23721, + 24016, + 24060, + 24979 + ], + "referencedDeclaration": 23090, + "src": "9422:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 24012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9422:31:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9408:45:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24014, + "nodeType": "ExpressionStatement", + "src": "9408:45:81" + } + ] + }, + "documentation": null, + "id": 24016, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "find", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24001, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 23998, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24016, + "src": "9284:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 23997, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "9284:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24000, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24016, + "src": "9306:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 23999, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9306:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9283:37:81" + }, + "payable": false, + "returnParameters": { + "id": 24004, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24003, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 24016, + "src": "9379:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24002, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9379:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9378:21:81" + }, + "scope": 25546, + "src": "9270:188:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24035, + "nodeType": "Block", + "src": "9593:55:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24025, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24023, + "src": "9599:5:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24028, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24018, + "src": "9619:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24029, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "9619:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24030, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24020, + "src": "9630:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24027, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23123, + 23741, + 24036, + 24084, + 24997 + ], + "referencedDeclaration": 23123, + "src": "9615:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bytes32)" + } + }, + "id": 24031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9615:27:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24026, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9607:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 24032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9607:36:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9599:44:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 24034, + "nodeType": "ExpressionStatement", + "src": "9599:44:81" + } + ] + }, + "documentation": null, + "id": 24036, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24021, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24018, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24036, + "src": "9475:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24017, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "9475:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24020, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 24036, + "src": "9497:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24019, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9497:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9474:43:81" + }, + "payable": false, + "returnParameters": { + "id": 24024, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24023, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24036, + "src": "9576:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24022, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9576:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9575:15:81" + }, + "scope": 25546, + "src": "9462:186:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24059, + "nodeType": "Block", + "src": "9816:75:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24047, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24045, + "src": "9822:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24049, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24038, + "src": "9841:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24050, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "9841:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24052, + "indexExpression": { + "argumentTypes": null, + "id": 24051, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24040, + "src": "9851:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9841:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24054, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24042, + "src": "9879:5:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24053, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9871:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9871:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24048, + "name": "find", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23090, + 23721, + 24016, + 24060, + 24979 + ], + "referencedDeclaration": 23090, + "src": "9836:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 24056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9836:50:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9822:64:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24058, + "nodeType": "ExpressionStatement", + "src": "9822:64:81" + } + ] + }, + "documentation": null, + "id": 24060, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "find", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24043, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24038, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24060, + "src": "9667:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24037, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "9667:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24040, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24060, + "src": "9693:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24039, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9693:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24042, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24060, + "src": "9720:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24041, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9720:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9666:68:81" + }, + "payable": false, + "returnParameters": { + "id": 24046, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24045, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 24060, + "src": "9793:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24044, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9793:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9792:21:81" + }, + "scope": 25546, + "src": "9653:238:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24083, + "nodeType": "Block", + "src": "10057:74:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24071, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24069, + "src": "10063:5:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24074, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24062, + "src": "10083:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24075, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "10083:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24077, + "indexExpression": { + "argumentTypes": null, + "id": 24076, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24064, + "src": "10093:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10083:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24078, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24066, + "src": "10113:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24073, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23123, + 23741, + 24036, + 24084, + 24997 + ], + "referencedDeclaration": 23123, + "src": "10079:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bytes32)" + } + }, + "id": 24079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10079:46:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24072, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10071:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 24080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10071:55:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10063:63:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24082, + "nodeType": "ExpressionStatement", + "src": "10063:63:81" + } + ] + }, + "documentation": null, + "id": 24084, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24067, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24062, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24084, + "src": "9908:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24061, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "9908:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24064, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24084, + "src": "9934:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24063, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9934:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24066, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 24084, + "src": "9961:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24065, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9961:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9907:74:81" + }, + "payable": false, + "returnParameters": { + "id": 24070, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24069, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24084, + "src": "10040:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24068, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10040:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10039:15:81" + }, + "scope": 25546, + "src": "9895:236:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24107, + "nodeType": "Block", + "src": "10275:74:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24095, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24093, + "src": "10281:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24097, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24086, + "src": "10299:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24098, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "10299:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24100, + "indexExpression": { + "argumentTypes": null, + "id": 24099, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24088, + "src": "10309:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10299:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24102, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24090, + "src": "10337:5:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24101, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10329:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10329:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24096, + "name": "append", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23249, + 23761, + 24108, + 24415, + 24674, + 25015, + 25258 + ], + "referencedDeclaration": 23249, + "src": "10292:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 24104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10292:52:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10281:63:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24106, + "nodeType": "ExpressionStatement", + "src": "10281:63:81" + } + ] + }, + "documentation": null, + "id": 24108, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "append", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24091, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24086, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24108, + "src": "10152:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24085, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "10152:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24088, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24108, + "src": "10178:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24087, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10178:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24090, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 24108, + "src": "10205:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24089, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10205:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10151:68:81" + }, + "payable": false, + "returnParameters": { + "id": 24094, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24093, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 24108, + "src": "10258:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24092, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10258:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10257:15:81" + }, + "scope": 25546, + "src": "10136:213:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24129, + "nodeType": "Block", + "src": "10495:66:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24119, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24117, + "src": "10501:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24121, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24110, + "src": "10519:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24122, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "10519:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24124, + "indexExpression": { + "argumentTypes": null, + "id": 24123, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24112, + "src": "10529:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10519:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24125, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24114, + "src": "10549:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24120, + "name": "remove", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23367, + 23779, + 24130, + 24433, + 24696, + 25033, + 25280 + ], + "referencedDeclaration": 23367, + "src": "10512:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) returns (bool)" + } + }, + "id": 24126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10512:44:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10501:55:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24128, + "nodeType": "ExpressionStatement", + "src": "10501:55:81" + } + ] + }, + "documentation": null, + "id": 24130, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24115, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24110, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24130, + "src": "10369:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24109, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "10369:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24112, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24130, + "src": "10395:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24111, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10395:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24114, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 24130, + "src": "10422:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24113, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10422:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10368:69:81" + }, + "payable": false, + "returnParameters": { + "id": 24118, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24117, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 24130, + "src": "10478:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24116, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10478:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10477:15:81" + }, + "scope": 25546, + "src": "10353:208:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 24153, + "nodeType": "Block", + "src": "10709:79:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24141, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24139, + "src": "10715:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24143, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24132, + "src": "10738:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24144, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "10738:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24146, + "indexExpression": { + "argumentTypes": null, + "id": 24145, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24134, + "src": "10748:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10738:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24148, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24136, + "src": "10776:5:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24147, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10768:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10768:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24142, + "name": "remove_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23407, + 23799, + 24154, + 24453, + 24720, + 25051, + 25304 + ], + "referencedDeclaration": 23407, + "src": "10726:11:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 24150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10726:57:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10715:68:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24152, + "nodeType": "ExpressionStatement", + "src": "10715:68:81" + } + ] + }, + "documentation": null, + "id": 24154, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24137, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24132, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24154, + "src": "10586:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24131, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "10586:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24134, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24154, + "src": "10612:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24133, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10612:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24136, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24154, + "src": "10639:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24135, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10639:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10585:68:81" + }, + "payable": false, + "returnParameters": { + "id": 24140, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24139, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 24154, + "src": "10692:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24138, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10692:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10691:15:81" + }, + "scope": 25546, + "src": "10565:223:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24172, + "nodeType": "Block", + "src": "10942:61:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24163, + "name": "_total_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24161, + "src": "10948:12:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24165, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24156, + "src": "10969:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24166, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "10969:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24168, + "indexExpression": { + "argumentTypes": null, + "id": 24167, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24158, + "src": "10979:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10969:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24164, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23420, + 23814, + 24173, + 24468, + 24739, + 25066, + 25323 + ], + "referencedDeclaration": 23420, + "src": "10963:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 24169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10963:35:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10948:50:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24171, + "nodeType": "ExpressionStatement", + "src": "10948:50:81" + } + ] + }, + "documentation": null, + "id": 24173, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "total", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24159, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24156, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24173, + "src": "10807:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24155, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "10807:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24158, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24173, + "src": "10833:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24157, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10833:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10806:53:81" + }, + "payable": false, + "returnParameters": { + "id": 24162, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24161, + "name": "_total_count", + "nodeType": "VariableDeclaration", + "scope": 24173, + "src": "10918:20:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24160, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10918:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10917:22:81" + }, + "scope": 25546, + "src": "10792:211:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24191, + "nodeType": "Block", + "src": "11151:55:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24182, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24180, + "src": "11157:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24184, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24175, + "src": "11172:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24185, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "11172:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24187, + "indexExpression": { + "argumentTypes": null, + "id": 24186, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24177, + "src": "11182:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11172:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24183, + "name": "start", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23435, + 23829, + 24192, + 24483, + 24758, + 25081, + 25342 + ], + "referencedDeclaration": 23435, + "src": "11166:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 24188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11166:35:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11157:44:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24190, + "nodeType": "ExpressionStatement", + "src": "11157:44:81" + } + ] + }, + "documentation": null, + "id": 24192, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24178, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24175, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24192, + "src": "11022:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24174, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "11022:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24177, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24192, + "src": "11048:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24176, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11048:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11021:53:81" + }, + "payable": false, + "returnParameters": { + "id": 24181, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24180, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 24192, + "src": "11133:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24179, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11133:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11132:16:81" + }, + "scope": 25546, + "src": "11007:199:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24212, + "nodeType": "Block", + "src": "11364:74:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24201, + "name": "_start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24199, + "src": "11370:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24204, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24194, + "src": "11403:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24205, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "11403:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24207, + "indexExpression": { + "argumentTypes": null, + "id": 24206, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24196, + "src": "11413:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11403:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24203, + "name": "start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23466, + 23846, + 24213, + 24500, + 24779, + 25096, + 25363 + ], + "referencedDeclaration": 23466, + "src": "11392:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 24208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11392:40:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24202, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11384:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 24209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11384:49:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11370:63:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24211, + "nodeType": "ExpressionStatement", + "src": "11370:63:81" + } + ] + }, + "documentation": null, + "id": 24213, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24197, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24194, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24213, + "src": "11230:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24193, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "11230:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24196, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24213, + "src": "11256:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24195, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11256:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11229:53:81" + }, + "payable": false, + "returnParameters": { + "id": 24200, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24199, + "name": "_start_item", + "nodeType": "VariableDeclaration", + "scope": 24213, + "src": "11341:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24198, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11341:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11340:21:81" + }, + "scope": 25546, + "src": "11210:228:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24231, + "nodeType": "Block", + "src": "11585:53:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24222, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24220, + "src": "11591:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24224, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24215, + "src": "11604:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24225, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "11604:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24227, + "indexExpression": { + "argumentTypes": null, + "id": 24226, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24217, + "src": "11614:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11604:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24223, + "name": "end", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23481, + 23861, + 24232, + 24515, + 24798, + 25111, + 25382 + ], + "referencedDeclaration": 23481, + "src": "11600:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 24228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11600:33:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11591:42:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24230, + "nodeType": "ExpressionStatement", + "src": "11591:42:81" + } + ] + }, + "documentation": null, + "id": 24232, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24218, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24215, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24232, + "src": "11456:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24214, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "11456:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24217, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24232, + "src": "11482:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24216, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11482:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11455:53:81" + }, + "payable": false, + "returnParameters": { + "id": 24221, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24220, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 24232, + "src": "11567:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24219, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11567:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11566:16:81" + }, + "scope": 25546, + "src": "11443:195:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24252, + "nodeType": "Block", + "src": "11792:70:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24241, + "name": "_end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24239, + "src": "11798:9:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24244, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24234, + "src": "11827:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24245, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "11827:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24247, + "indexExpression": { + "argumentTypes": null, + "id": 24246, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24236, + "src": "11837:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11827:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24243, + "name": "end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23512, + 23878, + 24253, + 24532, + 24819, + 25126, + 25403 + ], + "referencedDeclaration": 23512, + "src": "11818:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 24248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11818:38:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24242, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11810:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 24249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11810:47:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11798:59:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24251, + "nodeType": "ExpressionStatement", + "src": "11798:59:81" + } + ] + }, + "documentation": null, + "id": 24253, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24237, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24234, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24253, + "src": "11660:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24233, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "11660:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24236, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24253, + "src": "11686:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24235, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11686:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11659:53:81" + }, + "payable": false, + "returnParameters": { + "id": 24240, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24239, + "name": "_end_item", + "nodeType": "VariableDeclaration", + "scope": 24253, + "src": "11771:17:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24238, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11771:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11770:19:81" + }, + "scope": 25546, + "src": "11642:220:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24274, + "nodeType": "Block", + "src": "12026:66:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24264, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24262, + "src": "12032:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24266, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24255, + "src": "12045:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24267, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "12045:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24269, + "indexExpression": { + "argumentTypes": null, + "id": 24268, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24257, + "src": "12055:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12045:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24270, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24259, + "src": "12075:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24265, + "name": "valid", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23529, + 23896, + 24275, + 24550, + 24841, + 25144, + 25425 + ], + "referencedDeclaration": 23529, + "src": "12039:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bool)" + } + }, + "id": 24271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12039:48:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12032:55:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24273, + "nodeType": "ExpressionStatement", + "src": "12032:55:81" + } + ] + }, + "documentation": null, + "id": 24275, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24260, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24255, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24275, + "src": "11881:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24254, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "11881:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24257, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24275, + "src": "11907:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24256, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11907:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24259, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 24275, + "src": "11934:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24258, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11934:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11880:74:81" + }, + "payable": false, + "returnParameters": { + "id": 24263, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24262, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 24275, + "src": "12013:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24261, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12013:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12012:11:81" + }, + "scope": 25546, + "src": "11866:226:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24298, + "nodeType": "Block", + "src": "12255:74:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24286, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24284, + "src": "12261:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24288, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24277, + "src": "12279:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24289, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "12279:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24291, + "indexExpression": { + "argumentTypes": null, + "id": 24290, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24279, + "src": "12289:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12279:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24293, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24281, + "src": "12317:5:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24292, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12309:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12309:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24287, + "name": "valid_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23553, + 23916, + 24299, + 24570, + 24865, + 25162, + 25449 + ], + "referencedDeclaration": 23553, + "src": "12268:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bool)" + } + }, + "id": 24295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12268:56:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12261:63:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24297, + "nodeType": "ExpressionStatement", + "src": "12261:63:81" + } + ] + }, + "documentation": null, + "id": 24299, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24282, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24277, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24299, + "src": "12116:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24276, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "12116:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24279, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24299, + "src": "12142:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24278, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12142:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24281, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24299, + "src": "12169:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24280, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12169:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12115:68:81" + }, + "payable": false, + "returnParameters": { + "id": 24285, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24284, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 24299, + "src": "12242:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24283, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12242:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12241:11:81" + }, + "scope": 25546, + "src": "12096:233:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24320, + "nodeType": "Block", + "src": "12513:83:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24310, + "name": "_previous_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24308, + "src": "12519:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24312, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24301, + "src": "12546:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24313, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "12546:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24315, + "indexExpression": { + "argumentTypes": null, + "id": 24314, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24303, + "src": "12556:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12546:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24316, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24305, + "src": "12576:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24311, + "name": "previous", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23586, + 23934, + 24321, + 24588, + 24887, + 25180, + 25471 + ], + "referencedDeclaration": 23586, + "src": "12537:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 24317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12537:54:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12519:72:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24319, + "nodeType": "ExpressionStatement", + "src": "12519:72:81" + } + ] + }, + "documentation": null, + "id": 24321, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24306, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24301, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24321, + "src": "12351:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24300, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "12351:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24303, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24321, + "src": "12377:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24302, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12377:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24305, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 24321, + "src": "12404:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24304, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12404:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12350:77:81" + }, + "payable": false, + "returnParameters": { + "id": 24309, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24308, + "name": "_previous_index", + "nodeType": "VariableDeclaration", + "scope": 24321, + "src": "12486:23:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24307, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12486:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12485:25:81" + }, + "scope": 25546, + "src": "12333:263:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24346, + "nodeType": "Block", + "src": "12783:104:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24332, + "name": "_previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24330, + "src": "12789:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24335, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24323, + "src": "12828:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24336, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "12828:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24338, + "indexExpression": { + "argumentTypes": null, + "id": 24337, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24325, + "src": "12838:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12828:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24340, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24327, + "src": "12866:13:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24339, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12858:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12858:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24334, + "name": "previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23627, + 23956, + 24347, + 24610, + 24913, + 25198, + 25497 + ], + "referencedDeclaration": 23627, + "src": "12814:13:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 24342, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12814:67:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24333, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12806:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 24343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12806:76:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12789:93:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24345, + "nodeType": "ExpressionStatement", + "src": "12789:93:81" + } + ] + }, + "documentation": null, + "id": 24347, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24328, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24323, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24347, + "src": "12623:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24322, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "12623:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24325, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24347, + "src": "12649:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24324, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12649:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24327, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 24347, + "src": "12676:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24326, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12676:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12622:76:81" + }, + "payable": false, + "returnParameters": { + "id": 24331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24330, + "name": "_previous_item", + "nodeType": "VariableDeclaration", + "scope": 24347, + "src": "12757:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24329, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12757:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12756:24:81" + }, + "scope": 25546, + "src": "12600:287:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24368, + "nodeType": "Block", + "src": "13063:75:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24358, + "name": "_next_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24356, + "src": "13069:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24360, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24349, + "src": "13088:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24361, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "13088:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24363, + "indexExpression": { + "argumentTypes": null, + "id": 24362, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24351, + "src": "13098:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13088:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24364, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24353, + "src": "13118:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24359, + "name": "next", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23660, + 23974, + 24369, + 24628, + 24935, + 25216, + 25519 + ], + "referencedDeclaration": 23660, + "src": "13083:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 24365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13083:50:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13069:64:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24367, + "nodeType": "ExpressionStatement", + "src": "13069:64:81" + } + ] + }, + "documentation": null, + "id": 24369, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24354, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24349, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24369, + "src": "12905:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24348, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "12905:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24351, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24369, + "src": "12931:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24350, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12931:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24353, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 24369, + "src": "12958:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24352, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12958:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12904:77:81" + }, + "payable": false, + "returnParameters": { + "id": 24357, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24356, + "name": "_next_index", + "nodeType": "VariableDeclaration", + "scope": 24369, + "src": "13040:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24355, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13040:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13039:21:81" + }, + "scope": 25546, + "src": "12891:247:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24394, + "nodeType": "Block", + "src": "13317:96:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24380, + "name": "_next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24378, + "src": "13323:10:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24383, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24371, + "src": "13354:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint storage pointer" + } + }, + "id": 24384, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23018, + "src": "13354:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24386, + "indexExpression": { + "argumentTypes": null, + "id": 24385, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24373, + "src": "13364:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13354:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24388, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24375, + "src": "13392:13:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24387, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13384:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13384:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24382, + "name": "next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23701, + 23996, + 24395, + 24650, + 24961, + 25234, + 25545 + ], + "referencedDeclaration": 23701, + "src": "13344:9:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 24390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13344:63:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13336:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": "uint256" + }, + "id": 24391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13336:72:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13323:85:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24393, + "nodeType": "ExpressionStatement", + "src": "13323:85:81" + } + ] + }, + "documentation": null, + "id": 24395, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24376, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24371, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24395, + "src": "13161:24:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + }, + "typeName": { + "contractScope": null, + "id": 24370, + "name": "IndexedUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23019, + "src": "13161:11:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedUint_$23019_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24373, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24395, + "src": "13187:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24372, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13187:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24375, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 24395, + "src": "13214:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24374, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13214:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13160:76:81" + }, + "payable": false, + "returnParameters": { + "id": 24379, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24378, + "name": "_next_item", + "nodeType": "VariableDeclaration", + "scope": 24395, + "src": "13295:18:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24377, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13295:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13294:20:81" + }, + "scope": 25546, + "src": "13142:271:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24414, + "nodeType": "Block", + "src": "13525:55:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24404, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24402, + "src": "13531:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24406, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24397, + "src": "13549:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24407, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "13549:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24409, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24399, + "src": "13568:5:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 24408, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13560:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13560:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24405, + "name": "append", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23249, + 23761, + 24108, + 24415, + 24674, + 25015, + 25258 + ], + "referencedDeclaration": 23249, + "src": "13542:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 24411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13542:33:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "13531:44:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24413, + "nodeType": "ExpressionStatement", + "src": "13531:44:81" + } + ] + }, + "documentation": null, + "id": 24415, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "append", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24400, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24397, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24415, + "src": "13433:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24396, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "13433:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24399, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 24415, + "src": "13455:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24398, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13455:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13432:37:81" + }, + "payable": false, + "returnParameters": { + "id": 24403, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24402, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 24415, + "src": "13508:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24401, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13508:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13507:15:81" + }, + "scope": 25546, + "src": "13417:163:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24432, + "nodeType": "Block", + "src": "13695:47:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24424, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24422, + "src": "13701:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24426, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24417, + "src": "13719:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24427, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "13719:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24428, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24419, + "src": "13730:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24425, + "name": "remove", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23367, + 23779, + 24130, + 24433, + 24696, + 25033, + 25280 + ], + "referencedDeclaration": 23367, + "src": "13712:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) returns (bool)" + } + }, + "id": 24429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13712:25:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "13701:36:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24431, + "nodeType": "ExpressionStatement", + "src": "13701:36:81" + } + ] + }, + "documentation": null, + "id": 24433, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24420, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24417, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24433, + "src": "13600:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24416, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "13600:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24419, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 24433, + "src": "13622:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24418, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13622:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13599:38:81" + }, + "payable": false, + "returnParameters": { + "id": 24423, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24422, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 24433, + "src": "13678:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24421, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13678:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13677:15:81" + }, + "scope": 25546, + "src": "13584:158:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 24452, + "nodeType": "Block", + "src": "13860:60:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24442, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24440, + "src": "13866:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24444, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24435, + "src": "13889:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24445, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "13889:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24447, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24437, + "src": "13908:5:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 24446, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13900:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13900:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24443, + "name": "remove_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23407, + 23799, + 24154, + 24453, + 24720, + 25051, + 25304 + ], + "referencedDeclaration": 23407, + "src": "13877:11:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 24449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13877:38:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "13866:49:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24451, + "nodeType": "ExpressionStatement", + "src": "13866:49:81" + } + ] + }, + "documentation": null, + "id": 24453, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24438, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24435, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24453, + "src": "13768:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24434, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "13768:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24437, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24453, + "src": "13790:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24436, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13790:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13767:37:81" + }, + "payable": false, + "returnParameters": { + "id": 24441, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24440, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 24453, + "src": "13843:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24439, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13843:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13842:15:81" + }, + "scope": 25546, + "src": "13747:173:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24467, + "nodeType": "Block", + "src": "14043:42:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24460, + "name": "_total_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24458, + "src": "14049:12:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24462, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24455, + "src": "14070:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24463, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "14070:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24461, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23420, + 23814, + 24173, + 24468, + 24739, + 25066, + 25323 + ], + "referencedDeclaration": 23420, + "src": "14064:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 24464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14064:16:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14049:31:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24466, + "nodeType": "ExpressionStatement", + "src": "14049:31:81" + } + ] + }, + "documentation": null, + "id": 24468, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "total", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24456, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24455, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24468, + "src": "13939:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24454, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "13939:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13938:22:81" + }, + "payable": false, + "returnParameters": { + "id": 24459, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24458, + "name": "_total_count", + "nodeType": "VariableDeclaration", + "scope": 24468, + "src": "14019:20:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24457, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14019:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14018:22:81" + }, + "scope": 25546, + "src": "13924:161:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24482, + "nodeType": "Block", + "src": "14202:36:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24475, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24473, + "src": "14208:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24477, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24470, + "src": "14223:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24478, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "14223:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24476, + "name": "start", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23435, + 23829, + 24192, + 24483, + 24758, + 25081, + 25342 + ], + "referencedDeclaration": 23435, + "src": "14217:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 24479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14217:16:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14208:25:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24481, + "nodeType": "ExpressionStatement", + "src": "14208:25:81" + } + ] + }, + "documentation": null, + "id": 24483, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24471, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24470, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24483, + "src": "14104:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24469, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "14104:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14103:22:81" + }, + "payable": false, + "returnParameters": { + "id": 24474, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24473, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 24483, + "src": "14184:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24472, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14184:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14183:16:81" + }, + "scope": 25546, + "src": "14089:149:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24499, + "nodeType": "Block", + "src": "14365:55:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24490, + "name": "_start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24488, + "src": "14371:11:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24493, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24485, + "src": "14404:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24494, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "14404:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24492, + "name": "start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23466, + 23846, + 24213, + 24500, + 24779, + 25096, + 25363 + ], + "referencedDeclaration": 23466, + "src": "14393:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 24495, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14393:21:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24491, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "14385:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 24496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14385:30:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14371:44:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 24498, + "nodeType": "ExpressionStatement", + "src": "14371:44:81" + } + ] + }, + "documentation": null, + "id": 24500, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24486, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24485, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24500, + "src": "14262:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24484, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "14262:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14261:22:81" + }, + "payable": false, + "returnParameters": { + "id": 24489, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24488, + "name": "_start_item", + "nodeType": "VariableDeclaration", + "scope": 24500, + "src": "14342:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24487, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14342:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14341:21:81" + }, + "scope": 25546, + "src": "14242:178:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24514, + "nodeType": "Block", + "src": "14536:34:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24507, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24505, + "src": "14542:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24509, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24502, + "src": "14555:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24510, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "14555:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24508, + "name": "end", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23481, + 23861, + 24232, + 24515, + 24798, + 25111, + 25382 + ], + "referencedDeclaration": 23481, + "src": "14551:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 24511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14551:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14542:23:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24513, + "nodeType": "ExpressionStatement", + "src": "14542:23:81" + } + ] + }, + "documentation": null, + "id": 24515, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24503, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24502, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24515, + "src": "14438:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24501, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "14438:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14437:22:81" + }, + "payable": false, + "returnParameters": { + "id": 24506, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24505, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 24515, + "src": "14518:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24504, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14518:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14517:16:81" + }, + "scope": 25546, + "src": "14425:145:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24531, + "nodeType": "Block", + "src": "14693:51:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24522, + "name": "_end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24520, + "src": "14699:9:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24525, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24517, + "src": "14728:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24526, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "14728:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24524, + "name": "end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23512, + 23878, + 24253, + 24532, + 24819, + 25126, + 25403 + ], + "referencedDeclaration": 23512, + "src": "14719:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 24527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14719:19:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24523, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "14711:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 24528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14711:28:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14699:40:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 24530, + "nodeType": "ExpressionStatement", + "src": "14699:40:81" + } + ] + }, + "documentation": null, + "id": 24532, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24518, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24517, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24532, + "src": "14592:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24516, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "14592:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14591:22:81" + }, + "payable": false, + "returnParameters": { + "id": 24521, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24520, + "name": "_end_item", + "nodeType": "VariableDeclaration", + "scope": 24532, + "src": "14672:17:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14672:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14671:19:81" + }, + "scope": 25546, + "src": "14574:170:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24549, + "nodeType": "Block", + "src": "14877:47:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24541, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24539, + "src": "14883:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24543, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24534, + "src": "14896:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24544, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "14896:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24545, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24536, + "src": "14907:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24542, + "name": "valid", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23529, + 23896, + 24275, + 24550, + 24841, + 25144, + 25425 + ], + "referencedDeclaration": 23529, + "src": "14890:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bool)" + } + }, + "id": 24546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14890:29:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "14883:36:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24548, + "nodeType": "ExpressionStatement", + "src": "14883:36:81" + } + ] + }, + "documentation": null, + "id": 24550, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24537, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24534, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24550, + "src": "14763:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24533, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "14763:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24536, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 24550, + "src": "14785:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24535, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14785:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14762:43:81" + }, + "payable": false, + "returnParameters": { + "id": 24540, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24539, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 24550, + "src": "14864:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24538, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14864:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14863:11:81" + }, + "scope": 25546, + "src": "14748:176:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24569, + "nodeType": "Block", + "src": "15056:55:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24559, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24557, + "src": "15062:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24561, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24552, + "src": "15080:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24562, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "15080:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24564, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24554, + "src": "15099:5:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 24563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15091:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15091:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24560, + "name": "valid_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23553, + 23916, + 24299, + 24570, + 24865, + 25162, + 25449 + ], + "referencedDeclaration": 23553, + "src": "15069:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bool)" + } + }, + "id": 24566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15069:37:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "15062:44:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24568, + "nodeType": "ExpressionStatement", + "src": "15062:44:81" + } + ] + }, + "documentation": null, + "id": 24570, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24555, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24552, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24570, + "src": "14948:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24551, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "14948:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24554, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24570, + "src": "14970:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24553, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14970:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14947:37:81" + }, + "payable": false, + "returnParameters": { + "id": 24558, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24557, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 24570, + "src": "15043:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24556, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15043:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15042:11:81" + }, + "scope": 25546, + "src": "14928:183:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24587, + "nodeType": "Block", + "src": "15264:64:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24579, + "name": "_previous_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24577, + "src": "15270:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24581, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24572, + "src": "15297:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24582, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "15297:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24583, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24574, + "src": "15308:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24580, + "name": "previous", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23586, + 23934, + 24321, + 24588, + 24887, + 25180, + 25471 + ], + "referencedDeclaration": 23586, + "src": "15288:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 24584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15288:35:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15270:53:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24586, + "nodeType": "ExpressionStatement", + "src": "15270:53:81" + } + ] + }, + "documentation": null, + "id": 24588, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24575, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24572, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24588, + "src": "15133:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24571, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "15133:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24574, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 24588, + "src": "15155:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24573, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15155:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15132:46:81" + }, + "payable": false, + "returnParameters": { + "id": 24578, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24577, + "name": "_previous_index", + "nodeType": "VariableDeclaration", + "scope": 24588, + "src": "15237:23:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24576, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15237:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15236:25:81" + }, + "scope": 25546, + "src": "15115:213:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24609, + "nodeType": "Block", + "src": "15484:85:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24597, + "name": "_previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24595, + "src": "15490:14:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24600, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24590, + "src": "15529:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24601, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "15529:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24603, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24592, + "src": "15548:13:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 24602, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15540:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15540:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24599, + "name": "previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23627, + 23956, + 24347, + 24610, + 24913, + 25198, + 25497 + ], + "referencedDeclaration": 23627, + "src": "15515:13:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 24605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15515:48:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24598, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15507:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 24606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15507:57:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15490:74:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 24608, + "nodeType": "ExpressionStatement", + "src": "15490:74:81" + } + ] + }, + "documentation": null, + "id": 24610, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24593, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24590, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24610, + "src": "15355:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24589, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "15355:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24592, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 24610, + "src": "15377:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24591, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15377:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15354:45:81" + }, + "payable": false, + "returnParameters": { + "id": 24596, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24595, + "name": "_previous_item", + "nodeType": "VariableDeclaration", + "scope": 24610, + "src": "15458:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24594, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15458:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15457:24:81" + }, + "scope": 25546, + "src": "15332:237:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24627, + "nodeType": "Block", + "src": "15714:56:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24619, + "name": "_next_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24617, + "src": "15720:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24621, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24612, + "src": "15739:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24622, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "15739:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24623, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24614, + "src": "15750:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24620, + "name": "next", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23660, + 23974, + 24369, + 24628, + 24935, + 25216, + 25519 + ], + "referencedDeclaration": 23660, + "src": "15734:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 24624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15734:31:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15720:45:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24626, + "nodeType": "ExpressionStatement", + "src": "15720:45:81" + } + ] + }, + "documentation": null, + "id": 24628, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24615, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24612, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24628, + "src": "15587:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24611, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "15587:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24614, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 24628, + "src": "15609:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24613, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15609:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15586:46:81" + }, + "payable": false, + "returnParameters": { + "id": 24618, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24617, + "name": "_next_index", + "nodeType": "VariableDeclaration", + "scope": 24628, + "src": "15691:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24616, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15691:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15690:21:81" + }, + "scope": 25546, + "src": "15573:197:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24649, + "nodeType": "Block", + "src": "15918:77:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24637, + "name": "_next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24635, + "src": "15924:10:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24640, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24630, + "src": "15955:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address storage pointer" + } + }, + "id": 24641, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23031, + "src": "15955:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24643, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24632, + "src": "15974:13:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 24642, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15966:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15966:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24639, + "name": "next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23701, + 23996, + 24395, + 24650, + 24961, + 25234, + 25545 + ], + "referencedDeclaration": 23701, + "src": "15945:9:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 24645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15945:44:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24638, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15937:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 24646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15937:53:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15924:66:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 24648, + "nodeType": "ExpressionStatement", + "src": "15924:66:81" + } + ] + }, + "documentation": null, + "id": 24650, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24630, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24650, + "src": "15793:20:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + }, + "typeName": { + "contractScope": null, + "id": 24629, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23032, + "src": "15793:7:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage_ptr", + "typeString": "struct DoublyLinkedList.Address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24632, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 24650, + "src": "15815:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24631, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15815:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15792:45:81" + }, + "payable": false, + "returnParameters": { + "id": 24636, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24635, + "name": "_next_item", + "nodeType": "VariableDeclaration", + "scope": 24650, + "src": "15896:18:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24634, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15896:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15895:20:81" + }, + "scope": 25546, + "src": "15774:221:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24673, + "nodeType": "Block", + "src": "16141:74:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24661, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24659, + "src": "16147:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24663, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24652, + "src": "16165:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24664, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "16165:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24666, + "indexExpression": { + "argumentTypes": null, + "id": 24665, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24654, + "src": "16175:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16165:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24668, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24656, + "src": "16203:5:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 24667, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16195:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16195:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24662, + "name": "append", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23249, + 23761, + 24108, + 24415, + 24674, + 25015, + 25258 + ], + "referencedDeclaration": 23249, + "src": "16158:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 24670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16158:52:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16147:63:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24672, + "nodeType": "ExpressionStatement", + "src": "16147:63:81" + } + ] + }, + "documentation": null, + "id": 24674, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "append", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24657, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24652, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24674, + "src": "16015:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24651, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "16015:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24654, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24674, + "src": "16044:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24653, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16044:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24656, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 24674, + "src": "16071:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24655, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16071:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16014:71:81" + }, + "payable": false, + "returnParameters": { + "id": 24660, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24659, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 24674, + "src": "16124:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24658, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16124:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16123:15:81" + }, + "scope": 25546, + "src": "15999:216:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24695, + "nodeType": "Block", + "src": "16364:66:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24685, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24683, + "src": "16370:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24687, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24676, + "src": "16388:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24688, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "16388:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24690, + "indexExpression": { + "argumentTypes": null, + "id": 24689, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24678, + "src": "16398:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16388:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24691, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24680, + "src": "16418:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24686, + "name": "remove", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23367, + 23779, + 24130, + 24433, + 24696, + 25033, + 25280 + ], + "referencedDeclaration": 23367, + "src": "16381:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) returns (bool)" + } + }, + "id": 24692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16381:44:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16370:55:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24694, + "nodeType": "ExpressionStatement", + "src": "16370:55:81" + } + ] + }, + "documentation": null, + "id": 24696, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24681, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24676, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24696, + "src": "16235:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24675, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "16235:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24678, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24696, + "src": "16264:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24677, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16264:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24680, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 24696, + "src": "16291:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24679, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16291:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16234:72:81" + }, + "payable": false, + "returnParameters": { + "id": 24684, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24683, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 24696, + "src": "16347:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24682, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16347:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16346:15:81" + }, + "scope": 25546, + "src": "16219:211:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 24719, + "nodeType": "Block", + "src": "16582:79:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24707, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24705, + "src": "16588:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24709, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24698, + "src": "16611:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24710, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "16611:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24712, + "indexExpression": { + "argumentTypes": null, + "id": 24711, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24700, + "src": "16621:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16611:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24714, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24702, + "src": "16649:5:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 24713, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16641:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16641:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24708, + "name": "remove_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23407, + 23799, + 24154, + 24453, + 24720, + 25051, + 25304 + ], + "referencedDeclaration": 23407, + "src": "16599:11:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 24716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16599:57:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16588:68:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24718, + "nodeType": "ExpressionStatement", + "src": "16588:68:81" + } + ] + }, + "documentation": null, + "id": 24720, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24703, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24698, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24720, + "src": "16456:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24697, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "16456:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24700, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24720, + "src": "16485:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24699, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16485:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24702, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24720, + "src": "16512:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24701, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16512:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16455:71:81" + }, + "payable": false, + "returnParameters": { + "id": 24706, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24705, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 24720, + "src": "16565:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24704, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16565:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16564:15:81" + }, + "scope": 25546, + "src": "16435:226:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24738, + "nodeType": "Block", + "src": "16818:61:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24729, + "name": "_total_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24727, + "src": "16824:12:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24731, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24722, + "src": "16845:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24732, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "16845:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24734, + "indexExpression": { + "argumentTypes": null, + "id": 24733, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24724, + "src": "16855:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16845:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24730, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23420, + 23814, + 24173, + 24468, + 24739, + 25066, + 25323 + ], + "referencedDeclaration": 23420, + "src": "16839:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 24735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16839:35:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "16824:50:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24737, + "nodeType": "ExpressionStatement", + "src": "16824:50:81" + } + ] + }, + "documentation": null, + "id": 24739, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "total", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24725, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24722, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24739, + "src": "16680:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24721, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "16680:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24724, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24739, + "src": "16709:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24723, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16709:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16679:56:81" + }, + "payable": false, + "returnParameters": { + "id": 24728, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24727, + "name": "_total_count", + "nodeType": "VariableDeclaration", + "scope": 24739, + "src": "16794:20:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24726, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16794:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16793:22:81" + }, + "scope": 25546, + "src": "16665:214:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24757, + "nodeType": "Block", + "src": "17030:55:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24748, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24746, + "src": "17036:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24750, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24741, + "src": "17051:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24751, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "17051:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24753, + "indexExpression": { + "argumentTypes": null, + "id": 24752, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24743, + "src": "17061:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17051:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24749, + "name": "start", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23435, + 23829, + 24192, + 24483, + 24758, + 25081, + 25342 + ], + "referencedDeclaration": 23435, + "src": "17045:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 24754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17045:35:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17036:44:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24756, + "nodeType": "ExpressionStatement", + "src": "17036:44:81" + } + ] + }, + "documentation": null, + "id": 24758, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24744, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24741, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24758, + "src": "16898:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24740, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "16898:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24743, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24758, + "src": "16927:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24742, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16927:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16897:56:81" + }, + "payable": false, + "returnParameters": { + "id": 24747, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24746, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 24758, + "src": "17012:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24745, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17012:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17011:16:81" + }, + "scope": 25546, + "src": "16883:202:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24778, + "nodeType": "Block", + "src": "17246:74:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24767, + "name": "_start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24765, + "src": "17252:11:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24770, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24760, + "src": "17285:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24771, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "17285:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24773, + "indexExpression": { + "argumentTypes": null, + "id": 24772, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24762, + "src": "17295:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17285:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24769, + "name": "start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23466, + 23846, + 24213, + 24500, + 24779, + 25096, + 25363 + ], + "referencedDeclaration": 23466, + "src": "17274:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 24774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17274:40:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24768, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17266:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 24775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17266:49:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "17252:63:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 24777, + "nodeType": "ExpressionStatement", + "src": "17252:63:81" + } + ] + }, + "documentation": null, + "id": 24779, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24763, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24760, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24779, + "src": "17109:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24759, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "17109:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24762, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24779, + "src": "17138:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24761, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17138:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17108:56:81" + }, + "payable": false, + "returnParameters": { + "id": 24766, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24765, + "name": "_start_item", + "nodeType": "VariableDeclaration", + "scope": 24779, + "src": "17223:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24764, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17223:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17222:21:81" + }, + "scope": 25546, + "src": "17089:231:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24797, + "nodeType": "Block", + "src": "17470:53:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24788, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24786, + "src": "17476:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24790, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24781, + "src": "17489:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24791, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "17489:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24793, + "indexExpression": { + "argumentTypes": null, + "id": 24792, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24783, + "src": "17499:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17489:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24789, + "name": "end", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23481, + 23861, + 24232, + 24515, + 24798, + 25111, + 25382 + ], + "referencedDeclaration": 23481, + "src": "17485:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 24794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17485:33:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17476:42:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24796, + "nodeType": "ExpressionStatement", + "src": "17476:42:81" + } + ] + }, + "documentation": null, + "id": 24798, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24784, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24781, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24798, + "src": "17338:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24780, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "17338:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24783, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24798, + "src": "17367:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24782, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17367:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17337:56:81" + }, + "payable": false, + "returnParameters": { + "id": 24787, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24786, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 24798, + "src": "17452:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24785, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17452:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17451:16:81" + }, + "scope": 25546, + "src": "17325:198:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24818, + "nodeType": "Block", + "src": "17680:70:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24807, + "name": "_end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24805, + "src": "17686:9:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24810, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24800, + "src": "17715:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24811, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "17715:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24813, + "indexExpression": { + "argumentTypes": null, + "id": 24812, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24802, + "src": "17725:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17715:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 24809, + "name": "end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23512, + 23878, + 24253, + 24532, + 24819, + 25126, + 25403 + ], + "referencedDeclaration": 23512, + "src": "17706:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 24814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17706:38:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24808, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17698:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 24815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17698:47:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "17686:59:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 24817, + "nodeType": "ExpressionStatement", + "src": "17686:59:81" + } + ] + }, + "documentation": null, + "id": 24819, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24803, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24800, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24819, + "src": "17545:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24799, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "17545:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24802, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24819, + "src": "17574:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24801, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17574:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17544:56:81" + }, + "payable": false, + "returnParameters": { + "id": 24806, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24805, + "name": "_end_item", + "nodeType": "VariableDeclaration", + "scope": 24819, + "src": "17659:17:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24804, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17659:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17658:19:81" + }, + "scope": 25546, + "src": "17527:223:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24840, + "nodeType": "Block", + "src": "17917:66:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24830, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24828, + "src": "17923:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24832, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24821, + "src": "17936:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24833, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "17936:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24835, + "indexExpression": { + "argumentTypes": null, + "id": 24834, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24823, + "src": "17946:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17936:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24836, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24825, + "src": "17966:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24831, + "name": "valid", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23529, + 23896, + 24275, + 24550, + 24841, + 25144, + 25425 + ], + "referencedDeclaration": 23529, + "src": "17930:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bool)" + } + }, + "id": 24837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17930:48:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "17923:55:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24839, + "nodeType": "ExpressionStatement", + "src": "17923:55:81" + } + ] + }, + "documentation": null, + "id": 24841, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24826, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24821, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24841, + "src": "17769:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24820, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "17769:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24823, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24841, + "src": "17798:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24822, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17798:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24825, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 24841, + "src": "17825:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24824, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17825:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17768:77:81" + }, + "payable": false, + "returnParameters": { + "id": 24829, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24828, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 24841, + "src": "17904:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24827, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "17904:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "17903:11:81" + }, + "scope": 25546, + "src": "17754:229:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24864, + "nodeType": "Block", + "src": "18149:74:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24852, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24850, + "src": "18155:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24854, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24843, + "src": "18173:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24855, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "18173:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24857, + "indexExpression": { + "argumentTypes": null, + "id": 24856, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24845, + "src": "18183:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18173:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24859, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24847, + "src": "18211:5:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 24858, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "18203:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18203:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24853, + "name": "valid_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23553, + 23916, + 24299, + 24570, + 24865, + 25162, + 25449 + ], + "referencedDeclaration": 23553, + "src": "18162:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bool)" + } + }, + "id": 24861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18162:56:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "18155:63:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 24863, + "nodeType": "ExpressionStatement", + "src": "18155:63:81" + } + ] + }, + "documentation": null, + "id": 24865, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24848, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24843, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24865, + "src": "18007:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24842, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "18007:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24845, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24865, + "src": "18036:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24844, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18036:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24847, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24865, + "src": "18063:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24846, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18063:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18006:71:81" + }, + "payable": false, + "returnParameters": { + "id": 24851, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24850, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 24865, + "src": "18136:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 24849, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "18136:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18135:11:81" + }, + "scope": 25546, + "src": "17987:236:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24886, + "nodeType": "Block", + "src": "18410:83:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24876, + "name": "_previous_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24874, + "src": "18416:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24878, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24867, + "src": "18443:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24879, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "18443:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24881, + "indexExpression": { + "argumentTypes": null, + "id": 24880, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24869, + "src": "18453:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18443:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24882, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24871, + "src": "18473:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24877, + "name": "previous", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23586, + 23934, + 24321, + 24588, + 24887, + 25180, + 25471 + ], + "referencedDeclaration": 23586, + "src": "18434:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 24883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18434:54:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18416:72:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24885, + "nodeType": "ExpressionStatement", + "src": "18416:72:81" + } + ] + }, + "documentation": null, + "id": 24887, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24872, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24867, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24887, + "src": "18245:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24866, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "18245:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24869, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24887, + "src": "18274:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24868, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18274:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24871, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 24887, + "src": "18301:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24870, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18301:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18244:80:81" + }, + "payable": false, + "returnParameters": { + "id": 24875, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24874, + "name": "_previous_index", + "nodeType": "VariableDeclaration", + "scope": 24887, + "src": "18383:23:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24873, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18383:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18382:25:81" + }, + "scope": 25546, + "src": "18227:266:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24912, + "nodeType": "Block", + "src": "18683:104:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24898, + "name": "_previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24896, + "src": "18689:14:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24901, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24889, + "src": "18728:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24902, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "18728:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24904, + "indexExpression": { + "argumentTypes": null, + "id": 24903, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24891, + "src": "18738:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18728:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24906, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24893, + "src": "18766:13:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 24905, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "18758:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18758:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24900, + "name": "previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23627, + 23956, + 24347, + 24610, + 24913, + 25198, + 25497 + ], + "referencedDeclaration": 23627, + "src": "18714:13:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 24908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18714:67:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24899, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "18706:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 24909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18706:76:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "18689:93:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 24911, + "nodeType": "ExpressionStatement", + "src": "18689:93:81" + } + ] + }, + "documentation": null, + "id": 24913, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24894, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24889, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24913, + "src": "18520:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24888, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "18520:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24891, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24913, + "src": "18549:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24890, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18549:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24893, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 24913, + "src": "18576:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24892, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18576:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18519:79:81" + }, + "payable": false, + "returnParameters": { + "id": 24897, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24896, + "name": "_previous_item", + "nodeType": "VariableDeclaration", + "scope": 24913, + "src": "18657:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24895, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18657:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18656:24:81" + }, + "scope": 25546, + "src": "18497:290:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24934, + "nodeType": "Block", + "src": "18966:75:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24924, + "name": "_next_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24922, + "src": "18972:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24926, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24915, + "src": "18991:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24927, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "18991:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24929, + "indexExpression": { + "argumentTypes": null, + "id": 24928, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24917, + "src": "19001:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18991:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24930, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24919, + "src": "19021:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24925, + "name": "next", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23660, + 23974, + 24369, + 24628, + 24935, + 25216, + 25519 + ], + "referencedDeclaration": 23660, + "src": "18986:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 24931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18986:50:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18972:64:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24933, + "nodeType": "ExpressionStatement", + "src": "18972:64:81" + } + ] + }, + "documentation": null, + "id": 24935, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24920, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24915, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24935, + "src": "18805:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24914, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "18805:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24917, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24935, + "src": "18834:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24916, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18834:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24919, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 24935, + "src": "18861:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24918, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18861:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18804:80:81" + }, + "payable": false, + "returnParameters": { + "id": 24923, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24922, + "name": "_next_index", + "nodeType": "VariableDeclaration", + "scope": 24935, + "src": "18943:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24921, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18943:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "18942:21:81" + }, + "scope": 25546, + "src": "18791:250:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24960, + "nodeType": "Block", + "src": "19223:96:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24946, + "name": "_next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24944, + "src": "19229:10:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24949, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24937, + "src": "19260:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 24950, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23023, + "src": "19260:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 24952, + "indexExpression": { + "argumentTypes": null, + "id": 24951, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24939, + "src": "19270:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19260:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 24954, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24941, + "src": "19298:13:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 24953, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "19290:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 24955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19290:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24948, + "name": "next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23701, + 23996, + 24395, + 24650, + 24961, + 25234, + 25545 + ], + "referencedDeclaration": 23701, + "src": "19250:9:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 24956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19250:63:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "19242:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 24957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19242:72:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "19229:85:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 24959, + "nodeType": "ExpressionStatement", + "src": "19229:85:81" + } + ] + }, + "documentation": null, + "id": 24961, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24942, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24937, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24961, + "src": "19064:27:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 24936, + "name": "IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "19064:14:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24939, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 24961, + "src": "19093:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24938, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19093:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24941, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 24961, + "src": "19120:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24940, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19120:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19063:79:81" + }, + "payable": false, + "returnParameters": { + "id": 24945, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24944, + "name": "_next_item", + "nodeType": "VariableDeclaration", + "scope": 24961, + "src": "19201:18:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 24943, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19201:7:81", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19200:20:81" + }, + "scope": 25546, + "src": "19045:274:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24978, + "nodeType": "Block", + "src": "19454:47:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24970, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24968, + "src": "19460:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24972, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24963, + "src": "19479:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 24973, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "19479:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24974, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24965, + "src": "19490:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 24971, + "name": "find", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23090, + 23721, + 24016, + 24060, + 24979 + ], + "referencedDeclaration": 23090, + "src": "19474:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 24975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19474:22:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19460:36:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 24977, + "nodeType": "ExpressionStatement", + "src": "19460:36:81" + } + ] + }, + "documentation": null, + "id": 24979, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "find", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24966, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24963, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24979, + "src": "19338:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 24962, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "19338:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24965, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24979, + "src": "19358:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24964, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19358:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19337:35:81" + }, + "payable": false, + "returnParameters": { + "id": 24969, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24968, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 24979, + "src": "19431:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24967, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19431:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19430:21:81" + }, + "scope": 25546, + "src": "19324:177:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 24996, + "nodeType": "Block", + "src": "19634:46:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 24988, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24986, + "src": "19640:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 24990, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24981, + "src": "19652:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 24991, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "19652:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 24992, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24983, + "src": "19663:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 24989, + "name": "get", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23123, + 23741, + 24036, + 24084, + 24997 + ], + "referencedDeclaration": 23123, + "src": "19648:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bytes32)" + } + }, + "id": 24993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19648:27:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "19640:35:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 24995, + "nodeType": "ExpressionStatement", + "src": "19640:35:81" + } + ] + }, + "documentation": null, + "id": 24997, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24984, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24981, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 24997, + "src": "19518:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 24980, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "19518:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 24983, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 24997, + "src": "19538:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24982, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19538:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19517:41:81" + }, + "payable": false, + "returnParameters": { + "id": 24987, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24986, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 24997, + "src": "19617:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 24985, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19617:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19616:15:81" + }, + "scope": 25546, + "src": "19505:175:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25014, + "nodeType": "Block", + "src": "19791:46:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25006, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25004, + "src": "19797:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25008, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24999, + "src": "19815:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25009, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "19815:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25010, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25001, + "src": "19826:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25007, + "name": "append", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23249, + 23761, + 24108, + 24415, + 24674, + 25015, + 25258 + ], + "referencedDeclaration": 23249, + "src": "19808:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 25011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19808:24:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "19797:35:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 25013, + "nodeType": "ExpressionStatement", + "src": "19797:35:81" + } + ] + }, + "documentation": null, + "id": 25015, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "append", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25002, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 24999, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25015, + "src": "19701:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 24998, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "19701:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25001, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 25015, + "src": "19721:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25000, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19721:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19700:35:81" + }, + "payable": false, + "returnParameters": { + "id": 25005, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25004, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 25015, + "src": "19774:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25003, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "19774:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19773:15:81" + }, + "scope": 25546, + "src": "19685:152:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25032, + "nodeType": "Block", + "src": "19950:47:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25024, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25022, + "src": "19956:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25026, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25017, + "src": "19974:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25027, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "19974:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25028, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25019, + "src": "19985:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 25025, + "name": "remove", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23367, + 23779, + 24130, + 24433, + 24696, + 25033, + 25280 + ], + "referencedDeclaration": 23367, + "src": "19967:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) returns (bool)" + } + }, + "id": 25029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19967:25:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "19956:36:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 25031, + "nodeType": "ExpressionStatement", + "src": "19956:36:81" + } + ] + }, + "documentation": null, + "id": 25033, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25020, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25017, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25033, + "src": "19857:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25016, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "19857:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25019, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 25033, + "src": "19877:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25018, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19877:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19856:36:81" + }, + "payable": false, + "returnParameters": { + "id": 25023, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25022, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 25033, + "src": "19933:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25021, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "19933:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "19932:15:81" + }, + "scope": 25546, + "src": "19841:156:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 25050, + "nodeType": "Block", + "src": "20113:51:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25042, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25040, + "src": "20119:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25044, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25035, + "src": "20142:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25045, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "20142:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25046, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25037, + "src": "20153:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25043, + "name": "remove_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23407, + 23799, + 24154, + 24453, + 24720, + 25051, + 25304 + ], + "referencedDeclaration": 23407, + "src": "20130:11:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 25047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20130:29:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "20119:40:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 25049, + "nodeType": "ExpressionStatement", + "src": "20119:40:81" + } + ] + }, + "documentation": null, + "id": 25051, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25038, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25035, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25051, + "src": "20023:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25034, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "20023:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25037, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 25051, + "src": "20043:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25036, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20043:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20022:35:81" + }, + "payable": false, + "returnParameters": { + "id": 25041, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25040, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 25051, + "src": "20096:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25039, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "20096:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20095:15:81" + }, + "scope": 25546, + "src": "20002:162:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25065, + "nodeType": "Block", + "src": "20285:42:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25063, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25058, + "name": "_total_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25056, + "src": "20291:12:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25060, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25053, + "src": "20312:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25061, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "20312:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 25059, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23420, + 23814, + 24173, + 24468, + 24739, + 25066, + 25323 + ], + "referencedDeclaration": 23420, + "src": "20306:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 25062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20306:16:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20291:31:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25064, + "nodeType": "ExpressionStatement", + "src": "20291:31:81" + } + ] + }, + "documentation": null, + "id": 25066, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "total", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25054, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25053, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25066, + "src": "20183:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25052, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "20183:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20182:20:81" + }, + "payable": false, + "returnParameters": { + "id": 25057, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25056, + "name": "_total_count", + "nodeType": "VariableDeclaration", + "scope": 25066, + "src": "20261:20:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25055, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20261:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20260:22:81" + }, + "scope": 25546, + "src": "20168:159:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25080, + "nodeType": "Block", + "src": "20442:36:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25073, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25071, + "src": "20448:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25075, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25068, + "src": "20463:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25076, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "20463:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 25074, + "name": "start", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23435, + 23829, + 24192, + 24483, + 24758, + 25081, + 25342 + ], + "referencedDeclaration": 23435, + "src": "20457:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 25077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20457:16:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20448:25:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25079, + "nodeType": "ExpressionStatement", + "src": "20448:25:81" + } + ] + }, + "documentation": null, + "id": 25081, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25069, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25068, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25081, + "src": "20346:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25067, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "20346:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20345:20:81" + }, + "payable": false, + "returnParameters": { + "id": 25072, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25071, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 25081, + "src": "20424:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25070, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20424:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20423:16:81" + }, + "scope": 25546, + "src": "20331:147:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25095, + "nodeType": "Block", + "src": "20603:46:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25088, + "name": "_start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25086, + "src": "20609:11:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25090, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25083, + "src": "20634:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25091, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "20634:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 25089, + "name": "start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23466, + 23846, + 24213, + 24500, + 24779, + 25096, + 25363 + ], + "referencedDeclaration": 23466, + "src": "20623:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 25092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20623:21:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "20609:35:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 25094, + "nodeType": "ExpressionStatement", + "src": "20609:35:81" + } + ] + }, + "documentation": null, + "id": 25096, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25084, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25083, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25096, + "src": "20502:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25082, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "20502:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20501:20:81" + }, + "payable": false, + "returnParameters": { + "id": 25087, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25086, + "name": "_start_item", + "nodeType": "VariableDeclaration", + "scope": 25096, + "src": "20580:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25085, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20580:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20579:21:81" + }, + "scope": 25546, + "src": "20482:167:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25110, + "nodeType": "Block", + "src": "20763:34:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25103, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25101, + "src": "20769:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25105, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25098, + "src": "20782:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25106, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "20782:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 25104, + "name": "end", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23481, + 23861, + 24232, + 24515, + 24798, + 25111, + 25382 + ], + "referencedDeclaration": 23481, + "src": "20778:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 25107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20778:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20769:23:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25109, + "nodeType": "ExpressionStatement", + "src": "20769:23:81" + } + ] + }, + "documentation": null, + "id": 25111, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25099, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25098, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25111, + "src": "20667:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25097, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "20667:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20666:20:81" + }, + "payable": false, + "returnParameters": { + "id": 25102, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25101, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 25111, + "src": "20745:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25100, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20745:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20744:16:81" + }, + "scope": 25546, + "src": "20654:143:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25125, + "nodeType": "Block", + "src": "20918:42:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25118, + "name": "_end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25116, + "src": "20924:9:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25120, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25113, + "src": "20945:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25121, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "20945:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 25119, + "name": "end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23512, + 23878, + 24253, + 24532, + 24819, + 25126, + 25403 + ], + "referencedDeclaration": 23512, + "src": "20936:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 25122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20936:19:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "20924:31:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 25124, + "nodeType": "ExpressionStatement", + "src": "20924:31:81" + } + ] + }, + "documentation": null, + "id": 25126, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25114, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25113, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25126, + "src": "20819:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25112, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "20819:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20818:20:81" + }, + "payable": false, + "returnParameters": { + "id": 25117, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25116, + "name": "_end_item", + "nodeType": "VariableDeclaration", + "scope": 25126, + "src": "20897:17:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25115, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20897:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20896:19:81" + }, + "scope": 25546, + "src": "20801:159:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25143, + "nodeType": "Block", + "src": "21091:47:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25135, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25133, + "src": "21097:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25137, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25128, + "src": "21110:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25138, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "21110:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25139, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25130, + "src": "21121:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 25136, + "name": "valid", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23529, + 23896, + 24275, + 24550, + 24841, + 25144, + 25425 + ], + "referencedDeclaration": 23529, + "src": "21104:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bool)" + } + }, + "id": 25140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21104:29:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "21097:36:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 25142, + "nodeType": "ExpressionStatement", + "src": "21097:36:81" + } + ] + }, + "documentation": null, + "id": 25144, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25131, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25128, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25144, + "src": "20979:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25127, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "20979:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25130, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 25144, + "src": "20999:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25129, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20999:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "20978:41:81" + }, + "payable": false, + "returnParameters": { + "id": 25134, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25133, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 25144, + "src": "21078:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25132, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21078:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21077:11:81" + }, + "scope": 25546, + "src": "20964:174:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25161, + "nodeType": "Block", + "src": "21268:46:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25153, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25151, + "src": "21274:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25155, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25146, + "src": "21292:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25156, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "21292:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25157, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25148, + "src": "21303:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25154, + "name": "valid_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23553, + 23916, + 24299, + 24570, + 24865, + 25162, + 25449 + ], + "referencedDeclaration": 23553, + "src": "21281:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bool)" + } + }, + "id": 25158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21281:28:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "21274:35:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 25160, + "nodeType": "ExpressionStatement", + "src": "21274:35:81" + } + ] + }, + "documentation": null, + "id": 25162, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25149, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25146, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25162, + "src": "21162:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25145, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "21162:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25148, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 25162, + "src": "21182:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25147, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "21182:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21161:35:81" + }, + "payable": false, + "returnParameters": { + "id": 25152, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25151, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 25162, + "src": "21255:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25150, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21255:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21254:11:81" + }, + "scope": 25546, + "src": "21142:172:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25179, + "nodeType": "Block", + "src": "21465:64:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25171, + "name": "_previous_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25169, + "src": "21471:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25173, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25164, + "src": "21498:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25174, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "21498:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25175, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25166, + "src": "21509:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 25172, + "name": "previous", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23586, + 23934, + 24321, + 24588, + 24887, + 25180, + 25471 + ], + "referencedDeclaration": 23586, + "src": "21489:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 25176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21489:35:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21471:53:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25178, + "nodeType": "ExpressionStatement", + "src": "21471:53:81" + } + ] + }, + "documentation": null, + "id": 25180, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25167, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25164, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25180, + "src": "21336:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25163, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "21336:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25166, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 25180, + "src": "21356:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25165, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21356:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21335:44:81" + }, + "payable": false, + "returnParameters": { + "id": 25170, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25169, + "name": "_previous_index", + "nodeType": "VariableDeclaration", + "scope": 25180, + "src": "21438:23:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25168, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21438:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21437:25:81" + }, + "scope": 25546, + "src": "21318:211:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25197, + "nodeType": "Block", + "src": "21683:67:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25189, + "name": "_previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25187, + "src": "21689:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25191, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25182, + "src": "21720:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25192, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "21720:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25193, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25184, + "src": "21731:13:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25190, + "name": "previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23627, + 23956, + 24347, + 24610, + 24913, + 25198, + 25497 + ], + "referencedDeclaration": 23627, + "src": "21706:13:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 25194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21706:39:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "21689:56:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 25196, + "nodeType": "ExpressionStatement", + "src": "21689:56:81" + } + ] + }, + "documentation": null, + "id": 25198, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25185, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25182, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25198, + "src": "21556:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25181, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "21556:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25184, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 25198, + "src": "21576:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25183, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "21576:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21555:43:81" + }, + "payable": false, + "returnParameters": { + "id": 25188, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25187, + "name": "_previous_item", + "nodeType": "VariableDeclaration", + "scope": 25198, + "src": "21657:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25186, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "21657:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21656:24:81" + }, + "scope": 25546, + "src": "21533:217:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25215, + "nodeType": "Block", + "src": "21893:56:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25207, + "name": "_next_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25205, + "src": "21899:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25209, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25200, + "src": "21918:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25210, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "21918:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25211, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25202, + "src": "21929:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 25208, + "name": "next", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23660, + 23974, + 24369, + 24628, + 24935, + 25216, + 25519 + ], + "referencedDeclaration": 23660, + "src": "21913:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 25212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21913:31:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21899:45:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25214, + "nodeType": "ExpressionStatement", + "src": "21899:45:81" + } + ] + }, + "documentation": null, + "id": 25216, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25203, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25200, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25216, + "src": "21768:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25199, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "21768:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25202, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 25216, + "src": "21788:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21788:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21767:44:81" + }, + "payable": false, + "returnParameters": { + "id": 25206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25205, + "name": "_next_index", + "nodeType": "VariableDeclaration", + "scope": 25216, + "src": "21870:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25204, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21870:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21869:21:81" + }, + "scope": 25546, + "src": "21754:195:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25233, + "nodeType": "Block", + "src": "22095:59:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25225, + "name": "_next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25223, + "src": "22101:10:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25227, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25218, + "src": "22124:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes storage pointer" + } + }, + "id": 25228, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23034, + "src": "22124:9:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25229, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25220, + "src": "22135:13:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25226, + "name": "next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23701, + 23996, + 24395, + 24650, + 24961, + 25234, + 25545 + ], + "referencedDeclaration": 23701, + "src": "22114:9:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 25230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22114:35:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "22101:48:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 25232, + "nodeType": "ExpressionStatement", + "src": "22101:48:81" + } + ] + }, + "documentation": null, + "id": 25234, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25221, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25218, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25234, + "src": "21972:18:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + }, + "typeName": { + "contractScope": null, + "id": 25217, + "name": "Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "21972:5:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25220, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 25234, + "src": "21992:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25219, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "21992:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "21971:43:81" + }, + "payable": false, + "returnParameters": { + "id": 25224, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25223, + "name": "_next_item", + "nodeType": "VariableDeclaration", + "scope": 25234, + "src": "22073:18:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25222, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22073:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22072:20:81" + }, + "scope": 25546, + "src": "21953:201:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25257, + "nodeType": "Block", + "src": "22298:74:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25245, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25243, + "src": "22304:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25247, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25236, + "src": "22322:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25248, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "22322:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25250, + "indexExpression": { + "argumentTypes": null, + "id": 25249, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25238, + "src": "22332:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22322:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 25252, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25240, + "src": "22360:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25251, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "22352:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 25253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22352:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25246, + "name": "append", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23249, + 23761, + 24108, + 24415, + 24674, + 25015, + 25258 + ], + "referencedDeclaration": 23249, + "src": "22315:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 25254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22315:52:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "22304:63:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 25256, + "nodeType": "ExpressionStatement", + "src": "22304:63:81" + } + ] + }, + "documentation": null, + "id": 25258, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "append", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25241, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25236, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25258, + "src": "22174:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25235, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "22174:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25238, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25258, + "src": "22201:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25237, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22201:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25240, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 25258, + "src": "22228:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25239, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22228:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22173:69:81" + }, + "payable": false, + "returnParameters": { + "id": 25244, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25243, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 25258, + "src": "22281:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25242, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "22281:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22280:15:81" + }, + "scope": 25546, + "src": "22158:214:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25279, + "nodeType": "Block", + "src": "22519:66:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25269, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25267, + "src": "22525:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25271, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25260, + "src": "22543:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25272, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "22543:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25274, + "indexExpression": { + "argumentTypes": null, + "id": 25273, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25262, + "src": "22553:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22543:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25275, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25264, + "src": "22573:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 25270, + "name": "remove", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23367, + 23779, + 24130, + 24433, + 24696, + 25033, + 25280 + ], + "referencedDeclaration": 23367, + "src": "22536:6:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) returns (bool)" + } + }, + "id": 25276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22536:44:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "22525:55:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 25278, + "nodeType": "ExpressionStatement", + "src": "22525:55:81" + } + ] + }, + "documentation": null, + "id": 25280, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25265, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25260, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25280, + "src": "22392:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25259, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "22392:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25262, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25280, + "src": "22419:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25261, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22419:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25264, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 25280, + "src": "22446:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25263, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22446:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22391:70:81" + }, + "payable": false, + "returnParameters": { + "id": 25268, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25267, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 25280, + "src": "22502:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25266, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "22502:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22501:15:81" + }, + "scope": 25546, + "src": "22376:209:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 25303, + "nodeType": "Block", + "src": "22735:79:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25291, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25289, + "src": "22741:8:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25293, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25282, + "src": "22764:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25294, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "22764:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25296, + "indexExpression": { + "argumentTypes": null, + "id": 25295, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25284, + "src": "22774:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22764:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 25298, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25286, + "src": "22802:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25297, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "22794:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 25299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22794:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25292, + "name": "remove_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23407, + 23799, + 24154, + 24453, + 24720, + 25051, + 25304 + ], + "referencedDeclaration": 23407, + "src": "22752:11:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) returns (bool)" + } + }, + "id": 25300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22752:57:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "22741:68:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 25302, + "nodeType": "ExpressionStatement", + "src": "22741:68:81" + } + ] + }, + "documentation": null, + "id": 25304, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "remove_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25287, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25282, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25304, + "src": "22611:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25281, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "22611:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25284, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25304, + "src": "22638:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25283, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22638:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25286, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 25304, + "src": "22665:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25285, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22665:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22610:69:81" + }, + "payable": false, + "returnParameters": { + "id": 25290, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25289, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 25304, + "src": "22718:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25288, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "22718:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22717:15:81" + }, + "scope": 25546, + "src": "22590:224:81", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25322, + "nodeType": "Block", + "src": "22969:61:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25313, + "name": "_total_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25311, + "src": "22975:12:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25315, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25306, + "src": "22996:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25316, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "22996:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25318, + "indexExpression": { + "argumentTypes": null, + "id": 25317, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25308, + "src": "23006:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22996:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 25314, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23420, + 23814, + 24173, + 24468, + 24739, + 25066, + 25323 + ], + "referencedDeclaration": 23420, + "src": "22990:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 25319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22990:35:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22975:50:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25321, + "nodeType": "ExpressionStatement", + "src": "22975:50:81" + } + ] + }, + "documentation": null, + "id": 25323, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "total", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25309, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25306, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25323, + "src": "22833:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25305, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "22833:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25308, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25323, + "src": "22860:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25307, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22860:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22832:54:81" + }, + "payable": false, + "returnParameters": { + "id": 25312, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25311, + "name": "_total_count", + "nodeType": "VariableDeclaration", + "scope": 25323, + "src": "22945:20:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25310, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22945:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "22944:22:81" + }, + "scope": 25546, + "src": "22818:212:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25341, + "nodeType": "Block", + "src": "23179:55:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25332, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25330, + "src": "23185:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25334, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25325, + "src": "23200:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25335, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "23200:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25337, + "indexExpression": { + "argumentTypes": null, + "id": 25336, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25327, + "src": "23210:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23200:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 25333, + "name": "start", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23435, + 23829, + 24192, + 24483, + 24758, + 25081, + 25342 + ], + "referencedDeclaration": 23435, + "src": "23194:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 25338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23194:35:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23185:44:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25340, + "nodeType": "ExpressionStatement", + "src": "23185:44:81" + } + ] + }, + "documentation": null, + "id": 25342, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25328, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25325, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25342, + "src": "23049:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25324, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "23049:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25327, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25342, + "src": "23076:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25326, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23076:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23048:54:81" + }, + "payable": false, + "returnParameters": { + "id": 25331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25330, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 25342, + "src": "23161:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25329, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23161:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23160:16:81" + }, + "scope": 25546, + "src": "23034:200:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25362, + "nodeType": "Block", + "src": "23393:74:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25351, + "name": "_start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25349, + "src": "23399:11:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25354, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25344, + "src": "23432:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25355, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "23432:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25357, + "indexExpression": { + "argumentTypes": null, + "id": 25356, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25346, + "src": "23442:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23432:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 25353, + "name": "start_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23466, + 23846, + 24213, + 24500, + 24779, + 25096, + 25363 + ], + "referencedDeclaration": 23466, + "src": "23421:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 25358, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23421:40:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "23413:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 25359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23413:49:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "23399:63:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 25361, + "nodeType": "ExpressionStatement", + "src": "23399:63:81" + } + ] + }, + "documentation": null, + "id": 25363, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "start_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25347, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25344, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25363, + "src": "23258:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25343, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "23258:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25346, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25363, + "src": "23285:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25345, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23285:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23257:54:81" + }, + "payable": false, + "returnParameters": { + "id": 25350, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25349, + "name": "_start_item", + "nodeType": "VariableDeclaration", + "scope": 25363, + "src": "23370:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25348, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23370:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23369:21:81" + }, + "scope": 25546, + "src": "23238:229:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25381, + "nodeType": "Block", + "src": "23615:53:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25372, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25370, + "src": "23621:6:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25374, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25365, + "src": "23634:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25375, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "23634:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25377, + "indexExpression": { + "argumentTypes": null, + "id": 25376, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25367, + "src": "23644:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23634:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 25373, + "name": "end", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23481, + 23861, + 24232, + 24515, + 24798, + 25111, + 25382 + ], + "referencedDeclaration": 23481, + "src": "23630:3:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (uint256)" + } + }, + "id": 25378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23630:33:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23621:42:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25380, + "nodeType": "ExpressionStatement", + "src": "23621:42:81" + } + ] + }, + "documentation": null, + "id": 25382, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25368, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25365, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25382, + "src": "23485:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25364, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "23485:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25367, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25382, + "src": "23512:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25366, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23512:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23484:54:81" + }, + "payable": false, + "returnParameters": { + "id": 25371, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25370, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 25382, + "src": "23597:14:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25369, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23597:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23596:16:81" + }, + "scope": 25546, + "src": "23472:196:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25402, + "nodeType": "Block", + "src": "23823:70:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25391, + "name": "_end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25389, + "src": "23829:9:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25394, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25384, + "src": "23858:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25395, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "23858:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25397, + "indexExpression": { + "argumentTypes": null, + "id": 25396, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25386, + "src": "23868:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23858:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + ], + "id": 25393, + "name": "end_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23512, + 23878, + 24253, + 24532, + 24819, + 25126, + 25403 + ], + "referencedDeclaration": 23512, + "src": "23849:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer) view returns (bytes32)" + } + }, + "id": 25398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23849:38:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25392, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "23841:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 25399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23841:47:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "23829:59:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 25401, + "nodeType": "ExpressionStatement", + "src": "23829:59:81" + } + ] + }, + "documentation": null, + "id": 25403, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "end_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25387, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25384, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25403, + "src": "23690:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25383, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "23690:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25386, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25403, + "src": "23717:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25385, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23717:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23689:54:81" + }, + "payable": false, + "returnParameters": { + "id": 25390, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25389, + "name": "_end_item", + "nodeType": "VariableDeclaration", + "scope": 25403, + "src": "23802:17:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25388, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23802:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23801:19:81" + }, + "scope": 25546, + "src": "23672:221:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25424, + "nodeType": "Block", + "src": "24058:66:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25414, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25412, + "src": "24064:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25416, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25405, + "src": "24077:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25417, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "24077:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25419, + "indexExpression": { + "argumentTypes": null, + "id": 25418, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25407, + "src": "24087:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24077:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25420, + "name": "_item_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25409, + "src": "24107:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 25415, + "name": "valid", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23529, + 23896, + 24275, + 24550, + 24841, + 25144, + 25425 + ], + "referencedDeclaration": 23529, + "src": "24071:5:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (bool)" + } + }, + "id": 25421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24071:48:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "24064:55:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 25423, + "nodeType": "ExpressionStatement", + "src": "24064:55:81" + } + ] + }, + "documentation": null, + "id": 25425, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25410, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25405, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25425, + "src": "23912:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25404, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "23912:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25407, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25425, + "src": "23939:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25406, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23939:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25409, + "name": "_item_index", + "nodeType": "VariableDeclaration", + "scope": 25425, + "src": "23966:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25408, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23966:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "23911:75:81" + }, + "payable": false, + "returnParameters": { + "id": 25413, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25412, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 25425, + "src": "24045:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25411, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24045:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "24044:11:81" + }, + "scope": 25546, + "src": "23897:227:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25448, + "nodeType": "Block", + "src": "24288:74:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25436, + "name": "_yes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25434, + "src": "24294:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25438, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25427, + "src": "24312:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25439, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "24312:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25441, + "indexExpression": { + "argumentTypes": null, + "id": 25440, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25429, + "src": "24322:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24312:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 25443, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25431, + "src": "24350:5:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25442, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "24342:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 25444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24342:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25437, + "name": "valid_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23553, + 23916, + 24299, + 24570, + 24865, + 25162, + 25449 + ], + "referencedDeclaration": 23553, + "src": "24301:10:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bool)" + } + }, + "id": 25445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24301:56:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "24294:63:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 25447, + "nodeType": "ExpressionStatement", + "src": "24294:63:81" + } + ] + }, + "documentation": null, + "id": 25449, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "valid_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25432, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25427, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25449, + "src": "24148:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25426, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "24148:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25429, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25449, + "src": "24175:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25428, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24175:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25431, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 25449, + "src": "24202:13:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25430, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24202:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "24147:69:81" + }, + "payable": false, + "returnParameters": { + "id": 25435, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25434, + "name": "_yes", + "nodeType": "VariableDeclaration", + "scope": 25449, + "src": "24275:9:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 25433, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24275:4:81", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "24274:11:81" + }, + "scope": 25546, + "src": "24128:234:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25470, + "nodeType": "Block", + "src": "24547:83:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25460, + "name": "_previous_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25458, + "src": "24553:15:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25462, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25451, + "src": "24580:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25463, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "24580:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25465, + "indexExpression": { + "argumentTypes": null, + "id": 25464, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25453, + "src": "24590:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24580:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25466, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25455, + "src": "24610:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 25461, + "name": "previous", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23586, + 23934, + 24321, + 24588, + 24887, + 25180, + 25471 + ], + "referencedDeclaration": 23586, + "src": "24571:8:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 25467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24571:54:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24553:72:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25469, + "nodeType": "ExpressionStatement", + "src": "24553:72:81" + } + ] + }, + "documentation": null, + "id": 25471, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25456, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25451, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25471, + "src": "24384:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25450, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "24384:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25453, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25471, + "src": "24411:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25452, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24411:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25455, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 25471, + "src": "24438:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25454, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24438:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "24383:78:81" + }, + "payable": false, + "returnParameters": { + "id": 25459, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25458, + "name": "_previous_index", + "nodeType": "VariableDeclaration", + "scope": 25471, + "src": "24520:23:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25457, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24520:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "24519:25:81" + }, + "scope": 25546, + "src": "24366:264:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25496, + "nodeType": "Block", + "src": "24818:104:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25482, + "name": "_previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25480, + "src": "24824:14:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25485, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25473, + "src": "24863:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25486, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "24863:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25488, + "indexExpression": { + "argumentTypes": null, + "id": 25487, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25475, + "src": "24873:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24863:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 25490, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25477, + "src": "24901:13:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25489, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "24893:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 25491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24893:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25484, + "name": "previous_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23627, + 23956, + 24347, + 24610, + 24913, + 25198, + 25497 + ], + "referencedDeclaration": 23627, + "src": "24849:13:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 25492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24849:67:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25483, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "24841:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 25493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24841:76:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "24824:93:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 25495, + "nodeType": "ExpressionStatement", + "src": "24824:93:81" + } + ] + }, + "documentation": null, + "id": 25497, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "previous_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25478, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25473, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25497, + "src": "24657:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25472, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "24657:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25475, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25497, + "src": "24684:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25474, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24684:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25477, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 25497, + "src": "24711:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25476, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24711:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "24656:77:81" + }, + "payable": false, + "returnParameters": { + "id": 25481, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25480, + "name": "_previous_item", + "nodeType": "VariableDeclaration", + "scope": 25497, + "src": "24792:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25479, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24792:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "24791:24:81" + }, + "scope": 25546, + "src": "24634:288:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25518, + "nodeType": "Block", + "src": "25099:75:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25508, + "name": "_next_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25506, + "src": "25105:11:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25510, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25499, + "src": "25124:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25511, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "25124:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25513, + "indexExpression": { + "argumentTypes": null, + "id": 25512, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25501, + "src": "25134:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25124:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "id": 25514, + "name": "_current_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25503, + "src": "25154:14:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 25509, + "name": "next", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23660, + 23974, + 24369, + 24628, + 24935, + 25216, + 25519 + ], + "referencedDeclaration": 23660, + "src": "25119:4:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,uint256) view returns (uint256)" + } + }, + "id": 25515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25119:50:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "25105:64:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25517, + "nodeType": "ExpressionStatement", + "src": "25105:64:81" + } + ] + }, + "documentation": null, + "id": 25519, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25504, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25499, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25519, + "src": "24940:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25498, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "24940:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25501, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25519, + "src": "24967:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25500, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24967:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25503, + "name": "_current_index", + "nodeType": "VariableDeclaration", + "scope": 25519, + "src": "24994:22:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25502, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24994:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "24939:78:81" + }, + "payable": false, + "returnParameters": { + "id": 25507, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25506, + "name": "_next_index", + "nodeType": "VariableDeclaration", + "scope": 25519, + "src": "25076:19:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25505, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25076:7:81", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "25075:21:81" + }, + "scope": 25546, + "src": "24926:248:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25544, + "nodeType": "Block", + "src": "25354:96:81", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25530, + "name": "_next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25528, + "src": "25360:10:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25533, + "name": "self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25521, + "src": "25391:4:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes storage pointer" + } + }, + "id": 25534, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 23028, + "src": "25391:9:81", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Data_$23014_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Data storage ref)" + } + }, + "id": 25536, + "indexExpression": { + "argumentTypes": null, + "id": 25535, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25523, + "src": "25401:17:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25391:28:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 25538, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25525, + "src": "25429:13:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25537, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "25421:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 25539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25421:22:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Data_$23014_storage", + "typeString": "struct DoublyLinkedList.Data storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25532, + "name": "next_item", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 23701, + 23996, + 24395, + 24650, + 24961, + 25234, + 25545 + ], + "referencedDeclaration": 23701, + "src": "25381:9:81", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Data_$23014_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct DoublyLinkedList.Data storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 25540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25381:63:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 25531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "25373:7:81", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 25541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25373:72:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "25360:85:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 25543, + "nodeType": "ExpressionStatement", + "src": "25360:85:81" + } + ] + }, + "documentation": null, + "id": 25545, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "next_item", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25526, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25521, + "name": "self", + "nodeType": "VariableDeclaration", + "scope": 25545, + "src": "25197:25:81", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + }, + "typeName": { + "contractScope": null, + "id": 25520, + "name": "IndexedBytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23029, + "src": "25197:12:81", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedBytes_$23029_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedBytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25523, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 25545, + "src": "25224:25:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25522, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "25224:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25525, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 25545, + "src": "25251:21:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25524, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "25251:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "25196:77:81" + }, + "payable": false, + "returnParameters": { + "id": 25529, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25528, + "name": "_next_item", + "nodeType": "VariableDeclaration", + "scope": 25545, + "src": "25332:18:81", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25527, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "25332:7:81", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "25331:20:81" + }, + "scope": 25546, + "src": "25178:272:81", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 25547, + "src": "26:25428:81" + } + ], + "src": "0:25455:81" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0x5dcbac109092766a169a82b9add3551bac7068f6", + "transactionHash": "0x7d9061a745d922134d1817323e1b2f57252b73669bc2d4a74dafe6f196d48bbb" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T09:18:33.033Z" +} \ No newline at end of file diff --git a/build/contracts/DummyDGX.json b/build/contracts/DummyDGX.json new file mode 100644 index 0000000..eeace2e --- /dev/null +++ b/build/contracts/DummyDGX.json @@ -0,0 +1,8012 @@ +{ + "contractName": "DummyDGX", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "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": "_dummyDGXStorage", + "type": "address" + }, + { + "name": "_feesAdmin", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "_totalSupply", + "type": "uint256" + } + ], + "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": 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": "_receiver", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + }, + { + "name": "_data", + "type": "bytes32" + } + ], + "name": "transferAndCall", + "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": "_allowance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_no_demurrage_fee", + "type": "bool" + }, + { + "name": "_no_transfer_fee", + "type": "bool" + } + ], + "name": "updateUserFeesConfigs", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "showDemurrageConfigs", + "outputs": [ + { + "name": "_base", + "type": "uint256" + }, + { + "name": "_rate", + "type": "uint256" + }, + { + "name": "_collector", + "type": "address" + }, + { + "name": "_no_demurrage_fee", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_for", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "mintDgxFor", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_of", + "type": "address" + }, + { + "name": "_byMinutes", + "type": "uint256" + } + ], + "name": "modifyLastPaymentDate", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506040516040806114b38339810180604052810190808051906020019092919080519060200190929190505050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506113e4806100cf6000396000f3006080604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100d5578063095ea7b31461016557806318160ddd146101ca57806323b872dd146101f5578063293f9a9c1461027a578063313ce567146102ea57806370a082311461031b5780638583e8231461037257806395d89b41146103e5578063a9059cbb14610475578063b59a7796146104da578063b9570c011461053f578063bb2e807a146105b2578063dd62ed3e14610617575b600080fd5b3480156100e157600080fd5b506100ea61068e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012a57808201518184015260208101905061010f565b50505050905090810190601f1680156101575780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017157600080fd5b506101b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106c7565b604051808215151515815260200191505060405180910390f35b3480156101d657600080fd5b506101df610804565b6040518082815260200191505060405180910390f35b34801561020157600080fd5b50610260600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108cb565b604051808215151515815260200191505060405180910390f35b34801561028657600080fd5b5061028f610a4a565b604051808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200194505050505060405180910390f35b3480156102f657600080fd5b506102ff610b44565b604051808260ff1660ff16815260200191505060405180910390f35b34801561032757600080fd5b5061035c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b49565b6040518082815260200191505060405180910390f35b34801561037e57600080fd5b506103cb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190803515159060200190929190505050610c49565b604051808215151515815260200191505060405180910390f35b3480156103f157600080fd5b506103fa610dbf565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561043a57808201518184015260208101905061041f565b50505050905090810190601f1680156104675780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561048157600080fd5b506104c0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610df8565b604051808215151515815260200191505060405180910390f35b3480156104e657600080fd5b50610525600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f61565b604051808215151515815260200191505060405180910390f35b34801561054b57600080fd5b50610598600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803560001916906020019092919050505061106a565b604051808215151515815260200191505060405180910390f35b3480156105be57600080fd5b506105fd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061117a565b604051808215151515815260200191505060405180910390f35b34801561062357600080fd5b50610678600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611283565b6040518082815260200191505060405180910390f35b6040805190810160405280601681526020017f44756d6d7920446967697820476f6c6420546f6b656e0000000000000000000081525081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663779b742c3385856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156107c157600080fd5b505af11580156107d5573d6000803e3d6000fd5b505050506040513d60208110156107eb57600080fd5b8101908080519060200190929190505050905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166357e7946f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561088b57600080fd5b505af115801561089f573d6000803e3d6000fd5b505050506040513d60208110156108b557600080fd5b8101908080519060200190929190505050905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166392846ab68585338660016040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018215151515815260200195505050505050602060405180830381600087803b158015610a0657600080fd5b505af1158015610a1a573d6000803e3d6000fd5b505050506040513d6020811015610a3057600080fd5b810190808051906020019092919050505090509392505050565b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663493f8d306040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401608060405180830381600087803b158015610ad557600080fd5b505af1158015610ae9573d6000803e3d6000fd5b505050506040513d6080811015610aff57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050508094508195508296508397505050505090919293565b600981565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166376cab952836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610c0757600080fd5b505af1158015610c1b573d6000803e3d6000fd5b505050506040513d6020811015610c3157600080fd5b81019080805190602001909291905050509050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ca757600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630ca9f65c8585856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183151515158152602001821515151581526020019350505050602060405180830381600087803b158015610d7b57600080fd5b505af1158015610d8f573d6000803e3d6000fd5b505050506040513d6020811015610da557600080fd5b810190808051906020019092919050505090509392505050565b6040805190810160405280600881526020017f44756d6d7944475800000000000000000000000000000000000000000000000081525081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166392846ab6338560008660006040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018215151515815260200195505050505050602060405180830381600087803b158015610f1e57600080fd5b505af1158015610f32573d6000803e3d6000fd5b505050506040513d6020811015610f4857600080fd5b8101908080519060200190929190505050905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635722b67f84846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561102757600080fd5b505af115801561103b573d6000803e3d6000fd5b505050506040513d602081101561105157600080fd5b8101908080519060200190929190505050905092915050565b60006110768484610df8565b508373ffffffffffffffffffffffffffffffffffffffff16638397cc943385856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182600019166000191681526020019350505050602060405180830381600087803b15801561112a57600080fd5b505af115801561113e573d6000803e3d6000fd5b505050506040513d602081101561115457600080fd5b8101908080519060200190929190505050905080151561117357600080fd5b9392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1ed956b84846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561124057600080fd5b505af1158015611254573d6000803e3d6000fd5b505050506040513d602081101561126a57600080fd5b8101908080519060200190929190505050905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d28b43f484846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b505050506040513d602081101561139f57600080fd5b81019080805190602001909291905050509050929150505600a165627a7a723058204d14cb96daf1910b5fab6528f1d7a540c9b2afdaa8f8ffd27e4490079d2a1ab10029", + "deployedBytecode": "0x6080604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100d5578063095ea7b31461016557806318160ddd146101ca57806323b872dd146101f5578063293f9a9c1461027a578063313ce567146102ea57806370a082311461031b5780638583e8231461037257806395d89b41146103e5578063a9059cbb14610475578063b59a7796146104da578063b9570c011461053f578063bb2e807a146105b2578063dd62ed3e14610617575b600080fd5b3480156100e157600080fd5b506100ea61068e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012a57808201518184015260208101905061010f565b50505050905090810190601f1680156101575780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017157600080fd5b506101b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106c7565b604051808215151515815260200191505060405180910390f35b3480156101d657600080fd5b506101df610804565b6040518082815260200191505060405180910390f35b34801561020157600080fd5b50610260600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108cb565b604051808215151515815260200191505060405180910390f35b34801561028657600080fd5b5061028f610a4a565b604051808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200194505050505060405180910390f35b3480156102f657600080fd5b506102ff610b44565b604051808260ff1660ff16815260200191505060405180910390f35b34801561032757600080fd5b5061035c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b49565b6040518082815260200191505060405180910390f35b34801561037e57600080fd5b506103cb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190803515159060200190929190505050610c49565b604051808215151515815260200191505060405180910390f35b3480156103f157600080fd5b506103fa610dbf565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561043a57808201518184015260208101905061041f565b50505050905090810190601f1680156104675780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561048157600080fd5b506104c0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610df8565b604051808215151515815260200191505060405180910390f35b3480156104e657600080fd5b50610525600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f61565b604051808215151515815260200191505060405180910390f35b34801561054b57600080fd5b50610598600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803560001916906020019092919050505061106a565b604051808215151515815260200191505060405180910390f35b3480156105be57600080fd5b506105fd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061117a565b604051808215151515815260200191505060405180910390f35b34801561062357600080fd5b50610678600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611283565b6040518082815260200191505060405180910390f35b6040805190810160405280601681526020017f44756d6d7920446967697820476f6c6420546f6b656e0000000000000000000081525081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663779b742c3385856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156107c157600080fd5b505af11580156107d5573d6000803e3d6000fd5b505050506040513d60208110156107eb57600080fd5b8101908080519060200190929190505050905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166357e7946f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561088b57600080fd5b505af115801561089f573d6000803e3d6000fd5b505050506040513d60208110156108b557600080fd5b8101908080519060200190929190505050905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166392846ab68585338660016040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018215151515815260200195505050505050602060405180830381600087803b158015610a0657600080fd5b505af1158015610a1a573d6000803e3d6000fd5b505050506040513d6020811015610a3057600080fd5b810190808051906020019092919050505090509392505050565b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663493f8d306040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401608060405180830381600087803b158015610ad557600080fd5b505af1158015610ae9573d6000803e3d6000fd5b505050506040513d6080811015610aff57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050508094508195508296508397505050505090919293565b600981565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166376cab952836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610c0757600080fd5b505af1158015610c1b573d6000803e3d6000fd5b505050506040513d6020811015610c3157600080fd5b81019080805190602001909291905050509050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ca757600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630ca9f65c8585856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183151515158152602001821515151581526020019350505050602060405180830381600087803b158015610d7b57600080fd5b505af1158015610d8f573d6000803e3d6000fd5b505050506040513d6020811015610da557600080fd5b810190808051906020019092919050505090509392505050565b6040805190810160405280600881526020017f44756d6d7944475800000000000000000000000000000000000000000000000081525081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166392846ab6338560008660006040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018215151515815260200195505050505050602060405180830381600087803b158015610f1e57600080fd5b505af1158015610f32573d6000803e3d6000fd5b505050506040513d6020811015610f4857600080fd5b8101908080519060200190929190505050905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635722b67f84846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561102757600080fd5b505af115801561103b573d6000803e3d6000fd5b505050506040513d602081101561105157600080fd5b8101908080519060200190929190505050905092915050565b60006110768484610df8565b508373ffffffffffffffffffffffffffffffffffffffff16638397cc943385856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182600019166000191681526020019350505050602060405180830381600087803b15801561112a57600080fd5b505af115801561113e573d6000803e3d6000fd5b505050506040513d602081101561115457600080fd5b8101908080519060200190929190505050905080151561117357600080fd5b9392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1ed956b84846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561124057600080fd5b505af1158015611254573d6000803e3d6000fd5b505050506040513d602081101561126a57600080fd5b8101908080519060200190929190505050905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d28b43f484846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b505050506040513d602081101561139f57600080fd5b81019080805190602001909291905050509050929150505600a165627a7a723058204d14cb96daf1910b5fab6528f1d7a540c9b2afdaa8f8ffd27e4490079d2a1ab10029", + "sourceMap": "59:3290:69:-;;;279:149;8:9:-1;5:2;;;30:1;27;20:12;5:2;279:149:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;378:16;356:19;;:38;;;;;;;;;;;;;;;;;;413:10;400;;:23;;;;;;;;;;;;;;;;;;279:149;;59:3290;;;;;;", + "deployedSourceMap": "59:3290:69:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;136:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;136:54:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;136:54:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1586:192;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1586:192:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;512:166;;8:9:-1;5:2;;;30:1;27;20:12;5:2;512:166:69;;;;;;;;;;;;;;;;;;;;;;;1068:232;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1068:232:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2316:305;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2316:305:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;240:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;240:34:69;;;;;;;;;;;;;;;;;;;;;;;;;;;682:182;;8:9:-1;5:2;;;30:1;27;20:12;5:2;682:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1991:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1991:321:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;194:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;194:42:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;194:42:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;868:196;;8:9:-1;5:2;;;30:1;27;20:12;5:2;868:196:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3142:205;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3142:205:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1304:278;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1304:278:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2830:178;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2830:178:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1782:205;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1782:205:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;136:54;;;;;;;;;;;;;;;;;;;;:::o;1586:192::-;1661:13;1711:19;;;;;;;;;;;1695:48;;;1744:10;1756:8;1766:6;1695:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1695:78:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1695:78:69;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1695:78:69;;;;;;;;;;;;;;;;1684:89;;1586:192;;;;:::o;512:166::-;572:20;633:19;;;;;;;;;;;617:54;;;:56;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;617:56:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;617:56:69;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;617:56:69;;;;;;;;;;;;;;;;602:71;;512:166;:::o;1068:232::-;1174:13;1224:19;;;;;;;;;;;1208:49;;;1258:5;1265:3;1270:10;1282:6;1290:4;1208:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1208:87:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1208:87:69;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1208:87:69;;;;;;;;;;;;;;;;1197:98;;1068:232;;;;;:::o;2316:305::-;2392:13;2413;2434:18;2460:22;2561:19;;;;;;;;;;;2545:69;;;:71;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2545:71:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2545:71:69;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2545:71:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2497:119;;;;;;;;;;;;;;;;2316:305;;;;:::o;240:34::-;273:1;240:34;:::o;682:182::-;754:16;807:19;;;;;;;;;;;791:60;;;852:6;791:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;791:68:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;791:68:69;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;791:68:69;;;;;;;;;;;;;;;;780:79;;682:182;;;:::o;1991:321::-;2144:13;485:10;;;;;;;;;;;471:24;;:10;:24;;;463:33;;;;;;;;2194:19;;;;;;;;;;;2178:61;;;2247:5;2260:17;2285:16;2178:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2178:129:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2178:129:69;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2178:129:69;;;;;;;;;;;;;;;;2167:140;;1991:321;;;;;:::o;194:42::-;;;;;;;;;;;;;;;;;;;;:::o;868:196::-;939:13;989:19;;;;;;;;;;;973:49;;;1023:10;1035:3;1040;1045:6;1053:5;973:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;973:86:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;973:86:69;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;973:86:69;;;;;;;;;;;;;;;;962:97;;868:196;;;;:::o;3142:205::-;3230:13;3280:19;;;;;;;;;;;3264:61;;;3326:3;3331:10;3264:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3264:78:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3264:78:69;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3264:78:69;;;;;;;;;;;;;;;;3253:89;;3142:205;;;;:::o;1304:278::-;1420:13;1443:28;1452:9;1463:7;1443:8;:28::i;:::-;;1502:9;1488:38;;;1527:10;1539:7;1548:5;1488:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1488:66:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1488:66:69;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1488:66:69;;;;;;;;;;;;;;;;1477:77;;1568:8;1560:17;;;;;;;;1304:278;;;;;:::o;2830:178::-;2905:13;2955:19;;;;;;;;;;;2939:49;;;2989:4;2995:7;2939:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2939:64:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2939:64:69;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2939:64:69;;;;;;;;;;;;;;;;2928:75;;2830:178;;;;:::o;1782:205::-;1872:18;1929:19;;;;;;;;;;;1913:51;;;1965:6;1973:8;1913:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1913:69:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1913:69:69;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1913:69:69;;;;;;;;;;;;;;;;1900:82;;1782:205;;;;:::o", + "source": "pragma solidity ^0.4.23;\n\nimport \"./DummyDGXStorage.sol\";\n\ncontract DummyDGX {\n\n address DGX_STORAGE_ADDRESS;\n address FEES_ADMIN;\n\n string public constant name = \"Dummy Digix Gold Token\";\n string public constant symbol = \"DummyDGX\";\n uint8 public constant decimals = 9;\n\n constructor(address _dummyDGXStorage, address _feesAdmin)\n public\n {\n DGX_STORAGE_ADDRESS = _dummyDGXStorage;\n FEES_ADMIN = _feesAdmin;\n }\n\n modifier if_fees_admin() {\n require(msg.sender == FEES_ADMIN);\n _;\n }\n\n function totalSupply()\n public\n constant\n returns (uint256 _totalSupply)\n {\n _totalSupply = DummyDGXStorage(DGX_STORAGE_ADDRESS).read_total_supply();\n }\n\n function balanceOf(address _owner)\n public\n constant\n returns (uint256 _balance)\n {\n _balance = DummyDGXStorage(DGX_STORAGE_ADDRESS).show_demurraged_balance(_owner);\n }\n\n function transfer(address _to, uint256 _value)\n public\n returns (bool _success)\n {\n _success = DummyDGXStorage(DGX_STORAGE_ADDRESS).put_transfer(msg.sender, _to, 0x0, _value, false);\n }\n\n function transferFrom(\n address _from,\n address _to,\n uint256 _value\n )\n public\n returns (bool _success)\n {\n _success = DummyDGXStorage(DGX_STORAGE_ADDRESS).put_transfer(_from, _to, msg.sender, _value, true);\n }\n\n function transferAndCall(\n address _receiver,\n uint256 _amount,\n bytes32 _data\n )\n public\n returns (bool _success)\n {\n transfer(_receiver, _amount);\n _success = TokenReceiver(_receiver).tokenFallback(msg.sender, _amount, _data);\n require(_success);\n }\n\n function approve(address _spender, uint256 _value)\n public\n returns (bool _success)\n {\n _success = DummyDGXStorage(DGX_STORAGE_ADDRESS).put_approve(msg.sender, _spender, _value);\n }\n\n function allowance(address _owner, address _spender)\n public\n constant\n returns (uint256 _allowance)\n {\n _allowance = DummyDGXStorage(DGX_STORAGE_ADDRESS).read_allowance(_owner, _spender);\n }\n\n function updateUserFeesConfigs(\n address _user,\n bool _no_demurrage_fee,\n bool _no_transfer_fee\n )\n public\n if_fees_admin()\n returns (bool _success)\n {\n _success = DummyDGXStorage(DGX_STORAGE_ADDRESS).update_user_fees_configs(\n _user,\n _no_demurrage_fee,\n _no_transfer_fee\n );\n }\n\n function showDemurrageConfigs()\n public\n constant\n returns (\n uint256 _base,\n uint256 _rate,\n address _collector,\n bool _no_demurrage_fee\n )\n {\n (_base, _rate, _collector, _no_demurrage_fee) = DummyDGXStorage(DGX_STORAGE_ADDRESS).read_demurrage_config_underlying();\n }\n\n ////////////////////////////// MOCK FUNCTIONS ///////////////////////////////\n\n // This function is not present in the DGX2.0 token contracts.\n // For test purpose, only used to bypass the POP process\n function mintDgxFor(address _for, uint256 _amount)\n public\n returns (bool _success)\n {\n _success = DummyDGXStorage(DGX_STORAGE_ADDRESS).mint_dgx_for(_for, _amount);\n }\n\n // This function is not present in the DGX2.0 token contracts.\n // For test purpose, only used to simulate demurrage deduction\n function modifyLastPaymentDate(address _of, uint256 _byMinutes)\n public\n returns (bool _success)\n {\n _success = DummyDGXStorage(DGX_STORAGE_ADDRESS).modify_last_payment_date(_of, _byMinutes);\n }\n}\n", + "sourcePath": "@digix/lite-dgx-contract/contracts/DummyDGX.sol", + "ast": { + "absolutePath": "@digix/lite-dgx-contract/contracts/DummyDGX.sol", + "exportedSymbols": { + "DummyDGX": [ + 20040 + ] + }, + "id": 20041, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 19753, + "literals": [ + "solidity", + "^", + "0.4", + ".23" + ], + "nodeType": "PragmaDirective", + "src": "0:24:69" + }, + { + "absolutePath": "@digix/lite-dgx-contract/contracts/DummyDGXStorage.sol", + "file": "./DummyDGXStorage.sol", + "id": 19754, + "nodeType": "ImportDirective", + "scope": 20041, + "sourceUnit": 21623, + "src": "26:31:69", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 20040, + "linearizedBaseContracts": [ + 20040 + ], + "name": "DummyDGX", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 19756, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "VariableDeclaration", + "scope": 20040, + "src": "82:27:69", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19755, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "82:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19758, + "name": "FEES_ADMIN", + "nodeType": "VariableDeclaration", + "scope": 20040, + "src": "113:18:69", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19757, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "113:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": true, + "id": 19761, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 20040, + "src": "136:54:69", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string" + }, + "typeName": { + "id": 19759, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "136:6:69", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "44756d6d7920446967697820476f6c6420546f6b656e", + "id": 19760, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "166:24:69", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_15813540638b840667b2835dd9d83cd7d59d4b11fd709c5ccd70287cba43de8a", + "typeString": "literal_string \"Dummy Digix Gold Token\"" + }, + "value": "Dummy Digix Gold Token" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 19764, + "name": "symbol", + "nodeType": "VariableDeclaration", + "scope": 20040, + "src": "194:42:69", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string" + }, + "typeName": { + "id": 19762, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "194:6:69", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "44756d6d79444758", + "id": 19763, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "226:10:69", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9a7e43f3f63475b930e79b1abd673f82851749645bc45d7620322df60d52114f", + "typeString": "literal_string \"DummyDGX\"" + }, + "value": "DummyDGX" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 19767, + "name": "decimals", + "nodeType": "VariableDeclaration", + "scope": 20040, + "src": "240:34:69", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 19765, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "240:5:69", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "39", + "id": 19766, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "273:1:69", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "9" + }, + "visibility": "public" + }, + { + "body": { + "id": 19782, + "nodeType": "Block", + "src": "350:78:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19774, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19756, + "src": "356:19:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 19775, + "name": "_dummyDGXStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19769, + "src": "378:16:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "356:38:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 19777, + "nodeType": "ExpressionStatement", + "src": "356:38:69" + }, + { + "expression": { + "argumentTypes": null, + "id": 19780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19778, + "name": "FEES_ADMIN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19758, + "src": "400:10:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 19779, + "name": "_feesAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19771, + "src": "413:10:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "400:23:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 19781, + "nodeType": "ExpressionStatement", + "src": "400:23:69" + } + ] + }, + "documentation": null, + "id": 19783, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19772, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19769, + "name": "_dummyDGXStorage", + "nodeType": "VariableDeclaration", + "scope": 19783, + "src": "291:24:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19768, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "291:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19771, + "name": "_feesAdmin", + "nodeType": "VariableDeclaration", + "scope": 19783, + "src": "317:18:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19770, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "317:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "290:46:69" + }, + "payable": false, + "returnParameters": { + "id": 19773, + "nodeType": "ParameterList", + "parameters": [], + "src": "350:0:69" + }, + "scope": 20040, + "src": "279:149:69", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19793, + "nodeType": "Block", + "src": "457:51:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 19789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19786, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "471:3:69", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 19787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "471:10:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 19788, + "name": "FEES_ADMIN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19758, + "src": "485:10:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "471:24:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 19785, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "463:7:69", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 19790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "463:33:69", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19791, + "nodeType": "ExpressionStatement", + "src": "463:33:69" + }, + { + "id": 19792, + "nodeType": "PlaceholderStatement", + "src": "502:1:69" + } + ] + }, + "documentation": null, + "id": 19794, + "name": "if_fees_admin", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 19784, + "nodeType": "ParameterList", + "parameters": [], + "src": "454:2:69" + }, + "src": "432:76:69", + "visibility": "internal" + }, + { + "body": { + "id": 19807, + "nodeType": "Block", + "src": "596:82:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19799, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19797, + "src": "602:12:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19801, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19756, + "src": "633:19:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19800, + "name": "DummyDGXStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21622, + "src": "617:15:69", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGXStorage_$21622_$", + "typeString": "type(contract DummyDGXStorage)" + } + }, + "id": 19802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "617:36:69", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGXStorage_$21622", + "typeString": "contract DummyDGXStorage" + } + }, + "id": 19803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "read_total_supply", + "nodeType": "MemberAccess", + "referencedDeclaration": 20497, + "src": "617:54:69", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 19804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "617:56:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "602:71:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19806, + "nodeType": "ExpressionStatement", + "src": "602:71:69" + } + ] + }, + "documentation": null, + "id": 19808, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19795, + "nodeType": "ParameterList", + "parameters": [], + "src": "532:2:69" + }, + "payable": false, + "returnParameters": { + "id": 19798, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19797, + "name": "_totalSupply", + "nodeType": "VariableDeclaration", + "scope": 19808, + "src": "572:20:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19796, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "572:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "571:22:69" + }, + "scope": 20040, + "src": "512:166:69", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19824, + "nodeType": "Block", + "src": "774:90:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19815, + "name": "_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19813, + "src": "780:8:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19820, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19810, + "src": "852:6:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19817, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19756, + "src": "807:19:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19816, + "name": "DummyDGXStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21622, + "src": "791:15:69", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGXStorage_$21622_$", + "typeString": "type(contract DummyDGXStorage)" + } + }, + "id": 19818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "791:36:69", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGXStorage_$21622", + "typeString": "contract DummyDGXStorage" + } + }, + "id": 19819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "show_demurraged_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20577, + "src": "791:60:69", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 19821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "791:68:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "780:79:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19823, + "nodeType": "ExpressionStatement", + "src": "780:79:69" + } + ] + }, + "documentation": null, + "id": 19825, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19811, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19810, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 19825, + "src": "701:14:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19809, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "701:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "700:16:69" + }, + "payable": false, + "returnParameters": { + "id": 19814, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19813, + "name": "_balance", + "nodeType": "VariableDeclaration", + "scope": 19825, + "src": "754:16:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19812, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "754:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "753:18:69" + }, + "scope": 20040, + "src": "682:182:69", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19848, + "nodeType": "Block", + "src": "956:108:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19834, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19832, + "src": "962:8:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19839, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1023:3:69", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 19840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1023:10:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 19841, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19827, + "src": "1035:3:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "hexValue": "307830", + "id": 19842, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1040:3:69", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + { + "argumentTypes": null, + "id": 19843, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19829, + "src": "1045:6:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 19844, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1053:5:69", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19836, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19756, + "src": "989:19:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19835, + "name": "DummyDGXStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21622, + "src": "973:15:69", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGXStorage_$21622_$", + "typeString": "type(contract DummyDGXStorage)" + } + }, + "id": 19837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "973:36:69", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGXStorage_$21622", + "typeString": "contract DummyDGXStorage" + } + }, + "id": 19838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "put_transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 20817, + "src": "973:49:69", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$_t_bool_$", + "typeString": "function (address,address,address,uint256,bool) external returns (bool)" + } + }, + "id": 19845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "973:86:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "962:97:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19847, + "nodeType": "ExpressionStatement", + "src": "962:97:69" + } + ] + }, + "documentation": null, + "id": 19849, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19830, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19827, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 19849, + "src": "886:11:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19826, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "886:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19829, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 19849, + "src": "899:14:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19828, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "899:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "885:29:69" + }, + "payable": false, + "returnParameters": { + "id": 19833, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19832, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 19849, + "src": "939:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19831, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "939:4:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "938:15:69" + }, + "scope": 20040, + "src": "868:196:69", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19874, + "nodeType": "Block", + "src": "1191:109:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19860, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19858, + "src": "1197:8:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19865, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19851, + "src": "1258:5:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 19866, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19853, + "src": "1265:3:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19867, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1270:3:69", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 19868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1270:10:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 19869, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19855, + "src": "1282:6:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 19870, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1290:4:69", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19862, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19756, + "src": "1224:19:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19861, + "name": "DummyDGXStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21622, + "src": "1208:15:69", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGXStorage_$21622_$", + "typeString": "type(contract DummyDGXStorage)" + } + }, + "id": 19863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1208:36:69", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGXStorage_$21622", + "typeString": "contract DummyDGXStorage" + } + }, + "id": 19864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "put_transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 20817, + "src": "1208:49:69", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$_t_bool_$", + "typeString": "function (address,address,address,uint256,bool) external returns (bool)" + } + }, + "id": 19871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1208:87:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1197:98:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19873, + "nodeType": "ExpressionStatement", + "src": "1197:98:69" + } + ] + }, + "documentation": null, + "id": 19875, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19856, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19851, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 19875, + "src": "1095:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19850, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1095:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19853, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 19875, + "src": "1114:11:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19852, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1114:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19855, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 19875, + "src": "1131:14:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19854, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1131:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1089:60:69" + }, + "payable": false, + "returnParameters": { + "id": 19859, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19858, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 19875, + "src": "1174:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19857, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1174:4:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1173:15:69" + }, + "scope": 20040, + "src": "1068:232:69", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19907, + "nodeType": "Block", + "src": "1437:145:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19887, + "name": "_receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19877, + "src": "1452:9:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 19888, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19879, + "src": "1463:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 19886, + "name": "transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19849, + "src": "1443:8:69", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 19889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1443:28:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19890, + "nodeType": "ExpressionStatement", + "src": "1443:28:69" + }, + { + "expression": { + "argumentTypes": null, + "id": 19901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19891, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19884, + "src": "1477:8:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19896, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1527:3:69", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 19897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1527:10:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 19898, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19879, + "src": "1539:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 19899, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19881, + "src": "1548:5:69", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19893, + "name": "_receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19877, + "src": "1502:9:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19892, + "name": "TokenReceiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21636, + "src": "1488:13:69", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_TokenReceiver_$21636_$", + "typeString": "type(contract TokenReceiver)" + } + }, + "id": 19894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1488:24:69", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TokenReceiver_$21636", + "typeString": "contract TokenReceiver" + } + }, + "id": 19895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenFallback", + "nodeType": "MemberAccess", + "referencedDeclaration": 21635, + "src": "1488:38:69", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (address,uint256,bytes32) external returns (bool)" + } + }, + "id": 19900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1488:66:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1477:77:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19902, + "nodeType": "ExpressionStatement", + "src": "1477:77:69" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19904, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19884, + "src": "1568:8:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 19903, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1560:7:69", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 19905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1560:17:69", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19906, + "nodeType": "ExpressionStatement", + "src": "1560:17:69" + } + ] + }, + "documentation": null, + "id": 19908, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferAndCall", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19882, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19877, + "name": "_receiver", + "nodeType": "VariableDeclaration", + "scope": 19908, + "src": "1334:17:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19876, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1334:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19879, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 19908, + "src": "1357:15:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19878, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1357:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19881, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 19908, + "src": "1378:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19880, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1378:7:69", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1328:67:69" + }, + "payable": false, + "returnParameters": { + "id": 19885, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19884, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 19908, + "src": "1420:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19883, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1420:4:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1419:15:69" + }, + "scope": 20040, + "src": "1304:278:69", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19929, + "nodeType": "Block", + "src": "1678:100:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19917, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19915, + "src": "1684:8:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19922, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1744:3:69", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 19923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1744:10:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 19924, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19910, + "src": "1756:8:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 19925, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19912, + "src": "1766:6:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19919, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19756, + "src": "1711:19:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19918, + "name": "DummyDGXStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21622, + "src": "1695:15:69", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGXStorage_$21622_$", + "typeString": "type(contract DummyDGXStorage)" + } + }, + "id": 19920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1695:36:69", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGXStorage_$21622", + "typeString": "contract DummyDGXStorage" + } + }, + "id": 19921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "put_approve", + "nodeType": "MemberAccess", + "referencedDeclaration": 20876, + "src": "1695:48:69", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 19926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1695:78:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1684:89:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19928, + "nodeType": "ExpressionStatement", + "src": "1684:89:69" + } + ] + }, + "documentation": null, + "id": 19930, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19913, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19910, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 19930, + "src": "1603:16:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19909, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1603:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19912, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 19930, + "src": "1621:14:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19911, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1621:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1602:34:69" + }, + "payable": false, + "returnParameters": { + "id": 19916, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19915, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 19930, + "src": "1661:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19914, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1661:4:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1660:15:69" + }, + "scope": 20040, + "src": "1586:192:69", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19949, + "nodeType": "Block", + "src": "1894:93:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19939, + "name": "_allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19937, + "src": "1900:10:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19944, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19932, + "src": "1965:6:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 19945, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19934, + "src": "1973:8:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19941, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19756, + "src": "1929:19:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19940, + "name": "DummyDGXStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21622, + "src": "1913:15:69", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGXStorage_$21622_$", + "typeString": "type(contract DummyDGXStorage)" + } + }, + "id": 19942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1913:36:69", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGXStorage_$21622", + "typeString": "contract DummyDGXStorage" + } + }, + "id": 19943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "read_allowance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20518, + "src": "1913:51:69", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view external returns (uint256)" + } + }, + "id": 19946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1913:69:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1900:82:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19948, + "nodeType": "ExpressionStatement", + "src": "1900:82:69" + } + ] + }, + "documentation": null, + "id": 19950, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19935, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19932, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 19950, + "src": "1801:14:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19931, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1801:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19934, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 19950, + "src": "1817:16:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19933, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1817:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1800:34:69" + }, + "payable": false, + "returnParameters": { + "id": 19938, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19937, + "name": "_allowance", + "nodeType": "VariableDeclaration", + "scope": 19950, + "src": "1872:18:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19936, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1872:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1871:20:69" + }, + "scope": 20040, + "src": "1782:205:69", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19974, + "nodeType": "Block", + "src": "2161:151:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19963, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19961, + "src": "2167:8:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19968, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19952, + "src": "2247:5:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 19969, + "name": "_no_demurrage_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19954, + "src": "2260:17:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 19970, + "name": "_no_transfer_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19956, + "src": "2285:16:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19965, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19756, + "src": "2194:19:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19964, + "name": "DummyDGXStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21622, + "src": "2178:15:69", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGXStorage_$21622_$", + "typeString": "type(contract DummyDGXStorage)" + } + }, + "id": 19966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2178:36:69", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGXStorage_$21622", + "typeString": "contract DummyDGXStorage" + } + }, + "id": 19967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "update_user_fees_configs", + "nodeType": "MemberAccess", + "referencedDeclaration": 20914, + "src": "2178:61:69", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bool_$_t_bool_$returns$_t_bool_$", + "typeString": "function (address,bool,bool) external returns (bool)" + } + }, + "id": 19971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2178:129:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2167:140:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19973, + "nodeType": "ExpressionStatement", + "src": "2167:140:69" + } + ] + }, + "documentation": null, + "id": 19975, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 19959, + "modifierName": { + "argumentTypes": null, + "id": 19958, + "name": "if_fees_admin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19794, + "src": "2115:13:69", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2115:15:69" + } + ], + "name": "updateUserFeesConfigs", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19957, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19952, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 19975, + "src": "2027:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19951, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2027:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19954, + "name": "_no_demurrage_fee", + "nodeType": "VariableDeclaration", + "scope": 19975, + "src": "2046:22:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19953, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2046:4:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19956, + "name": "_no_transfer_fee", + "nodeType": "VariableDeclaration", + "scope": 19975, + "src": "2074:21:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19955, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2074:4:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2021:78:69" + }, + "payable": false, + "returnParameters": { + "id": 19962, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19961, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 19975, + "src": "2144:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19960, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2144:4:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2143:15:69" + }, + "scope": 20040, + "src": "1991:321:69", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19998, + "nodeType": "Block", + "src": "2491:130:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 19986, + "name": "_base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19978, + "src": "2498:5:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 19987, + "name": "_rate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19980, + "src": "2505:5:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 19988, + "name": "_collector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19982, + "src": "2512:10:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 19989, + "name": "_no_demurrage_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19984, + "src": "2524:17:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 19990, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "2497:45:69", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_address_$_t_bool_$", + "typeString": "tuple(uint256,uint256,address,bool)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19992, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19756, + "src": "2561:19:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19991, + "name": "DummyDGXStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21622, + "src": "2545:15:69", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGXStorage_$21622_$", + "typeString": "type(contract DummyDGXStorage)" + } + }, + "id": 19993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2545:36:69", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGXStorage_$21622", + "typeString": "contract DummyDGXStorage" + } + }, + "id": 19994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "read_demurrage_config_underlying", + "nodeType": "MemberAccess", + "referencedDeclaration": 20354, + "src": "2545:69:69", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$_t_uint256_$_t_address_$_t_bool_$", + "typeString": "function () view external returns (uint256,uint256,address,bool)" + } + }, + "id": 19995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2545:71:69", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_address_$_t_bool_$", + "typeString": "tuple(uint256,uint256,address,bool)" + } + }, + "src": "2497:119:69", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19997, + "nodeType": "ExpressionStatement", + "src": "2497:119:69" + } + ] + }, + "documentation": null, + "id": 19999, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "showDemurrageConfigs", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19976, + "nodeType": "ParameterList", + "parameters": [], + "src": "2345:2:69" + }, + "payable": false, + "returnParameters": { + "id": 19985, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19978, + "name": "_base", + "nodeType": "VariableDeclaration", + "scope": 19999, + "src": "2392:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19977, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2392:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19980, + "name": "_rate", + "nodeType": "VariableDeclaration", + "scope": 19999, + "src": "2413:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19979, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2413:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19982, + "name": "_collector", + "nodeType": "VariableDeclaration", + "scope": 19999, + "src": "2434:18:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19981, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2434:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19984, + "name": "_no_demurrage_fee", + "nodeType": "VariableDeclaration", + "scope": 19999, + "src": "2460:22:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19983, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2460:4:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2384:104:69" + }, + "scope": 20040, + "src": "2316:305:69", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20018, + "nodeType": "Block", + "src": "2922:86:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20008, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20006, + "src": "2928:8:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20013, + "name": "_for", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20001, + "src": "2989:4:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 20014, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20003, + "src": "2995:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20010, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19756, + "src": "2955:19:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 20009, + "name": "DummyDGXStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21622, + "src": "2939:15:69", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGXStorage_$21622_$", + "typeString": "type(contract DummyDGXStorage)" + } + }, + "id": 20011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2939:36:69", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGXStorage_$21622", + "typeString": "contract DummyDGXStorage" + } + }, + "id": 20012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mint_dgx_for", + "nodeType": "MemberAccess", + "referencedDeclaration": 20946, + "src": "2939:49:69", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 20015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2939:64:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2928:75:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20017, + "nodeType": "ExpressionStatement", + "src": "2928:75:69" + } + ] + }, + "documentation": "/////////////////////////// MOCK FUNCTIONS ///////////////////////////////", + "id": 20019, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mintDgxFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20004, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20001, + "name": "_for", + "nodeType": "VariableDeclaration", + "scope": 20019, + "src": "2850:12:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20000, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2850:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20003, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 20019, + "src": "2864:15:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20002, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2864:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2849:31:69" + }, + "payable": false, + "returnParameters": { + "id": 20007, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20006, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 20019, + "src": "2905:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20005, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2905:4:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2904:15:69" + }, + "scope": 20040, + "src": "2830:178:69", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20038, + "nodeType": "Block", + "src": "3247:100:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20028, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20026, + "src": "3253:8:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20033, + "name": "_of", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20021, + "src": "3326:3:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 20034, + "name": "_byMinutes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20023, + "src": "3331:10:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20030, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19756, + "src": "3280:19:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 20029, + "name": "DummyDGXStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21622, + "src": "3264:15:69", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGXStorage_$21622_$", + "typeString": "type(contract DummyDGXStorage)" + } + }, + "id": 20031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3264:36:69", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGXStorage_$21622", + "typeString": "contract DummyDGXStorage" + } + }, + "id": 20032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "modify_last_payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 20977, + "src": "3264:61:69", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 20035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3264:78:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3253:89:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20037, + "nodeType": "ExpressionStatement", + "src": "3253:89:69" + } + ] + }, + "documentation": null, + "id": 20039, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "modifyLastPaymentDate", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20024, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20021, + "name": "_of", + "nodeType": "VariableDeclaration", + "scope": 20039, + "src": "3173:11:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20020, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3173:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20023, + "name": "_byMinutes", + "nodeType": "VariableDeclaration", + "scope": 20039, + "src": "3186:18:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20022, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3186:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3172:33:69" + }, + "payable": false, + "returnParameters": { + "id": 20027, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20026, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 20039, + "src": "3230:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20025, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3230:4:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3229:15:69" + }, + "scope": 20040, + "src": "3142:205:69", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 20041, + "src": "59:3290:69" + } + ], + "src": "0:3350:69" + }, + "legacyAST": { + "absolutePath": "@digix/lite-dgx-contract/contracts/DummyDGX.sol", + "exportedSymbols": { + "DummyDGX": [ + 20040 + ] + }, + "id": 20041, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 19753, + "literals": [ + "solidity", + "^", + "0.4", + ".23" + ], + "nodeType": "PragmaDirective", + "src": "0:24:69" + }, + { + "absolutePath": "@digix/lite-dgx-contract/contracts/DummyDGXStorage.sol", + "file": "./DummyDGXStorage.sol", + "id": 19754, + "nodeType": "ImportDirective", + "scope": 20041, + "sourceUnit": 21623, + "src": "26:31:69", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 20040, + "linearizedBaseContracts": [ + 20040 + ], + "name": "DummyDGX", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 19756, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "VariableDeclaration", + "scope": 20040, + "src": "82:27:69", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19755, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "82:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19758, + "name": "FEES_ADMIN", + "nodeType": "VariableDeclaration", + "scope": 20040, + "src": "113:18:69", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19757, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "113:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": true, + "id": 19761, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 20040, + "src": "136:54:69", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string" + }, + "typeName": { + "id": 19759, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "136:6:69", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "44756d6d7920446967697820476f6c6420546f6b656e", + "id": 19760, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "166:24:69", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_15813540638b840667b2835dd9d83cd7d59d4b11fd709c5ccd70287cba43de8a", + "typeString": "literal_string \"Dummy Digix Gold Token\"" + }, + "value": "Dummy Digix Gold Token" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 19764, + "name": "symbol", + "nodeType": "VariableDeclaration", + "scope": 20040, + "src": "194:42:69", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string" + }, + "typeName": { + "id": 19762, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "194:6:69", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "44756d6d79444758", + "id": 19763, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "226:10:69", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9a7e43f3f63475b930e79b1abd673f82851749645bc45d7620322df60d52114f", + "typeString": "literal_string \"DummyDGX\"" + }, + "value": "DummyDGX" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 19767, + "name": "decimals", + "nodeType": "VariableDeclaration", + "scope": 20040, + "src": "240:34:69", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 19765, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "240:5:69", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "39", + "id": 19766, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "273:1:69", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "9" + }, + "visibility": "public" + }, + { + "body": { + "id": 19782, + "nodeType": "Block", + "src": "350:78:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19774, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19756, + "src": "356:19:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 19775, + "name": "_dummyDGXStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19769, + "src": "378:16:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "356:38:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 19777, + "nodeType": "ExpressionStatement", + "src": "356:38:69" + }, + { + "expression": { + "argumentTypes": null, + "id": 19780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19778, + "name": "FEES_ADMIN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19758, + "src": "400:10:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 19779, + "name": "_feesAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19771, + "src": "413:10:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "400:23:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 19781, + "nodeType": "ExpressionStatement", + "src": "400:23:69" + } + ] + }, + "documentation": null, + "id": 19783, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19772, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19769, + "name": "_dummyDGXStorage", + "nodeType": "VariableDeclaration", + "scope": 19783, + "src": "291:24:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19768, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "291:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19771, + "name": "_feesAdmin", + "nodeType": "VariableDeclaration", + "scope": 19783, + "src": "317:18:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19770, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "317:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "290:46:69" + }, + "payable": false, + "returnParameters": { + "id": 19773, + "nodeType": "ParameterList", + "parameters": [], + "src": "350:0:69" + }, + "scope": 20040, + "src": "279:149:69", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19793, + "nodeType": "Block", + "src": "457:51:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 19789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19786, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "471:3:69", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 19787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "471:10:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 19788, + "name": "FEES_ADMIN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19758, + "src": "485:10:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "471:24:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 19785, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "463:7:69", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 19790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "463:33:69", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19791, + "nodeType": "ExpressionStatement", + "src": "463:33:69" + }, + { + "id": 19792, + "nodeType": "PlaceholderStatement", + "src": "502:1:69" + } + ] + }, + "documentation": null, + "id": 19794, + "name": "if_fees_admin", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 19784, + "nodeType": "ParameterList", + "parameters": [], + "src": "454:2:69" + }, + "src": "432:76:69", + "visibility": "internal" + }, + { + "body": { + "id": 19807, + "nodeType": "Block", + "src": "596:82:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19799, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19797, + "src": "602:12:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19801, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19756, + "src": "633:19:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19800, + "name": "DummyDGXStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21622, + "src": "617:15:69", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGXStorage_$21622_$", + "typeString": "type(contract DummyDGXStorage)" + } + }, + "id": 19802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "617:36:69", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGXStorage_$21622", + "typeString": "contract DummyDGXStorage" + } + }, + "id": 19803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "read_total_supply", + "nodeType": "MemberAccess", + "referencedDeclaration": 20497, + "src": "617:54:69", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 19804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "617:56:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "602:71:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19806, + "nodeType": "ExpressionStatement", + "src": "602:71:69" + } + ] + }, + "documentation": null, + "id": 19808, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19795, + "nodeType": "ParameterList", + "parameters": [], + "src": "532:2:69" + }, + "payable": false, + "returnParameters": { + "id": 19798, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19797, + "name": "_totalSupply", + "nodeType": "VariableDeclaration", + "scope": 19808, + "src": "572:20:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19796, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "572:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "571:22:69" + }, + "scope": 20040, + "src": "512:166:69", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19824, + "nodeType": "Block", + "src": "774:90:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19815, + "name": "_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19813, + "src": "780:8:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19820, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19810, + "src": "852:6:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19817, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19756, + "src": "807:19:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19816, + "name": "DummyDGXStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21622, + "src": "791:15:69", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGXStorage_$21622_$", + "typeString": "type(contract DummyDGXStorage)" + } + }, + "id": 19818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "791:36:69", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGXStorage_$21622", + "typeString": "contract DummyDGXStorage" + } + }, + "id": 19819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "show_demurraged_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20577, + "src": "791:60:69", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 19821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "791:68:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "780:79:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19823, + "nodeType": "ExpressionStatement", + "src": "780:79:69" + } + ] + }, + "documentation": null, + "id": 19825, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19811, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19810, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 19825, + "src": "701:14:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19809, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "701:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "700:16:69" + }, + "payable": false, + "returnParameters": { + "id": 19814, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19813, + "name": "_balance", + "nodeType": "VariableDeclaration", + "scope": 19825, + "src": "754:16:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19812, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "754:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "753:18:69" + }, + "scope": 20040, + "src": "682:182:69", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19848, + "nodeType": "Block", + "src": "956:108:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19834, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19832, + "src": "962:8:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19839, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1023:3:69", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 19840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1023:10:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 19841, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19827, + "src": "1035:3:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "hexValue": "307830", + "id": 19842, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1040:3:69", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + { + "argumentTypes": null, + "id": 19843, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19829, + "src": "1045:6:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 19844, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1053:5:69", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19836, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19756, + "src": "989:19:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19835, + "name": "DummyDGXStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21622, + "src": "973:15:69", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGXStorage_$21622_$", + "typeString": "type(contract DummyDGXStorage)" + } + }, + "id": 19837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "973:36:69", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGXStorage_$21622", + "typeString": "contract DummyDGXStorage" + } + }, + "id": 19838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "put_transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 20817, + "src": "973:49:69", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$_t_bool_$", + "typeString": "function (address,address,address,uint256,bool) external returns (bool)" + } + }, + "id": 19845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "973:86:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "962:97:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19847, + "nodeType": "ExpressionStatement", + "src": "962:97:69" + } + ] + }, + "documentation": null, + "id": 19849, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19830, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19827, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 19849, + "src": "886:11:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19826, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "886:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19829, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 19849, + "src": "899:14:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19828, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "899:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "885:29:69" + }, + "payable": false, + "returnParameters": { + "id": 19833, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19832, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 19849, + "src": "939:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19831, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "939:4:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "938:15:69" + }, + "scope": 20040, + "src": "868:196:69", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19874, + "nodeType": "Block", + "src": "1191:109:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19860, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19858, + "src": "1197:8:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19865, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19851, + "src": "1258:5:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 19866, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19853, + "src": "1265:3:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19867, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1270:3:69", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 19868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1270:10:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 19869, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19855, + "src": "1282:6:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 19870, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1290:4:69", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19862, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19756, + "src": "1224:19:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19861, + "name": "DummyDGXStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21622, + "src": "1208:15:69", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGXStorage_$21622_$", + "typeString": "type(contract DummyDGXStorage)" + } + }, + "id": 19863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1208:36:69", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGXStorage_$21622", + "typeString": "contract DummyDGXStorage" + } + }, + "id": 19864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "put_transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 20817, + "src": "1208:49:69", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$_t_bool_$", + "typeString": "function (address,address,address,uint256,bool) external returns (bool)" + } + }, + "id": 19871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1208:87:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1197:98:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19873, + "nodeType": "ExpressionStatement", + "src": "1197:98:69" + } + ] + }, + "documentation": null, + "id": 19875, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19856, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19851, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 19875, + "src": "1095:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19850, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1095:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19853, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 19875, + "src": "1114:11:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19852, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1114:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19855, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 19875, + "src": "1131:14:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19854, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1131:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1089:60:69" + }, + "payable": false, + "returnParameters": { + "id": 19859, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19858, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 19875, + "src": "1174:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19857, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1174:4:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1173:15:69" + }, + "scope": 20040, + "src": "1068:232:69", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19907, + "nodeType": "Block", + "src": "1437:145:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19887, + "name": "_receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19877, + "src": "1452:9:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 19888, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19879, + "src": "1463:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 19886, + "name": "transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19849, + "src": "1443:8:69", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 19889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1443:28:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19890, + "nodeType": "ExpressionStatement", + "src": "1443:28:69" + }, + { + "expression": { + "argumentTypes": null, + "id": 19901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19891, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19884, + "src": "1477:8:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19896, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1527:3:69", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 19897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1527:10:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 19898, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19879, + "src": "1539:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 19899, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19881, + "src": "1548:5:69", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19893, + "name": "_receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19877, + "src": "1502:9:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19892, + "name": "TokenReceiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21636, + "src": "1488:13:69", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_TokenReceiver_$21636_$", + "typeString": "type(contract TokenReceiver)" + } + }, + "id": 19894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1488:24:69", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TokenReceiver_$21636", + "typeString": "contract TokenReceiver" + } + }, + "id": 19895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "tokenFallback", + "nodeType": "MemberAccess", + "referencedDeclaration": 21635, + "src": "1488:38:69", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (address,uint256,bytes32) external returns (bool)" + } + }, + "id": 19900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1488:66:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1477:77:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19902, + "nodeType": "ExpressionStatement", + "src": "1477:77:69" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19904, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19884, + "src": "1568:8:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 19903, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1560:7:69", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 19905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1560:17:69", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19906, + "nodeType": "ExpressionStatement", + "src": "1560:17:69" + } + ] + }, + "documentation": null, + "id": 19908, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferAndCall", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19882, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19877, + "name": "_receiver", + "nodeType": "VariableDeclaration", + "scope": 19908, + "src": "1334:17:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19876, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1334:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19879, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 19908, + "src": "1357:15:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19878, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1357:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19881, + "name": "_data", + "nodeType": "VariableDeclaration", + "scope": 19908, + "src": "1378:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19880, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1378:7:69", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1328:67:69" + }, + "payable": false, + "returnParameters": { + "id": 19885, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19884, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 19908, + "src": "1420:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19883, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1420:4:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1419:15:69" + }, + "scope": 20040, + "src": "1304:278:69", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19929, + "nodeType": "Block", + "src": "1678:100:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19917, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19915, + "src": "1684:8:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 19922, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1744:3:69", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 19923, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1744:10:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 19924, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19910, + "src": "1756:8:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 19925, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19912, + "src": "1766:6:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19919, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19756, + "src": "1711:19:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19918, + "name": "DummyDGXStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21622, + "src": "1695:15:69", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGXStorage_$21622_$", + "typeString": "type(contract DummyDGXStorage)" + } + }, + "id": 19920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1695:36:69", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGXStorage_$21622", + "typeString": "contract DummyDGXStorage" + } + }, + "id": 19921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "put_approve", + "nodeType": "MemberAccess", + "referencedDeclaration": 20876, + "src": "1695:48:69", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) external returns (bool)" + } + }, + "id": 19926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1695:78:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1684:89:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19928, + "nodeType": "ExpressionStatement", + "src": "1684:89:69" + } + ] + }, + "documentation": null, + "id": 19930, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19913, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19910, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 19930, + "src": "1603:16:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19909, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1603:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19912, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 19930, + "src": "1621:14:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19911, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1621:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1602:34:69" + }, + "payable": false, + "returnParameters": { + "id": 19916, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19915, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 19930, + "src": "1661:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19914, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1661:4:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1660:15:69" + }, + "scope": 20040, + "src": "1586:192:69", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19949, + "nodeType": "Block", + "src": "1894:93:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19939, + "name": "_allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19937, + "src": "1900:10:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19944, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19932, + "src": "1965:6:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 19945, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19934, + "src": "1973:8:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19941, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19756, + "src": "1929:19:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19940, + "name": "DummyDGXStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21622, + "src": "1913:15:69", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGXStorage_$21622_$", + "typeString": "type(contract DummyDGXStorage)" + } + }, + "id": 19942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1913:36:69", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGXStorage_$21622", + "typeString": "contract DummyDGXStorage" + } + }, + "id": 19943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "read_allowance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20518, + "src": "1913:51:69", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view external returns (uint256)" + } + }, + "id": 19946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1913:69:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1900:82:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 19948, + "nodeType": "ExpressionStatement", + "src": "1900:82:69" + } + ] + }, + "documentation": null, + "id": 19950, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19935, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19932, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 19950, + "src": "1801:14:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19931, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1801:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19934, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 19950, + "src": "1817:16:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19933, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1817:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1800:34:69" + }, + "payable": false, + "returnParameters": { + "id": 19938, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19937, + "name": "_allowance", + "nodeType": "VariableDeclaration", + "scope": 19950, + "src": "1872:18:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19936, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1872:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1871:20:69" + }, + "scope": 20040, + "src": "1782:205:69", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19974, + "nodeType": "Block", + "src": "2161:151:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19963, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19961, + "src": "2167:8:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19968, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19952, + "src": "2247:5:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 19969, + "name": "_no_demurrage_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19954, + "src": "2260:17:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 19970, + "name": "_no_transfer_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19956, + "src": "2285:16:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19965, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19756, + "src": "2194:19:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19964, + "name": "DummyDGXStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21622, + "src": "2178:15:69", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGXStorage_$21622_$", + "typeString": "type(contract DummyDGXStorage)" + } + }, + "id": 19966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2178:36:69", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGXStorage_$21622", + "typeString": "contract DummyDGXStorage" + } + }, + "id": 19967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "update_user_fees_configs", + "nodeType": "MemberAccess", + "referencedDeclaration": 20914, + "src": "2178:61:69", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bool_$_t_bool_$returns$_t_bool_$", + "typeString": "function (address,bool,bool) external returns (bool)" + } + }, + "id": 19971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2178:129:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2167:140:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19973, + "nodeType": "ExpressionStatement", + "src": "2167:140:69" + } + ] + }, + "documentation": null, + "id": 19975, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 19959, + "modifierName": { + "argumentTypes": null, + "id": 19958, + "name": "if_fees_admin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19794, + "src": "2115:13:69", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "2115:15:69" + } + ], + "name": "updateUserFeesConfigs", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19957, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19952, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 19975, + "src": "2027:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19951, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2027:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19954, + "name": "_no_demurrage_fee", + "nodeType": "VariableDeclaration", + "scope": 19975, + "src": "2046:22:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19953, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2046:4:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19956, + "name": "_no_transfer_fee", + "nodeType": "VariableDeclaration", + "scope": 19975, + "src": "2074:21:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19955, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2074:4:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2021:78:69" + }, + "payable": false, + "returnParameters": { + "id": 19962, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19961, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 19975, + "src": "2144:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19960, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2144:4:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2143:15:69" + }, + "scope": 20040, + "src": "1991:321:69", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 19998, + "nodeType": "Block", + "src": "2491:130:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 19986, + "name": "_base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19978, + "src": "2498:5:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 19987, + "name": "_rate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19980, + "src": "2505:5:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 19988, + "name": "_collector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19982, + "src": "2512:10:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 19989, + "name": "_no_demurrage_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19984, + "src": "2524:17:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 19990, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "2497:45:69", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_address_$_t_bool_$", + "typeString": "tuple(uint256,uint256,address,bool)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19992, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19756, + "src": "2561:19:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19991, + "name": "DummyDGXStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21622, + "src": "2545:15:69", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGXStorage_$21622_$", + "typeString": "type(contract DummyDGXStorage)" + } + }, + "id": 19993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2545:36:69", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGXStorage_$21622", + "typeString": "contract DummyDGXStorage" + } + }, + "id": 19994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "read_demurrage_config_underlying", + "nodeType": "MemberAccess", + "referencedDeclaration": 20354, + "src": "2545:69:69", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$_t_uint256_$_t_address_$_t_bool_$", + "typeString": "function () view external returns (uint256,uint256,address,bool)" + } + }, + "id": 19995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2545:71:69", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_address_$_t_bool_$", + "typeString": "tuple(uint256,uint256,address,bool)" + } + }, + "src": "2497:119:69", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19997, + "nodeType": "ExpressionStatement", + "src": "2497:119:69" + } + ] + }, + "documentation": null, + "id": 19999, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "showDemurrageConfigs", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19976, + "nodeType": "ParameterList", + "parameters": [], + "src": "2345:2:69" + }, + "payable": false, + "returnParameters": { + "id": 19985, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19978, + "name": "_base", + "nodeType": "VariableDeclaration", + "scope": 19999, + "src": "2392:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19977, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2392:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19980, + "name": "_rate", + "nodeType": "VariableDeclaration", + "scope": 19999, + "src": "2413:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 19979, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2413:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19982, + "name": "_collector", + "nodeType": "VariableDeclaration", + "scope": 19999, + "src": "2434:18:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19981, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2434:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 19984, + "name": "_no_demurrage_fee", + "nodeType": "VariableDeclaration", + "scope": 19999, + "src": "2460:22:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19983, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2460:4:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2384:104:69" + }, + "scope": 20040, + "src": "2316:305:69", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20018, + "nodeType": "Block", + "src": "2922:86:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20008, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20006, + "src": "2928:8:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20013, + "name": "_for", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20001, + "src": "2989:4:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 20014, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20003, + "src": "2995:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20010, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19756, + "src": "2955:19:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 20009, + "name": "DummyDGXStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21622, + "src": "2939:15:69", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGXStorage_$21622_$", + "typeString": "type(contract DummyDGXStorage)" + } + }, + "id": 20011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2939:36:69", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGXStorage_$21622", + "typeString": "contract DummyDGXStorage" + } + }, + "id": 20012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "mint_dgx_for", + "nodeType": "MemberAccess", + "referencedDeclaration": 20946, + "src": "2939:49:69", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 20015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2939:64:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2928:75:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20017, + "nodeType": "ExpressionStatement", + "src": "2928:75:69" + } + ] + }, + "documentation": "/////////////////////////// MOCK FUNCTIONS ///////////////////////////////", + "id": 20019, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mintDgxFor", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20004, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20001, + "name": "_for", + "nodeType": "VariableDeclaration", + "scope": 20019, + "src": "2850:12:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20000, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2850:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20003, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 20019, + "src": "2864:15:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20002, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2864:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2849:31:69" + }, + "payable": false, + "returnParameters": { + "id": 20007, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20006, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 20019, + "src": "2905:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20005, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2905:4:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2904:15:69" + }, + "scope": 20040, + "src": "2830:178:69", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20038, + "nodeType": "Block", + "src": "3247:100:69", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20028, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20026, + "src": "3253:8:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20033, + "name": "_of", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20021, + "src": "3326:3:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 20034, + "name": "_byMinutes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20023, + "src": "3331:10:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20030, + "name": "DGX_STORAGE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19756, + "src": "3280:19:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 20029, + "name": "DummyDGXStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21622, + "src": "3264:15:69", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGXStorage_$21622_$", + "typeString": "type(contract DummyDGXStorage)" + } + }, + "id": 20031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3264:36:69", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGXStorage_$21622", + "typeString": "contract DummyDGXStorage" + } + }, + "id": 20032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "modify_last_payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 20977, + "src": "3264:61:69", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 20035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3264:78:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3253:89:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20037, + "nodeType": "ExpressionStatement", + "src": "3253:89:69" + } + ] + }, + "documentation": null, + "id": 20039, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "modifyLastPaymentDate", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20024, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20021, + "name": "_of", + "nodeType": "VariableDeclaration", + "scope": 20039, + "src": "3173:11:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20020, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3173:7:69", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20023, + "name": "_byMinutes", + "nodeType": "VariableDeclaration", + "scope": 20039, + "src": "3186:18:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20022, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3186:7:69", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3172:33:69" + }, + "payable": false, + "returnParameters": { + "id": 20027, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20026, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 20039, + "src": "3230:13:69", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20025, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3230:4:69", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3229:15:69" + }, + "scope": 20040, + "src": "3142:205:69", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 20041, + "src": "59:3290:69" + } + ], + "src": "0:3350:69" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.916Z" +} \ No newline at end of file diff --git a/build/contracts/DummyDGXStorage.json b/build/contracts/DummyDGXStorage.json new file mode 100644 index 0000000..7a55c28 --- /dev/null +++ b/build/contracts/DummyDGXStorage.json @@ -0,0 +1,39777 @@ +{ + "contractName": "DummyDGXStorage", + "abi": [ + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_DummyDGXInteractive", + "type": "address" + } + ], + "name": "setInteractive", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "read_demurrage_config", + "outputs": [ + { + "name": "_collector_balance", + "type": "uint256" + }, + { + "name": "_base", + "type": "uint256" + }, + { + "name": "_rate", + "type": "uint256" + }, + { + "name": "_collector", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "read_demurrage_config_underlying", + "outputs": [ + { + "name": "_base", + "type": "uint256" + }, + { + "name": "_rate", + "type": "uint256" + }, + { + "name": "_collector", + "type": "address" + }, + { + "name": "_no_demurrage_fee", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "read_transfer_config", + "outputs": [ + { + "name": "_collector_balance", + "type": "uint256" + }, + { + "name": "_base", + "type": "uint256" + }, + { + "name": "_rate", + "type": "uint256" + }, + { + "name": "_collector", + "type": "address" + }, + { + "name": "_no_transfer_fee", + "type": "bool" + }, + { + "name": "_minimum_transfer_amount", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_account", + "type": "address" + } + ], + "name": "read_user_for_transfer", + "outputs": [ + { + "name": "_raw_balance", + "type": "uint256" + }, + { + "name": "_no_transfer_fee", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_account", + "type": "address" + } + ], + "name": "read_user_for_demurrage", + "outputs": [ + { + "name": "_raw_balance", + "type": "uint256" + }, + { + "name": "_payment_date", + "type": "uint256" + }, + { + "name": "_no_demurrage_fee", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "read_total_supply", + "outputs": [ + { + "name": "_totalSupply", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + }, + { + "name": "_spender", + "type": "address" + } + ], + "name": "read_allowance", + "outputs": [ + { + "name": "_allowance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_account", + "type": "address" + } + ], + "name": "read_user_fees_configs", + "outputs": [ + { + "name": "_no_demurrage_fee", + "type": "bool" + }, + { + "name": "_no_transfer_fee", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "show_demurraged_balance", + "outputs": [ + { + "name": "_actual_balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_sender", + "type": "address" + }, + { + "name": "_recipient", + "type": "address" + }, + { + "name": "_spender", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + }, + { + "name": "_transfer_from", + "type": "bool" + } + ], + "name": "put_transfer", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_account", + "type": "address" + }, + { + "name": "_spender", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "put_approve", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_no_demurrage_fee", + "type": "bool" + }, + { + "name": "_no_transfer_fee", + "type": "bool" + } + ], + "name": "update_user_fees_configs", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_for", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint_dgx_for", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_of", + "type": "address" + }, + { + "name": "_byMinutes", + "type": "uint256" + } + ], + "name": "modify_last_payment_date", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "deduct_demurrage", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506000806000806000f091506000806000f090506298968060006002016003016000016000018190555060a5600060020160030160000160010181905550612710600060020160030160020160000181905550600d600060020160030160020160010181905550620f424060006002016002018190555060008060020160010160006101000a81548160ff02191690831515021790555060008060020160010160016101000a81548160ff0219169083151502179055507f312e302e30000000000000000000000000000000000000000000000000000000600060020160000181600019169055506000806009018190555033600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506121db806101546000396000f3006080604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806309a0c130146100eb5780630ca9f65c1461015457806338ec8116146101c7578063493f8d30146102225780635722b67f1461029257806357e7946f146102f757806376cab95214610322578063779b742c1461037957806392846ab6146103fe578063a6e653f6146104af578063a77af36e14610515578063d28b43f414610581578063e0fe1d46146105f8578063e1ed956b1461065a578063e2958974146106bf578063f7c9c89a1461073d575b600080fd5b3480156100f757600080fd5b5061012c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610780565b6040518084815260200183815260200182151515158152602001935050505060405180910390f35b34801561016057600080fd5b506101ad600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190803515159060200190929190505050610896565b604051808215151515815260200191505060405180910390f35b3480156101d357600080fd5b50610208600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109bf565b604051808215151515815260200191505060405180910390f35b34801561022e57600080fd5b50610237610a25565b604051808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200194505050505060405180910390f35b34801561029e57600080fd5b506102dd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a95565b604051808215151515815260200191505060405180910390f35b34801561030357600080fd5b5061030c610b4f565b6040518082815260200191505060405180910390f35b34801561032e57600080fd5b50610363600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b5b565b6040518082815260200191505060405180910390f35b34801561038557600080fd5b506103e4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bec565b604051808215151515815260200191505060405180910390f35b34801561040a57600080fd5b50610495600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803515159060200190929190505050610ca6565b604051808215151515815260200191505060405180910390f35b3480156104bb57600080fd5b506104f0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fd4565b6040518083151515158152602001821515151581526020019250505060405180910390f35b34801561052157600080fd5b5061052a61108c565b604051808581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405180910390f35b34801561058d57600080fd5b506105e2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611184565b6040518082815260200191505060405180910390f35b34801561060457600080fd5b50610639600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611213565b60405180838152602001821515151581526020019250505060405180910390f35b34801561066657600080fd5b506106a5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112be565b604051808215151515815260200191505060405180910390f35b3480156106cb57600080fd5b506106d461138f565b604051808781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183151515158152602001828152602001965050505050505060405180910390f35b34801561074957600080fd5b5061077e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611481565b005b600080600080600a0160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016001015492506000600a0160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000015491506000600a0160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160000160009054906101000a900460ff168061088d5750600060020160010160009054906101000a900460ff165b90509193909250565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108f457600080fd5b826000600a0160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160000160006101000a81548160ff021916908315150217905550816000600a0160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160000160016101000a81548160ff021916908315150217905550600190509392505050565b60006109c9611f46565b6109d283611521565b90506109dd81611616565b9050610a1b81602001516000015182602001516040015160200151836020015160600151600001516020015184600001516000015160200151611821565b6001915050919050565b600080600080600060020160030160000160000154935060006002016003016000016001015492506000800160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600060020160010160009054906101000a900460ff16905090919293565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610af357600080fd5b603c820242036000600a0160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600001819055506001905092915050565b60008060090154905090565b6000610b65611f46565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bc157600080fd5b610bca83611521565b9050610bd581611616565b905080602001516040015160200151915050919050565b6000610bf6611f75565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c5257600080fd5b610c5c8585611184565b81600001818152505060008160000151118015610c795750600083115b15610c8357600080fd5b82816020018181525050610c9c85858360200151611935565b9150509392505050565b6000610cb0611f8f565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d0c57600080fd5b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614151515610d4757600080fd5b60011515610d54886109bf565b1515141515610d6257600080fd5b60011515610d6f876109bf565b1515141515610d7d57600080fd5b610d8561138f565b8660600151600001516000018760600151604001886060015160600189606001516020018a606001516080018b6060015160a0018681525086151515158152508673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250868152508681525086815250505050505050806060015160a001518410151515610e1e57600080fd5b610e2787611213565b82600001516020015160000183600001516040018215151515815250828152505050610e5286611213565b82602001516020015160000183602001516040018215151515815250828152505050838160a0018181525050828160e00190151590811515815250506001151581606001516080015115151480610eb55750600115158160000151604001511515145b15610eca57610ec3816119cc565b9050610ed6565b610ed381611a86565b90505b600115158160e0015115151415610f8a5760011515610ef4866109bf565b1515141515610f0257600080fd5b610f0c8786611184565b8160400151602001516000018181525050610f3884826040015160200151611b7b90919063ffffffff16565b816040015160200181905250610f8387826000015160200151602001518884602001516020015160200151856060015160000151602001518a87604001516020015160200151611baf565b9150610fbe565b610fbb8782600001516020015160200151888460200151602001516020015185606001516000015160200151611d58565b91505b811515610fca57600080fd5b5095945050505050565b6000806000600a0160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160000160009054906101000a900460ff1691506000600a0160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160000160019054906101000a900460ff169050915091565b600080600080600080600a0160008060000160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600101549450600060020160010160009054906101000a900460ff1690506000800160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150801561115a57600093506000925061117d565b600060020160030160000160000154935060006002016003016000016001015492505b5090919293565b600080600a0160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000806000600a0160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016001015491506000600a0160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160000160019054906101000a900460ff169050915091565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561131c57600080fd5b816000600a0160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160010160008282540192505081905550816000600901600082825401925050819055506001905092915050565b6000806000806000806000600a0160008060000160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600101549550600060020160030160020160000154945060006002016003016002016001015493506000800160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250600060020160010160019054906101000a900460ff1691506000600201600201549050909192939495565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114dd57600080fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611529611f46565b61153161108c565b8460000151600001516000018560000151602001866000015160400187600001516060018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250848152508481525084815250505050508181602001516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506115da82610780565b83602001516040015160000184602001516060015160000151600001856020015160200183151515158152508381525083815250505050919050565b61161e611f46565b60008260200151606001516000015160000151141561164e57428260200151606001516000015160000181815250505b60011515826020015160200151151514806116a4575081600001516060015173ffffffffffffffffffffffffffffffffffffffff1682602001516000015173ffffffffffffffffffffffffffffffffffffffff16145b156117005781602001516040015160000151826020015160400151602001818152505081600001516000015160000151826000015160000151602001818152505042826020015160600151600001516020018181525050611819565b61171e62015180836020015160600151611e7590919063ffffffff16565b826020015160600181905250600082602001516060015160200151141561178057816020015160400151600001518260200151604001516020018181525050816000015160000151600001518260000151600001516020018181525050611818565b816000015160200151826000015160400151836020015160400151600001518460200151606001516020015102028115156117b757fe5b048260400181815250506117e08260400151836020015160400151611b7b90919063ffffffff16565b82602001516040018190525061180b8260400151836000015160000151611f0c90919063ffffffff16565b8260000151600001819052505b5b819050919050565b806000600a0160008060000160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160010181905550826000600a0160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160010181905550816000600a0160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000018190555050505050565b6000816000600a0160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600190509392505050565b6119d4611f8f565b60008260c00181815250506119fa8260a001518360800151611f0c90919063ffffffff16565b8260800181905250611a25826080015160200151836000015160200151611b7b90919063ffffffff16565b826000015160200181905250816060015160000151600001518260600151600001516020018181525050611a72826080015160200151836020015160200151611f0c90919063ffffffff16565b826020015160200181905250819050919050565b611a8e611f8f565b8160600151604001518260600151606001518360a0015102811515611aaf57fe5b048260c00181815250508160a0015182608001516000018181525050611ae68260c001518360800151611b7b90919063ffffffff16565b8260800181905250611b0d8260c00151836060015160000151611f0c90919063ffffffff16565b826060015160000181905250611b388260a00151836000015160200151611b7b90919063ffffffff16565b826000015160200181905250611b67826080015160200151836020015160200151611f0c90919063ffffffff16565b826020015160200181905250819050919050565b611b83611f75565b82600001518211151515611b9657600080fd5b8290508183600001510381602001818152505092915050565b6000866000600a0160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160010181905550846000600a0160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160010181905550836000600a0160008060000160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160010181905550816000600a0160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050979650505050505050565b6000846000600a0160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160010181905550826000600a0160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160010181905550816000600a0160008060000160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600101819055506001905095945050505050565b611e7d611ff5565b6000808492508460000151600001514210151515611e9a57600080fd5b846000015160000151420391508382811515611eb257fe5b04836020018181525050838360200151029050600083602001511415611eed5784600001516000015183600001516020018181525050611f04565b611efb836000015182611f0c565b83600001819052505b505092915050565b611f14611f75565b82600001518284600001510110151515611f2d57600080fd5b8290508183600001510181602001818152505092915050565b6101a060405190810160405280611f5b612016565b8152602001611f6861205b565b8152602001600081525090565b604080519081016040528060008152602001600081525090565b6102e060405190810160405280611fa46120a8565b8152602001611fb16120a8565b8152602001611fbe6120e8565b8152602001611fcb61211f565b8152602001611fd8612174565b815260200160008152602001600081526020016000151581525090565b606060405190810160405280612009612174565b8152602001600081525090565b60a06040519081016040528061202a612174565b81526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b60e060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600015158152602001612095612174565b81526020016120a261218e565b81525090565b608060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016120d9612174565b81526020016000151581525090565b606060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001612119612174565b81525090565b60e060405190810160405280612133612174565b8152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600015158152602001600081525090565b604080519081016040528060008152602001600081525090565b6060604051908101604052806121a2612174565b81526020016000815250905600a165627a7a72305820b0db7f5e3434e11eec2eeb63f6560fb43b92e2c0ff41f576f2b22c1583a24ed80029", + "deployedBytecode": "0x6080604052600436106100e6576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806309a0c130146100eb5780630ca9f65c1461015457806338ec8116146101c7578063493f8d30146102225780635722b67f1461029257806357e7946f146102f757806376cab95214610322578063779b742c1461037957806392846ab6146103fe578063a6e653f6146104af578063a77af36e14610515578063d28b43f414610581578063e0fe1d46146105f8578063e1ed956b1461065a578063e2958974146106bf578063f7c9c89a1461073d575b600080fd5b3480156100f757600080fd5b5061012c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610780565b6040518084815260200183815260200182151515158152602001935050505060405180910390f35b34801561016057600080fd5b506101ad600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190803515159060200190929190505050610896565b604051808215151515815260200191505060405180910390f35b3480156101d357600080fd5b50610208600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109bf565b604051808215151515815260200191505060405180910390f35b34801561022e57600080fd5b50610237610a25565b604051808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200194505050505060405180910390f35b34801561029e57600080fd5b506102dd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a95565b604051808215151515815260200191505060405180910390f35b34801561030357600080fd5b5061030c610b4f565b6040518082815260200191505060405180910390f35b34801561032e57600080fd5b50610363600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b5b565b6040518082815260200191505060405180910390f35b34801561038557600080fd5b506103e4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bec565b604051808215151515815260200191505060405180910390f35b34801561040a57600080fd5b50610495600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803515159060200190929190505050610ca6565b604051808215151515815260200191505060405180910390f35b3480156104bb57600080fd5b506104f0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fd4565b6040518083151515158152602001821515151581526020019250505060405180910390f35b34801561052157600080fd5b5061052a61108c565b604051808581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405180910390f35b34801561058d57600080fd5b506105e2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611184565b6040518082815260200191505060405180910390f35b34801561060457600080fd5b50610639600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611213565b60405180838152602001821515151581526020019250505060405180910390f35b34801561066657600080fd5b506106a5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112be565b604051808215151515815260200191505060405180910390f35b3480156106cb57600080fd5b506106d461138f565b604051808781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183151515158152602001828152602001965050505050505060405180910390f35b34801561074957600080fd5b5061077e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611481565b005b600080600080600a0160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016001015492506000600a0160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000015491506000600a0160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160000160009054906101000a900460ff168061088d5750600060020160010160009054906101000a900460ff165b90509193909250565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108f457600080fd5b826000600a0160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160000160006101000a81548160ff021916908315150217905550816000600a0160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160000160016101000a81548160ff021916908315150217905550600190509392505050565b60006109c9611f46565b6109d283611521565b90506109dd81611616565b9050610a1b81602001516000015182602001516040015160200151836020015160600151600001516020015184600001516000015160200151611821565b6001915050919050565b600080600080600060020160030160000160000154935060006002016003016000016001015492506000800160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600060020160010160009054906101000a900460ff16905090919293565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610af357600080fd5b603c820242036000600a0160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600001819055506001905092915050565b60008060090154905090565b6000610b65611f46565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bc157600080fd5b610bca83611521565b9050610bd581611616565b905080602001516040015160200151915050919050565b6000610bf6611f75565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c5257600080fd5b610c5c8585611184565b81600001818152505060008160000151118015610c795750600083115b15610c8357600080fd5b82816020018181525050610c9c85858360200151611935565b9150509392505050565b6000610cb0611f8f565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d0c57600080fd5b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614151515610d4757600080fd5b60011515610d54886109bf565b1515141515610d6257600080fd5b60011515610d6f876109bf565b1515141515610d7d57600080fd5b610d8561138f565b8660600151600001516000018760600151604001886060015160600189606001516020018a606001516080018b6060015160a0018681525086151515158152508673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250868152508681525086815250505050505050806060015160a001518410151515610e1e57600080fd5b610e2787611213565b82600001516020015160000183600001516040018215151515815250828152505050610e5286611213565b82602001516020015160000183602001516040018215151515815250828152505050838160a0018181525050828160e00190151590811515815250506001151581606001516080015115151480610eb55750600115158160000151604001511515145b15610eca57610ec3816119cc565b9050610ed6565b610ed381611a86565b90505b600115158160e0015115151415610f8a5760011515610ef4866109bf565b1515141515610f0257600080fd5b610f0c8786611184565b8160400151602001516000018181525050610f3884826040015160200151611b7b90919063ffffffff16565b816040015160200181905250610f8387826000015160200151602001518884602001516020015160200151856060015160000151602001518a87604001516020015160200151611baf565b9150610fbe565b610fbb8782600001516020015160200151888460200151602001516020015185606001516000015160200151611d58565b91505b811515610fca57600080fd5b5095945050505050565b6000806000600a0160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160000160009054906101000a900460ff1691506000600a0160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160000160019054906101000a900460ff169050915091565b600080600080600080600a0160008060000160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600101549450600060020160010160009054906101000a900460ff1690506000800160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150801561115a57600093506000925061117d565b600060020160030160000160000154935060006002016003016000016001015492505b5090919293565b600080600a0160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000806000600a0160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016001015491506000600a0160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160000160019054906101000a900460ff169050915091565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561131c57600080fd5b816000600a0160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160010160008282540192505081905550816000600901600082825401925050819055506001905092915050565b6000806000806000806000600a0160008060000160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600101549550600060020160030160020160000154945060006002016003016002016001015493506000800160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250600060020160010160019054906101000a900460ff1691506000600201600201549050909192939495565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114dd57600080fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611529611f46565b61153161108c565b8460000151600001516000018560000151602001866000015160400187600001516060018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250848152508481525084815250505050508181602001516000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506115da82610780565b83602001516040015160000184602001516060015160000151600001856020015160200183151515158152508381525083815250505050919050565b61161e611f46565b60008260200151606001516000015160000151141561164e57428260200151606001516000015160000181815250505b60011515826020015160200151151514806116a4575081600001516060015173ffffffffffffffffffffffffffffffffffffffff1682602001516000015173ffffffffffffffffffffffffffffffffffffffff16145b156117005781602001516040015160000151826020015160400151602001818152505081600001516000015160000151826000015160000151602001818152505042826020015160600151600001516020018181525050611819565b61171e62015180836020015160600151611e7590919063ffffffff16565b826020015160600181905250600082602001516060015160200151141561178057816020015160400151600001518260200151604001516020018181525050816000015160000151600001518260000151600001516020018181525050611818565b816000015160200151826000015160400151836020015160400151600001518460200151606001516020015102028115156117b757fe5b048260400181815250506117e08260400151836020015160400151611b7b90919063ffffffff16565b82602001516040018190525061180b8260400151836000015160000151611f0c90919063ffffffff16565b8260000151600001819052505b5b819050919050565b806000600a0160008060000160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160010181905550826000600a0160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160010181905550816000600a0160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000018190555050505050565b6000816000600a0160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600190509392505050565b6119d4611f8f565b60008260c00181815250506119fa8260a001518360800151611f0c90919063ffffffff16565b8260800181905250611a25826080015160200151836000015160200151611b7b90919063ffffffff16565b826000015160200181905250816060015160000151600001518260600151600001516020018181525050611a72826080015160200151836020015160200151611f0c90919063ffffffff16565b826020015160200181905250819050919050565b611a8e611f8f565b8160600151604001518260600151606001518360a0015102811515611aaf57fe5b048260c00181815250508160a0015182608001516000018181525050611ae68260c001518360800151611b7b90919063ffffffff16565b8260800181905250611b0d8260c00151836060015160000151611f0c90919063ffffffff16565b826060015160000181905250611b388260a00151836000015160200151611b7b90919063ffffffff16565b826000015160200181905250611b67826080015160200151836020015160200151611f0c90919063ffffffff16565b826020015160200181905250819050919050565b611b83611f75565b82600001518211151515611b9657600080fd5b8290508183600001510381602001818152505092915050565b6000866000600a0160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160010181905550846000600a0160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160010181905550836000600a0160008060000160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160010181905550816000600a0160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050979650505050505050565b6000846000600a0160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160010181905550826000600a0160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160010181905550816000600a0160008060000160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600101819055506001905095945050505050565b611e7d611ff5565b6000808492508460000151600001514210151515611e9a57600080fd5b846000015160000151420391508382811515611eb257fe5b04836020018181525050838360200151029050600083602001511415611eed5784600001516000015183600001516020018181525050611f04565b611efb836000015182611f0c565b83600001819052505b505092915050565b611f14611f75565b82600001518284600001510110151515611f2d57600080fd5b8290508183600001510181602001818152505092915050565b6101a060405190810160405280611f5b612016565b8152602001611f6861205b565b8152602001600081525090565b604080519081016040528060008152602001600081525090565b6102e060405190810160405280611fa46120a8565b8152602001611fb16120a8565b8152602001611fbe6120e8565b8152602001611fcb61211f565b8152602001611fd8612174565b815260200160008152602001600081526020016000151581525090565b606060405190810160405280612009612174565b8152602001600081525090565b60a06040519081016040528061202a612174565b81526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b60e060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600015158152602001612095612174565b81526020016120a261218e565b81525090565b608060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016120d9612174565b81526020016000151581525090565b606060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001612119612174565b81525090565b60e060405190810160405280612133612174565b8152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600015158152602001600081525090565b604080519081016040528060008152602001600081525090565b6060604051908101604052806121a2612174565b81526020016000815250905600a165627a7a72305820b0db7f5e3434e11eec2eeb63f6560fb43b92e2c0ff41f576f2b22c1583a24ed80029", + "sourceMap": "258:14745:70:-;;;1239:629;8:9:-1;5:2;;;30:1;27;20:12;5:2;1239:629:70;1272:28;1306:27;1391:1;1389;1387;1380:13;1356:37;;1434:1;1432;1430;1423:13;1400:36;;1484:8;1448:6;:13;;:18;;:28;;:33;;:44;;;;1534:3;1498:6;:13;;:18;;:28;;:33;;:39;;;;1578:5;1543:6;:13;;:18;;:27;;:32;;:40;;;;1624:2;1589:6;:13;;:18;;:27;;:32;;:37;;;;1672:7;1632:6;:13;;:37;;:47;;;;1718:5;1685:6;:13;;:30;;;:38;;;;;;;;;;;;;;;;;;1761:5;1729:6;:13;;:29;;;:37;;;;;;;;;;;;;;;;;;1772:39;:6;:13;;:29;;:39;;;;;;;1839:1;1817:6;:19;;:23;;;;1853:10;1846:4;;:17;;;;;;;;;;;;;;;;;;1239:629;;258:14745;;;;;;", + "deployedSourceMap": "258:14745:70:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4107:447;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4107:447:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8321:340;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8321:340:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11416:435;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11416:435:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2840:388;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2840:388:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9178:250;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9178:250:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4558:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4558:135:70;;;;;;;;;;;;;;;;;;;;;;;5282:323;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5282:323:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7891:426;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7891:426:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5609:2278;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5609:2278:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4896:301;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4896:301:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2261:575;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2261:575:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4697:195;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4697:195:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3834:269;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3834:269:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8794:245;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8794:245:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3232:598;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3232:598:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1872:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1872:138:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;4107:447;4202:20;4230:21;4259:22;4311:6;:12;;:22;4324:8;4311:22;;;;;;;;;;;;;;;:27;;:39;;;4296:54;;4372:6;:12;;:22;4385:8;4372:22;;;;;;;;;;;;;;;:27;;:45;;;4356:61;;4443:6;:12;;:22;4456:8;4443:22;;;;;;;;;;;;;;;:29;;:46;;;;;;;;;;;;:106;;;;4519:6;:13;;:30;;;;;;;;;;;;4443:106;4423:126;;4107:447;;;;;:::o;8321:340::-;8482:13;2140:23;;;;;;;;;;;2126:37;;:10;:37;;;2118:46;;;;;;;;8551:17;8505:6;:12;;:19;8518:5;8505:19;;;;;;;;;;;;;;;:26;;:43;;;:63;;;;;;;;;;;;;;;;;;8619:16;8574:6;:12;;:19;8587:5;8574:19;;;;;;;;;;;;;;;:26;;:42;;;:61;;;;;;;;;;;;;;;;;;8652:4;8641:15;;8321:340;;;;;:::o;11416:435::-;11481:13;11504:44;;:::i;:::-;11551:26;11571:5;11551:19;:26::i;:::-;11504:73;;11596:31;11616:10;11596:19;:31::i;:::-;11583:44;;11633:192;11666:10;:15;;;:23;;;11697:10;:15;;;:23;;;:28;;;11733:10;:15;;;:28;;;:33;;;:38;;;11779:10;:17;;;:35;;;:40;;;11633:25;:192::i;:::-;11842:4;11831:15;;11416:435;;;;:::o;2840:388::-;2928:13;2949;2970:18;2996:22;3041:6;:13;;:18;;:28;;:33;;;3033:41;;3088:6;:13;;:18;;:28;;:33;;;3080:41;;3140:6;:17;;:27;;;;;;;;;;;;3127:40;;3193:6;:13;;:30;;;;;;;;;;;;3173:50;;2840:388;;;;:::o;9178:250::-;9306:13;2140:23;;;;;;;;;;;2126:37;;:10;:37;;;2118:46;;;;;;;;9392:9;9379:10;:22;9372:3;:30;9329:6;:12;;:17;9342:3;9329:17;;;;;;;;;;;;;;;:22;;:40;;:73;;;;9419:4;9408:15;;9178:250;;;;:::o;4558:135::-;4624:20;4669:6;:19;;;4654:34;;4558:135;:::o;5282:323::-;5392:23;5425:44;;:::i;:::-;2140:23;;;;;;;;;;;2126:37;;:10;:37;;;2118:46;;;;;;;;5472:26;5492:5;5472:19;:26::i;:::-;5425:73;;5517:31;5537:10;5517:19;:31::i;:::-;5504:44;;5572:10;:15;;;:23;;;:28;;;5554:46;;5282:323;;;;:::o;7891:426::-;8030:13;8053:27;;:::i;:::-;2140:23;;;;;;;;;;;2126:37;;:10;:37;;;2118:46;;;;;;;;8096:34;8111:8;8121;8096:14;:34::i;:::-;8087:2;:6;;:43;;;;;8151:1;8142:2;:6;;;:10;8141:29;;;;;8168:1;8158:7;:11;8141:29;8137:176;;;8180:8;;;8137:176;8219:7;8209:2;:7;;:17;;;;;8245:61;8278:8;8288;8298:2;:7;;;8245:32;:61::i;:::-;8234:72;;7891:426;;;;;;:::o;5609:2278::-;5797:13;5956:41;;:::i;:::-;2140:23;;;;;;;;;;;2126:37;;:10;:37;;;2118:46;;;;;;;;5839:10;5828:21;;:7;:21;;;;5820:30;;;;;;;;5893:4;5864:33;;:25;5881:7;5864:16;:25::i;:::-;:33;;;5856:42;;;;;;;;5944:4;5912:36;;:28;5929:10;5912:16;:28::i;:::-;:36;;;5904:45;;;;;;;;6251:22;:20;:22::i;:::-;6011:9;:16;;;:34;;;:38;;6057:9;:16;;;:21;;6086:9;:16;;;:21;;6115:9;:16;;;:26;;6149:9;:16;;;:45;;6202:9;:16;;;:40;;6003:270;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6299:9;:16;;;:40;;;6288:7;:51;;6280:60;;;;;;;;6420:31;6443:7;6420:22;:31::i;:::-;6348:9;:16;;;:24;;;:28;;6378:9;:16;;;:32;;6347:104;;;;;;;;;;;;;;6537:34;6560:10;6537:22;:34::i;:::-;6459:9;:19;;;:27;;;:31;;6492:9;:19;;;:35;;6458:113;;;;;;;;;;;;;;6602:7;6578:9;:21;;:31;;;;;6644:14;6615:9;:26;;:43;;;;;;;;;;;6719:4;6670:53;;:9;:16;;;:45;;;:53;;;6669:111;;;;6775:4;6739:40;;:9;:16;;;:32;;;:40;;;6669:111;6665:266;;;6802:46;6838:9;6802:35;:46::i;:::-;6790:58;;6665:266;;;6881:43;6914:9;6881:32;:43::i;:::-;6869:55;;6665:266;6971:4;6941:34;;:9;:26;;;:34;;;6937:923;;;7023:4;6993:34;;:26;7010:8;6993:16;:26::i;:::-;:34;;;6985:43;;;;;;;;7070:33;7085:7;7094:8;7070:14;:33::i;:::-;7036:9;:17;;;:27;;;:31;;:67;;;;;7141:45;7178:7;7141:9;:17;;;:27;;;:36;;:45;;;;:::i;:::-;7111:9;:17;;;:27;;:75;;;;7206:351;7255:7;7283:9;:16;;;:24;;;:29;;;7333:10;7364:9;:19;;;:27;;;:32;;;7417:9;:16;;;:34;;;:39;;;7477:8;7506:9;:17;;;:27;;;:32;;;7206:28;:351::i;:::-;7195:362;;6937:923;;;7589:264;7633:7;7661:9;:16;;;:24;;;:29;;;7711:10;7742:9;:19;;;:27;;;:32;;;7795:9;:16;;;:34;;;:39;;;7589:23;:264::i;:::-;7578:275;;6937:923;7873:8;7865:17;;;;;;;;5609:2278;;;;;;;;:::o;4896:301::-;4990:22;5020:21;5076:6;:12;;:22;5089:8;5076:22;;;;;;;;;;;;;;;:29;;:46;;;;;;;;;;;;5056:66;;5147:6;:12;;:22;5160:8;5147:22;;;;;;;;;;;;;;;:29;;:45;;;;;;;;;;;;5128:64;;4896:301;;;:::o;2261:575::-;2338:26;2372:13;2393;2414:18;2532:31;2468:6;:12;;:41;2481:6;:17;;:27;;;;;;;;;;;;2468:41;;;;;;;;;;;;;;;:46;;:58;;;2447:79;;2566:6;:13;;:30;;;;;;;;;;;;2532:64;;2615:6;:17;;:27;;;;;;;;;;;;2602:40;;2652:26;2648:184;;;2696:1;2688:9;;2713:1;2705:9;;2648:184;;;2743:6;:13;;:18;;:28;;:33;;;2735:41;;2792:6;:13;;:18;;:28;;:33;;;2784:41;;2648:184;2261:575;;;;;:::o;4697:195::-;4792:18;4833:6;:12;;:20;4846:6;4833:20;;;;;;;;;;;;;;;:25;;:44;;:54;4878:8;4833:54;;;;;;;;;;;;;;;;4820:67;;4697:195;;;;:::o;3834:269::-;3921:20;3943:21;3989:6;:12;;:22;4002:8;3989:22;;;;;;;;;;;;;;;:27;;:39;;;3974:54;;4053:6;:12;;:22;4066:8;4053:22;;;;;;;;;;;;;;;:29;;:45;;;;;;;;;;;;4034:64;;3834:269;;;:::o;8794:245::-;8908:13;2140:23;;;;;;;;;;;2126:37;;:10;:37;;;2118:46;;;;;;;;8970:7;8931:6;:12;;:18;8944:4;8931:18;;;;;;;;;;;;;;;:23;;:35;;;:46;;;;;;;;;;;9006:7;8983:6;:19;;;:30;;;;;;;;;;;9030:4;9019:15;;8794:245;;;;:::o;3232:598::-;3308:26;3342:13;3363;3384:18;3410:21;3439:32;3507:6;:12;;:40;3520:6;:17;;:26;;;;;;;;;;;;3507:40;;;;;;;;;;;;;;;:45;;:57;;;3486:78;;3578:6;:13;;:18;;:27;;:32;;;3570:40;;3624:6;:13;;:18;;:27;;:32;;;3616:40;;3675:6;:17;;:26;;;;;;;;;;;;3662:39;;3726:6;:13;;:29;;;;;;;;;;;;3707:48;;3788:6;:13;;:37;;;3761:64;;3232:598;;;;;;:::o;1872:138::-;2061:4;;;;;;;;;;;2047:18;;:10;:18;;;2039:27;;;;;;;;1985:20;1959:23;;:46;;;;;;;;;;;;;;;;;;1872:138;:::o;9513:510::-;9595:37;;:::i;:::-;9793:23;:21;:23::i;:::-;9650:10;:17;;;:35;;;:39;;9697:10;:17;;;:22;;9727:10;:17;;;:22;;9757:10;:17;;;:27;;9642:174;;;;;;;;;;;;;;;;;;;;;;;;9848:5;9822:10;:15;;;:23;;:31;;;;;;;;;;;9988:30;10012:5;9988:23;:30::i;:::-;9867:10;:15;;;:23;;;:27;;9902:10;:15;;;:28;;;:33;;;:37;;9947:10;:15;;;:32;;9859:159;;;;;;;;;;;;;;;;;;;9513:510;;;:::o;10027:1385::-;10140:38;;:::i;:::-;10233:1;10192:10;:15;;;:28;;;:33;;;:37;;;:42;10188:106;;;10284:3;10244:10;:15;;;:28;;;:33;;;:37;;:43;;;;;10188:106;10398:4;10362:40;;:10;:15;;;:32;;;:40;;;:98;;;;10433:10;:17;;;:27;;;10406:54;;:10;:15;;;:23;;;:54;;;10362:98;10358:1020;;;10501:10;:15;;;:23;;;:27;;;10470:10;:15;;;:23;;;:28;;:58;;;;;10579:10;:17;;;:35;;;:39;;;10536:10;:17;;;:35;;;:40;;:82;;;;;10667:3;10626:10;:15;;;:28;;;:33;;;:38;;:44;;;;;10358:1020;;;10722:47;10762:6;10722:10;:15;;;:28;;;:39;;:47;;;;:::i;:::-;10691:10;:15;;;:28;;:78;;;;10822:1;10781:10;:15;;;:28;;;:37;;;:42;10777:595;;;10866:10;:15;;;:23;;;:27;;;10835:10;:15;;;:23;;;:28;;:58;;;;;10946:10;:17;;;:35;;;:39;;;10903:10;:17;;;:35;;;:40;;:82;;;;;10777:595;;;11134:10;:17;;;:22;;;11108:10;:17;;;:22;;;11078:10;:15;;;:23;;;:27;;;11038:10;:15;;;:28;;;:37;;;:67;:92;11037:119;;;;;;;;11010:10;:24;;:146;;;;;11192:58;11225:10;:24;;;11192:10;:15;;;:23;;;:32;;:58;;;;:::i;:::-;11166:10;:15;;;:23;;:84;;;;11298:65;11338:10;:24;;;11298:10;:17;;;:35;;;:39;;:65;;;;:::i;:::-;11260:10;:17;;;:35;;:103;;;;10777:595;10358:1020;11397:10;11383:24;;10027:1385;;;:::o;11855:404::-;12097:22;12036:6;:12;;:41;12049:6;:17;;:27;;;;;;;;;;;;12036:41;;;;;;;;;;;;;;;:46;;:58;;:83;;;;12164:17;12125:6;:12;;:19;12138:5;12125:19;;;;;;;;;;;;;;;:24;;:36;;:56;;;;12232:22;12187:6;:12;;:19;12200:5;12187:19;;;;;;;;;;;;;;;:24;;:42;;:67;;;;11855:404;;;;:::o;13565:265::-;13708:13;13790:14;13731:6;:12;;:22;13744:8;13731:22;;;;;;;;;;;;;;;:27;;:46;;:56;13778:8;13731:56;;;;;;;;;;;;;;;:73;;;;13821:4;13810:15;;13565:265;;;;;:::o;12263:585::-;12385:38;;:::i;:::-;12449:1;12433:9;:13;;:17;;;;;12484:52;12514:9;:21;;;12484:9;:25;;;:29;;:52;;;;:::i;:::-;12456:9;:25;;:80;;;;12569:65;12603:9;:25;;;:30;;;12569:9;:16;;;:24;;;:33;;:65;;;;:::i;:::-;12542:9;:16;;;:24;;:92;;;;12682:9;:16;;;:34;;;:38;;;12640:9;:16;;;:34;;;:39;;:80;;;;;12756:63;12788:9;:25;;;:30;;;12756:9;:19;;;:27;;;:31;;:63;;;;:::i;:::-;12726:9;:19;;;:27;;:93;;;;12834:9;12825:18;;12263:585;;;:::o;12852:709::-;12971:38;;:::i;:::-;13085:9;:16;;;:21;;;13060:9;:16;;;:21;;;13036:9;:21;;;:45;13035:71;;;;;;;;13019:9;:13;;:87;;;;;13144:9;:21;;;13112:9;:25;;;:29;;:53;;;;;13199:49;13234:9;:13;;;13199:9;:25;;;:34;;:49;;;;:::i;:::-;13171:9;:25;;:77;;;;13291:53;13330:9;:13;;;13291:9;:16;;;:34;;;:38;;:53;;;;:::i;:::-;13254:9;:16;;;:34;;:90;;;;13377:56;13411:9;:21;;;13377:9;:16;;;:24;;;:33;;:56;;;;:::i;:::-;13350:9;:16;;;:24;;:83;;;;13469:63;13501:9;:25;;;:30;;;13469:9;:19;;;:27;;;:31;;:63;;;;:::i;:::-;13439:9;:19;;;:27;;:93;;;;13547:9;13538:18;;12852:709;;;:::o;3118:272:83:-;3239:24;;:::i;:::-;3292:9;:13;;;3281:7;:24;;3273:33;;;;;;;;3327:9;3312:24;;3378:7;3362:9;:13;;;:23;3342:12;:17;;:43;;;;;3118:272;;;;:::o;14345:656:70:-;14633:13;14697:19;14656:6;:12;;:21;14669:7;14656:21;;;;;;;;;;;;;;;:26;;:38;;:60;;;;14766:22;14722:6;:12;;:24;14735:10;14722:24;;;;;;;;;;;;;;;:29;;:41;;:66;;;;14854:35;14794:6;:12;;:40;14807:6;:17;;:26;;;;;;;;;;;;14794:40;;;;;;;;;;;;;;;:45;;:57;;:95;;;;14953:22;14895:6;:12;;:21;14908:7;14895:21;;;;;;;;;;;;;;;:26;;:45;;:55;14941:8;14895:55;;;;;;;;;;;;;;;:80;;;;14992:4;14981:15;;14345:656;;;;;;;;;:::o;13834:507::-;14059:13;14123:19;14082:6;:12;;:21;14095:7;14082:21;;;;;;;;;;;;;;;:26;;:38;;:60;;;;14192:22;14148:6;:12;;:24;14161:10;14148:24;;;;;;;;;;;;;;;:29;;:41;;:66;;;;14280:35;14220:6;:12;;:40;14233:6;:17;;:26;;;;;;;;;;;;14220:40;;;;;;;;;;;;;;;:45;;:57;;:95;;;;14332:4;14321:15;;13834:507;;;;;;;:::o;185:552:83:-;316:29;;:::i;:::-;425:15;519:14;370:9;355:24;;400:9;:14;;;:18;;;393:3;:25;;385:34;;;;;;;;449:9;:14;;;:18;;;443:3;:24;425:42;;507:6;497:7;:16;;;;;;;;473:12;:21;;:40;;;;;560:6;536:12;:21;;;:30;519:47;;601:1;576:12;:21;;;:26;572:161;;;637:9;:14;;;:18;;;612:12;:17;;;:22;;:43;;;;;572:161;;;696:30;700:12;:17;;;719:6;696:3;:30::i;:::-;676:12;:17;;:50;;;;572:161;185:552;;;;;;:::o;2829:285::-;2945:24;;:::i;:::-;3016:9;:13;;;3004:7;2988:9;:13;;;:23;2987:42;;2979:51;;;;;;;;3051:9;3036:24;;3102:7;3086:9;:13;;;:23;3066:12;:17;;:43;;;;;2829:285;;;;:::o;258:14745:70:-;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.23;\n\nimport \"@digix/solidity-core-libraries/contracts/MathUtils.sol\";\nimport \"@digix/solidity-core-libraries/contracts/Types.sol\";\nimport \"./TokenReceiver.sol\";\nimport \"./libs/DemurrageStructs.sol\";\nimport \"./libs/TransferStructs.sol\";\n\ncontract DummyDGXStorage {\n using Types for Types.MutableUint;\n using Types for Types.MutableTimestamp;\n\n struct FeeConfiguration {\n uint256 base;\n uint256 rate;\n }\n\n struct GlobalConfig {\n bytes32 current_version;\n bool no_demurrage_fee;\n bool no_transfer_fee;\n uint256 minimum_transfer_amount;\n Fees fees;\n }\n\n struct Fees {\n FeeConfiguration demurrage;\n FeeConfiguration transfer;\n }\n\n struct Collectors {\n address demurrage;\n address transfer;\n }\n\n struct UserConfig {\n bool no_demurrage_fee;\n bool no_transfer_fee;\n }\n\n struct UserData {\n uint256 last_payment_date;\n uint256 raw_balance;\n mapping (address => uint256) spender_allowances;\n }\n\n struct User {\n UserConfig config;\n UserData data;\n }\n\n struct System {\n Collectors collectors;\n GlobalConfig config;\n uint256 total_supply;\n mapping (address => User) users;\n }\n\n System system;\n address ROOT;\n address DGX_INTERACTIVE_ADDRESS;\n\n constructor()\n public\n {\n address _demurrage_collector;\n address _transfer_collector;\n assembly {\n _demurrage_collector := create(0,0,0)\n _transfer_collector := create(0,0,0)\n }\n\n system.config.fees.demurrage.base = 10000000;\n system.config.fees.demurrage.rate = 165;\n system.config.fees.transfer.base = 10000;\n system.config.fees.transfer.rate = 13;\n system.config.minimum_transfer_amount = 1000000;\n system.config.no_demurrage_fee = false;\n system.config.no_transfer_fee = false;\n system.config.current_version = \"1.0.0\";\n system.total_supply = 0;\n ROOT = msg.sender;\n }\n\n function setInteractive(address _DummyDGXInteractive)\n public\n if_root()\n {\n DGX_INTERACTIVE_ADDRESS = _DummyDGXInteractive;\n }\n\n modifier if_root() {\n require(msg.sender == ROOT);\n _;\n }\n\n modifier if_dgx_interactive() {\n require(msg.sender == DGX_INTERACTIVE_ADDRESS);\n _;\n }\n\n /////////////////////////////// PUBLIC FUNCTIONS ////////////////////////////\n\n function read_demurrage_config()\n constant\n public\n returns (\n uint256 _collector_balance,\n uint256 _base,\n uint256 _rate,\n address _collector\n )\n {\n _collector_balance = system.users[system.collectors.demurrage].data.raw_balance;\n bool _global_demurrage_disabled = system.config.no_demurrage_fee;\n _collector = system.collectors.demurrage;\n if (_global_demurrage_disabled) {\n _base = 0;\n _rate = 0;\n } else {\n _base = system.config.fees.demurrage.base;\n _rate = system.config.fees.demurrage.rate;\n }\n }\n\n function read_demurrage_config_underlying()\n public\n constant\n returns (\n uint256 _base,\n uint256 _rate,\n address _collector,\n bool _no_demurrage_fee\n )\n {\n _base = system.config.fees.demurrage.base;\n _rate = system.config.fees.demurrage.rate;\n _collector = system.collectors.demurrage;\n _no_demurrage_fee = system.config.no_demurrage_fee;\n }\n\n function read_transfer_config()\n public\n constant\n returns (\n uint256 _collector_balance,\n uint256 _base,\n uint256 _rate,\n address _collector,\n bool _no_transfer_fee,\n uint256 _minimum_transfer_amount\n )\n {\n _collector_balance = system.users[system.collectors.transfer].data.raw_balance;\n _base = system.config.fees.transfer.base;\n _rate = system.config.fees.transfer.rate;\n _collector = system.collectors.transfer;\n _no_transfer_fee = system.config.no_transfer_fee;\n _minimum_transfer_amount = system.config.minimum_transfer_amount;\n }\n\n function read_user_for_transfer(address _account)\n public\n constant\n returns (uint256 _raw_balance, bool _no_transfer_fee)\n {\n _raw_balance = system.users[_account].data.raw_balance;\n _no_transfer_fee = system.users[_account].config.no_transfer_fee;\n }\n\n function read_user_for_demurrage(address _account)\n public\n constant\n returns (\n uint256 _raw_balance,\n uint256 _payment_date,\n bool _no_demurrage_fee\n )\n {\n _raw_balance = system.users[_account].data.raw_balance;\n _payment_date = system.users[_account].data.last_payment_date;\n _no_demurrage_fee = system.users[_account].config.no_demurrage_fee ||\n system.config.no_demurrage_fee;\n }\n\n function read_total_supply()\n public\n constant\n returns (uint256 _totalSupply)\n {\n _totalSupply = system.total_supply;\n }\n\n function read_allowance(address _owner, address _spender)\n public\n constant\n returns (uint256 _allowance)\n {\n _allowance = system.users[_owner].data.spender_allowances[_spender];\n }\n\n function read_user_fees_configs(address _account)\n public\n constant\n returns (\n bool _no_demurrage_fee,\n bool _no_transfer_fee\n )\n {\n _no_demurrage_fee = system.users[_account].config.no_demurrage_fee;\n _no_transfer_fee = system.users[_account].config.no_transfer_fee;\n }\n\n ////////////////////////// CALLABLE FROM INTERACTIVE ////////////////////////\n\n function show_demurraged_balance(address _user)\n public\n if_dgx_interactive()\n constant\n returns (uint256 _actual_balance)\n {\n DemurrageStructs.Demurrage memory _demurrage = get_demurraged_data(_user);\n _demurrage = calculate_demurrage(_demurrage);\n _actual_balance = _demurrage.user.balance.post;\n }\n\n function put_transfer(\n address _sender,\n address _recipient,\n address _spender,\n uint256 _amount,\n bool _transfer_from\n )\n public\n if_dgx_interactive()\n returns (bool _success)\n {\n require(_sender != _recipient);\n require(deduct_demurrage(_sender) == true);\n require(deduct_demurrage(_recipient) == true);\n\n TransferStructs.Transfer memory _transfer;\n (\n _transfer.config.collector_balance.pre,\n _transfer.config.base,\n _transfer.config.rate,\n _transfer.config.collector,\n _transfer.config.global_transfer_fee_disabled,\n _transfer.config.minimum_transfer_amount\n ) = read_transfer_config();\n\n require(_amount >= _transfer.config.minimum_transfer_amount);\n\n (_transfer.sender.balance.pre, _transfer.sender.no_transfer_fee) =\n read_user_for_transfer(_sender);\n\n (_transfer.recipient.balance.pre, _transfer.recipient.no_transfer_fee) =\n read_user_for_transfer(_recipient);\n\n _transfer.sent_amount = _amount;\n _transfer.is_transfer_from = _transfer_from;\n\n if ((_transfer.config.global_transfer_fee_disabled == true) ||\n (_transfer.sender.no_transfer_fee == true)) {\n _transfer = build_transfer_with_no_transfer_fee(_transfer);\n } else {\n _transfer = build_transfer_with_transfer_fee(_transfer);\n }\n\n if (_transfer.is_transfer_from == true) {\n require(deduct_demurrage(_spender) == true);\n _transfer.spender.allowance.pre = read_allowance(_sender, _spender);\n _transfer.spender.allowance = _transfer.spender.allowance.subtract(_amount);\n\n _success = update_transfer_from_balance(\n _sender,\n _transfer.sender.balance.post,\n _recipient,\n _transfer.recipient.balance.post,\n _transfer.config.collector_balance.post,\n _spender,\n _transfer.spender.allowance.post\n );\n } else {\n _success = update_transfer_balance(\n _sender,\n _transfer.sender.balance.post,\n _recipient,\n _transfer.recipient.balance.post,\n _transfer.config.collector_balance.post\n );\n }\n require(_success);\n }\n\n function put_approve(\n address _account,\n address _spender,\n uint256 _amount\n )\n public\n if_dgx_interactive()\n returns (bool _success)\n {\n Types.MutableUint memory _a;\n\n _a.pre = read_allowance(_account, _spender);\n\n if ((_a.pre > 0) && (_amount > 0)) {\n revert();\n } else {\n _a.post = _amount;\n _success = update_account_spender_allowance(_account, _spender, _a.post);\n }\n }\n\n function update_user_fees_configs(\n address _user,\n bool _no_demurrage_fee,\n bool _no_transfer_fee\n )\n public\n if_dgx_interactive()\n returns (bool _success)\n {\n system.users[_user].config.no_demurrage_fee = _no_demurrage_fee;\n system.users[_user].config.no_transfer_fee = _no_transfer_fee;\n _success = true;\n }\n\n // This function is not present in the DummyDGX2.0 token contracts.\n // For test purpose, only used to bypass the POP process\n function mint_dgx_for(\n address _for,\n uint256 _amount\n )\n public\n if_dgx_interactive()\n returns (bool _success)\n {\n system.users[_for].data.raw_balance += _amount;\n system.total_supply += _amount;\n _success = true;\n }\n\n // This function is not present in the DummyDGX2.0 token contracts.\n // For test purpose, only used to simulate demurrage deduction\n function modify_last_payment_date(\n address _of,\n uint256 _byMinutes\n )\n public\n if_dgx_interactive()\n returns (bool _success)\n {\n system.users[_of].data.last_payment_date = now - (_byMinutes * 1 minutes);\n _success = true;\n }\n\n //////////////////////////// PRIVATE FUNCTIONS //////////////////////////////\n\n function get_demurraged_data(address _user)\n private\n constant\n returns (DemurrageStructs.Demurrage _demurrage)\n {\n (\n _demurrage.config.collector_balance.pre,\n _demurrage.config.base,\n _demurrage.config.rate,\n _demurrage.config.collector\n ) = read_demurrage_config();\n _demurrage.user.account = _user;\n (\n _demurrage.user.balance.pre,\n _demurrage.user.payment_date.time.pre,\n _demurrage.user.no_demurrage_fee\n ) = read_user_for_demurrage(_user);\n }\n\n function calculate_demurrage(DemurrageStructs.Demurrage memory _demurrage)\n private\n constant\n returns (DemurrageStructs.Demurrage _calculated)\n {\n if (_demurrage.user.payment_date.time.pre == 0) {\n _demurrage.user.payment_date.time.pre = now;\n }\n // demurrage collector is never deducted for demurrage\n if (_demurrage.user.no_demurrage_fee == true || _demurrage.user.account == _demurrage.config.collector) {\n _demurrage.user.balance.post = _demurrage.user.balance.pre;\n _demurrage.config.collector_balance.post = _demurrage.config.collector_balance.pre;\n _demurrage.user.payment_date.time.post = now;\n } else {\n _demurrage.user.payment_date = _demurrage.user.payment_date.advance_by(1 days);\n if (_demurrage.user.payment_date.in_units == 0) {\n _demurrage.user.balance.post = _demurrage.user.balance.pre;\n _demurrage.config.collector_balance.post = _demurrage.config.collector_balance.pre;\n } else {\n _demurrage.collected_fee = (_demurrage.user.payment_date.in_units * _demurrage.user.balance.pre * _demurrage.config.rate) / _demurrage.config.base;\n _demurrage.user.balance = _demurrage.user.balance.subtract(_demurrage.collected_fee);\n _demurrage.config.collector_balance = _demurrage.config.collector_balance.add(_demurrage.collected_fee);\n }\n }\n _calculated = _demurrage;\n }\n\n function deduct_demurrage(address _user)\n public\n returns (bool _success)\n {\n DemurrageStructs.Demurrage memory _demurrage = get_demurraged_data(_user);\n _demurrage = calculate_demurrage(_demurrage);\n update_user_for_demurrage(\n _demurrage.user.account,\n _demurrage.user.balance.post,\n _demurrage.user.payment_date.time.post,\n _demurrage.config.collector_balance.post\n );\n _success = true;\n }\n\n function update_user_for_demurrage(\n address _user,\n uint256 _user_new_balance,\n uint256 _user_new_payment_date,\n uint256 _collector_new_balance\n )\n private\n {\n system.users[system.collectors.demurrage].data.raw_balance = _collector_new_balance;\n system.users[_user].data.raw_balance = _user_new_balance;\n system.users[_user].data.last_payment_date = _user_new_payment_date;\n }\n\n function build_transfer_with_no_transfer_fee(TransferStructs.Transfer memory _transfer)\n private\n pure\n returns (TransferStructs.Transfer memory _built)\n {\n _transfer.fee = 0;\n _transfer.received_amount = _transfer.received_amount.add(_transfer.sent_amount);\n _transfer.sender.balance = _transfer.sender.balance.subtract(_transfer.received_amount.post);\n _transfer.config.collector_balance.post = _transfer.config.collector_balance.pre;\n _transfer.recipient.balance = _transfer.recipient.balance.add(_transfer.received_amount.post);\n _built = _transfer;\n }\n\n function build_transfer_with_transfer_fee(TransferStructs.Transfer memory _transfer)\n private\n pure\n returns (TransferStructs.Transfer memory _built)\n {\n _transfer.fee = (_transfer.sent_amount * _transfer.config.rate) / _transfer.config.base;\n _transfer.received_amount.pre = _transfer.sent_amount;\n _transfer.received_amount = _transfer.received_amount.subtract(_transfer.fee);\n _transfer.config.collector_balance = _transfer.config.collector_balance.add(_transfer.fee);\n _transfer.sender.balance = _transfer.sender.balance.subtract(_transfer.sent_amount);\n _transfer.recipient.balance = _transfer.recipient.balance.add(_transfer.received_amount.post);\n _built = _transfer;\n }\n\n function update_account_spender_allowance(\n address _account,\n address _spender,\n uint256 _new_allowance\n )\n private\n returns (bool _success)\n {\n system.users[_account].data.spender_allowances[_spender] = _new_allowance;\n _success = true;\n }\n\n function update_transfer_balance(\n address _sender,\n uint256 _sender_new_balance,\n address _recipient,\n uint256 _recipient_new_balance,\n uint256 _transfer_fee_collector_new_balance\n )\n private\n returns (bool _success)\n {\n system.users[_sender].data.raw_balance = _sender_new_balance;\n system.users[_recipient].data.raw_balance = _recipient_new_balance;\n system.users[system.collectors.transfer].data.raw_balance = _transfer_fee_collector_new_balance;\n _success = true;\n }\n\n function update_transfer_from_balance(\n address _sender,\n uint256 _sender_new_balance,\n address _recipient,\n uint256 _recipient_new_balance,\n uint256 _transfer_fee_collector_new_balance,\n address _spender,\n uint256 _spender_new_allowance\n )\n private\n returns (bool _success)\n {\n system.users[_sender].data.raw_balance = _sender_new_balance;\n system.users[_recipient].data.raw_balance = _recipient_new_balance;\n system.users[system.collectors.transfer].data.raw_balance = _transfer_fee_collector_new_balance;\n system.users[_sender].data.spender_allowances[_spender] = _spender_new_allowance;\n _success = true;\n }\n}\n", + "sourcePath": "@digix/lite-dgx-contract/contracts/DummyDGXStorage.sol", + "ast": { + "absolutePath": "@digix/lite-dgx-contract/contracts/DummyDGXStorage.sol", + "exportedSymbols": { + "DummyDGXStorage": [ + 21622 + ] + }, + "id": 21623, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 20042, + "literals": [ + "solidity", + "^", + "0.4", + ".23" + ], + "nodeType": "PragmaDirective", + "src": "0:24:70" + }, + { + "absolutePath": "@digix/solidity-core-libraries/contracts/MathUtils.sol", + "file": "@digix/solidity-core-libraries/contracts/MathUtils.sol", + "id": 20043, + "nodeType": "ImportDirective", + "scope": 21623, + "sourceUnit": 25628, + "src": "26:64:70", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/solidity-core-libraries/contracts/Types.sol", + "file": "@digix/solidity-core-libraries/contracts/Types.sol", + "id": 20044, + "nodeType": "ImportDirective", + "scope": 21623, + "sourceUnit": 25948, + "src": "91:60:70", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/lite-dgx-contract/contracts/TokenReceiver.sol", + "file": "./TokenReceiver.sol", + "id": 20045, + "nodeType": "ImportDirective", + "scope": 21623, + "sourceUnit": 21637, + "src": "152:29:70", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/lite-dgx-contract/contracts/libs/DemurrageStructs.sol", + "file": "./libs/DemurrageStructs.sol", + "id": 20046, + "nodeType": "ImportDirective", + "scope": 21623, + "sourceUnit": 21672, + "src": "182:37:70", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/lite-dgx-contract/contracts/libs/TransferStructs.sol", + "file": "./libs/TransferStructs.sol", + "id": 20047, + "nodeType": "ImportDirective", + "scope": 21623, + "sourceUnit": 21724, + "src": "220:36:70", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 21622, + "linearizedBaseContracts": [ + 21622 + ], + "name": "DummyDGXStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 20050, + "libraryName": { + "contractScope": null, + "id": 20048, + "name": "Types", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25947, + "src": "293:5:70", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Types_$25947", + "typeString": "library Types" + } + }, + "nodeType": "UsingForDirective", + "src": "287:34:70", + "typeName": { + "contractScope": null, + "id": 20049, + "name": "Types.MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "303:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + } + }, + { + "id": 20053, + "libraryName": { + "contractScope": null, + "id": 20051, + "name": "Types", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25947, + "src": "330:5:70", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Types_$25947", + "typeString": "library Types" + } + }, + "nodeType": "UsingForDirective", + "src": "324:39:70", + "typeName": { + "contractScope": null, + "id": 20052, + "name": "Types.MutableTimestamp", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25639, + "src": "340:22:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_storage_ptr", + "typeString": "struct Types.MutableTimestamp" + } + } + }, + { + "canonicalName": "DummyDGXStorage.FeeConfiguration", + "id": 20058, + "members": [ + { + "constant": false, + "id": 20055, + "name": "base", + "nodeType": "VariableDeclaration", + "scope": 20058, + "src": "397:12:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20054, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "397:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20057, + "name": "rate", + "nodeType": "VariableDeclaration", + "scope": 20058, + "src": "415:12:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20056, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "415:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "FeeConfiguration", + "nodeType": "StructDefinition", + "scope": 21622, + "src": "367:65:70", + "visibility": "public" + }, + { + "canonicalName": "DummyDGXStorage.GlobalConfig", + "id": 20069, + "members": [ + { + "constant": false, + "id": 20060, + "name": "current_version", + "nodeType": "VariableDeclaration", + "scope": 20069, + "src": "462:23:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 20059, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "462:7:70", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20062, + "name": "no_demurrage_fee", + "nodeType": "VariableDeclaration", + "scope": 20069, + "src": "491:21:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20061, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "491:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20064, + "name": "no_transfer_fee", + "nodeType": "VariableDeclaration", + "scope": 20069, + "src": "518:20:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20063, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "518:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20066, + "name": "minimum_transfer_amount", + "nodeType": "VariableDeclaration", + "scope": 20069, + "src": "544:31:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20065, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "544:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20068, + "name": "fees", + "nodeType": "VariableDeclaration", + "scope": 20069, + "src": "581:9:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage_ptr", + "typeString": "struct DummyDGXStorage.Fees" + }, + "typeName": { + "contractScope": null, + "id": 20067, + "name": "Fees", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 20074, + "src": "581:4:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage_ptr", + "typeString": "struct DummyDGXStorage.Fees" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "GlobalConfig", + "nodeType": "StructDefinition", + "scope": 21622, + "src": "436:159:70", + "visibility": "public" + }, + { + "canonicalName": "DummyDGXStorage.Fees", + "id": 20074, + "members": [ + { + "constant": false, + "id": 20071, + "name": "demurrage", + "nodeType": "VariableDeclaration", + "scope": 20074, + "src": "617:26:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage_ptr", + "typeString": "struct DummyDGXStorage.FeeConfiguration" + }, + "typeName": { + "contractScope": null, + "id": 20070, + "name": "FeeConfiguration", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 20058, + "src": "617:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage_ptr", + "typeString": "struct DummyDGXStorage.FeeConfiguration" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20073, + "name": "transfer", + "nodeType": "VariableDeclaration", + "scope": 20074, + "src": "649:25:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage_ptr", + "typeString": "struct DummyDGXStorage.FeeConfiguration" + }, + "typeName": { + "contractScope": null, + "id": 20072, + "name": "FeeConfiguration", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 20058, + "src": "649:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage_ptr", + "typeString": "struct DummyDGXStorage.FeeConfiguration" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Fees", + "nodeType": "StructDefinition", + "scope": 21622, + "src": "599:80:70", + "visibility": "public" + }, + { + "canonicalName": "DummyDGXStorage.Collectors", + "id": 20079, + "members": [ + { + "constant": false, + "id": 20076, + "name": "demurrage", + "nodeType": "VariableDeclaration", + "scope": 20079, + "src": "707:17:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20075, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "707:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20078, + "name": "transfer", + "nodeType": "VariableDeclaration", + "scope": 20079, + "src": "730:16:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20077, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "730:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Collectors", + "nodeType": "StructDefinition", + "scope": 21622, + "src": "683:68:70", + "visibility": "public" + }, + { + "canonicalName": "DummyDGXStorage.UserConfig", + "id": 20084, + "members": [ + { + "constant": false, + "id": 20081, + "name": "no_demurrage_fee", + "nodeType": "VariableDeclaration", + "scope": 20084, + "src": "779:21:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20080, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "779:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20083, + "name": "no_transfer_fee", + "nodeType": "VariableDeclaration", + "scope": 20084, + "src": "806:20:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20082, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "806:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "UserConfig", + "nodeType": "StructDefinition", + "scope": 21622, + "src": "755:76:70", + "visibility": "public" + }, + { + "canonicalName": "DummyDGXStorage.UserData", + "id": 20093, + "members": [ + { + "constant": false, + "id": 20086, + "name": "last_payment_date", + "nodeType": "VariableDeclaration", + "scope": 20093, + "src": "857:25:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20085, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "857:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20088, + "name": "raw_balance", + "nodeType": "VariableDeclaration", + "scope": 20093, + "src": "888:19:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20087, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "888:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20092, + "name": "spender_allowances", + "nodeType": "VariableDeclaration", + "scope": 20093, + "src": "913:47:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 20091, + "keyType": { + "id": 20089, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "922:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "913:28:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 20090, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "933:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "UserData", + "nodeType": "StructDefinition", + "scope": 21622, + "src": "835:130:70", + "visibility": "public" + }, + { + "canonicalName": "DummyDGXStorage.User", + "id": 20098, + "members": [ + { + "constant": false, + "id": 20095, + "name": "config", + "nodeType": "VariableDeclaration", + "scope": 20098, + "src": "987:17:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserConfig_$20084_storage_ptr", + "typeString": "struct DummyDGXStorage.UserConfig" + }, + "typeName": { + "contractScope": null, + "id": 20094, + "name": "UserConfig", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 20084, + "src": "987:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserConfig_$20084_storage_ptr", + "typeString": "struct DummyDGXStorage.UserConfig" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20097, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 20098, + "src": "1010:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage_ptr", + "typeString": "struct DummyDGXStorage.UserData" + }, + "typeName": { + "contractScope": null, + "id": 20096, + "name": "UserData", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 20093, + "src": "1010:8:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage_ptr", + "typeString": "struct DummyDGXStorage.UserData" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "User", + "nodeType": "StructDefinition", + "scope": 21622, + "src": "969:59:70", + "visibility": "public" + }, + { + "canonicalName": "DummyDGXStorage.System", + "id": 20109, + "members": [ + { + "constant": false, + "id": 20100, + "name": "collectors", + "nodeType": "VariableDeclaration", + "scope": 20109, + "src": "1052:21:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Collectors_$20079_storage_ptr", + "typeString": "struct DummyDGXStorage.Collectors" + }, + "typeName": { + "contractScope": null, + "id": 20099, + "name": "Collectors", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 20079, + "src": "1052:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Collectors_$20079_storage_ptr", + "typeString": "struct DummyDGXStorage.Collectors" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20102, + "name": "config", + "nodeType": "VariableDeclaration", + "scope": 20109, + "src": "1079:19:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage_ptr", + "typeString": "struct DummyDGXStorage.GlobalConfig" + }, + "typeName": { + "contractScope": null, + "id": 20101, + "name": "GlobalConfig", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 20069, + "src": "1079:12:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage_ptr", + "typeString": "struct DummyDGXStorage.GlobalConfig" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20104, + "name": "total_supply", + "nodeType": "VariableDeclaration", + "scope": 20109, + "src": "1104:20:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20103, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1104:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20108, + "name": "users", + "nodeType": "VariableDeclaration", + "scope": 20109, + "src": "1130:31:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User)" + }, + "typeName": { + "id": 20107, + "keyType": { + "id": 20105, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1139:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1130:25:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User)" + }, + "valueType": { + "contractScope": null, + "id": 20106, + "name": "User", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 20098, + "src": "1150:4:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage_ptr", + "typeString": "struct DummyDGXStorage.User" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "System", + "nodeType": "StructDefinition", + "scope": 21622, + "src": "1032:134:70", + "visibility": "public" + }, + { + "constant": false, + "id": 20111, + "name": "system", + "nodeType": "VariableDeclaration", + "scope": 21622, + "src": "1170:13:70", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System" + }, + "typeName": { + "contractScope": null, + "id": 20110, + "name": "System", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 20109, + "src": "1170:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage_ptr", + "typeString": "struct DummyDGXStorage.System" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20113, + "name": "ROOT", + "nodeType": "VariableDeclaration", + "scope": 21622, + "src": "1187:12:70", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20112, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1187:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20115, + "name": "DGX_INTERACTIVE_ADDRESS", + "nodeType": "VariableDeclaration", + "scope": 21622, + "src": "1203:31:70", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20114, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1203:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 20216, + "nodeType": "Block", + "src": "1266:602:70", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 20119, + "name": "_demurrage_collector", + "nodeType": "VariableDeclaration", + "scope": 20217, + "src": "1272:28:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20118, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1272:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 20120, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1272:28:70" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 20122, + "name": "_transfer_collector", + "nodeType": "VariableDeclaration", + "scope": 20217, + "src": "1306:27:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20121, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1306:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 20123, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1306:27:70" + }, + { + "externalReferences": [ + { + "_demurrage_collector": { + "declaration": 20119, + "isOffset": false, + "isSlot": false, + "src": "1356:20:70", + "valueSize": 1 + } + }, + { + "_transfer_collector": { + "declaration": 20122, + "isOffset": false, + "isSlot": false, + "src": "1400:19:70", + "valueSize": 1 + } + } + ], + "id": 20124, + "nodeType": "InlineAssembly", + "operations": "{\n _demurrage_collector := create(0, 0, 0)\n _transfer_collector := create(0, 0, 0)\n}", + "src": "1339:115:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20125, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "1448:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20130, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "1448:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20131, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fees", + "nodeType": "MemberAccess", + "referencedDeclaration": 20068, + "src": "1448:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage", + "typeString": "struct DummyDGXStorage.Fees storage ref" + } + }, + "id": 20132, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "demurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 20071, + "src": "1448:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage", + "typeString": "struct DummyDGXStorage.FeeConfiguration storage ref" + } + }, + "id": 20133, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "base", + "nodeType": "MemberAccess", + "referencedDeclaration": 20055, + "src": "1448:33:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130303030303030", + "id": 20134, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1484:8:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000_by_1", + "typeString": "int_const 10000000" + }, + "value": "10000000" + }, + "src": "1448:44:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20136, + "nodeType": "ExpressionStatement", + "src": "1448:44:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20137, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "1498:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20142, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "1498:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20143, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fees", + "nodeType": "MemberAccess", + "referencedDeclaration": 20068, + "src": "1498:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage", + "typeString": "struct DummyDGXStorage.Fees storage ref" + } + }, + "id": 20144, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "demurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 20071, + "src": "1498:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage", + "typeString": "struct DummyDGXStorage.FeeConfiguration storage ref" + } + }, + "id": 20145, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "rate", + "nodeType": "MemberAccess", + "referencedDeclaration": 20057, + "src": "1498:33:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313635", + "id": 20146, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1534:3:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_165_by_1", + "typeString": "int_const 165" + }, + "value": "165" + }, + "src": "1498:39:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20148, + "nodeType": "ExpressionStatement", + "src": "1498:39:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20149, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "1543:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20154, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "1543:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20155, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fees", + "nodeType": "MemberAccess", + "referencedDeclaration": 20068, + "src": "1543:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage", + "typeString": "struct DummyDGXStorage.Fees storage ref" + } + }, + "id": 20156, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 20073, + "src": "1543:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage", + "typeString": "struct DummyDGXStorage.FeeConfiguration storage ref" + } + }, + "id": 20157, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "base", + "nodeType": "MemberAccess", + "referencedDeclaration": 20055, + "src": "1543:32:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130303030", + "id": 20158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1578:5:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10000_by_1", + "typeString": "int_const 10000" + }, + "value": "10000" + }, + "src": "1543:40:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20160, + "nodeType": "ExpressionStatement", + "src": "1543:40:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20161, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "1589:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20166, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "1589:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20167, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fees", + "nodeType": "MemberAccess", + "referencedDeclaration": 20068, + "src": "1589:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage", + "typeString": "struct DummyDGXStorage.Fees storage ref" + } + }, + "id": 20168, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 20073, + "src": "1589:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage", + "typeString": "struct DummyDGXStorage.FeeConfiguration storage ref" + } + }, + "id": 20169, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "rate", + "nodeType": "MemberAccess", + "referencedDeclaration": 20057, + "src": "1589:32:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3133", + "id": 20170, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1624:2:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_13_by_1", + "typeString": "int_const 13" + }, + "value": "13" + }, + "src": "1589:37:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20172, + "nodeType": "ExpressionStatement", + "src": "1589:37:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20173, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "1632:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20176, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "1632:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20177, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "minimum_transfer_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 20066, + "src": "1632:37:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31303030303030", + "id": 20178, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1672:7:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000_by_1", + "typeString": "int_const 1000000" + }, + "value": "1000000" + }, + "src": "1632:47:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20180, + "nodeType": "ExpressionStatement", + "src": "1632:47:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20181, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "1685:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20184, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "1685:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20185, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "no_demurrage_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20062, + "src": "1685:30:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 20186, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1718:5:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1685:38:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20188, + "nodeType": "ExpressionStatement", + "src": "1685:38:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20189, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "1729:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20192, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "1729:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20193, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "no_transfer_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20064, + "src": "1729:29:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 20194, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1761:5:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1729:37:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20196, + "nodeType": "ExpressionStatement", + "src": "1729:37:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20197, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "1772:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20200, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "1772:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20201, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "current_version", + "nodeType": "MemberAccess", + "referencedDeclaration": 20060, + "src": "1772:29:70", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "312e302e30", + "id": 20202, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1804:7:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_06c015bd22b4c69690933c1058878ebdfef31f9aaae40bbe86d8a09fe1b2972c", + "typeString": "literal_string \"1.0.0\"" + }, + "value": "1.0.0" + }, + "src": "1772:39:70", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 20204, + "nodeType": "ExpressionStatement", + "src": "1772:39:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20205, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "1817:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20207, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "total_supply", + "nodeType": "MemberAccess", + "referencedDeclaration": 20104, + "src": "1817:19:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 20208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1839:1:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1817:23:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20210, + "nodeType": "ExpressionStatement", + "src": "1817:23:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20211, + "name": "ROOT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20113, + "src": "1846:4:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20212, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1853:3:70", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 20213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1853:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1846:17:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 20215, + "nodeType": "ExpressionStatement", + "src": "1846:17:70" + } + ] + }, + "documentation": null, + "id": 20217, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20116, + "nodeType": "ParameterList", + "parameters": [], + "src": "1250:2:70" + }, + "payable": false, + "returnParameters": { + "id": 20117, + "nodeType": "ParameterList", + "parameters": [], + "src": "1266:0:70" + }, + "scope": 21622, + "src": "1239:629:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20228, + "nodeType": "Block", + "src": "1953:57:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20224, + "name": "DGX_INTERACTIVE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20115, + "src": "1959:23:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 20225, + "name": "_DummyDGXInteractive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20219, + "src": "1985:20:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1959:46:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 20227, + "nodeType": "ExpressionStatement", + "src": "1959:46:70" + } + ] + }, + "documentation": null, + "id": 20229, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 20222, + "modifierName": { + "argumentTypes": null, + "id": 20221, + "name": "if_root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20240, + "src": "1941:7:70", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1941:9:70" + } + ], + "name": "setInteractive", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20220, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20219, + "name": "_DummyDGXInteractive", + "nodeType": "VariableDeclaration", + "scope": 20229, + "src": "1896:28:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20218, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1896:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1895:30:70" + }, + "payable": false, + "returnParameters": { + "id": 20223, + "nodeType": "ParameterList", + "parameters": [], + "src": "1953:0:70" + }, + "scope": 21622, + "src": "1872:138:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20239, + "nodeType": "Block", + "src": "2033:45:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 20235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20232, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2047:3:70", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 20233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2047:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 20234, + "name": "ROOT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20113, + "src": "2061:4:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2047:18:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 20231, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2039:7:70", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 20236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2039:27:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20237, + "nodeType": "ExpressionStatement", + "src": "2039:27:70" + }, + { + "id": 20238, + "nodeType": "PlaceholderStatement", + "src": "2072:1:70" + } + ] + }, + "documentation": null, + "id": 20240, + "name": "if_root", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 20230, + "nodeType": "ParameterList", + "parameters": [], + "src": "2030:2:70" + }, + "src": "2014:64:70", + "visibility": "internal" + }, + { + "body": { + "id": 20250, + "nodeType": "Block", + "src": "2112:64:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 20246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20243, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2126:3:70", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 20244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2126:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 20245, + "name": "DGX_INTERACTIVE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20115, + "src": "2140:23:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2126:37:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 20242, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2118:7:70", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 20247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2118:46:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20248, + "nodeType": "ExpressionStatement", + "src": "2118:46:70" + }, + { + "id": 20249, + "nodeType": "PlaceholderStatement", + "src": "2170:1:70" + } + ] + }, + "documentation": null, + "id": 20251, + "name": "if_dgx_interactive", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 20241, + "nodeType": "ParameterList", + "parameters": [], + "src": "2109:2:70" + }, + "src": "2082:94:70", + "visibility": "internal" + }, + { + "body": { + "id": 20313, + "nodeType": "Block", + "src": "2441:395:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20262, + "name": "_collector_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20254, + "src": "2447:18:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20263, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "2468:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20264, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "2468:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20268, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20265, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "2481:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20266, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collectors", + "nodeType": "MemberAccess", + "referencedDeclaration": 20100, + "src": "2481:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Collectors_$20079_storage", + "typeString": "struct DummyDGXStorage.Collectors storage ref" + } + }, + "id": 20267, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "demurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 20076, + "src": "2481:27:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2468:41:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20269, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "2468:46:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 20270, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "2468:58:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2447:79:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20272, + "nodeType": "ExpressionStatement", + "src": "2447:79:70" + }, + { + "assignments": [ + 20274 + ], + "declarations": [ + { + "constant": false, + "id": 20274, + "name": "_global_demurrage_disabled", + "nodeType": "VariableDeclaration", + "scope": 20314, + "src": "2532:31:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20273, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2532:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 20278, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20275, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "2566:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20276, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "2566:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20277, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "no_demurrage_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20062, + "src": "2566:30:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2532:64:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20279, + "name": "_collector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20260, + "src": "2602:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20280, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "2615:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20281, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collectors", + "nodeType": "MemberAccess", + "referencedDeclaration": 20100, + "src": "2615:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Collectors_$20079_storage", + "typeString": "struct DummyDGXStorage.Collectors storage ref" + } + }, + "id": 20282, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "demurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 20076, + "src": "2615:27:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2602:40:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 20284, + "nodeType": "ExpressionStatement", + "src": "2602:40:70" + }, + { + "condition": { + "argumentTypes": null, + "id": 20285, + "name": "_global_demurrage_disabled", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20274, + "src": "2652:26:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 20311, + "nodeType": "Block", + "src": "2727:105:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20295, + "name": "_base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20256, + "src": "2735:5:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20296, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "2743:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20297, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "2743:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20298, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fees", + "nodeType": "MemberAccess", + "referencedDeclaration": 20068, + "src": "2743:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage", + "typeString": "struct DummyDGXStorage.Fees storage ref" + } + }, + "id": 20299, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "demurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 20071, + "src": "2743:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage", + "typeString": "struct DummyDGXStorage.FeeConfiguration storage ref" + } + }, + "id": 20300, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "base", + "nodeType": "MemberAccess", + "referencedDeclaration": 20055, + "src": "2743:33:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2735:41:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20302, + "nodeType": "ExpressionStatement", + "src": "2735:41:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20303, + "name": "_rate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20258, + "src": "2784:5:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20304, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "2792:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20305, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "2792:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20306, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fees", + "nodeType": "MemberAccess", + "referencedDeclaration": 20068, + "src": "2792:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage", + "typeString": "struct DummyDGXStorage.Fees storage ref" + } + }, + "id": 20307, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "demurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 20071, + "src": "2792:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage", + "typeString": "struct DummyDGXStorage.FeeConfiguration storage ref" + } + }, + "id": 20308, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rate", + "nodeType": "MemberAccess", + "referencedDeclaration": 20057, + "src": "2792:33:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2784:41:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20310, + "nodeType": "ExpressionStatement", + "src": "2784:41:70" + } + ] + }, + "id": 20312, + "nodeType": "IfStatement", + "src": "2648:184:70", + "trueBody": { + "id": 20294, + "nodeType": "Block", + "src": "2680:41:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20286, + "name": "_base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20256, + "src": "2688:5:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 20287, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2696:1:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2688:9:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20289, + "nodeType": "ExpressionStatement", + "src": "2688:9:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20290, + "name": "_rate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20258, + "src": "2705:5:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 20291, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2713:1:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2705:9:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20293, + "nodeType": "ExpressionStatement", + "src": "2705:9:70" + } + ] + } + } + ] + }, + "documentation": "//////////////////////////// PUBLIC FUNCTIONS ////////////////////////////", + "id": 20314, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_demurrage_config", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20252, + "nodeType": "ParameterList", + "parameters": [], + "src": "2291:2:70" + }, + "payable": false, + "returnParameters": { + "id": 20261, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20254, + "name": "_collector_balance", + "nodeType": "VariableDeclaration", + "scope": 20314, + "src": "2338:26:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20253, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2338:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20256, + "name": "_base", + "nodeType": "VariableDeclaration", + "scope": 20314, + "src": "2372:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20255, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2372:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20258, + "name": "_rate", + "nodeType": "VariableDeclaration", + "scope": 20314, + "src": "2393:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2393:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20260, + "name": "_collector", + "nodeType": "VariableDeclaration", + "scope": 20314, + "src": "2414:18:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20259, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2414:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2330:108:70" + }, + "scope": 21622, + "src": "2261:575:70", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20353, + "nodeType": "Block", + "src": "3027:201:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20325, + "name": "_base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20317, + "src": "3033:5:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20326, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3041:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20327, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "3041:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20328, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fees", + "nodeType": "MemberAccess", + "referencedDeclaration": 20068, + "src": "3041:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage", + "typeString": "struct DummyDGXStorage.Fees storage ref" + } + }, + "id": 20329, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "demurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 20071, + "src": "3041:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage", + "typeString": "struct DummyDGXStorage.FeeConfiguration storage ref" + } + }, + "id": 20330, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "base", + "nodeType": "MemberAccess", + "referencedDeclaration": 20055, + "src": "3041:33:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3033:41:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20332, + "nodeType": "ExpressionStatement", + "src": "3033:41:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20333, + "name": "_rate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20319, + "src": "3080:5:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20334, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3088:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20335, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "3088:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20336, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fees", + "nodeType": "MemberAccess", + "referencedDeclaration": 20068, + "src": "3088:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage", + "typeString": "struct DummyDGXStorage.Fees storage ref" + } + }, + "id": 20337, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "demurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 20071, + "src": "3088:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage", + "typeString": "struct DummyDGXStorage.FeeConfiguration storage ref" + } + }, + "id": 20338, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rate", + "nodeType": "MemberAccess", + "referencedDeclaration": 20057, + "src": "3088:33:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3080:41:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20340, + "nodeType": "ExpressionStatement", + "src": "3080:41:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20341, + "name": "_collector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20321, + "src": "3127:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20342, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3140:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20343, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collectors", + "nodeType": "MemberAccess", + "referencedDeclaration": 20100, + "src": "3140:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Collectors_$20079_storage", + "typeString": "struct DummyDGXStorage.Collectors storage ref" + } + }, + "id": 20344, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "demurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 20076, + "src": "3140:27:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3127:40:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 20346, + "nodeType": "ExpressionStatement", + "src": "3127:40:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20347, + "name": "_no_demurrage_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20323, + "src": "3173:17:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20348, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3193:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20349, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "3193:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20350, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "no_demurrage_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20062, + "src": "3193:30:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3173:50:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20352, + "nodeType": "ExpressionStatement", + "src": "3173:50:70" + } + ] + }, + "documentation": null, + "id": 20354, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_demurrage_config_underlying", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20315, + "nodeType": "ParameterList", + "parameters": [], + "src": "2881:2:70" + }, + "payable": false, + "returnParameters": { + "id": 20324, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20317, + "name": "_base", + "nodeType": "VariableDeclaration", + "scope": 20354, + "src": "2928:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20316, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2928:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20319, + "name": "_rate", + "nodeType": "VariableDeclaration", + "scope": 20354, + "src": "2949:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20318, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2949:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20321, + "name": "_collector", + "nodeType": "VariableDeclaration", + "scope": 20354, + "src": "2970:18:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20320, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2970:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20323, + "name": "_no_demurrage_fee", + "nodeType": "VariableDeclaration", + "scope": 20354, + "src": "2996:22:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20322, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2996:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2920:104:70" + }, + "scope": 21622, + "src": "2840:388:70", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20414, + "nodeType": "Block", + "src": "3480:350:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20369, + "name": "_collector_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20357, + "src": "3486:18:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20370, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3507:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20371, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "3507:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20375, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20372, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3520:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20373, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collectors", + "nodeType": "MemberAccess", + "referencedDeclaration": 20100, + "src": "3520:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Collectors_$20079_storage", + "typeString": "struct DummyDGXStorage.Collectors storage ref" + } + }, + "id": 20374, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 20078, + "src": "3520:26:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3507:40:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20376, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "3507:45:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 20377, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "3507:57:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3486:78:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20379, + "nodeType": "ExpressionStatement", + "src": "3486:78:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20380, + "name": "_base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20359, + "src": "3570:5:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20381, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3578:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20382, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "3578:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20383, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fees", + "nodeType": "MemberAccess", + "referencedDeclaration": 20068, + "src": "3578:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage", + "typeString": "struct DummyDGXStorage.Fees storage ref" + } + }, + "id": 20384, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 20073, + "src": "3578:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage", + "typeString": "struct DummyDGXStorage.FeeConfiguration storage ref" + } + }, + "id": 20385, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "base", + "nodeType": "MemberAccess", + "referencedDeclaration": 20055, + "src": "3578:32:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3570:40:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20387, + "nodeType": "ExpressionStatement", + "src": "3570:40:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20388, + "name": "_rate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20361, + "src": "3616:5:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20389, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3624:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20390, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "3624:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20391, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fees", + "nodeType": "MemberAccess", + "referencedDeclaration": 20068, + "src": "3624:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage", + "typeString": "struct DummyDGXStorage.Fees storage ref" + } + }, + "id": 20392, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 20073, + "src": "3624:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage", + "typeString": "struct DummyDGXStorage.FeeConfiguration storage ref" + } + }, + "id": 20393, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rate", + "nodeType": "MemberAccess", + "referencedDeclaration": 20057, + "src": "3624:32:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3616:40:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20395, + "nodeType": "ExpressionStatement", + "src": "3616:40:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20396, + "name": "_collector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20363, + "src": "3662:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20397, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3675:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20398, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collectors", + "nodeType": "MemberAccess", + "referencedDeclaration": 20100, + "src": "3675:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Collectors_$20079_storage", + "typeString": "struct DummyDGXStorage.Collectors storage ref" + } + }, + "id": 20399, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 20078, + "src": "3675:26:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3662:39:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 20401, + "nodeType": "ExpressionStatement", + "src": "3662:39:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20402, + "name": "_no_transfer_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20365, + "src": "3707:16:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20403, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3726:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20404, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "3726:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20405, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "no_transfer_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20064, + "src": "3726:29:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3707:48:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20407, + "nodeType": "ExpressionStatement", + "src": "3707:48:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20408, + "name": "_minimum_transfer_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20367, + "src": "3761:24:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20409, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3788:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20410, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "3788:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20411, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "minimum_transfer_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 20066, + "src": "3788:37:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3761:64:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20413, + "nodeType": "ExpressionStatement", + "src": "3761:64:70" + } + ] + }, + "documentation": null, + "id": 20415, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_transfer_config", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20355, + "nodeType": "ParameterList", + "parameters": [], + "src": "3261:2:70" + }, + "payable": false, + "returnParameters": { + "id": 20368, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20357, + "name": "_collector_balance", + "nodeType": "VariableDeclaration", + "scope": 20415, + "src": "3308:26:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3308:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20359, + "name": "_base", + "nodeType": "VariableDeclaration", + "scope": 20415, + "src": "3342:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20358, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3342:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20361, + "name": "_rate", + "nodeType": "VariableDeclaration", + "scope": 20415, + "src": "3363:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20360, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3363:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20363, + "name": "_collector", + "nodeType": "VariableDeclaration", + "scope": 20415, + "src": "3384:18:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20362, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3384:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20365, + "name": "_no_transfer_fee", + "nodeType": "VariableDeclaration", + "scope": 20415, + "src": "3410:21:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20364, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3410:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20367, + "name": "_minimum_transfer_amount", + "nodeType": "VariableDeclaration", + "scope": 20415, + "src": "3439:32:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20366, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3439:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3300:177:70" + }, + "scope": 21622, + "src": "3232:598:70", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20442, + "nodeType": "Block", + "src": "3968:135:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20424, + "name": "_raw_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20420, + "src": "3974:12:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20425, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3989:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20426, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "3989:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20428, + "indexExpression": { + "argumentTypes": null, + "id": 20427, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20417, + "src": "4002:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3989:22:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20429, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "3989:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 20430, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "3989:39:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3974:54:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20432, + "nodeType": "ExpressionStatement", + "src": "3974:54:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20433, + "name": "_no_transfer_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20422, + "src": "4034:16:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20434, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "4053:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20435, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "4053:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20437, + "indexExpression": { + "argumentTypes": null, + "id": 20436, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20417, + "src": "4066:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4053:22:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20438, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20095, + "src": "4053:29:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserConfig_$20084_storage", + "typeString": "struct DummyDGXStorage.UserConfig storage ref" + } + }, + "id": 20439, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "no_transfer_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20083, + "src": "4053:45:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4034:64:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20441, + "nodeType": "ExpressionStatement", + "src": "4034:64:70" + } + ] + }, + "documentation": null, + "id": 20443, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_user_for_transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20418, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20417, + "name": "_account", + "nodeType": "VariableDeclaration", + "scope": 20443, + "src": "3866:16:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20416, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3866:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3865:18:70" + }, + "payable": false, + "returnParameters": { + "id": 20423, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20420, + "name": "_raw_balance", + "nodeType": "VariableDeclaration", + "scope": 20443, + "src": "3921:20:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20419, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3921:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20422, + "name": "_no_transfer_fee", + "nodeType": "VariableDeclaration", + "scope": 20443, + "src": "3943:21:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20421, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3943:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3920:45:70" + }, + "scope": 21622, + "src": "3834:269:70", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20485, + "nodeType": "Block", + "src": "4290:264:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20454, + "name": "_raw_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20448, + "src": "4296:12:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20455, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "4311:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20456, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "4311:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20458, + "indexExpression": { + "argumentTypes": null, + "id": 20457, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20445, + "src": "4324:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4311:22:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20459, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "4311:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 20460, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "4311:39:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4296:54:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20462, + "nodeType": "ExpressionStatement", + "src": "4296:54:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20463, + "name": "_payment_date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20450, + "src": "4356:13:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20464, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "4372:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20465, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "4372:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20467, + "indexExpression": { + "argumentTypes": null, + "id": 20466, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20445, + "src": "4385:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4372:22:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20468, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "4372:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 20469, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "last_payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 20086, + "src": "4372:45:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4356:61:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20471, + "nodeType": "ExpressionStatement", + "src": "4356:61:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20472, + "name": "_no_demurrage_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20452, + "src": "4423:17:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 20482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20473, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "4443:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20474, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "4443:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20476, + "indexExpression": { + "argumentTypes": null, + "id": 20475, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20445, + "src": "4456:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4443:22:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20477, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20095, + "src": "4443:29:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserConfig_$20084_storage", + "typeString": "struct DummyDGXStorage.UserConfig storage ref" + } + }, + "id": 20478, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "no_demurrage_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20081, + "src": "4443:46:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20479, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "4519:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20480, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "4519:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20481, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "no_demurrage_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20062, + "src": "4519:30:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4443:106:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4423:126:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20484, + "nodeType": "ExpressionStatement", + "src": "4423:126:70" + } + ] + }, + "documentation": null, + "id": 20486, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_user_for_demurrage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20446, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20445, + "name": "_account", + "nodeType": "VariableDeclaration", + "scope": 20486, + "src": "4140:16:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20444, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4140:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4139:18:70" + }, + "payable": false, + "returnParameters": { + "id": 20453, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20448, + "name": "_raw_balance", + "nodeType": "VariableDeclaration", + "scope": 20486, + "src": "4202:20:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20447, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4202:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20450, + "name": "_payment_date", + "nodeType": "VariableDeclaration", + "scope": 20486, + "src": "4230:21:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20449, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4230:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20452, + "name": "_no_demurrage_fee", + "nodeType": "VariableDeclaration", + "scope": 20486, + "src": "4259:22:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20451, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4259:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4194:93:70" + }, + "scope": 21622, + "src": "4107:447:70", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20496, + "nodeType": "Block", + "src": "4648:45:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20491, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20489, + "src": "4654:12:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20492, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "4669:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20493, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "total_supply", + "nodeType": "MemberAccess", + "referencedDeclaration": 20104, + "src": "4669:19:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4654:34:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20495, + "nodeType": "ExpressionStatement", + "src": "4654:34:70" + } + ] + }, + "documentation": null, + "id": 20497, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_total_supply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20487, + "nodeType": "ParameterList", + "parameters": [], + "src": "4584:2:70" + }, + "payable": false, + "returnParameters": { + "id": 20490, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20489, + "name": "_totalSupply", + "nodeType": "VariableDeclaration", + "scope": 20497, + "src": "4624:20:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20488, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4624:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4623:22:70" + }, + "scope": 21622, + "src": "4558:135:70", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20517, + "nodeType": "Block", + "src": "4814:78:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20506, + "name": "_allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20504, + "src": "4820:10:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20507, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "4833:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20508, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "4833:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20510, + "indexExpression": { + "argumentTypes": null, + "id": 20509, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20499, + "src": "4846:6:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4833:20:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20511, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "4833:25:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 20512, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "spender_allowances", + "nodeType": "MemberAccess", + "referencedDeclaration": 20092, + "src": "4833:44:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 20514, + "indexExpression": { + "argumentTypes": null, + "id": 20513, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20501, + "src": "4878:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4833:54:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4820:67:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20516, + "nodeType": "ExpressionStatement", + "src": "4820:67:70" + } + ] + }, + "documentation": null, + "id": 20518, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20502, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20499, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 20518, + "src": "4721:14:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20498, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4721:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20501, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 20518, + "src": "4737:16:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20500, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4737:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4720:34:70" + }, + "payable": false, + "returnParameters": { + "id": 20505, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20504, + "name": "_allowance", + "nodeType": "VariableDeclaration", + "scope": 20518, + "src": "4792:18:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20503, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4792:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4791:20:70" + }, + "scope": 21622, + "src": "4697:195:70", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20545, + "nodeType": "Block", + "src": "5050:147:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20527, + "name": "_no_demurrage_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20523, + "src": "5056:17:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20528, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "5076:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20529, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "5076:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20531, + "indexExpression": { + "argumentTypes": null, + "id": 20530, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20520, + "src": "5089:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5076:22:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20532, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20095, + "src": "5076:29:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserConfig_$20084_storage", + "typeString": "struct DummyDGXStorage.UserConfig storage ref" + } + }, + "id": 20533, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "no_demurrage_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20081, + "src": "5076:46:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5056:66:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20535, + "nodeType": "ExpressionStatement", + "src": "5056:66:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20536, + "name": "_no_transfer_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20525, + "src": "5128:16:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20537, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "5147:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20538, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "5147:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20540, + "indexExpression": { + "argumentTypes": null, + "id": 20539, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20520, + "src": "5160:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5147:22:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20541, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20095, + "src": "5147:29:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserConfig_$20084_storage", + "typeString": "struct DummyDGXStorage.UserConfig storage ref" + } + }, + "id": 20542, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "no_transfer_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20083, + "src": "5147:45:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5128:64:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20544, + "nodeType": "ExpressionStatement", + "src": "5128:64:70" + } + ] + }, + "documentation": null, + "id": 20546, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_user_fees_configs", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20521, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20520, + "name": "_account", + "nodeType": "VariableDeclaration", + "scope": 20546, + "src": "4928:16:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4928:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4927:18:70" + }, + "payable": false, + "returnParameters": { + "id": 20526, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20523, + "name": "_no_demurrage_fee", + "nodeType": "VariableDeclaration", + "scope": 20546, + "src": "4990:22:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20522, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4990:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20525, + "name": "_no_transfer_fee", + "nodeType": "VariableDeclaration", + "scope": 20546, + "src": "5020:21:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20524, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5020:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4982:65:70" + }, + "scope": 21622, + "src": "4896:301:70", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20576, + "nodeType": "Block", + "src": "5419:186:70", + "statements": [ + { + "assignments": [ + 20558 + ], + "declarations": [ + { + "constant": false, + "id": 20558, + "name": "_demurrage", + "nodeType": "VariableDeclaration", + "scope": 20577, + "src": "5425:44:70", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage" + }, + "typeName": { + "contractScope": null, + "id": 20557, + "name": "DemurrageStructs.Demurrage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21670, + "src": "5425:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_storage_ptr", + "typeString": "struct DemurrageStructs.Demurrage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 20562, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20560, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20548, + "src": "5492:5:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 20559, + "name": "get_demurraged_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21035, + "src": "5472:19:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_struct$_Demurrage_$21670_memory_ptr_$", + "typeString": "function (address) view returns (struct DemurrageStructs.Demurrage memory)" + } + }, + "id": 20561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5472:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5425:73:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20563, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20558, + "src": "5504:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20565, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20558, + "src": "5537:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + ], + "id": 20564, + "name": "calculate_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21221, + "src": "5517:19:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Demurrage_$21670_memory_ptr_$returns$_t_struct$_Demurrage_$21670_memory_ptr_$", + "typeString": "function (struct DemurrageStructs.Demurrage memory) view returns (struct DemurrageStructs.Demurrage memory)" + } + }, + "id": 20566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5517:31:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "src": "5504:44:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 20568, + "nodeType": "ExpressionStatement", + "src": "5504:44:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20569, + "name": "_actual_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20553, + "src": "5554:15:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20570, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20558, + "src": "5572:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 20571, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "5572:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 20572, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21651, + "src": "5572:23:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20573, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "5572:28:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5554:46:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20575, + "nodeType": "ExpressionStatement", + "src": "5554:46:70" + } + ] + }, + "documentation": "/////////////////////// CALLABLE FROM INTERACTIVE ////////////////////////", + "id": 20577, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [ + { + "arguments": [], + "id": 20551, + "modifierName": { + "argumentTypes": null, + "id": 20550, + "name": "if_dgx_interactive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20251, + "src": "5345:18:70", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "5345:20:70" + } + ], + "name": "show_demurraged_balance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20549, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20548, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 20577, + "src": "5315:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20547, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5315:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5314:15:70" + }, + "payable": false, + "returnParameters": { + "id": 20554, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20553, + "name": "_actual_balance", + "nodeType": "VariableDeclaration", + "scope": 20577, + "src": "5392:23:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20552, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5392:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5391:25:70" + }, + "scope": 21622, + "src": "5282:323:70", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20816, + "nodeType": "Block", + "src": "5814:2073:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 20597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 20595, + "name": "_sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20579, + "src": "5828:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 20596, + "name": "_recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20581, + "src": "5839:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5828:21:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 20594, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5820:7:70", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 20598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5820:30:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20599, + "nodeType": "ExpressionStatement", + "src": "5820:30:70" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 20605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20602, + "name": "_sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20579, + "src": "5881:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 20601, + "name": "deduct_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21266, + "src": "5864:16:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) returns (bool)" + } + }, + "id": 20603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5864:25:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 20604, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5893:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "5864:33:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 20600, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5856:7:70", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 20606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5856:42:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20607, + "nodeType": "ExpressionStatement", + "src": "5856:42:70" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 20613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20610, + "name": "_recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20581, + "src": "5929:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 20609, + "name": "deduct_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21266, + "src": "5912:16:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) returns (bool)" + } + }, + "id": 20611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5912:28:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 20612, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5944:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "5912:36:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 20608, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5904:7:70", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 20614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5904:45:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20615, + "nodeType": "ExpressionStatement", + "src": "5904:45:70" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 20619, + "name": "_transfer", + "nodeType": "VariableDeclaration", + "scope": 20817, + "src": "5956:41:70", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer" + }, + "typeName": { + "contractScope": null, + "id": 20618, + "name": "TransferStructs.Transfer", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21722, + "src": "5956:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_storage_ptr", + "typeString": "struct TransferStructs.Transfer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 20620, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "5956:41:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20621, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6011:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20625, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "6011:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 20626, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21694, + "src": "6011:34:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20627, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "6011:38:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20628, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6057:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20629, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "6057:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 20630, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "base", + "nodeType": "MemberAccess", + "referencedDeclaration": 21698, + "src": "6057:21:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20631, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6086:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20632, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "6086:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 20633, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "rate", + "nodeType": "MemberAccess", + "referencedDeclaration": 21700, + "src": "6086:21:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20634, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6115:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20635, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "6115:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 20636, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "collector", + "nodeType": "MemberAccess", + "referencedDeclaration": 21696, + "src": "6115:26:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20637, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6149:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20638, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "6149:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 20639, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "global_transfer_fee_disabled", + "nodeType": "MemberAccess", + "referencedDeclaration": 21702, + "src": "6149:45:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20640, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6202:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20641, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "6202:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 20642, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "minimum_transfer_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21704, + "src": "6202:40:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 20643, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "6003:245:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_bool_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,address,bool,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 20644, + "name": "read_transfer_config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20415, + "src": "6251:20:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_bool_$_t_uint256_$", + "typeString": "function () view returns (uint256,uint256,uint256,address,bool,uint256)" + } + }, + "id": 20645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6251:22:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_bool_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,address,bool,uint256)" + } + }, + "src": "6003:270:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20647, + "nodeType": "ExpressionStatement", + "src": "6003:270:70" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 20653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 20649, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20585, + "src": "6288:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20650, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6299:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20651, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "6299:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 20652, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "minimum_transfer_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21704, + "src": "6299:40:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6288:51:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 20648, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "6280:7:70", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 20654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6280:60:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20655, + "nodeType": "ExpressionStatement", + "src": "6280:60:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20656, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6348:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20660, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21707, + "src": "6348:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 20661, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "6348:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20662, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "6348:28:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20663, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6378:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20664, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21707, + "src": "6378:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 20665, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "no_transfer_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21686, + "src": "6378:32:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 20666, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "6347:64:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$", + "typeString": "tuple(uint256,bool)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20668, + "name": "_sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20579, + "src": "6443:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 20667, + "name": "read_user_for_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20443, + "src": "6420:22:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$_t_bool_$", + "typeString": "function (address) view returns (uint256,bool)" + } + }, + "id": 20669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6420:31:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$", + "typeString": "tuple(uint256,bool)" + } + }, + "src": "6347:104:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20671, + "nodeType": "ExpressionStatement", + "src": "6347:104:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20672, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6459:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20676, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "recipient", + "nodeType": "MemberAccess", + "referencedDeclaration": 21709, + "src": "6459:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 20677, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "6459:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20678, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "6459:31:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20679, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6492:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20680, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "recipient", + "nodeType": "MemberAccess", + "referencedDeclaration": 21709, + "src": "6492:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 20681, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "no_transfer_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21686, + "src": "6492:35:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 20682, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "6458:70:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$", + "typeString": "tuple(uint256,bool)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20684, + "name": "_recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20581, + "src": "6560:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 20683, + "name": "read_user_for_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20443, + "src": "6537:22:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$_t_bool_$", + "typeString": "function (address) view returns (uint256,bool)" + } + }, + "id": 20685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6537:34:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$", + "typeString": "tuple(uint256,bool)" + } + }, + "src": "6458:113:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20687, + "nodeType": "ExpressionStatement", + "src": "6458:113:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20688, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6578:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20690, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "sent_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21717, + "src": "6578:21:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 20691, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20585, + "src": "6602:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6578:31:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20693, + "nodeType": "ExpressionStatement", + "src": "6578:31:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20694, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6615:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20696, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "is_transfer_from", + "nodeType": "MemberAccess", + "referencedDeclaration": 21721, + "src": "6615:26:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 20697, + "name": "_transfer_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20587, + "src": "6644:14:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6615:43:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20699, + "nodeType": "ExpressionStatement", + "src": "6615:43:70" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 20712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 20704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20700, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6670:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20701, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "6670:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 20702, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "global_transfer_fee_disabled", + "nodeType": "MemberAccess", + "referencedDeclaration": 21702, + "src": "6670:45:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 20703, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6719:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6670:53:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 20705, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6669:55:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 20710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20706, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6739:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20707, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21707, + "src": "6739:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 20708, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "no_transfer_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21686, + "src": "6739:32:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 20709, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6775:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6739:40:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 20711, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6738:42:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6669:111:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 20726, + "nodeType": "Block", + "src": "6861:70:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20720, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6869:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20722, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6914:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + ], + "id": 20721, + "name": "build_transfer_with_transfer_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21473, + "src": "6881:32:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Transfer_$21722_memory_ptr_$returns$_t_struct$_Transfer_$21722_memory_ptr_$", + "typeString": "function (struct TransferStructs.Transfer memory) pure returns (struct TransferStructs.Transfer memory)" + } + }, + "id": 20723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6881:43:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "src": "6869:55:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20725, + "nodeType": "ExpressionStatement", + "src": "6869:55:70" + } + ] + }, + "id": 20727, + "nodeType": "IfStatement", + "src": "6665:266:70", + "trueBody": { + "id": 20719, + "nodeType": "Block", + "src": "6782:73:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20713, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6790:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20715, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6838:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + ], + "id": 20714, + "name": "build_transfer_with_no_transfer_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21382, + "src": "6802:35:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Transfer_$21722_memory_ptr_$returns$_t_struct$_Transfer_$21722_memory_ptr_$", + "typeString": "function (struct TransferStructs.Transfer memory) pure returns (struct TransferStructs.Transfer memory)" + } + }, + "id": 20716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6802:46:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "src": "6790:58:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20718, + "nodeType": "ExpressionStatement", + "src": "6790:58:70" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 20731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20728, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6941:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20729, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "is_transfer_from", + "nodeType": "MemberAccess", + "referencedDeclaration": 21721, + "src": "6941:26:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 20730, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6971:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6941:34:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 20810, + "nodeType": "Block", + "src": "7570:290:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20791, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20592, + "src": "7578:8:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20793, + "name": "_sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20579, + "src": "7633:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20794, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "7661:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20795, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21707, + "src": "7661:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 20796, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "7661:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20797, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "7661:29:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 20798, + "name": "_recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20581, + "src": "7711:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20799, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "7742:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20800, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "recipient", + "nodeType": "MemberAccess", + "referencedDeclaration": 21709, + "src": "7742:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 20801, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "7742:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20802, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "7742:32:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20803, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "7795:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20804, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "7795:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 20805, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21694, + "src": "7795:34:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20806, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "7795:39:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 20792, + "name": "update_transfer_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21553, + "src": "7589:23:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256,address,uint256,uint256) returns (bool)" + } + }, + "id": 20807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7589:264:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7578:275:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20809, + "nodeType": "ExpressionStatement", + "src": "7578:275:70" + } + ] + }, + "id": 20811, + "nodeType": "IfStatement", + "src": "6937:923:70", + "trueBody": { + "id": 20790, + "nodeType": "Block", + "src": "6977:587:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 20737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20734, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20583, + "src": "7010:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 20733, + "name": "deduct_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21266, + "src": "6993:16:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) returns (bool)" + } + }, + "id": 20735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6993:26:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 20736, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7023:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6993:34:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 20732, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "6985:7:70", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 20738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6985:43:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20739, + "nodeType": "ExpressionStatement", + "src": "6985:43:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20740, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "7036:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20744, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "spender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21711, + "src": "7036:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Spender_$21692_memory", + "typeString": "struct TransferStructs.Spender memory" + } + }, + "id": 20745, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "allowance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21691, + "src": "7036:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20746, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "7036:31:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20748, + "name": "_sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20579, + "src": "7085:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 20749, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20583, + "src": "7094:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 20747, + "name": "read_allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20518, + "src": "7070:14:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 20750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7070:33:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7036:67:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20752, + "nodeType": "ExpressionStatement", + "src": "7036:67:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20753, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "7111:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20756, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "spender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21711, + "src": "7111:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Spender_$21692_memory", + "typeString": "struct TransferStructs.Spender memory" + } + }, + "id": 20757, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "allowance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21691, + "src": "7111:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20762, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20585, + "src": "7178:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20758, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "7141:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20759, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "spender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21711, + "src": "7141:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Spender_$21692_memory", + "typeString": "struct TransferStructs.Spender memory" + } + }, + "id": 20760, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "allowance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21691, + "src": "7141:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20761, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "subtract", + "nodeType": "MemberAccess", + "referencedDeclaration": 25912, + "src": "7141:36:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_MutableUint_$25634_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableUint_$25634_memory_ptr_$bound_to$_t_struct$_MutableUint_$25634_memory_ptr_$", + "typeString": "function (struct Types.MutableUint memory,uint256) pure returns (struct Types.MutableUint memory)" + } + }, + "id": 20763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7141:45:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "7111:75:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20765, + "nodeType": "ExpressionStatement", + "src": "7111:75:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20766, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20592, + "src": "7195:8:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20768, + "name": "_sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20579, + "src": "7255:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20769, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "7283:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20770, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21707, + "src": "7283:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 20771, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "7283:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20772, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "7283:29:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 20773, + "name": "_recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20581, + "src": "7333:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20774, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "7364:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20775, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "recipient", + "nodeType": "MemberAccess", + "referencedDeclaration": 21709, + "src": "7364:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 20776, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "7364:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20777, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "7364:32:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20778, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "7417:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20779, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "7417:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 20780, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21694, + "src": "7417:34:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20781, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "7417:39:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 20782, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20583, + "src": "7477:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20783, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "7506:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20784, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "spender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21711, + "src": "7506:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Spender_$21692_memory", + "typeString": "struct TransferStructs.Spender memory" + } + }, + "id": 20785, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "allowance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21691, + "src": "7506:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20786, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "7506:32:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 20767, + "name": "update_transfer_from_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21621, + "src": "7206:28:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256,address,uint256,uint256,address,uint256) returns (bool)" + } + }, + "id": 20787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7206:351:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7195:362:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20789, + "nodeType": "ExpressionStatement", + "src": "7195:362:70" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20813, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20592, + "src": "7873:8:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 20812, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "7865:7:70", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 20814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7865:17:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20815, + "nodeType": "ExpressionStatement", + "src": "7865:17:70" + } + ] + }, + "documentation": null, + "id": 20817, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 20590, + "modifierName": { + "argumentTypes": null, + "id": 20589, + "name": "if_dgx_interactive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20251, + "src": "5763:18:70", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "5763:20:70" + } + ], + "name": "put_transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20588, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20579, + "name": "_sender", + "nodeType": "VariableDeclaration", + "scope": 20817, + "src": "5636:15:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20578, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5636:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20581, + "name": "_recipient", + "nodeType": "VariableDeclaration", + "scope": 20817, + "src": "5657:18:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20580, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5657:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20583, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 20817, + "src": "5681:16:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20582, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5681:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20585, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 20817, + "src": "5703:15:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20584, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5703:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20587, + "name": "_transfer_from", + "nodeType": "VariableDeclaration", + "scope": 20817, + "src": "5724:19:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20586, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5724:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5630:117:70" + }, + "payable": false, + "returnParameters": { + "id": 20593, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20592, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 20817, + "src": "5797:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20591, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5797:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5796:15:70" + }, + "scope": 21622, + "src": "5609:2278:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20875, + "nodeType": "Block", + "src": "8047:270:70", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 20833, + "name": "_a", + "nodeType": "VariableDeclaration", + "scope": 20876, + "src": "8053:27:70", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 20832, + "name": "Types.MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "8053:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 20834, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "8053:27:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20835, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20833, + "src": "8087:2:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20837, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "8087:6:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20839, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20819, + "src": "8111:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 20840, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20821, + "src": "8121:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 20838, + "name": "read_allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20518, + "src": "8096:14:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 20841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8096:34:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8087:43:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20843, + "nodeType": "ExpressionStatement", + "src": "8087:43:70" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 20853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 20847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20844, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20833, + "src": "8142:2:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20845, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "8142:6:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 20846, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8151:1:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8142:10:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 20848, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8141:12:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 20851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 20849, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20823, + "src": "8158:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 20850, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8168:1:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8158:11:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 20852, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8157:13:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8141:29:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 20873, + "nodeType": "Block", + "src": "8201:112:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20858, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20833, + "src": "8209:2:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20860, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "8209:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 20861, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20823, + "src": "8219:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8209:17:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20863, + "nodeType": "ExpressionStatement", + "src": "8209:17:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20864, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20828, + "src": "8234:8:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20866, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20819, + "src": "8278:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 20867, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20821, + "src": "8288:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20868, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20833, + "src": "8298:2:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20869, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "8298:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 20865, + "name": "update_account_spender_allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21501, + "src": "8245:32:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) returns (bool)" + } + }, + "id": 20870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8245:61:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8234:72:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20872, + "nodeType": "ExpressionStatement", + "src": "8234:72:70" + } + ] + }, + "id": 20874, + "nodeType": "IfStatement", + "src": "8137:176:70", + "trueBody": { + "id": 20857, + "nodeType": "Block", + "src": "8172:23:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 20854, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26617, + 26618 + ], + "referencedDeclaration": 26617, + "src": "8180:6:70", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 20855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8180:8:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20856, + "nodeType": "ExpressionStatement", + "src": "8180:8:70" + } + ] + } + } + ] + }, + "documentation": null, + "id": 20876, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 20826, + "modifierName": { + "argumentTypes": null, + "id": 20825, + "name": "if_dgx_interactive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20251, + "src": "7996:18:70", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "7996:20:70" + } + ], + "name": "put_approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20824, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20819, + "name": "_account", + "nodeType": "VariableDeclaration", + "scope": 20876, + "src": "7917:16:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20818, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7917:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20821, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 20876, + "src": "7939:16:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20820, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7939:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20823, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 20876, + "src": "7961:15:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20822, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7961:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7911:69:70" + }, + "payable": false, + "returnParameters": { + "id": 20829, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20828, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 20876, + "src": "8030:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20827, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8030:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8029:15:70" + }, + "scope": 21622, + "src": "7891:426:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20913, + "nodeType": "Block", + "src": "8499:162:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20889, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "8505:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20892, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "8505:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20893, + "indexExpression": { + "argumentTypes": null, + "id": 20891, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20878, + "src": "8518:5:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8505:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20894, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20095, + "src": "8505:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserConfig_$20084_storage", + "typeString": "struct DummyDGXStorage.UserConfig storage ref" + } + }, + "id": 20895, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "no_demurrage_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20081, + "src": "8505:43:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 20896, + "name": "_no_demurrage_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20880, + "src": "8551:17:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8505:63:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20898, + "nodeType": "ExpressionStatement", + "src": "8505:63:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20899, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "8574:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20902, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "8574:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20903, + "indexExpression": { + "argumentTypes": null, + "id": 20901, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20878, + "src": "8587:5:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8574:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20904, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20095, + "src": "8574:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserConfig_$20084_storage", + "typeString": "struct DummyDGXStorage.UserConfig storage ref" + } + }, + "id": 20905, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "no_transfer_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20083, + "src": "8574:42:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 20906, + "name": "_no_transfer_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20882, + "src": "8619:16:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8574:61:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20908, + "nodeType": "ExpressionStatement", + "src": "8574:61:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20909, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20887, + "src": "8641:8:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 20910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8652:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "8641:15:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20912, + "nodeType": "ExpressionStatement", + "src": "8641:15:70" + } + ] + }, + "documentation": null, + "id": 20914, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 20885, + "modifierName": { + "argumentTypes": null, + "id": 20884, + "name": "if_dgx_interactive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20251, + "src": "8448:18:70", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "8448:20:70" + } + ], + "name": "update_user_fees_configs", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20883, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20878, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 20914, + "src": "8360:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20877, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8360:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20880, + "name": "_no_demurrage_fee", + "nodeType": "VariableDeclaration", + "scope": 20914, + "src": "8379:22:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20879, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8379:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20882, + "name": "_no_transfer_fee", + "nodeType": "VariableDeclaration", + "scope": 20914, + "src": "8407:21:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20881, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8407:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8354:78:70" + }, + "payable": false, + "returnParameters": { + "id": 20888, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20887, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 20914, + "src": "8482:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20886, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8482:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8481:15:70" + }, + "scope": 21622, + "src": "8321:340:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20945, + "nodeType": "Block", + "src": "8925:114:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20925, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "8931:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20928, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "8931:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20929, + "indexExpression": { + "argumentTypes": null, + "id": 20927, + "name": "_for", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20916, + "src": "8944:4:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8931:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20930, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "8931:23:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 20931, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "8931:35:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 20932, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20918, + "src": "8970:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8931:46:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20934, + "nodeType": "ExpressionStatement", + "src": "8931:46:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20935, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "8983:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20937, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "total_supply", + "nodeType": "MemberAccess", + "referencedDeclaration": 20104, + "src": "8983:19:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 20938, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20918, + "src": "9006:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8983:30:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20940, + "nodeType": "ExpressionStatement", + "src": "8983:30:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20941, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20923, + "src": "9019:8:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 20942, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9030:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "9019:15:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20944, + "nodeType": "ExpressionStatement", + "src": "9019:15:70" + } + ] + }, + "documentation": null, + "id": 20946, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 20921, + "modifierName": { + "argumentTypes": null, + "id": 20920, + "name": "if_dgx_interactive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20251, + "src": "8874:18:70", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "8874:20:70" + } + ], + "name": "mint_dgx_for", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20919, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20916, + "name": "_for", + "nodeType": "VariableDeclaration", + "scope": 20946, + "src": "8821:12:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20915, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8821:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20918, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 20946, + "src": "8839:15:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20917, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8839:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8815:43:70" + }, + "payable": false, + "returnParameters": { + "id": 20924, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20923, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 20946, + "src": "8908:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20922, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8908:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8907:15:70" + }, + "scope": 21622, + "src": "8794:245:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20976, + "nodeType": "Block", + "src": "9323:105:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20957, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "9329:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20960, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "9329:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20961, + "indexExpression": { + "argumentTypes": null, + "id": 20959, + "name": "_of", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20948, + "src": "9342:3:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9329:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20962, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "9329:22:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 20963, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "last_payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 20086, + "src": "9329:40:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 20969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 20964, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "9372:3:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 20967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 20965, + "name": "_byMinutes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20950, + "src": "9379:10:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 20966, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9392:9:70", + "subdenomination": "minutes", + "typeDescriptions": { + "typeIdentifier": "t_rational_60_by_1", + "typeString": "int_const 60" + }, + "value": "1" + }, + "src": "9379:22:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 20968, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9378:24:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9372:30:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9329:73:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20971, + "nodeType": "ExpressionStatement", + "src": "9329:73:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20972, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20955, + "src": "9408:8:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 20973, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9419:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "9408:15:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20975, + "nodeType": "ExpressionStatement", + "src": "9408:15:70" + } + ] + }, + "documentation": null, + "id": 20977, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 20953, + "modifierName": { + "argumentTypes": null, + "id": 20952, + "name": "if_dgx_interactive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20251, + "src": "9272:18:70", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "9272:20:70" + } + ], + "name": "modify_last_payment_date", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20951, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20948, + "name": "_of", + "nodeType": "VariableDeclaration", + "scope": 20977, + "src": "9217:11:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20947, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9217:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20950, + "name": "_byMinutes", + "nodeType": "VariableDeclaration", + "scope": 20977, + "src": "9234:18:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20949, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9234:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9211:45:70" + }, + "payable": false, + "returnParameters": { + "id": 20956, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20955, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 20977, + "src": "9306:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20954, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9306:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9305:15:70" + }, + "scope": 21622, + "src": "9178:250:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 21034, + "nodeType": "Block", + "src": "9636:387:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20984, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20982, + "src": "9650:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 20988, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "9650:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 20989, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21656, + "src": "9650:35:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20990, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "9650:39:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20991, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20982, + "src": "9697:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 20992, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "9697:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 20993, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "base", + "nodeType": "MemberAccess", + "referencedDeclaration": 21658, + "src": "9697:22:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20994, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20982, + "src": "9727:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 20995, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "9727:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 20996, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "rate", + "nodeType": "MemberAccess", + "referencedDeclaration": 21660, + "src": "9727:22:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20997, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20982, + "src": "9757:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 20998, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "9757:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 20999, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "collector", + "nodeType": "MemberAccess", + "referencedDeclaration": 21662, + "src": "9757:27:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 21000, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "9642:148:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$", + "typeString": "tuple(uint256,uint256,uint256,address)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 21001, + "name": "read_demurrage_config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20314, + "src": "9793:21:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$", + "typeString": "function () view returns (uint256,uint256,uint256,address)" + } + }, + "id": 21002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9793:23:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$", + "typeString": "tuple(uint256,uint256,uint256,address)" + } + }, + "src": "9642:174:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21004, + "nodeType": "ExpressionStatement", + "src": "9642:174:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21005, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20982, + "src": "9822:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21008, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "9822:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21009, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "account", + "nodeType": "MemberAccess", + "referencedDeclaration": 21647, + "src": "9822:23:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21010, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20979, + "src": "9848:5:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9822:31:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21012, + "nodeType": "ExpressionStatement", + "src": "9822:31:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21013, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20982, + "src": "9867:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21017, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "9867:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21018, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21651, + "src": "9867:23:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21019, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "9867:27:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21020, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20982, + "src": "9902:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21021, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "9902:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21022, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 21653, + "src": "9902:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 21023, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "time", + "nodeType": "MemberAccess", + "referencedDeclaration": 25636, + "src": "9902:33:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21024, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "9902:37:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21025, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20982, + "src": "9947:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21026, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "9947:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21027, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "no_demurrage_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21649, + "src": "9947:32:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 21028, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "9859:126:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_bool_$", + "typeString": "tuple(uint256,uint256,bool)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 21030, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20979, + "src": "10012:5:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 21029, + "name": "read_user_for_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20486, + "src": "9988:23:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$_t_uint256_$_t_bool_$", + "typeString": "function (address) view returns (uint256,uint256,bool)" + } + }, + "id": 21031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9988:30:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_bool_$", + "typeString": "tuple(uint256,uint256,bool)" + } + }, + "src": "9859:159:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21033, + "nodeType": "ExpressionStatement", + "src": "9859:159:70" + } + ] + }, + "documentation": "///////////////////////// PRIVATE FUNCTIONS //////////////////////////////", + "id": 21035, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get_demurraged_data", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20980, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20979, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 21035, + "src": "9542:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20978, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9542:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9541:15:70" + }, + "payable": false, + "returnParameters": { + "id": 20983, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20982, + "name": "_demurrage", + "nodeType": "VariableDeclaration", + "scope": 21035, + "src": "9595:37:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage" + }, + "typeName": { + "contractScope": null, + "id": 20981, + "name": "DemurrageStructs.Demurrage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21670, + "src": "9595:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_storage_ptr", + "typeString": "struct DemurrageStructs.Demurrage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9594:39:70" + }, + "scope": 21622, + "src": "9513:510:70", + "stateMutability": "view", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 21220, + "nodeType": "Block", + "src": "10182:1230:70", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 21048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21042, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10192:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21043, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10192:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21044, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 21653, + "src": "10192:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 21045, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "time", + "nodeType": "MemberAccess", + "referencedDeclaration": 25636, + "src": "10192:33:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21046, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "10192:37:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 21047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10233:1:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10192:42:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 21062, + "nodeType": "IfStatement", + "src": "10188:106:70", + "trueBody": { + "id": 21061, + "nodeType": "Block", + "src": "10236:58:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21049, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10244:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21054, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10244:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21055, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 21653, + "src": "10244:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 21056, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "time", + "nodeType": "MemberAccess", + "referencedDeclaration": 25636, + "src": "10244:33:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21057, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "10244:37:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21058, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "10284:3:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10244:43:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21060, + "nodeType": "ExpressionStatement", + "src": "10244:43:70" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 21075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 21067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21063, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10362:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21064, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10362:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21065, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "no_demurrage_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21649, + "src": "10362:32:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 21066, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10398:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "10362:40:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 21074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21068, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10406:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21069, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10406:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21070, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "account", + "nodeType": "MemberAccess", + "referencedDeclaration": 21647, + "src": "10406:23:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21071, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10433:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21072, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "10433:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 21073, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector", + "nodeType": "MemberAccess", + "referencedDeclaration": 21662, + "src": "10433:27:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10406:54:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10362:98:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 21214, + "nodeType": "Block", + "src": "10683:695:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21115, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10691:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21118, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10691:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21119, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 21653, + "src": "10691:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 21124, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10762:6:70", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21120, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10722:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21121, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10722:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21122, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 21653, + "src": "10722:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 21123, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "advance_by", + "nodeType": "MemberAccess", + "referencedDeclaration": 25711, + "src": "10722:39:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_MutableTimestamp_$25639_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableTimestamp_$25639_memory_ptr_$bound_to$_t_struct$_MutableTimestamp_$25639_memory_ptr_$", + "typeString": "function (struct Types.MutableTimestamp memory,uint256) view returns (struct Types.MutableTimestamp memory)" + } + }, + "id": 21125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10722:47:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "src": "10691:78:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 21127, + "nodeType": "ExpressionStatement", + "src": "10691:78:70" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 21133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21128, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10781:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21129, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10781:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21130, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 21653, + "src": "10781:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 21131, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "in_units", + "nodeType": "MemberAccess", + "referencedDeclaration": 25638, + "src": "10781:37:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 21132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10822:1:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10781:42:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 21212, + "nodeType": "Block", + "src": "11000:372:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21161, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11010:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21163, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "collected_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21669, + "src": "11010:24:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 21181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 21176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 21172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21164, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11038:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21165, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "11038:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21166, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 21653, + "src": "11038:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 21167, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "in_units", + "nodeType": "MemberAccess", + "referencedDeclaration": 25638, + "src": "11038:37:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21168, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11078:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21169, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "11078:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21170, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21651, + "src": "11078:23:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21171, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "11078:27:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11038:67:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21173, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11108:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21174, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "11108:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 21175, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rate", + "nodeType": "MemberAccess", + "referencedDeclaration": 21660, + "src": "11108:22:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11038:92:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 21177, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11037:94:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21178, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11134:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21179, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "11134:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 21180, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "base", + "nodeType": "MemberAccess", + "referencedDeclaration": 21658, + "src": "11134:22:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11037:119:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11010:146:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21183, + "nodeType": "ExpressionStatement", + "src": "11010:146:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21184, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11166:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21187, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "11166:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21188, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21651, + "src": "11166:23:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21193, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11225:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21194, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collected_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21669, + "src": "11225:24:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21189, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11192:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21190, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "11192:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21191, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21651, + "src": "11192:23:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21192, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "subtract", + "nodeType": "MemberAccess", + "referencedDeclaration": 25912, + "src": "11192:32:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_MutableUint_$25634_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableUint_$25634_memory_ptr_$bound_to$_t_struct$_MutableUint_$25634_memory_ptr_$", + "typeString": "function (struct Types.MutableUint memory,uint256) pure returns (struct Types.MutableUint memory)" + } + }, + "id": 21195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11192:58:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "11166:84:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21197, + "nodeType": "ExpressionStatement", + "src": "11166:84:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21198, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11260:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21201, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "11260:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 21202, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21656, + "src": "11260:35:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21207, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11338:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21208, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collected_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21669, + "src": "11338:24:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21203, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11298:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21204, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "11298:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 21205, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21656, + "src": "11298:35:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21206, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 25882, + "src": "11298:39:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_MutableUint_$25634_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableUint_$25634_memory_ptr_$bound_to$_t_struct$_MutableUint_$25634_memory_ptr_$", + "typeString": "function (struct Types.MutableUint memory,uint256) pure returns (struct Types.MutableUint memory)" + } + }, + "id": 21209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11298:65:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "11260:103:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21211, + "nodeType": "ExpressionStatement", + "src": "11260:103:70" + } + ] + }, + "id": 21213, + "nodeType": "IfStatement", + "src": "10777:595:70", + "trueBody": { + "id": 21160, + "nodeType": "Block", + "src": "10825:169:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21134, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10835:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21138, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10835:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21139, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21651, + "src": "10835:23:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21140, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "10835:28:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21141, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10866:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21142, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10866:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21143, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21651, + "src": "10866:23:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21144, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "10866:27:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10835:58:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21146, + "nodeType": "ExpressionStatement", + "src": "10835:58:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21147, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10903:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21151, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "10903:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 21152, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21656, + "src": "10903:35:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21153, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "10903:40:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21154, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10946:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21155, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "10946:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 21156, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21656, + "src": "10946:35:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21157, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "10946:39:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10903:82:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21159, + "nodeType": "ExpressionStatement", + "src": "10903:82:70" + } + ] + } + } + ] + }, + "id": 21215, + "nodeType": "IfStatement", + "src": "10358:1020:70", + "trueBody": { + "id": 21114, + "nodeType": "Block", + "src": "10462:215:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21076, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10470:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21080, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10470:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21081, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21651, + "src": "10470:23:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21082, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "10470:28:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21083, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10501:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21084, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10501:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21085, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21651, + "src": "10501:23:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21086, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "10501:27:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10470:58:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21088, + "nodeType": "ExpressionStatement", + "src": "10470:58:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21089, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10536:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21093, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "10536:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 21094, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21656, + "src": "10536:35:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21095, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "10536:40:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21096, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10579:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21097, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "10579:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 21098, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21656, + "src": "10579:35:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21099, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "10579:39:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10536:82:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21101, + "nodeType": "ExpressionStatement", + "src": "10536:82:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21102, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10626:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21107, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10626:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21108, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 21653, + "src": "10626:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 21109, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "time", + "nodeType": "MemberAccess", + "referencedDeclaration": 25636, + "src": "10626:33:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21110, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "10626:38:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21111, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "10667:3:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10626:44:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21113, + "nodeType": "ExpressionStatement", + "src": "10626:44:70" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 21218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21216, + "name": "_calculated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21040, + "src": "11383:11:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21217, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11397:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "src": "11383:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21219, + "nodeType": "ExpressionStatement", + "src": "11383:24:70" + } + ] + }, + "documentation": null, + "id": 21221, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "calculate_demurrage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21038, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21037, + "name": "_demurrage", + "nodeType": "VariableDeclaration", + "scope": 21221, + "src": "10056:44:70", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage" + }, + "typeName": { + "contractScope": null, + "id": 21036, + "name": "DemurrageStructs.Demurrage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21670, + "src": "10056:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_storage_ptr", + "typeString": "struct DemurrageStructs.Demurrage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10055:46:70" + }, + "payable": false, + "returnParameters": { + "id": 21041, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21040, + "name": "_calculated", + "nodeType": "VariableDeclaration", + "scope": 21221, + "src": "10140:38:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage" + }, + "typeName": { + "contractScope": null, + "id": 21039, + "name": "DemurrageStructs.Demurrage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21670, + "src": "10140:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_storage_ptr", + "typeString": "struct DemurrageStructs.Demurrage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10139:40:70" + }, + "scope": 21622, + "src": "10027:1385:70", + "stateMutability": "view", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 21265, + "nodeType": "Block", + "src": "11498:353:70", + "statements": [ + { + "assignments": [ + 21231 + ], + "declarations": [ + { + "constant": false, + "id": 21231, + "name": "_demurrage", + "nodeType": "VariableDeclaration", + "scope": 21266, + "src": "11504:44:70", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage" + }, + "typeName": { + "contractScope": null, + "id": 21230, + "name": "DemurrageStructs.Demurrage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21670, + "src": "11504:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_storage_ptr", + "typeString": "struct DemurrageStructs.Demurrage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 21235, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 21233, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21223, + "src": "11571:5:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 21232, + "name": "get_demurraged_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21035, + "src": "11551:19:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_struct$_Demurrage_$21670_memory_ptr_$", + "typeString": "function (address) view returns (struct DemurrageStructs.Demurrage memory)" + } + }, + "id": 21234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11551:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11504:73:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21236, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21231, + "src": "11583:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 21238, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21231, + "src": "11616:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + ], + "id": 21237, + "name": "calculate_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21221, + "src": "11596:19:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Demurrage_$21670_memory_ptr_$returns$_t_struct$_Demurrage_$21670_memory_ptr_$", + "typeString": "function (struct DemurrageStructs.Demurrage memory) view returns (struct DemurrageStructs.Demurrage memory)" + } + }, + "id": 21239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11596:31:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "src": "11583:44:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21241, + "nodeType": "ExpressionStatement", + "src": "11583:44:70" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21243, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21231, + "src": "11666:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21244, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "11666:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21245, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "account", + "nodeType": "MemberAccess", + "referencedDeclaration": 21647, + "src": "11666:23:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21246, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21231, + "src": "11697:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21247, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "11697:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21248, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21651, + "src": "11697:23:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21249, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "11697:28:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21250, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21231, + "src": "11733:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21251, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "11733:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21252, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 21653, + "src": "11733:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 21253, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "time", + "nodeType": "MemberAccess", + "referencedDeclaration": 25636, + "src": "11733:33:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21254, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "11733:38:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21255, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21231, + "src": "11779:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21256, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "11779:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 21257, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21656, + "src": "11779:35:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21258, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "11779:40:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 21242, + "name": "update_user_for_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21310, + "src": "11633:25:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256,uint256)" + } + }, + "id": 21259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11633:192:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21260, + "nodeType": "ExpressionStatement", + "src": "11633:192:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21261, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21226, + "src": "11831:8:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 21262, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11842:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "11831:15:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 21264, + "nodeType": "ExpressionStatement", + "src": "11831:15:70" + } + ] + }, + "documentation": null, + "id": 21266, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "deduct_demurrage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21224, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21223, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 21266, + "src": "11442:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21222, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11442:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11441:15:70" + }, + "payable": false, + "returnParameters": { + "id": 21227, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21226, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 21266, + "src": "11481:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21225, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11481:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11480:15:70" + }, + "scope": 21622, + "src": "11416:435:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 21309, + "nodeType": "Block", + "src": "12030:229:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21277, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "12036:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21282, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "12036:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 21283, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21279, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "12049:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21280, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collectors", + "nodeType": "MemberAccess", + "referencedDeclaration": 20100, + "src": "12049:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Collectors_$20079_storage", + "typeString": "struct DummyDGXStorage.Collectors storage ref" + } + }, + "id": 21281, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "demurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 20076, + "src": "12049:27:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12036:41:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 21284, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "12036:46:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 21285, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "12036:58:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21286, + "name": "_collector_new_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21274, + "src": "12097:22:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12036:83:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21288, + "nodeType": "ExpressionStatement", + "src": "12036:83:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21289, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "12125:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21292, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "12125:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 21293, + "indexExpression": { + "argumentTypes": null, + "id": 21291, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21268, + "src": "12138:5:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12125:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 21294, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "12125:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 21295, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "12125:36:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21296, + "name": "_user_new_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21270, + "src": "12164:17:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12125:56:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21298, + "nodeType": "ExpressionStatement", + "src": "12125:56:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21299, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "12187:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21302, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "12187:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 21303, + "indexExpression": { + "argumentTypes": null, + "id": 21301, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21268, + "src": "12200:5:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12187:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 21304, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "12187:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 21305, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "last_payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 20086, + "src": "12187:42:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21306, + "name": "_user_new_payment_date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21272, + "src": "12232:22:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12187:67:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21308, + "nodeType": "ExpressionStatement", + "src": "12187:67:70" + } + ] + }, + "documentation": null, + "id": 21310, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "update_user_for_demurrage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21275, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21268, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 21310, + "src": "11895:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21267, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11895:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21270, + "name": "_user_new_balance", + "nodeType": "VariableDeclaration", + "scope": 21310, + "src": "11914:25:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21269, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11914:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21272, + "name": "_user_new_payment_date", + "nodeType": "VariableDeclaration", + "scope": 21310, + "src": "11945:30:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21271, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11945:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21274, + "name": "_collector_new_balance", + "nodeType": "VariableDeclaration", + "scope": 21310, + "src": "11981:30:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21273, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11981:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11889:126:70" + }, + "payable": false, + "returnParameters": { + "id": 21276, + "nodeType": "ParameterList", + "parameters": [], + "src": "12030:0:70" + }, + "scope": 21622, + "src": "11855:404:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 21381, + "nodeType": "Block", + "src": "12427:421:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21317, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12433:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21319, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21719, + "src": "12433:13:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 21320, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12449:1:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12433:17:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21322, + "nodeType": "ExpressionStatement", + "src": "12433:17:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21323, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12456:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21325, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "received_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21715, + "src": "12456:25:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21329, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12514:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21330, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sent_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21717, + "src": "12514:21:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21326, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12484:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21327, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "received_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21715, + "src": "12484:25:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21328, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 25882, + "src": "12484:29:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_MutableUint_$25634_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableUint_$25634_memory_ptr_$bound_to$_t_struct$_MutableUint_$25634_memory_ptr_$", + "typeString": "function (struct Types.MutableUint memory,uint256) pure returns (struct Types.MutableUint memory)" + } + }, + "id": 21331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12484:52:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "12456:80:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21333, + "nodeType": "ExpressionStatement", + "src": "12456:80:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21334, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12542:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21337, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21707, + "src": "12542:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 21338, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "12542:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21343, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12603:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21344, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "received_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21715, + "src": "12603:25:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21345, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "12603:30:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21339, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12569:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21340, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21707, + "src": "12569:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 21341, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "12569:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21342, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "subtract", + "nodeType": "MemberAccess", + "referencedDeclaration": 25912, + "src": "12569:33:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_MutableUint_$25634_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableUint_$25634_memory_ptr_$bound_to$_t_struct$_MutableUint_$25634_memory_ptr_$", + "typeString": "function (struct Types.MutableUint memory,uint256) pure returns (struct Types.MutableUint memory)" + } + }, + "id": 21346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12569:65:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "12542:92:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21348, + "nodeType": "ExpressionStatement", + "src": "12542:92:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21349, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12640:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21353, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "12640:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 21354, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21694, + "src": "12640:34:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21355, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "12640:39:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21356, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12682:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21357, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "12682:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 21358, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21694, + "src": "12682:34:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21359, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "12682:38:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12640:80:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21361, + "nodeType": "ExpressionStatement", + "src": "12640:80:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21362, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12726:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21365, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "recipient", + "nodeType": "MemberAccess", + "referencedDeclaration": 21709, + "src": "12726:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 21366, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "12726:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21371, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12788:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21372, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "received_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21715, + "src": "12788:25:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21373, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "12788:30:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21367, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12756:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21368, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "recipient", + "nodeType": "MemberAccess", + "referencedDeclaration": 21709, + "src": "12756:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 21369, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "12756:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21370, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 25882, + "src": "12756:31:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_MutableUint_$25634_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableUint_$25634_memory_ptr_$bound_to$_t_struct$_MutableUint_$25634_memory_ptr_$", + "typeString": "function (struct Types.MutableUint memory,uint256) pure returns (struct Types.MutableUint memory)" + } + }, + "id": 21374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12756:63:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "12726:93:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21376, + "nodeType": "ExpressionStatement", + "src": "12726:93:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21377, + "name": "_built", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21315, + "src": "12825:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21378, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12834:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "src": "12825:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21380, + "nodeType": "ExpressionStatement", + "src": "12825:18:70" + } + ] + }, + "documentation": null, + "id": 21382, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "build_transfer_with_no_transfer_fee", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21313, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21312, + "name": "_transfer", + "nodeType": "VariableDeclaration", + "scope": 21382, + "src": "12308:41:70", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer" + }, + "typeName": { + "contractScope": null, + "id": 21311, + "name": "TransferStructs.Transfer", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21722, + "src": "12308:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_storage_ptr", + "typeString": "struct TransferStructs.Transfer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12307:43:70" + }, + "payable": false, + "returnParameters": { + "id": 21316, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21315, + "name": "_built", + "nodeType": "VariableDeclaration", + "scope": 21382, + "src": "12385:38:70", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer" + }, + "typeName": { + "contractScope": null, + "id": 21314, + "name": "TransferStructs.Transfer", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21722, + "src": "12385:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_storage_ptr", + "typeString": "struct TransferStructs.Transfer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12384:40:70" + }, + "scope": 21622, + "src": "12263:585:70", + "stateMutability": "pure", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 21472, + "nodeType": "Block", + "src": "13013:548:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21389, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13019:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21391, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21719, + "src": "13019:13:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 21402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 21397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21392, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13036:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21393, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sent_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21717, + "src": "13036:21:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21394, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13060:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21395, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "13060:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 21396, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rate", + "nodeType": "MemberAccess", + "referencedDeclaration": 21700, + "src": "13060:21:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13036:45:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 21398, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13035:47:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21399, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13085:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21400, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "13085:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 21401, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "base", + "nodeType": "MemberAccess", + "referencedDeclaration": 21698, + "src": "13085:21:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13035:71:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13019:87:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21404, + "nodeType": "ExpressionStatement", + "src": "13019:87:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21405, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13112:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21408, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "received_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21715, + "src": "13112:25:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21409, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "13112:29:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21410, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13144:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21411, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sent_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21717, + "src": "13144:21:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13112:53:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21413, + "nodeType": "ExpressionStatement", + "src": "13112:53:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21414, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13171:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21416, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "received_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21715, + "src": "13171:25:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21420, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13234:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21421, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21719, + "src": "13234:13:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21417, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13199:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21418, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "received_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21715, + "src": "13199:25:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21419, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "subtract", + "nodeType": "MemberAccess", + "referencedDeclaration": 25912, + "src": "13199:34:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_MutableUint_$25634_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableUint_$25634_memory_ptr_$bound_to$_t_struct$_MutableUint_$25634_memory_ptr_$", + "typeString": "function (struct Types.MutableUint memory,uint256) pure returns (struct Types.MutableUint memory)" + } + }, + "id": 21422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13199:49:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "13171:77:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21424, + "nodeType": "ExpressionStatement", + "src": "13171:77:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21425, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13254:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21428, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "13254:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 21429, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21694, + "src": "13254:34:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21434, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13330:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21435, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21719, + "src": "13330:13:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21430, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13291:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21431, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "13291:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 21432, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21694, + "src": "13291:34:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21433, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 25882, + "src": "13291:38:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_MutableUint_$25634_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableUint_$25634_memory_ptr_$bound_to$_t_struct$_MutableUint_$25634_memory_ptr_$", + "typeString": "function (struct Types.MutableUint memory,uint256) pure returns (struct Types.MutableUint memory)" + } + }, + "id": 21436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13291:53:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "13254:90:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21438, + "nodeType": "ExpressionStatement", + "src": "13254:90:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21439, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13350:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21442, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21707, + "src": "13350:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 21443, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "13350:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21448, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13411:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21449, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sent_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21717, + "src": "13411:21:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21444, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13377:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21445, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21707, + "src": "13377:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 21446, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "13377:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21447, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "subtract", + "nodeType": "MemberAccess", + "referencedDeclaration": 25912, + "src": "13377:33:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_MutableUint_$25634_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableUint_$25634_memory_ptr_$bound_to$_t_struct$_MutableUint_$25634_memory_ptr_$", + "typeString": "function (struct Types.MutableUint memory,uint256) pure returns (struct Types.MutableUint memory)" + } + }, + "id": 21450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13377:56:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "13350:83:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21452, + "nodeType": "ExpressionStatement", + "src": "13350:83:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21453, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13439:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21456, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "recipient", + "nodeType": "MemberAccess", + "referencedDeclaration": 21709, + "src": "13439:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 21457, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "13439:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21462, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13501:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21463, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "received_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21715, + "src": "13501:25:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21464, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "13501:30:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21458, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13469:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21459, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "recipient", + "nodeType": "MemberAccess", + "referencedDeclaration": 21709, + "src": "13469:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 21460, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "13469:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21461, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 25882, + "src": "13469:31:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_MutableUint_$25634_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableUint_$25634_memory_ptr_$bound_to$_t_struct$_MutableUint_$25634_memory_ptr_$", + "typeString": "function (struct Types.MutableUint memory,uint256) pure returns (struct Types.MutableUint memory)" + } + }, + "id": 21465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13469:63:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "13439:93:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21467, + "nodeType": "ExpressionStatement", + "src": "13439:93:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21468, + "name": "_built", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21387, + "src": "13538:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21469, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13547:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "src": "13538:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21471, + "nodeType": "ExpressionStatement", + "src": "13538:18:70" + } + ] + }, + "documentation": null, + "id": 21473, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "build_transfer_with_transfer_fee", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21385, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21384, + "name": "_transfer", + "nodeType": "VariableDeclaration", + "scope": 21473, + "src": "12894:41:70", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer" + }, + "typeName": { + "contractScope": null, + "id": 21383, + "name": "TransferStructs.Transfer", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21722, + "src": "12894:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_storage_ptr", + "typeString": "struct TransferStructs.Transfer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12893:43:70" + }, + "payable": false, + "returnParameters": { + "id": 21388, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21387, + "name": "_built", + "nodeType": "VariableDeclaration", + "scope": 21473, + "src": "12971:38:70", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer" + }, + "typeName": { + "contractScope": null, + "id": 21386, + "name": "TransferStructs.Transfer", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21722, + "src": "12971:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_storage_ptr", + "typeString": "struct TransferStructs.Transfer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12970:40:70" + }, + "scope": 21622, + "src": "12852:709:70", + "stateMutability": "pure", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 21500, + "nodeType": "Block", + "src": "13725:105:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21484, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "13731:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21487, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "13731:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 21488, + "indexExpression": { + "argumentTypes": null, + "id": 21486, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21475, + "src": "13744:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13731:22:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 21489, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "13731:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 21490, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "spender_allowances", + "nodeType": "MemberAccess", + "referencedDeclaration": 20092, + "src": "13731:46:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 21492, + "indexExpression": { + "argumentTypes": null, + "id": 21491, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21477, + "src": "13778:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13731:56:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21493, + "name": "_new_allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21479, + "src": "13790:14:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13731:73:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21495, + "nodeType": "ExpressionStatement", + "src": "13731:73:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21496, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21482, + "src": "13810:8:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 21497, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13821:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "13810:15:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 21499, + "nodeType": "ExpressionStatement", + "src": "13810:15:70" + } + ] + }, + "documentation": null, + "id": 21501, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "update_account_spender_allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21480, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21475, + "name": "_account", + "nodeType": "VariableDeclaration", + "scope": 21501, + "src": "13612:16:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21474, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13612:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21477, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 21501, + "src": "13634:16:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21476, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13634:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21479, + "name": "_new_allowance", + "nodeType": "VariableDeclaration", + "scope": 21501, + "src": "13656:22:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21478, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13656:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13606:76:70" + }, + "payable": false, + "returnParameters": { + "id": 21483, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21482, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 21501, + "src": "13708:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21481, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13708:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13707:15:70" + }, + "scope": 21622, + "src": "13565:265:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 21552, + "nodeType": "Block", + "src": "14076:265:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21516, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "14082:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21519, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "14082:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 21520, + "indexExpression": { + "argumentTypes": null, + "id": 21518, + "name": "_sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21503, + "src": "14095:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14082:21:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 21521, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "14082:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 21522, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "14082:38:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21523, + "name": "_sender_new_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21505, + "src": "14123:19:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14082:60:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21525, + "nodeType": "ExpressionStatement", + "src": "14082:60:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21526, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "14148:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21529, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "14148:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 21530, + "indexExpression": { + "argumentTypes": null, + "id": 21528, + "name": "_recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21507, + "src": "14161:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14148:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 21531, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "14148:29:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 21532, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "14148:41:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21533, + "name": "_recipient_new_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21509, + "src": "14192:22:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14148:66:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21535, + "nodeType": "ExpressionStatement", + "src": "14148:66:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21536, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "14220:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21541, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "14220:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 21542, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21538, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "14233:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21539, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collectors", + "nodeType": "MemberAccess", + "referencedDeclaration": 20100, + "src": "14233:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Collectors_$20079_storage", + "typeString": "struct DummyDGXStorage.Collectors storage ref" + } + }, + "id": 21540, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 20078, + "src": "14233:26:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14220:40:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 21543, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "14220:45:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 21544, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "14220:57:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21545, + "name": "_transfer_fee_collector_new_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21511, + "src": "14280:35:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14220:95:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21547, + "nodeType": "ExpressionStatement", + "src": "14220:95:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21548, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21514, + "src": "14321:8:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 21549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14332:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "14321:15:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 21551, + "nodeType": "ExpressionStatement", + "src": "14321:15:70" + } + ] + }, + "documentation": null, + "id": 21553, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "update_transfer_balance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21512, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21503, + "name": "_sender", + "nodeType": "VariableDeclaration", + "scope": 21553, + "src": "13872:15:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21502, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13872:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21505, + "name": "_sender_new_balance", + "nodeType": "VariableDeclaration", + "scope": 21553, + "src": "13893:27:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21504, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13893:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21507, + "name": "_recipient", + "nodeType": "VariableDeclaration", + "scope": 21553, + "src": "13926:18:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21506, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13926:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21509, + "name": "_recipient_new_balance", + "nodeType": "VariableDeclaration", + "scope": 21553, + "src": "13950:30:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21508, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13950:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21511, + "name": "_transfer_fee_collector_new_balance", + "nodeType": "VariableDeclaration", + "scope": 21553, + "src": "13986:43:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21510, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13986:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13866:167:70" + }, + "payable": false, + "returnParameters": { + "id": 21515, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21514, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 21553, + "src": "14059:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21513, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14059:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14058:15:70" + }, + "scope": 21622, + "src": "13834:507:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 21620, + "nodeType": "Block", + "src": "14650:351:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21572, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "14656:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21575, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "14656:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 21576, + "indexExpression": { + "argumentTypes": null, + "id": 21574, + "name": "_sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21555, + "src": "14669:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14656:21:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 21577, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "14656:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 21578, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "14656:38:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21579, + "name": "_sender_new_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21557, + "src": "14697:19:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14656:60:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21581, + "nodeType": "ExpressionStatement", + "src": "14656:60:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21582, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "14722:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21585, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "14722:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 21586, + "indexExpression": { + "argumentTypes": null, + "id": 21584, + "name": "_recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21559, + "src": "14735:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14722:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 21587, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "14722:29:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 21588, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "14722:41:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21589, + "name": "_recipient_new_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21561, + "src": "14766:22:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14722:66:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21591, + "nodeType": "ExpressionStatement", + "src": "14722:66:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21592, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "14794:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21597, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "14794:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 21598, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21594, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "14807:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21595, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collectors", + "nodeType": "MemberAccess", + "referencedDeclaration": 20100, + "src": "14807:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Collectors_$20079_storage", + "typeString": "struct DummyDGXStorage.Collectors storage ref" + } + }, + "id": 21596, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 20078, + "src": "14807:26:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14794:40:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 21599, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "14794:45:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 21600, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "14794:57:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21601, + "name": "_transfer_fee_collector_new_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21563, + "src": "14854:35:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14794:95:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21603, + "nodeType": "ExpressionStatement", + "src": "14794:95:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21604, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "14895:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21607, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "14895:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 21608, + "indexExpression": { + "argumentTypes": null, + "id": 21606, + "name": "_sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21555, + "src": "14908:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14895:21:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 21609, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "14895:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 21610, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "spender_allowances", + "nodeType": "MemberAccess", + "referencedDeclaration": 20092, + "src": "14895:45:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 21612, + "indexExpression": { + "argumentTypes": null, + "id": 21611, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21565, + "src": "14941:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14895:55:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21613, + "name": "_spender_new_allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21567, + "src": "14953:22:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14895:80:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21615, + "nodeType": "ExpressionStatement", + "src": "14895:80:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21616, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21570, + "src": "14981:8:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 21617, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14992:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "14981:15:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 21619, + "nodeType": "ExpressionStatement", + "src": "14981:15:70" + } + ] + }, + "documentation": null, + "id": 21621, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "update_transfer_from_balance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21568, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21555, + "name": "_sender", + "nodeType": "VariableDeclaration", + "scope": 21621, + "src": "14388:15:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21554, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14388:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21557, + "name": "_sender_new_balance", + "nodeType": "VariableDeclaration", + "scope": 21621, + "src": "14409:27:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21556, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14409:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21559, + "name": "_recipient", + "nodeType": "VariableDeclaration", + "scope": 21621, + "src": "14442:18:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21558, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14442:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21561, + "name": "_recipient_new_balance", + "nodeType": "VariableDeclaration", + "scope": 21621, + "src": "14466:30:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21560, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14466:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21563, + "name": "_transfer_fee_collector_new_balance", + "nodeType": "VariableDeclaration", + "scope": 21621, + "src": "14502:43:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21562, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14502:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21565, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 21621, + "src": "14551:16:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21564, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14551:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21567, + "name": "_spender_new_allowance", + "nodeType": "VariableDeclaration", + "scope": 21621, + "src": "14573:30:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21566, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14573:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14382:225:70" + }, + "payable": false, + "returnParameters": { + "id": 21571, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21570, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 21621, + "src": "14633:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21569, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14633:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14632:15:70" + }, + "scope": 21622, + "src": "14345:656:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 21623, + "src": "258:14745:70" + } + ], + "src": "0:15004:70" + }, + "legacyAST": { + "absolutePath": "@digix/lite-dgx-contract/contracts/DummyDGXStorage.sol", + "exportedSymbols": { + "DummyDGXStorage": [ + 21622 + ] + }, + "id": 21623, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 20042, + "literals": [ + "solidity", + "^", + "0.4", + ".23" + ], + "nodeType": "PragmaDirective", + "src": "0:24:70" + }, + { + "absolutePath": "@digix/solidity-core-libraries/contracts/MathUtils.sol", + "file": "@digix/solidity-core-libraries/contracts/MathUtils.sol", + "id": 20043, + "nodeType": "ImportDirective", + "scope": 21623, + "sourceUnit": 25628, + "src": "26:64:70", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/solidity-core-libraries/contracts/Types.sol", + "file": "@digix/solidity-core-libraries/contracts/Types.sol", + "id": 20044, + "nodeType": "ImportDirective", + "scope": 21623, + "sourceUnit": 25948, + "src": "91:60:70", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/lite-dgx-contract/contracts/TokenReceiver.sol", + "file": "./TokenReceiver.sol", + "id": 20045, + "nodeType": "ImportDirective", + "scope": 21623, + "sourceUnit": 21637, + "src": "152:29:70", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/lite-dgx-contract/contracts/libs/DemurrageStructs.sol", + "file": "./libs/DemurrageStructs.sol", + "id": 20046, + "nodeType": "ImportDirective", + "scope": 21623, + "sourceUnit": 21672, + "src": "182:37:70", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/lite-dgx-contract/contracts/libs/TransferStructs.sol", + "file": "./libs/TransferStructs.sol", + "id": 20047, + "nodeType": "ImportDirective", + "scope": 21623, + "sourceUnit": 21724, + "src": "220:36:70", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 21622, + "linearizedBaseContracts": [ + 21622 + ], + "name": "DummyDGXStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 20050, + "libraryName": { + "contractScope": null, + "id": 20048, + "name": "Types", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25947, + "src": "293:5:70", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Types_$25947", + "typeString": "library Types" + } + }, + "nodeType": "UsingForDirective", + "src": "287:34:70", + "typeName": { + "contractScope": null, + "id": 20049, + "name": "Types.MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "303:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + } + }, + { + "id": 20053, + "libraryName": { + "contractScope": null, + "id": 20051, + "name": "Types", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25947, + "src": "330:5:70", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Types_$25947", + "typeString": "library Types" + } + }, + "nodeType": "UsingForDirective", + "src": "324:39:70", + "typeName": { + "contractScope": null, + "id": 20052, + "name": "Types.MutableTimestamp", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25639, + "src": "340:22:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_storage_ptr", + "typeString": "struct Types.MutableTimestamp" + } + } + }, + { + "canonicalName": "DummyDGXStorage.FeeConfiguration", + "id": 20058, + "members": [ + { + "constant": false, + "id": 20055, + "name": "base", + "nodeType": "VariableDeclaration", + "scope": 20058, + "src": "397:12:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20054, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "397:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20057, + "name": "rate", + "nodeType": "VariableDeclaration", + "scope": 20058, + "src": "415:12:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20056, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "415:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "FeeConfiguration", + "nodeType": "StructDefinition", + "scope": 21622, + "src": "367:65:70", + "visibility": "public" + }, + { + "canonicalName": "DummyDGXStorage.GlobalConfig", + "id": 20069, + "members": [ + { + "constant": false, + "id": 20060, + "name": "current_version", + "nodeType": "VariableDeclaration", + "scope": 20069, + "src": "462:23:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 20059, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "462:7:70", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20062, + "name": "no_demurrage_fee", + "nodeType": "VariableDeclaration", + "scope": 20069, + "src": "491:21:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20061, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "491:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20064, + "name": "no_transfer_fee", + "nodeType": "VariableDeclaration", + "scope": 20069, + "src": "518:20:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20063, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "518:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20066, + "name": "minimum_transfer_amount", + "nodeType": "VariableDeclaration", + "scope": 20069, + "src": "544:31:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20065, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "544:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20068, + "name": "fees", + "nodeType": "VariableDeclaration", + "scope": 20069, + "src": "581:9:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage_ptr", + "typeString": "struct DummyDGXStorage.Fees" + }, + "typeName": { + "contractScope": null, + "id": 20067, + "name": "Fees", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 20074, + "src": "581:4:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage_ptr", + "typeString": "struct DummyDGXStorage.Fees" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "GlobalConfig", + "nodeType": "StructDefinition", + "scope": 21622, + "src": "436:159:70", + "visibility": "public" + }, + { + "canonicalName": "DummyDGXStorage.Fees", + "id": 20074, + "members": [ + { + "constant": false, + "id": 20071, + "name": "demurrage", + "nodeType": "VariableDeclaration", + "scope": 20074, + "src": "617:26:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage_ptr", + "typeString": "struct DummyDGXStorage.FeeConfiguration" + }, + "typeName": { + "contractScope": null, + "id": 20070, + "name": "FeeConfiguration", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 20058, + "src": "617:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage_ptr", + "typeString": "struct DummyDGXStorage.FeeConfiguration" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20073, + "name": "transfer", + "nodeType": "VariableDeclaration", + "scope": 20074, + "src": "649:25:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage_ptr", + "typeString": "struct DummyDGXStorage.FeeConfiguration" + }, + "typeName": { + "contractScope": null, + "id": 20072, + "name": "FeeConfiguration", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 20058, + "src": "649:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage_ptr", + "typeString": "struct DummyDGXStorage.FeeConfiguration" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Fees", + "nodeType": "StructDefinition", + "scope": 21622, + "src": "599:80:70", + "visibility": "public" + }, + { + "canonicalName": "DummyDGXStorage.Collectors", + "id": 20079, + "members": [ + { + "constant": false, + "id": 20076, + "name": "demurrage", + "nodeType": "VariableDeclaration", + "scope": 20079, + "src": "707:17:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20075, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "707:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20078, + "name": "transfer", + "nodeType": "VariableDeclaration", + "scope": 20079, + "src": "730:16:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20077, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "730:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Collectors", + "nodeType": "StructDefinition", + "scope": 21622, + "src": "683:68:70", + "visibility": "public" + }, + { + "canonicalName": "DummyDGXStorage.UserConfig", + "id": 20084, + "members": [ + { + "constant": false, + "id": 20081, + "name": "no_demurrage_fee", + "nodeType": "VariableDeclaration", + "scope": 20084, + "src": "779:21:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20080, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "779:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20083, + "name": "no_transfer_fee", + "nodeType": "VariableDeclaration", + "scope": 20084, + "src": "806:20:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20082, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "806:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "UserConfig", + "nodeType": "StructDefinition", + "scope": 21622, + "src": "755:76:70", + "visibility": "public" + }, + { + "canonicalName": "DummyDGXStorage.UserData", + "id": 20093, + "members": [ + { + "constant": false, + "id": 20086, + "name": "last_payment_date", + "nodeType": "VariableDeclaration", + "scope": 20093, + "src": "857:25:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20085, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "857:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20088, + "name": "raw_balance", + "nodeType": "VariableDeclaration", + "scope": 20093, + "src": "888:19:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20087, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "888:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20092, + "name": "spender_allowances", + "nodeType": "VariableDeclaration", + "scope": 20093, + "src": "913:47:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 20091, + "keyType": { + "id": 20089, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "922:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "913:28:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 20090, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "933:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "UserData", + "nodeType": "StructDefinition", + "scope": 21622, + "src": "835:130:70", + "visibility": "public" + }, + { + "canonicalName": "DummyDGXStorage.User", + "id": 20098, + "members": [ + { + "constant": false, + "id": 20095, + "name": "config", + "nodeType": "VariableDeclaration", + "scope": 20098, + "src": "987:17:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserConfig_$20084_storage_ptr", + "typeString": "struct DummyDGXStorage.UserConfig" + }, + "typeName": { + "contractScope": null, + "id": 20094, + "name": "UserConfig", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 20084, + "src": "987:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserConfig_$20084_storage_ptr", + "typeString": "struct DummyDGXStorage.UserConfig" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20097, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 20098, + "src": "1010:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage_ptr", + "typeString": "struct DummyDGXStorage.UserData" + }, + "typeName": { + "contractScope": null, + "id": 20096, + "name": "UserData", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 20093, + "src": "1010:8:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage_ptr", + "typeString": "struct DummyDGXStorage.UserData" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "User", + "nodeType": "StructDefinition", + "scope": 21622, + "src": "969:59:70", + "visibility": "public" + }, + { + "canonicalName": "DummyDGXStorage.System", + "id": 20109, + "members": [ + { + "constant": false, + "id": 20100, + "name": "collectors", + "nodeType": "VariableDeclaration", + "scope": 20109, + "src": "1052:21:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Collectors_$20079_storage_ptr", + "typeString": "struct DummyDGXStorage.Collectors" + }, + "typeName": { + "contractScope": null, + "id": 20099, + "name": "Collectors", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 20079, + "src": "1052:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Collectors_$20079_storage_ptr", + "typeString": "struct DummyDGXStorage.Collectors" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20102, + "name": "config", + "nodeType": "VariableDeclaration", + "scope": 20109, + "src": "1079:19:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage_ptr", + "typeString": "struct DummyDGXStorage.GlobalConfig" + }, + "typeName": { + "contractScope": null, + "id": 20101, + "name": "GlobalConfig", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 20069, + "src": "1079:12:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage_ptr", + "typeString": "struct DummyDGXStorage.GlobalConfig" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20104, + "name": "total_supply", + "nodeType": "VariableDeclaration", + "scope": 20109, + "src": "1104:20:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20103, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1104:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20108, + "name": "users", + "nodeType": "VariableDeclaration", + "scope": 20109, + "src": "1130:31:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User)" + }, + "typeName": { + "id": 20107, + "keyType": { + "id": 20105, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1139:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1130:25:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User)" + }, + "valueType": { + "contractScope": null, + "id": 20106, + "name": "User", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 20098, + "src": "1150:4:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage_ptr", + "typeString": "struct DummyDGXStorage.User" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "System", + "nodeType": "StructDefinition", + "scope": 21622, + "src": "1032:134:70", + "visibility": "public" + }, + { + "constant": false, + "id": 20111, + "name": "system", + "nodeType": "VariableDeclaration", + "scope": 21622, + "src": "1170:13:70", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System" + }, + "typeName": { + "contractScope": null, + "id": 20110, + "name": "System", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 20109, + "src": "1170:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage_ptr", + "typeString": "struct DummyDGXStorage.System" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20113, + "name": "ROOT", + "nodeType": "VariableDeclaration", + "scope": 21622, + "src": "1187:12:70", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20112, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1187:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20115, + "name": "DGX_INTERACTIVE_ADDRESS", + "nodeType": "VariableDeclaration", + "scope": 21622, + "src": "1203:31:70", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20114, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1203:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 20216, + "nodeType": "Block", + "src": "1266:602:70", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 20119, + "name": "_demurrage_collector", + "nodeType": "VariableDeclaration", + "scope": 20217, + "src": "1272:28:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20118, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1272:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 20120, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1272:28:70" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 20122, + "name": "_transfer_collector", + "nodeType": "VariableDeclaration", + "scope": 20217, + "src": "1306:27:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20121, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1306:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 20123, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1306:27:70" + }, + { + "externalReferences": [ + { + "_demurrage_collector": { + "declaration": 20119, + "isOffset": false, + "isSlot": false, + "src": "1356:20:70", + "valueSize": 1 + } + }, + { + "_transfer_collector": { + "declaration": 20122, + "isOffset": false, + "isSlot": false, + "src": "1400:19:70", + "valueSize": 1 + } + } + ], + "id": 20124, + "nodeType": "InlineAssembly", + "operations": "{\n _demurrage_collector := create(0, 0, 0)\n _transfer_collector := create(0, 0, 0)\n}", + "src": "1339:115:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20125, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "1448:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20130, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "1448:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20131, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fees", + "nodeType": "MemberAccess", + "referencedDeclaration": 20068, + "src": "1448:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage", + "typeString": "struct DummyDGXStorage.Fees storage ref" + } + }, + "id": 20132, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "demurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 20071, + "src": "1448:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage", + "typeString": "struct DummyDGXStorage.FeeConfiguration storage ref" + } + }, + "id": 20133, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "base", + "nodeType": "MemberAccess", + "referencedDeclaration": 20055, + "src": "1448:33:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130303030303030", + "id": 20134, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1484:8:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000_by_1", + "typeString": "int_const 10000000" + }, + "value": "10000000" + }, + "src": "1448:44:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20136, + "nodeType": "ExpressionStatement", + "src": "1448:44:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20137, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "1498:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20142, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "1498:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20143, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fees", + "nodeType": "MemberAccess", + "referencedDeclaration": 20068, + "src": "1498:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage", + "typeString": "struct DummyDGXStorage.Fees storage ref" + } + }, + "id": 20144, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "demurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 20071, + "src": "1498:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage", + "typeString": "struct DummyDGXStorage.FeeConfiguration storage ref" + } + }, + "id": 20145, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "rate", + "nodeType": "MemberAccess", + "referencedDeclaration": 20057, + "src": "1498:33:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313635", + "id": 20146, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1534:3:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_165_by_1", + "typeString": "int_const 165" + }, + "value": "165" + }, + "src": "1498:39:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20148, + "nodeType": "ExpressionStatement", + "src": "1498:39:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20149, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "1543:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20154, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "1543:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20155, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fees", + "nodeType": "MemberAccess", + "referencedDeclaration": 20068, + "src": "1543:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage", + "typeString": "struct DummyDGXStorage.Fees storage ref" + } + }, + "id": 20156, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 20073, + "src": "1543:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage", + "typeString": "struct DummyDGXStorage.FeeConfiguration storage ref" + } + }, + "id": 20157, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "base", + "nodeType": "MemberAccess", + "referencedDeclaration": 20055, + "src": "1543:32:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130303030", + "id": 20158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1578:5:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10000_by_1", + "typeString": "int_const 10000" + }, + "value": "10000" + }, + "src": "1543:40:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20160, + "nodeType": "ExpressionStatement", + "src": "1543:40:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20161, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "1589:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20166, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "1589:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20167, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fees", + "nodeType": "MemberAccess", + "referencedDeclaration": 20068, + "src": "1589:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage", + "typeString": "struct DummyDGXStorage.Fees storage ref" + } + }, + "id": 20168, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 20073, + "src": "1589:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage", + "typeString": "struct DummyDGXStorage.FeeConfiguration storage ref" + } + }, + "id": 20169, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "rate", + "nodeType": "MemberAccess", + "referencedDeclaration": 20057, + "src": "1589:32:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3133", + "id": 20170, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1624:2:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_13_by_1", + "typeString": "int_const 13" + }, + "value": "13" + }, + "src": "1589:37:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20172, + "nodeType": "ExpressionStatement", + "src": "1589:37:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20173, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "1632:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20176, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "1632:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20177, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "minimum_transfer_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 20066, + "src": "1632:37:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31303030303030", + "id": 20178, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1672:7:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000_by_1", + "typeString": "int_const 1000000" + }, + "value": "1000000" + }, + "src": "1632:47:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20180, + "nodeType": "ExpressionStatement", + "src": "1632:47:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20181, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "1685:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20184, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "1685:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20185, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "no_demurrage_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20062, + "src": "1685:30:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 20186, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1718:5:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1685:38:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20188, + "nodeType": "ExpressionStatement", + "src": "1685:38:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20189, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "1729:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20192, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "1729:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20193, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "no_transfer_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20064, + "src": "1729:29:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 20194, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1761:5:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1729:37:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20196, + "nodeType": "ExpressionStatement", + "src": "1729:37:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20197, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "1772:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20200, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "1772:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20201, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "current_version", + "nodeType": "MemberAccess", + "referencedDeclaration": 20060, + "src": "1772:29:70", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "312e302e30", + "id": 20202, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1804:7:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_06c015bd22b4c69690933c1058878ebdfef31f9aaae40bbe86d8a09fe1b2972c", + "typeString": "literal_string \"1.0.0\"" + }, + "value": "1.0.0" + }, + "src": "1772:39:70", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 20204, + "nodeType": "ExpressionStatement", + "src": "1772:39:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20205, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "1817:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20207, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "total_supply", + "nodeType": "MemberAccess", + "referencedDeclaration": 20104, + "src": "1817:19:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 20208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1839:1:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1817:23:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20210, + "nodeType": "ExpressionStatement", + "src": "1817:23:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20211, + "name": "ROOT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20113, + "src": "1846:4:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20212, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1853:3:70", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 20213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1853:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1846:17:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 20215, + "nodeType": "ExpressionStatement", + "src": "1846:17:70" + } + ] + }, + "documentation": null, + "id": 20217, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20116, + "nodeType": "ParameterList", + "parameters": [], + "src": "1250:2:70" + }, + "payable": false, + "returnParameters": { + "id": 20117, + "nodeType": "ParameterList", + "parameters": [], + "src": "1266:0:70" + }, + "scope": 21622, + "src": "1239:629:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20228, + "nodeType": "Block", + "src": "1953:57:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20224, + "name": "DGX_INTERACTIVE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20115, + "src": "1959:23:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 20225, + "name": "_DummyDGXInteractive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20219, + "src": "1985:20:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1959:46:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 20227, + "nodeType": "ExpressionStatement", + "src": "1959:46:70" + } + ] + }, + "documentation": null, + "id": 20229, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 20222, + "modifierName": { + "argumentTypes": null, + "id": 20221, + "name": "if_root", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20240, + "src": "1941:7:70", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1941:9:70" + } + ], + "name": "setInteractive", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20220, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20219, + "name": "_DummyDGXInteractive", + "nodeType": "VariableDeclaration", + "scope": 20229, + "src": "1896:28:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20218, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1896:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1895:30:70" + }, + "payable": false, + "returnParameters": { + "id": 20223, + "nodeType": "ParameterList", + "parameters": [], + "src": "1953:0:70" + }, + "scope": 21622, + "src": "1872:138:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20239, + "nodeType": "Block", + "src": "2033:45:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 20235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20232, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2047:3:70", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 20233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2047:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 20234, + "name": "ROOT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20113, + "src": "2061:4:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2047:18:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 20231, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2039:7:70", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 20236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2039:27:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20237, + "nodeType": "ExpressionStatement", + "src": "2039:27:70" + }, + { + "id": 20238, + "nodeType": "PlaceholderStatement", + "src": "2072:1:70" + } + ] + }, + "documentation": null, + "id": 20240, + "name": "if_root", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 20230, + "nodeType": "ParameterList", + "parameters": [], + "src": "2030:2:70" + }, + "src": "2014:64:70", + "visibility": "internal" + }, + { + "body": { + "id": 20250, + "nodeType": "Block", + "src": "2112:64:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 20246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20243, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2126:3:70", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 20244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2126:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 20245, + "name": "DGX_INTERACTIVE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20115, + "src": "2140:23:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2126:37:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 20242, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2118:7:70", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 20247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2118:46:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20248, + "nodeType": "ExpressionStatement", + "src": "2118:46:70" + }, + { + "id": 20249, + "nodeType": "PlaceholderStatement", + "src": "2170:1:70" + } + ] + }, + "documentation": null, + "id": 20251, + "name": "if_dgx_interactive", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 20241, + "nodeType": "ParameterList", + "parameters": [], + "src": "2109:2:70" + }, + "src": "2082:94:70", + "visibility": "internal" + }, + { + "body": { + "id": 20313, + "nodeType": "Block", + "src": "2441:395:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20262, + "name": "_collector_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20254, + "src": "2447:18:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20263, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "2468:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20264, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "2468:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20268, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20265, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "2481:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20266, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collectors", + "nodeType": "MemberAccess", + "referencedDeclaration": 20100, + "src": "2481:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Collectors_$20079_storage", + "typeString": "struct DummyDGXStorage.Collectors storage ref" + } + }, + "id": 20267, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "demurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 20076, + "src": "2481:27:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2468:41:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20269, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "2468:46:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 20270, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "2468:58:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2447:79:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20272, + "nodeType": "ExpressionStatement", + "src": "2447:79:70" + }, + { + "assignments": [ + 20274 + ], + "declarations": [ + { + "constant": false, + "id": 20274, + "name": "_global_demurrage_disabled", + "nodeType": "VariableDeclaration", + "scope": 20314, + "src": "2532:31:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20273, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2532:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 20278, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20275, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "2566:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20276, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "2566:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20277, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "no_demurrage_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20062, + "src": "2566:30:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2532:64:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20279, + "name": "_collector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20260, + "src": "2602:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20280, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "2615:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20281, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collectors", + "nodeType": "MemberAccess", + "referencedDeclaration": 20100, + "src": "2615:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Collectors_$20079_storage", + "typeString": "struct DummyDGXStorage.Collectors storage ref" + } + }, + "id": 20282, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "demurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 20076, + "src": "2615:27:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2602:40:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 20284, + "nodeType": "ExpressionStatement", + "src": "2602:40:70" + }, + { + "condition": { + "argumentTypes": null, + "id": 20285, + "name": "_global_demurrage_disabled", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20274, + "src": "2652:26:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 20311, + "nodeType": "Block", + "src": "2727:105:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20295, + "name": "_base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20256, + "src": "2735:5:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20296, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "2743:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20297, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "2743:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20298, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fees", + "nodeType": "MemberAccess", + "referencedDeclaration": 20068, + "src": "2743:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage", + "typeString": "struct DummyDGXStorage.Fees storage ref" + } + }, + "id": 20299, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "demurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 20071, + "src": "2743:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage", + "typeString": "struct DummyDGXStorage.FeeConfiguration storage ref" + } + }, + "id": 20300, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "base", + "nodeType": "MemberAccess", + "referencedDeclaration": 20055, + "src": "2743:33:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2735:41:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20302, + "nodeType": "ExpressionStatement", + "src": "2735:41:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20303, + "name": "_rate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20258, + "src": "2784:5:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20304, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "2792:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20305, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "2792:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20306, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fees", + "nodeType": "MemberAccess", + "referencedDeclaration": 20068, + "src": "2792:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage", + "typeString": "struct DummyDGXStorage.Fees storage ref" + } + }, + "id": 20307, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "demurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 20071, + "src": "2792:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage", + "typeString": "struct DummyDGXStorage.FeeConfiguration storage ref" + } + }, + "id": 20308, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rate", + "nodeType": "MemberAccess", + "referencedDeclaration": 20057, + "src": "2792:33:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2784:41:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20310, + "nodeType": "ExpressionStatement", + "src": "2784:41:70" + } + ] + }, + "id": 20312, + "nodeType": "IfStatement", + "src": "2648:184:70", + "trueBody": { + "id": 20294, + "nodeType": "Block", + "src": "2680:41:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20286, + "name": "_base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20256, + "src": "2688:5:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 20287, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2696:1:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2688:9:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20289, + "nodeType": "ExpressionStatement", + "src": "2688:9:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20290, + "name": "_rate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20258, + "src": "2705:5:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 20291, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2713:1:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2705:9:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20293, + "nodeType": "ExpressionStatement", + "src": "2705:9:70" + } + ] + } + } + ] + }, + "documentation": "//////////////////////////// PUBLIC FUNCTIONS ////////////////////////////", + "id": 20314, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_demurrage_config", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20252, + "nodeType": "ParameterList", + "parameters": [], + "src": "2291:2:70" + }, + "payable": false, + "returnParameters": { + "id": 20261, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20254, + "name": "_collector_balance", + "nodeType": "VariableDeclaration", + "scope": 20314, + "src": "2338:26:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20253, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2338:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20256, + "name": "_base", + "nodeType": "VariableDeclaration", + "scope": 20314, + "src": "2372:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20255, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2372:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20258, + "name": "_rate", + "nodeType": "VariableDeclaration", + "scope": 20314, + "src": "2393:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2393:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20260, + "name": "_collector", + "nodeType": "VariableDeclaration", + "scope": 20314, + "src": "2414:18:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20259, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2414:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2330:108:70" + }, + "scope": 21622, + "src": "2261:575:70", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20353, + "nodeType": "Block", + "src": "3027:201:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20325, + "name": "_base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20317, + "src": "3033:5:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20326, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3041:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20327, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "3041:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20328, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fees", + "nodeType": "MemberAccess", + "referencedDeclaration": 20068, + "src": "3041:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage", + "typeString": "struct DummyDGXStorage.Fees storage ref" + } + }, + "id": 20329, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "demurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 20071, + "src": "3041:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage", + "typeString": "struct DummyDGXStorage.FeeConfiguration storage ref" + } + }, + "id": 20330, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "base", + "nodeType": "MemberAccess", + "referencedDeclaration": 20055, + "src": "3041:33:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3033:41:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20332, + "nodeType": "ExpressionStatement", + "src": "3033:41:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20333, + "name": "_rate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20319, + "src": "3080:5:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20334, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3088:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20335, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "3088:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20336, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fees", + "nodeType": "MemberAccess", + "referencedDeclaration": 20068, + "src": "3088:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage", + "typeString": "struct DummyDGXStorage.Fees storage ref" + } + }, + "id": 20337, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "demurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 20071, + "src": "3088:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage", + "typeString": "struct DummyDGXStorage.FeeConfiguration storage ref" + } + }, + "id": 20338, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rate", + "nodeType": "MemberAccess", + "referencedDeclaration": 20057, + "src": "3088:33:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3080:41:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20340, + "nodeType": "ExpressionStatement", + "src": "3080:41:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20341, + "name": "_collector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20321, + "src": "3127:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20342, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3140:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20343, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collectors", + "nodeType": "MemberAccess", + "referencedDeclaration": 20100, + "src": "3140:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Collectors_$20079_storage", + "typeString": "struct DummyDGXStorage.Collectors storage ref" + } + }, + "id": 20344, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "demurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 20076, + "src": "3140:27:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3127:40:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 20346, + "nodeType": "ExpressionStatement", + "src": "3127:40:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20347, + "name": "_no_demurrage_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20323, + "src": "3173:17:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20348, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3193:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20349, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "3193:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20350, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "no_demurrage_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20062, + "src": "3193:30:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3173:50:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20352, + "nodeType": "ExpressionStatement", + "src": "3173:50:70" + } + ] + }, + "documentation": null, + "id": 20354, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_demurrage_config_underlying", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20315, + "nodeType": "ParameterList", + "parameters": [], + "src": "2881:2:70" + }, + "payable": false, + "returnParameters": { + "id": 20324, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20317, + "name": "_base", + "nodeType": "VariableDeclaration", + "scope": 20354, + "src": "2928:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20316, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2928:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20319, + "name": "_rate", + "nodeType": "VariableDeclaration", + "scope": 20354, + "src": "2949:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20318, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2949:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20321, + "name": "_collector", + "nodeType": "VariableDeclaration", + "scope": 20354, + "src": "2970:18:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20320, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2970:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20323, + "name": "_no_demurrage_fee", + "nodeType": "VariableDeclaration", + "scope": 20354, + "src": "2996:22:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20322, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2996:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2920:104:70" + }, + "scope": 21622, + "src": "2840:388:70", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20414, + "nodeType": "Block", + "src": "3480:350:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20369, + "name": "_collector_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20357, + "src": "3486:18:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20370, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3507:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20371, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "3507:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20375, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20372, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3520:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20373, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collectors", + "nodeType": "MemberAccess", + "referencedDeclaration": 20100, + "src": "3520:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Collectors_$20079_storage", + "typeString": "struct DummyDGXStorage.Collectors storage ref" + } + }, + "id": 20374, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 20078, + "src": "3520:26:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3507:40:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20376, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "3507:45:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 20377, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "3507:57:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3486:78:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20379, + "nodeType": "ExpressionStatement", + "src": "3486:78:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20380, + "name": "_base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20359, + "src": "3570:5:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20381, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3578:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20382, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "3578:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20383, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fees", + "nodeType": "MemberAccess", + "referencedDeclaration": 20068, + "src": "3578:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage", + "typeString": "struct DummyDGXStorage.Fees storage ref" + } + }, + "id": 20384, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 20073, + "src": "3578:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage", + "typeString": "struct DummyDGXStorage.FeeConfiguration storage ref" + } + }, + "id": 20385, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "base", + "nodeType": "MemberAccess", + "referencedDeclaration": 20055, + "src": "3578:32:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3570:40:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20387, + "nodeType": "ExpressionStatement", + "src": "3570:40:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20388, + "name": "_rate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20361, + "src": "3616:5:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20389, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3624:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20390, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "3624:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20391, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fees", + "nodeType": "MemberAccess", + "referencedDeclaration": 20068, + "src": "3624:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Fees_$20074_storage", + "typeString": "struct DummyDGXStorage.Fees storage ref" + } + }, + "id": 20392, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 20073, + "src": "3624:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_FeeConfiguration_$20058_storage", + "typeString": "struct DummyDGXStorage.FeeConfiguration storage ref" + } + }, + "id": 20393, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rate", + "nodeType": "MemberAccess", + "referencedDeclaration": 20057, + "src": "3624:32:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3616:40:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20395, + "nodeType": "ExpressionStatement", + "src": "3616:40:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20396, + "name": "_collector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20363, + "src": "3662:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20397, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3675:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20398, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collectors", + "nodeType": "MemberAccess", + "referencedDeclaration": 20100, + "src": "3675:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Collectors_$20079_storage", + "typeString": "struct DummyDGXStorage.Collectors storage ref" + } + }, + "id": 20399, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 20078, + "src": "3675:26:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3662:39:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 20401, + "nodeType": "ExpressionStatement", + "src": "3662:39:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20402, + "name": "_no_transfer_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20365, + "src": "3707:16:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20403, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3726:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20404, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "3726:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20405, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "no_transfer_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20064, + "src": "3726:29:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3707:48:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20407, + "nodeType": "ExpressionStatement", + "src": "3707:48:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20408, + "name": "_minimum_transfer_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20367, + "src": "3761:24:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20409, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3788:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20410, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "3788:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20411, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "minimum_transfer_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 20066, + "src": "3788:37:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3761:64:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20413, + "nodeType": "ExpressionStatement", + "src": "3761:64:70" + } + ] + }, + "documentation": null, + "id": 20415, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_transfer_config", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20355, + "nodeType": "ParameterList", + "parameters": [], + "src": "3261:2:70" + }, + "payable": false, + "returnParameters": { + "id": 20368, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20357, + "name": "_collector_balance", + "nodeType": "VariableDeclaration", + "scope": 20415, + "src": "3308:26:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3308:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20359, + "name": "_base", + "nodeType": "VariableDeclaration", + "scope": 20415, + "src": "3342:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20358, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3342:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20361, + "name": "_rate", + "nodeType": "VariableDeclaration", + "scope": 20415, + "src": "3363:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20360, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3363:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20363, + "name": "_collector", + "nodeType": "VariableDeclaration", + "scope": 20415, + "src": "3384:18:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20362, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3384:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20365, + "name": "_no_transfer_fee", + "nodeType": "VariableDeclaration", + "scope": 20415, + "src": "3410:21:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20364, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3410:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20367, + "name": "_minimum_transfer_amount", + "nodeType": "VariableDeclaration", + "scope": 20415, + "src": "3439:32:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20366, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3439:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3300:177:70" + }, + "scope": 21622, + "src": "3232:598:70", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20442, + "nodeType": "Block", + "src": "3968:135:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20424, + "name": "_raw_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20420, + "src": "3974:12:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20425, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "3989:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20426, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "3989:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20428, + "indexExpression": { + "argumentTypes": null, + "id": 20427, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20417, + "src": "4002:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3989:22:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20429, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "3989:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 20430, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "3989:39:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3974:54:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20432, + "nodeType": "ExpressionStatement", + "src": "3974:54:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20433, + "name": "_no_transfer_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20422, + "src": "4034:16:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20434, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "4053:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20435, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "4053:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20437, + "indexExpression": { + "argumentTypes": null, + "id": 20436, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20417, + "src": "4066:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4053:22:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20438, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20095, + "src": "4053:29:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserConfig_$20084_storage", + "typeString": "struct DummyDGXStorage.UserConfig storage ref" + } + }, + "id": 20439, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "no_transfer_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20083, + "src": "4053:45:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4034:64:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20441, + "nodeType": "ExpressionStatement", + "src": "4034:64:70" + } + ] + }, + "documentation": null, + "id": 20443, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_user_for_transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20418, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20417, + "name": "_account", + "nodeType": "VariableDeclaration", + "scope": 20443, + "src": "3866:16:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20416, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3866:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3865:18:70" + }, + "payable": false, + "returnParameters": { + "id": 20423, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20420, + "name": "_raw_balance", + "nodeType": "VariableDeclaration", + "scope": 20443, + "src": "3921:20:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20419, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3921:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20422, + "name": "_no_transfer_fee", + "nodeType": "VariableDeclaration", + "scope": 20443, + "src": "3943:21:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20421, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3943:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3920:45:70" + }, + "scope": 21622, + "src": "3834:269:70", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20485, + "nodeType": "Block", + "src": "4290:264:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20454, + "name": "_raw_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20448, + "src": "4296:12:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20455, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "4311:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20456, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "4311:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20458, + "indexExpression": { + "argumentTypes": null, + "id": 20457, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20445, + "src": "4324:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4311:22:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20459, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "4311:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 20460, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "4311:39:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4296:54:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20462, + "nodeType": "ExpressionStatement", + "src": "4296:54:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20463, + "name": "_payment_date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20450, + "src": "4356:13:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20464, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "4372:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20465, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "4372:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20467, + "indexExpression": { + "argumentTypes": null, + "id": 20466, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20445, + "src": "4385:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4372:22:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20468, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "4372:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 20469, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "last_payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 20086, + "src": "4372:45:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4356:61:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20471, + "nodeType": "ExpressionStatement", + "src": "4356:61:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20472, + "name": "_no_demurrage_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20452, + "src": "4423:17:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 20482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20473, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "4443:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20474, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "4443:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20476, + "indexExpression": { + "argumentTypes": null, + "id": 20475, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20445, + "src": "4456:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4443:22:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20477, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20095, + "src": "4443:29:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserConfig_$20084_storage", + "typeString": "struct DummyDGXStorage.UserConfig storage ref" + } + }, + "id": 20478, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "no_demurrage_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20081, + "src": "4443:46:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20479, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "4519:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20480, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20102, + "src": "4519:13:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_GlobalConfig_$20069_storage", + "typeString": "struct DummyDGXStorage.GlobalConfig storage ref" + } + }, + "id": 20481, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "no_demurrage_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20062, + "src": "4519:30:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4443:106:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4423:126:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20484, + "nodeType": "ExpressionStatement", + "src": "4423:126:70" + } + ] + }, + "documentation": null, + "id": 20486, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_user_for_demurrage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20446, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20445, + "name": "_account", + "nodeType": "VariableDeclaration", + "scope": 20486, + "src": "4140:16:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20444, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4140:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4139:18:70" + }, + "payable": false, + "returnParameters": { + "id": 20453, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20448, + "name": "_raw_balance", + "nodeType": "VariableDeclaration", + "scope": 20486, + "src": "4202:20:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20447, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4202:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20450, + "name": "_payment_date", + "nodeType": "VariableDeclaration", + "scope": 20486, + "src": "4230:21:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20449, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4230:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20452, + "name": "_no_demurrage_fee", + "nodeType": "VariableDeclaration", + "scope": 20486, + "src": "4259:22:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20451, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4259:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4194:93:70" + }, + "scope": 21622, + "src": "4107:447:70", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20496, + "nodeType": "Block", + "src": "4648:45:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20491, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20489, + "src": "4654:12:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20492, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "4669:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20493, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "total_supply", + "nodeType": "MemberAccess", + "referencedDeclaration": 20104, + "src": "4669:19:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4654:34:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20495, + "nodeType": "ExpressionStatement", + "src": "4654:34:70" + } + ] + }, + "documentation": null, + "id": 20497, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_total_supply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20487, + "nodeType": "ParameterList", + "parameters": [], + "src": "4584:2:70" + }, + "payable": false, + "returnParameters": { + "id": 20490, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20489, + "name": "_totalSupply", + "nodeType": "VariableDeclaration", + "scope": 20497, + "src": "4624:20:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20488, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4624:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4623:22:70" + }, + "scope": 21622, + "src": "4558:135:70", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20517, + "nodeType": "Block", + "src": "4814:78:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20506, + "name": "_allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20504, + "src": "4820:10:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20507, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "4833:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20508, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "4833:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20510, + "indexExpression": { + "argumentTypes": null, + "id": 20509, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20499, + "src": "4846:6:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4833:20:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20511, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "4833:25:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 20512, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "spender_allowances", + "nodeType": "MemberAccess", + "referencedDeclaration": 20092, + "src": "4833:44:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 20514, + "indexExpression": { + "argumentTypes": null, + "id": 20513, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20501, + "src": "4878:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4833:54:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4820:67:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20516, + "nodeType": "ExpressionStatement", + "src": "4820:67:70" + } + ] + }, + "documentation": null, + "id": 20518, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20502, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20499, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 20518, + "src": "4721:14:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20498, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4721:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20501, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 20518, + "src": "4737:16:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20500, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4737:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4720:34:70" + }, + "payable": false, + "returnParameters": { + "id": 20505, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20504, + "name": "_allowance", + "nodeType": "VariableDeclaration", + "scope": 20518, + "src": "4792:18:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20503, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4792:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4791:20:70" + }, + "scope": 21622, + "src": "4697:195:70", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20545, + "nodeType": "Block", + "src": "5050:147:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20527, + "name": "_no_demurrage_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20523, + "src": "5056:17:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20528, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "5076:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20529, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "5076:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20531, + "indexExpression": { + "argumentTypes": null, + "id": 20530, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20520, + "src": "5089:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5076:22:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20532, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20095, + "src": "5076:29:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserConfig_$20084_storage", + "typeString": "struct DummyDGXStorage.UserConfig storage ref" + } + }, + "id": 20533, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "no_demurrage_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20081, + "src": "5076:46:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5056:66:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20535, + "nodeType": "ExpressionStatement", + "src": "5056:66:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20536, + "name": "_no_transfer_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20525, + "src": "5128:16:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20537, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "5147:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20538, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "5147:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20540, + "indexExpression": { + "argumentTypes": null, + "id": 20539, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20520, + "src": "5160:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5147:22:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20541, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20095, + "src": "5147:29:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserConfig_$20084_storage", + "typeString": "struct DummyDGXStorage.UserConfig storage ref" + } + }, + "id": 20542, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "no_transfer_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20083, + "src": "5147:45:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5128:64:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20544, + "nodeType": "ExpressionStatement", + "src": "5128:64:70" + } + ] + }, + "documentation": null, + "id": 20546, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_user_fees_configs", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20521, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20520, + "name": "_account", + "nodeType": "VariableDeclaration", + "scope": 20546, + "src": "4928:16:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4928:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4927:18:70" + }, + "payable": false, + "returnParameters": { + "id": 20526, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20523, + "name": "_no_demurrage_fee", + "nodeType": "VariableDeclaration", + "scope": 20546, + "src": "4990:22:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20522, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4990:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20525, + "name": "_no_transfer_fee", + "nodeType": "VariableDeclaration", + "scope": 20546, + "src": "5020:21:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20524, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5020:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4982:65:70" + }, + "scope": 21622, + "src": "4896:301:70", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20576, + "nodeType": "Block", + "src": "5419:186:70", + "statements": [ + { + "assignments": [ + 20558 + ], + "declarations": [ + { + "constant": false, + "id": 20558, + "name": "_demurrage", + "nodeType": "VariableDeclaration", + "scope": 20577, + "src": "5425:44:70", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage" + }, + "typeName": { + "contractScope": null, + "id": 20557, + "name": "DemurrageStructs.Demurrage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21670, + "src": "5425:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_storage_ptr", + "typeString": "struct DemurrageStructs.Demurrage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 20562, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20560, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20548, + "src": "5492:5:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 20559, + "name": "get_demurraged_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21035, + "src": "5472:19:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_struct$_Demurrage_$21670_memory_ptr_$", + "typeString": "function (address) view returns (struct DemurrageStructs.Demurrage memory)" + } + }, + "id": 20561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5472:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5425:73:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20563, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20558, + "src": "5504:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20565, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20558, + "src": "5537:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + ], + "id": 20564, + "name": "calculate_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21221, + "src": "5517:19:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Demurrage_$21670_memory_ptr_$returns$_t_struct$_Demurrage_$21670_memory_ptr_$", + "typeString": "function (struct DemurrageStructs.Demurrage memory) view returns (struct DemurrageStructs.Demurrage memory)" + } + }, + "id": 20566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5517:31:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "src": "5504:44:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 20568, + "nodeType": "ExpressionStatement", + "src": "5504:44:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20569, + "name": "_actual_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20553, + "src": "5554:15:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20570, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20558, + "src": "5572:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 20571, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "5572:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 20572, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21651, + "src": "5572:23:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20573, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "5572:28:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5554:46:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20575, + "nodeType": "ExpressionStatement", + "src": "5554:46:70" + } + ] + }, + "documentation": "/////////////////////// CALLABLE FROM INTERACTIVE ////////////////////////", + "id": 20577, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [ + { + "arguments": [], + "id": 20551, + "modifierName": { + "argumentTypes": null, + "id": 20550, + "name": "if_dgx_interactive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20251, + "src": "5345:18:70", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "5345:20:70" + } + ], + "name": "show_demurraged_balance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20549, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20548, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 20577, + "src": "5315:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20547, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5315:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5314:15:70" + }, + "payable": false, + "returnParameters": { + "id": 20554, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20553, + "name": "_actual_balance", + "nodeType": "VariableDeclaration", + "scope": 20577, + "src": "5392:23:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20552, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5392:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5391:25:70" + }, + "scope": 21622, + "src": "5282:323:70", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20816, + "nodeType": "Block", + "src": "5814:2073:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 20597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 20595, + "name": "_sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20579, + "src": "5828:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 20596, + "name": "_recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20581, + "src": "5839:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5828:21:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 20594, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5820:7:70", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 20598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5820:30:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20599, + "nodeType": "ExpressionStatement", + "src": "5820:30:70" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 20605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20602, + "name": "_sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20579, + "src": "5881:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 20601, + "name": "deduct_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21266, + "src": "5864:16:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) returns (bool)" + } + }, + "id": 20603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5864:25:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 20604, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5893:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "5864:33:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 20600, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5856:7:70", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 20606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5856:42:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20607, + "nodeType": "ExpressionStatement", + "src": "5856:42:70" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 20613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20610, + "name": "_recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20581, + "src": "5929:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 20609, + "name": "deduct_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21266, + "src": "5912:16:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) returns (bool)" + } + }, + "id": 20611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5912:28:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 20612, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5944:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "5912:36:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 20608, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "5904:7:70", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 20614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5904:45:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20615, + "nodeType": "ExpressionStatement", + "src": "5904:45:70" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 20619, + "name": "_transfer", + "nodeType": "VariableDeclaration", + "scope": 20817, + "src": "5956:41:70", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer" + }, + "typeName": { + "contractScope": null, + "id": 20618, + "name": "TransferStructs.Transfer", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21722, + "src": "5956:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_storage_ptr", + "typeString": "struct TransferStructs.Transfer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 20620, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "5956:41:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20621, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6011:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20625, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "6011:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 20626, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21694, + "src": "6011:34:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20627, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "6011:38:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20628, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6057:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20629, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "6057:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 20630, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "base", + "nodeType": "MemberAccess", + "referencedDeclaration": 21698, + "src": "6057:21:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20631, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6086:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20632, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "6086:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 20633, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "rate", + "nodeType": "MemberAccess", + "referencedDeclaration": 21700, + "src": "6086:21:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20634, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6115:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20635, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "6115:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 20636, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "collector", + "nodeType": "MemberAccess", + "referencedDeclaration": 21696, + "src": "6115:26:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20637, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6149:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20638, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "6149:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 20639, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "global_transfer_fee_disabled", + "nodeType": "MemberAccess", + "referencedDeclaration": 21702, + "src": "6149:45:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20640, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6202:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20641, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "6202:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 20642, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "minimum_transfer_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21704, + "src": "6202:40:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 20643, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "6003:245:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_bool_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,address,bool,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 20644, + "name": "read_transfer_config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20415, + "src": "6251:20:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_bool_$_t_uint256_$", + "typeString": "function () view returns (uint256,uint256,uint256,address,bool,uint256)" + } + }, + "id": 20645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6251:22:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_bool_$_t_uint256_$", + "typeString": "tuple(uint256,uint256,uint256,address,bool,uint256)" + } + }, + "src": "6003:270:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20647, + "nodeType": "ExpressionStatement", + "src": "6003:270:70" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 20653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 20649, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20585, + "src": "6288:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20650, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6299:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20651, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "6299:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 20652, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "minimum_transfer_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21704, + "src": "6299:40:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6288:51:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 20648, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "6280:7:70", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 20654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6280:60:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20655, + "nodeType": "ExpressionStatement", + "src": "6280:60:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20656, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6348:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20660, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21707, + "src": "6348:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 20661, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "6348:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20662, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "6348:28:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20663, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6378:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20664, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21707, + "src": "6378:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 20665, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "no_transfer_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21686, + "src": "6378:32:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 20666, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "6347:64:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$", + "typeString": "tuple(uint256,bool)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20668, + "name": "_sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20579, + "src": "6443:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 20667, + "name": "read_user_for_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20443, + "src": "6420:22:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$_t_bool_$", + "typeString": "function (address) view returns (uint256,bool)" + } + }, + "id": 20669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6420:31:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$", + "typeString": "tuple(uint256,bool)" + } + }, + "src": "6347:104:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20671, + "nodeType": "ExpressionStatement", + "src": "6347:104:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20672, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6459:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20676, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "recipient", + "nodeType": "MemberAccess", + "referencedDeclaration": 21709, + "src": "6459:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 20677, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "6459:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20678, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "6459:31:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20679, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6492:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20680, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "recipient", + "nodeType": "MemberAccess", + "referencedDeclaration": 21709, + "src": "6492:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 20681, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "no_transfer_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21686, + "src": "6492:35:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 20682, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "6458:70:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$", + "typeString": "tuple(uint256,bool)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20684, + "name": "_recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20581, + "src": "6560:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 20683, + "name": "read_user_for_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20443, + "src": "6537:22:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$_t_bool_$", + "typeString": "function (address) view returns (uint256,bool)" + } + }, + "id": 20685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6537:34:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$", + "typeString": "tuple(uint256,bool)" + } + }, + "src": "6458:113:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20687, + "nodeType": "ExpressionStatement", + "src": "6458:113:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20688, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6578:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20690, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "sent_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21717, + "src": "6578:21:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 20691, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20585, + "src": "6602:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6578:31:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20693, + "nodeType": "ExpressionStatement", + "src": "6578:31:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20694, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6615:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20696, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "is_transfer_from", + "nodeType": "MemberAccess", + "referencedDeclaration": 21721, + "src": "6615:26:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 20697, + "name": "_transfer_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20587, + "src": "6644:14:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6615:43:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20699, + "nodeType": "ExpressionStatement", + "src": "6615:43:70" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 20712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 20704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20700, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6670:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20701, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "6670:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 20702, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "global_transfer_fee_disabled", + "nodeType": "MemberAccess", + "referencedDeclaration": 21702, + "src": "6670:45:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 20703, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6719:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6670:53:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 20705, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6669:55:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 20710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20706, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6739:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20707, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21707, + "src": "6739:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 20708, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "no_transfer_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21686, + "src": "6739:32:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 20709, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6775:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6739:40:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 20711, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6738:42:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6669:111:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 20726, + "nodeType": "Block", + "src": "6861:70:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20720, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6869:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20722, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6914:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + ], + "id": 20721, + "name": "build_transfer_with_transfer_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21473, + "src": "6881:32:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Transfer_$21722_memory_ptr_$returns$_t_struct$_Transfer_$21722_memory_ptr_$", + "typeString": "function (struct TransferStructs.Transfer memory) pure returns (struct TransferStructs.Transfer memory)" + } + }, + "id": 20723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6881:43:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "src": "6869:55:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20725, + "nodeType": "ExpressionStatement", + "src": "6869:55:70" + } + ] + }, + "id": 20727, + "nodeType": "IfStatement", + "src": "6665:266:70", + "trueBody": { + "id": 20719, + "nodeType": "Block", + "src": "6782:73:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20713, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6790:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20715, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6838:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + ], + "id": 20714, + "name": "build_transfer_with_no_transfer_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21382, + "src": "6802:35:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_Transfer_$21722_memory_ptr_$returns$_t_struct$_Transfer_$21722_memory_ptr_$", + "typeString": "function (struct TransferStructs.Transfer memory) pure returns (struct TransferStructs.Transfer memory)" + } + }, + "id": 20716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6802:46:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "src": "6790:58:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20718, + "nodeType": "ExpressionStatement", + "src": "6790:58:70" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 20731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20728, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "6941:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20729, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "is_transfer_from", + "nodeType": "MemberAccess", + "referencedDeclaration": 21721, + "src": "6941:26:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 20730, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6971:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6941:34:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 20810, + "nodeType": "Block", + "src": "7570:290:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20791, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20592, + "src": "7578:8:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20793, + "name": "_sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20579, + "src": "7633:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20794, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "7661:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20795, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21707, + "src": "7661:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 20796, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "7661:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20797, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "7661:29:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 20798, + "name": "_recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20581, + "src": "7711:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20799, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "7742:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20800, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "recipient", + "nodeType": "MemberAccess", + "referencedDeclaration": 21709, + "src": "7742:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 20801, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "7742:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20802, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "7742:32:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20803, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "7795:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20804, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "7795:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 20805, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21694, + "src": "7795:34:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20806, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "7795:39:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 20792, + "name": "update_transfer_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21553, + "src": "7589:23:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256,address,uint256,uint256) returns (bool)" + } + }, + "id": 20807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7589:264:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7578:275:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20809, + "nodeType": "ExpressionStatement", + "src": "7578:275:70" + } + ] + }, + "id": 20811, + "nodeType": "IfStatement", + "src": "6937:923:70", + "trueBody": { + "id": 20790, + "nodeType": "Block", + "src": "6977:587:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 20737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20734, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20583, + "src": "7010:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 20733, + "name": "deduct_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21266, + "src": "6993:16:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_bool_$", + "typeString": "function (address) returns (bool)" + } + }, + "id": 20735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6993:26:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 20736, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7023:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6993:34:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 20732, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "6985:7:70", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 20738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6985:43:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20739, + "nodeType": "ExpressionStatement", + "src": "6985:43:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20740, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "7036:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20744, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "spender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21711, + "src": "7036:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Spender_$21692_memory", + "typeString": "struct TransferStructs.Spender memory" + } + }, + "id": 20745, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "allowance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21691, + "src": "7036:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20746, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "7036:31:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20748, + "name": "_sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20579, + "src": "7085:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 20749, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20583, + "src": "7094:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 20747, + "name": "read_allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20518, + "src": "7070:14:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 20750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7070:33:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7036:67:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20752, + "nodeType": "ExpressionStatement", + "src": "7036:67:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20753, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "7111:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20756, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "spender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21711, + "src": "7111:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Spender_$21692_memory", + "typeString": "struct TransferStructs.Spender memory" + } + }, + "id": 20757, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "allowance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21691, + "src": "7111:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20762, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20585, + "src": "7178:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20758, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "7141:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20759, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "spender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21711, + "src": "7141:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Spender_$21692_memory", + "typeString": "struct TransferStructs.Spender memory" + } + }, + "id": 20760, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "allowance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21691, + "src": "7141:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20761, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "subtract", + "nodeType": "MemberAccess", + "referencedDeclaration": 25912, + "src": "7141:36:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_MutableUint_$25634_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableUint_$25634_memory_ptr_$bound_to$_t_struct$_MutableUint_$25634_memory_ptr_$", + "typeString": "function (struct Types.MutableUint memory,uint256) pure returns (struct Types.MutableUint memory)" + } + }, + "id": 20763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7141:45:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "7111:75:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20765, + "nodeType": "ExpressionStatement", + "src": "7111:75:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20766, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20592, + "src": "7195:8:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20768, + "name": "_sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20579, + "src": "7255:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20769, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "7283:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20770, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21707, + "src": "7283:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 20771, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "7283:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20772, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "7283:29:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 20773, + "name": "_recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20581, + "src": "7333:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20774, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "7364:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20775, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "recipient", + "nodeType": "MemberAccess", + "referencedDeclaration": 21709, + "src": "7364:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 20776, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "7364:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20777, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "7364:32:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20778, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "7417:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20779, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "7417:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 20780, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21694, + "src": "7417:34:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20781, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "7417:39:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 20782, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20583, + "src": "7477:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20783, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20619, + "src": "7506:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 20784, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "spender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21711, + "src": "7506:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Spender_$21692_memory", + "typeString": "struct TransferStructs.Spender memory" + } + }, + "id": 20785, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "allowance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21691, + "src": "7506:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20786, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "7506:32:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 20767, + "name": "update_transfer_from_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21621, + "src": "7206:28:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256,address,uint256,uint256,address,uint256) returns (bool)" + } + }, + "id": 20787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7206:351:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7195:362:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20789, + "nodeType": "ExpressionStatement", + "src": "7195:362:70" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20813, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20592, + "src": "7873:8:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 20812, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "7865:7:70", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 20814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7865:17:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20815, + "nodeType": "ExpressionStatement", + "src": "7865:17:70" + } + ] + }, + "documentation": null, + "id": 20817, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 20590, + "modifierName": { + "argumentTypes": null, + "id": 20589, + "name": "if_dgx_interactive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20251, + "src": "5763:18:70", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "5763:20:70" + } + ], + "name": "put_transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20588, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20579, + "name": "_sender", + "nodeType": "VariableDeclaration", + "scope": 20817, + "src": "5636:15:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20578, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5636:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20581, + "name": "_recipient", + "nodeType": "VariableDeclaration", + "scope": 20817, + "src": "5657:18:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20580, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5657:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20583, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 20817, + "src": "5681:16:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20582, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5681:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20585, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 20817, + "src": "5703:15:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20584, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5703:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20587, + "name": "_transfer_from", + "nodeType": "VariableDeclaration", + "scope": 20817, + "src": "5724:19:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20586, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5724:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5630:117:70" + }, + "payable": false, + "returnParameters": { + "id": 20593, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20592, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 20817, + "src": "5797:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20591, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5797:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5796:15:70" + }, + "scope": 21622, + "src": "5609:2278:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20875, + "nodeType": "Block", + "src": "8047:270:70", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 20833, + "name": "_a", + "nodeType": "VariableDeclaration", + "scope": 20876, + "src": "8053:27:70", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 20832, + "name": "Types.MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "8053:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 20834, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "8053:27:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20835, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20833, + "src": "8087:2:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20837, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "8087:6:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20839, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20819, + "src": "8111:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 20840, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20821, + "src": "8121:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 20838, + "name": "read_allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20518, + "src": "8096:14:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 20841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8096:34:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8087:43:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20843, + "nodeType": "ExpressionStatement", + "src": "8087:43:70" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 20853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 20847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20844, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20833, + "src": "8142:2:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20845, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "8142:6:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 20846, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8151:1:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8142:10:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 20848, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8141:12:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 20851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 20849, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20823, + "src": "8158:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 20850, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8168:1:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8158:11:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 20852, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8157:13:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8141:29:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 20873, + "nodeType": "Block", + "src": "8201:112:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20858, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20833, + "src": "8209:2:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20860, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "8209:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 20861, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20823, + "src": "8219:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8209:17:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20863, + "nodeType": "ExpressionStatement", + "src": "8209:17:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20864, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20828, + "src": "8234:8:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 20866, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20819, + "src": "8278:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 20867, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20821, + "src": "8288:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20868, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20833, + "src": "8298:2:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20869, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "8298:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 20865, + "name": "update_account_spender_allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21501, + "src": "8245:32:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,address,uint256) returns (bool)" + } + }, + "id": 20870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8245:61:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8234:72:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20872, + "nodeType": "ExpressionStatement", + "src": "8234:72:70" + } + ] + }, + "id": 20874, + "nodeType": "IfStatement", + "src": "8137:176:70", + "trueBody": { + "id": 20857, + "nodeType": "Block", + "src": "8172:23:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 20854, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26617, + 26618 + ], + "referencedDeclaration": 26617, + "src": "8180:6:70", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 20855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8180:8:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20856, + "nodeType": "ExpressionStatement", + "src": "8180:8:70" + } + ] + } + } + ] + }, + "documentation": null, + "id": 20876, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 20826, + "modifierName": { + "argumentTypes": null, + "id": 20825, + "name": "if_dgx_interactive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20251, + "src": "7996:18:70", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "7996:20:70" + } + ], + "name": "put_approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20824, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20819, + "name": "_account", + "nodeType": "VariableDeclaration", + "scope": 20876, + "src": "7917:16:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20818, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7917:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20821, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 20876, + "src": "7939:16:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20820, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7939:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20823, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 20876, + "src": "7961:15:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20822, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7961:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7911:69:70" + }, + "payable": false, + "returnParameters": { + "id": 20829, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20828, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 20876, + "src": "8030:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20827, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8030:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8029:15:70" + }, + "scope": 21622, + "src": "7891:426:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20913, + "nodeType": "Block", + "src": "8499:162:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20889, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "8505:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20892, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "8505:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20893, + "indexExpression": { + "argumentTypes": null, + "id": 20891, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20878, + "src": "8518:5:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8505:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20894, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20095, + "src": "8505:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserConfig_$20084_storage", + "typeString": "struct DummyDGXStorage.UserConfig storage ref" + } + }, + "id": 20895, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "no_demurrage_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20081, + "src": "8505:43:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 20896, + "name": "_no_demurrage_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20880, + "src": "8551:17:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8505:63:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20898, + "nodeType": "ExpressionStatement", + "src": "8505:63:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20899, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "8574:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20902, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "8574:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20903, + "indexExpression": { + "argumentTypes": null, + "id": 20901, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20878, + "src": "8587:5:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8574:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20904, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 20095, + "src": "8574:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserConfig_$20084_storage", + "typeString": "struct DummyDGXStorage.UserConfig storage ref" + } + }, + "id": 20905, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "no_transfer_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 20083, + "src": "8574:42:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 20906, + "name": "_no_transfer_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20882, + "src": "8619:16:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8574:61:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20908, + "nodeType": "ExpressionStatement", + "src": "8574:61:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20911, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20909, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20887, + "src": "8641:8:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 20910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8652:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "8641:15:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20912, + "nodeType": "ExpressionStatement", + "src": "8641:15:70" + } + ] + }, + "documentation": null, + "id": 20914, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 20885, + "modifierName": { + "argumentTypes": null, + "id": 20884, + "name": "if_dgx_interactive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20251, + "src": "8448:18:70", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "8448:20:70" + } + ], + "name": "update_user_fees_configs", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20883, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20878, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 20914, + "src": "8360:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20877, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8360:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20880, + "name": "_no_demurrage_fee", + "nodeType": "VariableDeclaration", + "scope": 20914, + "src": "8379:22:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20879, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8379:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20882, + "name": "_no_transfer_fee", + "nodeType": "VariableDeclaration", + "scope": 20914, + "src": "8407:21:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20881, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8407:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8354:78:70" + }, + "payable": false, + "returnParameters": { + "id": 20888, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20887, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 20914, + "src": "8482:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20886, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8482:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8481:15:70" + }, + "scope": 21622, + "src": "8321:340:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20945, + "nodeType": "Block", + "src": "8925:114:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20925, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "8931:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20928, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "8931:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20929, + "indexExpression": { + "argumentTypes": null, + "id": 20927, + "name": "_for", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20916, + "src": "8944:4:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8931:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20930, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "8931:23:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 20931, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "8931:35:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 20932, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20918, + "src": "8970:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8931:46:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20934, + "nodeType": "ExpressionStatement", + "src": "8931:46:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20935, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "8983:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20937, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "total_supply", + "nodeType": "MemberAccess", + "referencedDeclaration": 20104, + "src": "8983:19:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "id": 20938, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20918, + "src": "9006:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8983:30:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20940, + "nodeType": "ExpressionStatement", + "src": "8983:30:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20941, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20923, + "src": "9019:8:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 20942, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9030:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "9019:15:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20944, + "nodeType": "ExpressionStatement", + "src": "9019:15:70" + } + ] + }, + "documentation": null, + "id": 20946, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 20921, + "modifierName": { + "argumentTypes": null, + "id": 20920, + "name": "if_dgx_interactive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20251, + "src": "8874:18:70", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "8874:20:70" + } + ], + "name": "mint_dgx_for", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20919, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20916, + "name": "_for", + "nodeType": "VariableDeclaration", + "scope": 20946, + "src": "8821:12:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20915, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8821:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20918, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 20946, + "src": "8839:15:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20917, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8839:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8815:43:70" + }, + "payable": false, + "returnParameters": { + "id": 20924, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20923, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 20946, + "src": "8908:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20922, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8908:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8907:15:70" + }, + "scope": 21622, + "src": "8794:245:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 20976, + "nodeType": "Block", + "src": "9323:105:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20957, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "9329:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 20960, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "9329:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 20961, + "indexExpression": { + "argumentTypes": null, + "id": 20959, + "name": "_of", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20948, + "src": "9342:3:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9329:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 20962, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "9329:22:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 20963, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "last_payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 20086, + "src": "9329:40:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 20969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 20964, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "9372:3:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 20967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 20965, + "name": "_byMinutes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20950, + "src": "9379:10:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 20966, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9392:9:70", + "subdenomination": "minutes", + "typeDescriptions": { + "typeIdentifier": "t_rational_60_by_1", + "typeString": "int_const 60" + }, + "value": "1" + }, + "src": "9379:22:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 20968, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9378:24:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9372:30:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9329:73:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 20971, + "nodeType": "ExpressionStatement", + "src": "9329:73:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 20974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 20972, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20955, + "src": "9408:8:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 20973, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9419:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "9408:15:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 20975, + "nodeType": "ExpressionStatement", + "src": "9408:15:70" + } + ] + }, + "documentation": null, + "id": 20977, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [], + "id": 20953, + "modifierName": { + "argumentTypes": null, + "id": 20952, + "name": "if_dgx_interactive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20251, + "src": "9272:18:70", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "9272:20:70" + } + ], + "name": "modify_last_payment_date", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20951, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20948, + "name": "_of", + "nodeType": "VariableDeclaration", + "scope": 20977, + "src": "9217:11:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20947, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9217:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 20950, + "name": "_byMinutes", + "nodeType": "VariableDeclaration", + "scope": 20977, + "src": "9234:18:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 20949, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9234:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9211:45:70" + }, + "payable": false, + "returnParameters": { + "id": 20956, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20955, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 20977, + "src": "9306:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 20954, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9306:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9305:15:70" + }, + "scope": 21622, + "src": "9178:250:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 21034, + "nodeType": "Block", + "src": "9636:387:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20984, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20982, + "src": "9650:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 20988, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "9650:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 20989, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21656, + "src": "9650:35:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 20990, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "9650:39:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20991, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20982, + "src": "9697:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 20992, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "9697:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 20993, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "base", + "nodeType": "MemberAccess", + "referencedDeclaration": 21658, + "src": "9697:22:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20994, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20982, + "src": "9727:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 20995, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "9727:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 20996, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "rate", + "nodeType": "MemberAccess", + "referencedDeclaration": 21660, + "src": "9727:22:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 20997, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20982, + "src": "9757:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 20998, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "9757:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 20999, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "collector", + "nodeType": "MemberAccess", + "referencedDeclaration": 21662, + "src": "9757:27:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 21000, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "9642:148:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$", + "typeString": "tuple(uint256,uint256,uint256,address)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 21001, + "name": "read_demurrage_config", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20314, + "src": "9793:21:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$", + "typeString": "function () view returns (uint256,uint256,uint256,address)" + } + }, + "id": 21002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9793:23:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$", + "typeString": "tuple(uint256,uint256,uint256,address)" + } + }, + "src": "9642:174:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21004, + "nodeType": "ExpressionStatement", + "src": "9642:174:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21005, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20982, + "src": "9822:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21008, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "9822:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21009, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "account", + "nodeType": "MemberAccess", + "referencedDeclaration": 21647, + "src": "9822:23:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21010, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20979, + "src": "9848:5:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9822:31:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21012, + "nodeType": "ExpressionStatement", + "src": "9822:31:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21013, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20982, + "src": "9867:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21017, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "9867:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21018, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21651, + "src": "9867:23:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21019, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "9867:27:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21020, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20982, + "src": "9902:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21021, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "9902:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21022, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 21653, + "src": "9902:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 21023, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "time", + "nodeType": "MemberAccess", + "referencedDeclaration": 25636, + "src": "9902:33:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21024, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "9902:37:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21025, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20982, + "src": "9947:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21026, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "9947:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21027, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "no_demurrage_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21649, + "src": "9947:32:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 21028, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "9859:126:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_bool_$", + "typeString": "tuple(uint256,uint256,bool)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 21030, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20979, + "src": "10012:5:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 21029, + "name": "read_user_for_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20486, + "src": "9988:23:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$_t_uint256_$_t_bool_$", + "typeString": "function (address) view returns (uint256,uint256,bool)" + } + }, + "id": 21031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9988:30:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_bool_$", + "typeString": "tuple(uint256,uint256,bool)" + } + }, + "src": "9859:159:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21033, + "nodeType": "ExpressionStatement", + "src": "9859:159:70" + } + ] + }, + "documentation": "///////////////////////// PRIVATE FUNCTIONS //////////////////////////////", + "id": 21035, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get_demurraged_data", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 20980, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20979, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 21035, + "src": "9542:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20978, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9542:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9541:15:70" + }, + "payable": false, + "returnParameters": { + "id": 20983, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20982, + "name": "_demurrage", + "nodeType": "VariableDeclaration", + "scope": 21035, + "src": "9595:37:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage" + }, + "typeName": { + "contractScope": null, + "id": 20981, + "name": "DemurrageStructs.Demurrage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21670, + "src": "9595:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_storage_ptr", + "typeString": "struct DemurrageStructs.Demurrage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9594:39:70" + }, + "scope": 21622, + "src": "9513:510:70", + "stateMutability": "view", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 21220, + "nodeType": "Block", + "src": "10182:1230:70", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 21048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21042, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10192:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21043, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10192:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21044, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 21653, + "src": "10192:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 21045, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "time", + "nodeType": "MemberAccess", + "referencedDeclaration": 25636, + "src": "10192:33:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21046, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "10192:37:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 21047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10233:1:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10192:42:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 21062, + "nodeType": "IfStatement", + "src": "10188:106:70", + "trueBody": { + "id": 21061, + "nodeType": "Block", + "src": "10236:58:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21049, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10244:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21054, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10244:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21055, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 21653, + "src": "10244:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 21056, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "time", + "nodeType": "MemberAccess", + "referencedDeclaration": 25636, + "src": "10244:33:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21057, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "10244:37:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21058, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "10284:3:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10244:43:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21060, + "nodeType": "ExpressionStatement", + "src": "10244:43:70" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 21075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 21067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21063, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10362:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21064, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10362:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21065, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "no_demurrage_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21649, + "src": "10362:32:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 21066, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10398:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "10362:40:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 21074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21068, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10406:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21069, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10406:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21070, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "account", + "nodeType": "MemberAccess", + "referencedDeclaration": 21647, + "src": "10406:23:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21071, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10433:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21072, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "10433:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 21073, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector", + "nodeType": "MemberAccess", + "referencedDeclaration": 21662, + "src": "10433:27:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10406:54:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10362:98:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 21214, + "nodeType": "Block", + "src": "10683:695:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21115, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10691:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21118, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10691:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21119, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 21653, + "src": "10691:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 21124, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10762:6:70", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21120, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10722:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21121, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10722:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21122, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 21653, + "src": "10722:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 21123, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "advance_by", + "nodeType": "MemberAccess", + "referencedDeclaration": 25711, + "src": "10722:39:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_MutableTimestamp_$25639_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableTimestamp_$25639_memory_ptr_$bound_to$_t_struct$_MutableTimestamp_$25639_memory_ptr_$", + "typeString": "function (struct Types.MutableTimestamp memory,uint256) view returns (struct Types.MutableTimestamp memory)" + } + }, + "id": 21125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10722:47:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "src": "10691:78:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 21127, + "nodeType": "ExpressionStatement", + "src": "10691:78:70" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 21133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21128, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10781:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21129, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10781:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21130, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 21653, + "src": "10781:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 21131, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "in_units", + "nodeType": "MemberAccess", + "referencedDeclaration": 25638, + "src": "10781:37:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 21132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10822:1:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10781:42:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 21212, + "nodeType": "Block", + "src": "11000:372:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21161, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11010:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21163, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "collected_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21669, + "src": "11010:24:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 21181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 21176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 21172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21164, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11038:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21165, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "11038:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21166, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 21653, + "src": "11038:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 21167, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "in_units", + "nodeType": "MemberAccess", + "referencedDeclaration": 25638, + "src": "11038:37:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21168, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11078:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21169, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "11078:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21170, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21651, + "src": "11078:23:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21171, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "11078:27:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11038:67:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21173, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11108:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21174, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "11108:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 21175, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rate", + "nodeType": "MemberAccess", + "referencedDeclaration": 21660, + "src": "11108:22:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11038:92:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 21177, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11037:94:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21178, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11134:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21179, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "11134:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 21180, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "base", + "nodeType": "MemberAccess", + "referencedDeclaration": 21658, + "src": "11134:22:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11037:119:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11010:146:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21183, + "nodeType": "ExpressionStatement", + "src": "11010:146:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21184, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11166:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21187, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "11166:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21188, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21651, + "src": "11166:23:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21193, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11225:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21194, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collected_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21669, + "src": "11225:24:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21189, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11192:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21190, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "11192:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21191, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21651, + "src": "11192:23:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21192, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "subtract", + "nodeType": "MemberAccess", + "referencedDeclaration": 25912, + "src": "11192:32:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_MutableUint_$25634_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableUint_$25634_memory_ptr_$bound_to$_t_struct$_MutableUint_$25634_memory_ptr_$", + "typeString": "function (struct Types.MutableUint memory,uint256) pure returns (struct Types.MutableUint memory)" + } + }, + "id": 21195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11192:58:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "11166:84:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21197, + "nodeType": "ExpressionStatement", + "src": "11166:84:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21198, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11260:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21201, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "11260:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 21202, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21656, + "src": "11260:35:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21207, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11338:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21208, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collected_fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21669, + "src": "11338:24:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21203, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11298:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21204, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "11298:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 21205, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21656, + "src": "11298:35:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21206, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 25882, + "src": "11298:39:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_MutableUint_$25634_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableUint_$25634_memory_ptr_$bound_to$_t_struct$_MutableUint_$25634_memory_ptr_$", + "typeString": "function (struct Types.MutableUint memory,uint256) pure returns (struct Types.MutableUint memory)" + } + }, + "id": 21209, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11298:65:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "11260:103:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21211, + "nodeType": "ExpressionStatement", + "src": "11260:103:70" + } + ] + }, + "id": 21213, + "nodeType": "IfStatement", + "src": "10777:595:70", + "trueBody": { + "id": 21160, + "nodeType": "Block", + "src": "10825:169:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21134, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10835:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21138, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10835:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21139, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21651, + "src": "10835:23:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21140, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "10835:28:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21141, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10866:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21142, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10866:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21143, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21651, + "src": "10866:23:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21144, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "10866:27:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10835:58:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21146, + "nodeType": "ExpressionStatement", + "src": "10835:58:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21147, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10903:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21151, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "10903:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 21152, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21656, + "src": "10903:35:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21153, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "10903:40:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21154, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10946:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21155, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "10946:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 21156, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21656, + "src": "10946:35:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21157, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "10946:39:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10903:82:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21159, + "nodeType": "ExpressionStatement", + "src": "10903:82:70" + } + ] + } + } + ] + }, + "id": 21215, + "nodeType": "IfStatement", + "src": "10358:1020:70", + "trueBody": { + "id": 21114, + "nodeType": "Block", + "src": "10462:215:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21076, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10470:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21080, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10470:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21081, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21651, + "src": "10470:23:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21082, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "10470:28:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21083, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10501:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21084, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10501:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21085, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21651, + "src": "10501:23:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21086, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "10501:27:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10470:58:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21088, + "nodeType": "ExpressionStatement", + "src": "10470:58:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21089, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10536:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21093, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "10536:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 21094, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21656, + "src": "10536:35:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21095, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "10536:40:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21096, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10579:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21097, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "10579:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 21098, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21656, + "src": "10579:35:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21099, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "10579:39:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10536:82:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21101, + "nodeType": "ExpressionStatement", + "src": "10536:82:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21102, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "10626:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21107, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "10626:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21108, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 21653, + "src": "10626:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 21109, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "time", + "nodeType": "MemberAccess", + "referencedDeclaration": 25636, + "src": "10626:33:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21110, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "10626:38:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21111, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "10667:3:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10626:44:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21113, + "nodeType": "ExpressionStatement", + "src": "10626:44:70" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 21218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21216, + "name": "_calculated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21040, + "src": "11383:11:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21217, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21037, + "src": "11397:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "src": "11383:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21219, + "nodeType": "ExpressionStatement", + "src": "11383:24:70" + } + ] + }, + "documentation": null, + "id": 21221, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "calculate_demurrage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21038, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21037, + "name": "_demurrage", + "nodeType": "VariableDeclaration", + "scope": 21221, + "src": "10056:44:70", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage" + }, + "typeName": { + "contractScope": null, + "id": 21036, + "name": "DemurrageStructs.Demurrage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21670, + "src": "10056:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_storage_ptr", + "typeString": "struct DemurrageStructs.Demurrage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10055:46:70" + }, + "payable": false, + "returnParameters": { + "id": 21041, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21040, + "name": "_calculated", + "nodeType": "VariableDeclaration", + "scope": 21221, + "src": "10140:38:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage" + }, + "typeName": { + "contractScope": null, + "id": 21039, + "name": "DemurrageStructs.Demurrage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21670, + "src": "10140:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_storage_ptr", + "typeString": "struct DemurrageStructs.Demurrage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10139:40:70" + }, + "scope": 21622, + "src": "10027:1385:70", + "stateMutability": "view", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 21265, + "nodeType": "Block", + "src": "11498:353:70", + "statements": [ + { + "assignments": [ + 21231 + ], + "declarations": [ + { + "constant": false, + "id": 21231, + "name": "_demurrage", + "nodeType": "VariableDeclaration", + "scope": 21266, + "src": "11504:44:70", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage" + }, + "typeName": { + "contractScope": null, + "id": 21230, + "name": "DemurrageStructs.Demurrage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21670, + "src": "11504:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_storage_ptr", + "typeString": "struct DemurrageStructs.Demurrage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 21235, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 21233, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21223, + "src": "11571:5:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 21232, + "name": "get_demurraged_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21035, + "src": "11551:19:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_struct$_Demurrage_$21670_memory_ptr_$", + "typeString": "function (address) view returns (struct DemurrageStructs.Demurrage memory)" + } + }, + "id": 21234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11551:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11504:73:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21236, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21231, + "src": "11583:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 21238, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21231, + "src": "11616:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + ], + "id": 21237, + "name": "calculate_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21221, + "src": "11596:19:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Demurrage_$21670_memory_ptr_$returns$_t_struct$_Demurrage_$21670_memory_ptr_$", + "typeString": "function (struct DemurrageStructs.Demurrage memory) view returns (struct DemurrageStructs.Demurrage memory)" + } + }, + "id": 21239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11596:31:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "src": "11583:44:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21241, + "nodeType": "ExpressionStatement", + "src": "11583:44:70" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21243, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21231, + "src": "11666:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21244, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "11666:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21245, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "account", + "nodeType": "MemberAccess", + "referencedDeclaration": 21647, + "src": "11666:23:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21246, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21231, + "src": "11697:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21247, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "11697:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21248, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21651, + "src": "11697:23:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21249, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "11697:28:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21250, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21231, + "src": "11733:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21251, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "user", + "nodeType": "MemberAccess", + "referencedDeclaration": 21667, + "src": "11733:15:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21654_memory", + "typeString": "struct DemurrageStructs.User memory" + } + }, + "id": 21252, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 21653, + "src": "11733:28:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 21253, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "time", + "nodeType": "MemberAccess", + "referencedDeclaration": 25636, + "src": "11733:33:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21254, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "11733:38:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21255, + "name": "_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21231, + "src": "11779:10:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Demurrage_$21670_memory_ptr", + "typeString": "struct DemurrageStructs.Demurrage memory" + } + }, + "id": 21256, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21665, + "src": "11779:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21663_memory", + "typeString": "struct DemurrageStructs.Config memory" + } + }, + "id": 21257, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21656, + "src": "11779:35:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21258, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "11779:40:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 21242, + "name": "update_user_for_demurrage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21310, + "src": "11633:25:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256,uint256)" + } + }, + "id": 21259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11633:192:70", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21260, + "nodeType": "ExpressionStatement", + "src": "11633:192:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21261, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21226, + "src": "11831:8:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 21262, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11842:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "11831:15:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 21264, + "nodeType": "ExpressionStatement", + "src": "11831:15:70" + } + ] + }, + "documentation": null, + "id": 21266, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "deduct_demurrage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21224, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21223, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 21266, + "src": "11442:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21222, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11442:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11441:15:70" + }, + "payable": false, + "returnParameters": { + "id": 21227, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21226, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 21266, + "src": "11481:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21225, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11481:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11480:15:70" + }, + "scope": 21622, + "src": "11416:435:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 21309, + "nodeType": "Block", + "src": "12030:229:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21277, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "12036:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21282, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "12036:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 21283, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21279, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "12049:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21280, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collectors", + "nodeType": "MemberAccess", + "referencedDeclaration": 20100, + "src": "12049:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Collectors_$20079_storage", + "typeString": "struct DummyDGXStorage.Collectors storage ref" + } + }, + "id": 21281, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "demurrage", + "nodeType": "MemberAccess", + "referencedDeclaration": 20076, + "src": "12049:27:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12036:41:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 21284, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "12036:46:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 21285, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "12036:58:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21286, + "name": "_collector_new_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21274, + "src": "12097:22:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12036:83:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21288, + "nodeType": "ExpressionStatement", + "src": "12036:83:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21289, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "12125:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21292, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "12125:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 21293, + "indexExpression": { + "argumentTypes": null, + "id": 21291, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21268, + "src": "12138:5:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12125:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 21294, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "12125:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 21295, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "12125:36:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21296, + "name": "_user_new_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21270, + "src": "12164:17:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12125:56:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21298, + "nodeType": "ExpressionStatement", + "src": "12125:56:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21299, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "12187:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21302, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "12187:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 21303, + "indexExpression": { + "argumentTypes": null, + "id": 21301, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21268, + "src": "12200:5:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12187:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 21304, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "12187:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 21305, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "last_payment_date", + "nodeType": "MemberAccess", + "referencedDeclaration": 20086, + "src": "12187:42:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21306, + "name": "_user_new_payment_date", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21272, + "src": "12232:22:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12187:67:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21308, + "nodeType": "ExpressionStatement", + "src": "12187:67:70" + } + ] + }, + "documentation": null, + "id": 21310, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "update_user_for_demurrage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21275, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21268, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 21310, + "src": "11895:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21267, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11895:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21270, + "name": "_user_new_balance", + "nodeType": "VariableDeclaration", + "scope": 21310, + "src": "11914:25:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21269, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11914:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21272, + "name": "_user_new_payment_date", + "nodeType": "VariableDeclaration", + "scope": 21310, + "src": "11945:30:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21271, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11945:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21274, + "name": "_collector_new_balance", + "nodeType": "VariableDeclaration", + "scope": 21310, + "src": "11981:30:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21273, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11981:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11889:126:70" + }, + "payable": false, + "returnParameters": { + "id": 21276, + "nodeType": "ParameterList", + "parameters": [], + "src": "12030:0:70" + }, + "scope": 21622, + "src": "11855:404:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 21381, + "nodeType": "Block", + "src": "12427:421:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21317, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12433:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21319, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21719, + "src": "12433:13:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 21320, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12449:1:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12433:17:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21322, + "nodeType": "ExpressionStatement", + "src": "12433:17:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21323, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12456:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21325, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "received_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21715, + "src": "12456:25:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21329, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12514:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21330, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sent_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21717, + "src": "12514:21:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21326, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12484:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21327, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "received_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21715, + "src": "12484:25:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21328, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 25882, + "src": "12484:29:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_MutableUint_$25634_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableUint_$25634_memory_ptr_$bound_to$_t_struct$_MutableUint_$25634_memory_ptr_$", + "typeString": "function (struct Types.MutableUint memory,uint256) pure returns (struct Types.MutableUint memory)" + } + }, + "id": 21331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12484:52:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "12456:80:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21333, + "nodeType": "ExpressionStatement", + "src": "12456:80:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21334, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12542:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21337, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21707, + "src": "12542:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 21338, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "12542:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21343, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12603:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21344, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "received_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21715, + "src": "12603:25:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21345, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "12603:30:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21339, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12569:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21340, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21707, + "src": "12569:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 21341, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "12569:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21342, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "subtract", + "nodeType": "MemberAccess", + "referencedDeclaration": 25912, + "src": "12569:33:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_MutableUint_$25634_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableUint_$25634_memory_ptr_$bound_to$_t_struct$_MutableUint_$25634_memory_ptr_$", + "typeString": "function (struct Types.MutableUint memory,uint256) pure returns (struct Types.MutableUint memory)" + } + }, + "id": 21346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12569:65:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "12542:92:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21348, + "nodeType": "ExpressionStatement", + "src": "12542:92:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21349, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12640:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21353, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "12640:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 21354, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21694, + "src": "12640:34:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21355, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "12640:39:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21356, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12682:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21357, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "12682:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 21358, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21694, + "src": "12682:34:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21359, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "12682:38:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12640:80:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21361, + "nodeType": "ExpressionStatement", + "src": "12640:80:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21362, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12726:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21365, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "recipient", + "nodeType": "MemberAccess", + "referencedDeclaration": 21709, + "src": "12726:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 21366, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "12726:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21371, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12788:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21372, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "received_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21715, + "src": "12788:25:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21373, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "12788:30:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21367, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12756:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21368, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "recipient", + "nodeType": "MemberAccess", + "referencedDeclaration": 21709, + "src": "12756:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 21369, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "12756:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21370, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 25882, + "src": "12756:31:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_MutableUint_$25634_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableUint_$25634_memory_ptr_$bound_to$_t_struct$_MutableUint_$25634_memory_ptr_$", + "typeString": "function (struct Types.MutableUint memory,uint256) pure returns (struct Types.MutableUint memory)" + } + }, + "id": 21374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12756:63:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "12726:93:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21376, + "nodeType": "ExpressionStatement", + "src": "12726:93:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21377, + "name": "_built", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21315, + "src": "12825:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21378, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21312, + "src": "12834:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "src": "12825:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21380, + "nodeType": "ExpressionStatement", + "src": "12825:18:70" + } + ] + }, + "documentation": null, + "id": 21382, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "build_transfer_with_no_transfer_fee", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21313, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21312, + "name": "_transfer", + "nodeType": "VariableDeclaration", + "scope": 21382, + "src": "12308:41:70", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer" + }, + "typeName": { + "contractScope": null, + "id": 21311, + "name": "TransferStructs.Transfer", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21722, + "src": "12308:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_storage_ptr", + "typeString": "struct TransferStructs.Transfer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12307:43:70" + }, + "payable": false, + "returnParameters": { + "id": 21316, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21315, + "name": "_built", + "nodeType": "VariableDeclaration", + "scope": 21382, + "src": "12385:38:70", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer" + }, + "typeName": { + "contractScope": null, + "id": 21314, + "name": "TransferStructs.Transfer", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21722, + "src": "12385:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_storage_ptr", + "typeString": "struct TransferStructs.Transfer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12384:40:70" + }, + "scope": 21622, + "src": "12263:585:70", + "stateMutability": "pure", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 21472, + "nodeType": "Block", + "src": "13013:548:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21389, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13019:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21391, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21719, + "src": "13019:13:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 21402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 21397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21392, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13036:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21393, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sent_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21717, + "src": "13036:21:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21394, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13060:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21395, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "13060:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 21396, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "rate", + "nodeType": "MemberAccess", + "referencedDeclaration": 21700, + "src": "13060:21:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13036:45:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 21398, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "13035:47:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21399, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13085:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21400, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "13085:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 21401, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "base", + "nodeType": "MemberAccess", + "referencedDeclaration": 21698, + "src": "13085:21:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13035:71:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13019:87:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21404, + "nodeType": "ExpressionStatement", + "src": "13019:87:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21405, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13112:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21408, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "received_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21715, + "src": "13112:25:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21409, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "13112:29:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21410, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13144:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21411, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sent_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21717, + "src": "13144:21:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13112:53:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21413, + "nodeType": "ExpressionStatement", + "src": "13112:53:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21414, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13171:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21416, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "received_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21715, + "src": "13171:25:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21420, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13234:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21421, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21719, + "src": "13234:13:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21417, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13199:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21418, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "received_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21715, + "src": "13199:25:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21419, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "subtract", + "nodeType": "MemberAccess", + "referencedDeclaration": 25912, + "src": "13199:34:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_MutableUint_$25634_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableUint_$25634_memory_ptr_$bound_to$_t_struct$_MutableUint_$25634_memory_ptr_$", + "typeString": "function (struct Types.MutableUint memory,uint256) pure returns (struct Types.MutableUint memory)" + } + }, + "id": 21422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13199:49:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "13171:77:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21424, + "nodeType": "ExpressionStatement", + "src": "13171:77:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21425, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13254:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21428, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "13254:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 21429, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21694, + "src": "13254:34:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21434, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13330:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21435, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "fee", + "nodeType": "MemberAccess", + "referencedDeclaration": 21719, + "src": "13330:13:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21430, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13291:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21431, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "config", + "nodeType": "MemberAccess", + "referencedDeclaration": 21713, + "src": "13291:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_memory", + "typeString": "struct TransferStructs.Config memory" + } + }, + "id": 21432, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collector_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21694, + "src": "13291:34:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21433, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 25882, + "src": "13291:38:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_MutableUint_$25634_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableUint_$25634_memory_ptr_$bound_to$_t_struct$_MutableUint_$25634_memory_ptr_$", + "typeString": "function (struct Types.MutableUint memory,uint256) pure returns (struct Types.MutableUint memory)" + } + }, + "id": 21436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13291:53:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "13254:90:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21438, + "nodeType": "ExpressionStatement", + "src": "13254:90:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21439, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13350:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21442, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21707, + "src": "13350:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 21443, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "13350:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21448, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13411:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21449, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sent_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21717, + "src": "13411:21:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21444, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13377:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21445, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": 21707, + "src": "13377:16:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 21446, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "13377:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21447, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "subtract", + "nodeType": "MemberAccess", + "referencedDeclaration": 25912, + "src": "13377:33:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_MutableUint_$25634_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableUint_$25634_memory_ptr_$bound_to$_t_struct$_MutableUint_$25634_memory_ptr_$", + "typeString": "function (struct Types.MutableUint memory,uint256) pure returns (struct Types.MutableUint memory)" + } + }, + "id": 21450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13377:56:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "13350:83:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21452, + "nodeType": "ExpressionStatement", + "src": "13350:83:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21453, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13439:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21456, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "recipient", + "nodeType": "MemberAccess", + "referencedDeclaration": 21709, + "src": "13439:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 21457, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "13439:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21462, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13501:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21463, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "received_amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 21715, + "src": "13501:25:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21464, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "13501:30:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21458, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13469:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21459, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "recipient", + "nodeType": "MemberAccess", + "referencedDeclaration": 21709, + "src": "13469:19:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_memory", + "typeString": "struct TransferStructs.User memory" + } + }, + "id": 21460, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 21684, + "src": "13469:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21461, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 25882, + "src": "13469:31:70", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_MutableUint_$25634_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableUint_$25634_memory_ptr_$bound_to$_t_struct$_MutableUint_$25634_memory_ptr_$", + "typeString": "function (struct Types.MutableUint memory,uint256) pure returns (struct Types.MutableUint memory)" + } + }, + "id": 21465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13469:63:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "13439:93:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 21467, + "nodeType": "ExpressionStatement", + "src": "13439:93:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21468, + "name": "_built", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21387, + "src": "13538:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21469, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21384, + "src": "13547:9:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "src": "13538:18:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer memory" + } + }, + "id": 21471, + "nodeType": "ExpressionStatement", + "src": "13538:18:70" + } + ] + }, + "documentation": null, + "id": 21473, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "build_transfer_with_transfer_fee", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21385, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21384, + "name": "_transfer", + "nodeType": "VariableDeclaration", + "scope": 21473, + "src": "12894:41:70", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer" + }, + "typeName": { + "contractScope": null, + "id": 21383, + "name": "TransferStructs.Transfer", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21722, + "src": "12894:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_storage_ptr", + "typeString": "struct TransferStructs.Transfer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12893:43:70" + }, + "payable": false, + "returnParameters": { + "id": 21388, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21387, + "name": "_built", + "nodeType": "VariableDeclaration", + "scope": 21473, + "src": "12971:38:70", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_memory_ptr", + "typeString": "struct TransferStructs.Transfer" + }, + "typeName": { + "contractScope": null, + "id": 21386, + "name": "TransferStructs.Transfer", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21722, + "src": "12971:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transfer_$21722_storage_ptr", + "typeString": "struct TransferStructs.Transfer" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12970:40:70" + }, + "scope": 21622, + "src": "12852:709:70", + "stateMutability": "pure", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 21500, + "nodeType": "Block", + "src": "13725:105:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21484, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "13731:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21487, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "13731:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 21488, + "indexExpression": { + "argumentTypes": null, + "id": 21486, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21475, + "src": "13744:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13731:22:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 21489, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "13731:27:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 21490, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "spender_allowances", + "nodeType": "MemberAccess", + "referencedDeclaration": 20092, + "src": "13731:46:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 21492, + "indexExpression": { + "argumentTypes": null, + "id": 21491, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21477, + "src": "13778:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13731:56:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21493, + "name": "_new_allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21479, + "src": "13790:14:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13731:73:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21495, + "nodeType": "ExpressionStatement", + "src": "13731:73:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21496, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21482, + "src": "13810:8:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 21497, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13821:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "13810:15:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 21499, + "nodeType": "ExpressionStatement", + "src": "13810:15:70" + } + ] + }, + "documentation": null, + "id": 21501, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "update_account_spender_allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21480, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21475, + "name": "_account", + "nodeType": "VariableDeclaration", + "scope": 21501, + "src": "13612:16:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21474, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13612:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21477, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 21501, + "src": "13634:16:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21476, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13634:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21479, + "name": "_new_allowance", + "nodeType": "VariableDeclaration", + "scope": 21501, + "src": "13656:22:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21478, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13656:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13606:76:70" + }, + "payable": false, + "returnParameters": { + "id": 21483, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21482, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 21501, + "src": "13708:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21481, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13708:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13707:15:70" + }, + "scope": 21622, + "src": "13565:265:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 21552, + "nodeType": "Block", + "src": "14076:265:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21516, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "14082:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21519, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "14082:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 21520, + "indexExpression": { + "argumentTypes": null, + "id": 21518, + "name": "_sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21503, + "src": "14095:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14082:21:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 21521, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "14082:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 21522, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "14082:38:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21523, + "name": "_sender_new_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21505, + "src": "14123:19:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14082:60:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21525, + "nodeType": "ExpressionStatement", + "src": "14082:60:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21526, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "14148:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21529, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "14148:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 21530, + "indexExpression": { + "argumentTypes": null, + "id": 21528, + "name": "_recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21507, + "src": "14161:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14148:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 21531, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "14148:29:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 21532, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "14148:41:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21533, + "name": "_recipient_new_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21509, + "src": "14192:22:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14148:66:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21535, + "nodeType": "ExpressionStatement", + "src": "14148:66:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21536, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "14220:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21541, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "14220:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 21542, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21538, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "14233:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21539, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collectors", + "nodeType": "MemberAccess", + "referencedDeclaration": 20100, + "src": "14233:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Collectors_$20079_storage", + "typeString": "struct DummyDGXStorage.Collectors storage ref" + } + }, + "id": 21540, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 20078, + "src": "14233:26:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14220:40:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 21543, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "14220:45:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 21544, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "14220:57:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21545, + "name": "_transfer_fee_collector_new_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21511, + "src": "14280:35:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14220:95:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21547, + "nodeType": "ExpressionStatement", + "src": "14220:95:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21548, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21514, + "src": "14321:8:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 21549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14332:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "14321:15:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 21551, + "nodeType": "ExpressionStatement", + "src": "14321:15:70" + } + ] + }, + "documentation": null, + "id": 21553, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "update_transfer_balance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21512, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21503, + "name": "_sender", + "nodeType": "VariableDeclaration", + "scope": 21553, + "src": "13872:15:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21502, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13872:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21505, + "name": "_sender_new_balance", + "nodeType": "VariableDeclaration", + "scope": 21553, + "src": "13893:27:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21504, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13893:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21507, + "name": "_recipient", + "nodeType": "VariableDeclaration", + "scope": 21553, + "src": "13926:18:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21506, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13926:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21509, + "name": "_recipient_new_balance", + "nodeType": "VariableDeclaration", + "scope": 21553, + "src": "13950:30:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21508, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13950:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21511, + "name": "_transfer_fee_collector_new_balance", + "nodeType": "VariableDeclaration", + "scope": 21553, + "src": "13986:43:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21510, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13986:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13866:167:70" + }, + "payable": false, + "returnParameters": { + "id": 21515, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21514, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 21553, + "src": "14059:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21513, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14059:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14058:15:70" + }, + "scope": 21622, + "src": "13834:507:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 21620, + "nodeType": "Block", + "src": "14650:351:70", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 21580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21572, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "14656:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21575, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "14656:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 21576, + "indexExpression": { + "argumentTypes": null, + "id": 21574, + "name": "_sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21555, + "src": "14669:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14656:21:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 21577, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "14656:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 21578, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "14656:38:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21579, + "name": "_sender_new_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21557, + "src": "14697:19:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14656:60:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21581, + "nodeType": "ExpressionStatement", + "src": "14656:60:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21582, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "14722:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21585, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "14722:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 21586, + "indexExpression": { + "argumentTypes": null, + "id": 21584, + "name": "_recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21559, + "src": "14735:10:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14722:24:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 21587, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "14722:29:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 21588, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "14722:41:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21589, + "name": "_recipient_new_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21561, + "src": "14766:22:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14722:66:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21591, + "nodeType": "ExpressionStatement", + "src": "14722:66:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21592, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "14794:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21597, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "14794:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 21598, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21594, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "14807:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21595, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "collectors", + "nodeType": "MemberAccess", + "referencedDeclaration": 20100, + "src": "14807:17:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Collectors_$20079_storage", + "typeString": "struct DummyDGXStorage.Collectors storage ref" + } + }, + "id": 21596, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 20078, + "src": "14807:26:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14794:40:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 21599, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "14794:45:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 21600, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "raw_balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 20088, + "src": "14794:57:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21601, + "name": "_transfer_fee_collector_new_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21563, + "src": "14854:35:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14794:95:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21603, + "nodeType": "ExpressionStatement", + "src": "14794:95:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21604, + "name": "system", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20111, + "src": "14895:6:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_System_$20109_storage", + "typeString": "struct DummyDGXStorage.System storage ref" + } + }, + "id": 21607, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "users", + "nodeType": "MemberAccess", + "referencedDeclaration": 20108, + "src": "14895:12:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_User_$20098_storage_$", + "typeString": "mapping(address => struct DummyDGXStorage.User storage ref)" + } + }, + "id": 21608, + "indexExpression": { + "argumentTypes": null, + "id": 21606, + "name": "_sender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21555, + "src": "14908:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14895:21:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$20098_storage", + "typeString": "struct DummyDGXStorage.User storage ref" + } + }, + "id": 21609, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 20097, + "src": "14895:26:70", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UserData_$20093_storage", + "typeString": "struct DummyDGXStorage.UserData storage ref" + } + }, + "id": 21610, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "spender_allowances", + "nodeType": "MemberAccess", + "referencedDeclaration": 20092, + "src": "14895:45:70", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 21612, + "indexExpression": { + "argumentTypes": null, + "id": 21611, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21565, + "src": "14941:8:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14895:55:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 21613, + "name": "_spender_new_allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21567, + "src": "14953:22:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14895:80:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 21615, + "nodeType": "ExpressionStatement", + "src": "14895:80:70" + }, + { + "expression": { + "argumentTypes": null, + "id": 21618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 21616, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 21570, + "src": "14981:8:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 21617, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14992:4:70", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "14981:15:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 21619, + "nodeType": "ExpressionStatement", + "src": "14981:15:70" + } + ] + }, + "documentation": null, + "id": 21621, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "update_transfer_from_balance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21568, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21555, + "name": "_sender", + "nodeType": "VariableDeclaration", + "scope": 21621, + "src": "14388:15:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21554, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14388:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21557, + "name": "_sender_new_balance", + "nodeType": "VariableDeclaration", + "scope": 21621, + "src": "14409:27:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21556, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14409:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21559, + "name": "_recipient", + "nodeType": "VariableDeclaration", + "scope": 21621, + "src": "14442:18:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21558, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14442:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21561, + "name": "_recipient_new_balance", + "nodeType": "VariableDeclaration", + "scope": 21621, + "src": "14466:30:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21560, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14466:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21563, + "name": "_transfer_fee_collector_new_balance", + "nodeType": "VariableDeclaration", + "scope": 21621, + "src": "14502:43:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21562, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14502:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21565, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 21621, + "src": "14551:16:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21564, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14551:7:70", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21567, + "name": "_spender_new_allowance", + "nodeType": "VariableDeclaration", + "scope": 21621, + "src": "14573:30:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21566, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14573:7:70", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14382:225:70" + }, + "payable": false, + "returnParameters": { + "id": 21571, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21570, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 21621, + "src": "14633:13:70", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21569, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14633:4:70", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14632:15:70" + }, + "scope": 21622, + "src": "14345:656:70", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 21623, + "src": "258:14745:70" + } + ], + "src": "0:15004:70" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.917Z" +} \ No newline at end of file diff --git a/build/contracts/ERC20.json b/build/contracts/ERC20.json new file mode 100644 index 0000000..2e21417 --- /dev/null +++ b/build/contracts/ERC20.json @@ -0,0 +1,1237 @@ +{ + "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": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", + "ast": { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", + "exportedSymbols": { + "ERC20": [ + 26318 + ] + }, + "id": 26319, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 26277, + "literals": [ + "solidity", + "^", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:24:88" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol", + "file": "./ERC20Basic.sol", + "id": 26278, + "nodeType": "ImportDirective", + "scope": 26319, + "sourceUnit": 26351, + "src": "26:26:88", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 26279, + "name": "ERC20Basic", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 26350, + "src": "162:10:88", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20Basic_$26350", + "typeString": "contract ERC20Basic" + } + }, + "id": 26280, + "nodeType": "InheritanceSpecifier", + "src": "162:10:88" + } + ], + "contractDependencies": [ + 26350 + ], + "contractKind": "contract", + "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", + "fullyImplemented": false, + "id": 26318, + "linearizedBaseContracts": [ + 26318, + 26350 + ], + "name": "ERC20", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 26289, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26285, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26282, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 26289, + "src": "196:14:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26281, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "196:7:88", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26284, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 26289, + "src": "212:16:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26283, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "212:7:88", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "195:34:88" + }, + "payable": false, + "returnParameters": { + "id": 26288, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26287, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26289, + "src": "255:7:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26286, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "255:7:88", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "254:9:88" + }, + "scope": 26318, + "src": "177:87:88", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 26300, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26296, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26291, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 26300, + "src": "290:13:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26290, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "290:7:88", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26293, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 26300, + "src": "305:11:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26292, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "305:7:88", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26295, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 26300, + "src": "318:14:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26294, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "318:7:88", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "289:44:88" + }, + "payable": false, + "returnParameters": { + "id": 26299, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26298, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26300, + "src": "354:4:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26297, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "354:4:88", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "353:6:88" + }, + "scope": 26318, + "src": "268:92:88", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 26309, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26305, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26302, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 26309, + "src": "381:16:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26301, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "381:7:88", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26304, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 26309, + "src": "399:14:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26303, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "399:7:88", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "380:34:88" + }, + "payable": false, + "returnParameters": { + "id": 26308, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26307, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26309, + "src": "431:4:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26306, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "431:4:88", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "430:6:88" + }, + "scope": 26318, + "src": "364:73:88", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 26317, + "name": "Approval", + "nodeType": "EventDefinition", + "parameters": { + "id": 26316, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26311, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 26317, + "src": "460:21:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26310, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "460:7:88", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26313, + "indexed": true, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 26317, + "src": "487:23:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26312, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "487:7:88", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26315, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 26317, + "src": "516:13:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26314, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "516:7:88", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "454:79:88" + }, + "src": "440:94:88" + } + ], + "scope": 26319, + "src": "144:392:88" + } + ], + "src": "0:537:88" + }, + "legacyAST": { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", + "exportedSymbols": { + "ERC20": [ + 26318 + ] + }, + "id": 26319, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 26277, + "literals": [ + "solidity", + "^", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:24:88" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol", + "file": "./ERC20Basic.sol", + "id": 26278, + "nodeType": "ImportDirective", + "scope": 26319, + "sourceUnit": 26351, + "src": "26:26:88", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 26279, + "name": "ERC20Basic", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 26350, + "src": "162:10:88", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20Basic_$26350", + "typeString": "contract ERC20Basic" + } + }, + "id": 26280, + "nodeType": "InheritanceSpecifier", + "src": "162:10:88" + } + ], + "contractDependencies": [ + 26350 + ], + "contractKind": "contract", + "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", + "fullyImplemented": false, + "id": 26318, + "linearizedBaseContracts": [ + 26318, + 26350 + ], + "name": "ERC20", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 26289, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26285, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26282, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 26289, + "src": "196:14:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26281, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "196:7:88", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26284, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 26289, + "src": "212:16:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26283, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "212:7:88", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "195:34:88" + }, + "payable": false, + "returnParameters": { + "id": 26288, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26287, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26289, + "src": "255:7:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26286, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "255:7:88", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "254:9:88" + }, + "scope": 26318, + "src": "177:87:88", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 26300, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26296, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26291, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 26300, + "src": "290:13:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26290, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "290:7:88", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26293, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 26300, + "src": "305:11:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26292, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "305:7:88", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26295, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 26300, + "src": "318:14:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26294, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "318:7:88", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "289:44:88" + }, + "payable": false, + "returnParameters": { + "id": 26299, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26298, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26300, + "src": "354:4:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26297, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "354:4:88", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "353:6:88" + }, + "scope": 26318, + "src": "268:92:88", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 26309, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26305, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26302, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 26309, + "src": "381:16:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26301, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "381:7:88", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26304, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 26309, + "src": "399:14:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26303, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "399:7:88", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "380:34:88" + }, + "payable": false, + "returnParameters": { + "id": 26308, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26307, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26309, + "src": "431:4:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26306, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "431:4:88", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "430:6:88" + }, + "scope": 26318, + "src": "364:73:88", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 26317, + "name": "Approval", + "nodeType": "EventDefinition", + "parameters": { + "id": 26316, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26311, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 26317, + "src": "460:21:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26310, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "460:7:88", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26313, + "indexed": true, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 26317, + "src": "487:23:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26312, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "487:7:88", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26315, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 26317, + "src": "516:13:88", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26314, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "516:7:88", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "454:79:88" + }, + "src": "440:94:88" + } + ], + "scope": 26319, + "src": "144:392:88" + } + ], + "src": "0:537:88" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.945Z" +} \ No newline at end of file diff --git a/build/contracts/ERC20Basic.json b/build/contracts/ERC20Basic.json new file mode 100644 index 0000000..8fc26f7 --- /dev/null +++ b/build/contracts/ERC20Basic.json @@ -0,0 +1,866 @@ +{ + "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": "openzeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol", + "ast": { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol", + "exportedSymbols": { + "ERC20Basic": [ + 26350 + ] + }, + "id": 26351, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 26320, + "literals": [ + "solidity", + "^", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:24:89" + }, + { + "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": 26350, + "linearizedBaseContracts": [ + 26350 + ], + "name": "ERC20Basic", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 26325, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26321, + "nodeType": "ParameterList", + "parameters": [], + "src": "194:2:89" + }, + "payable": false, + "returnParameters": { + "id": 26324, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26323, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26325, + "src": "218:7:89", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26322, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "218:7:89", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "217:9:89" + }, + "scope": 26350, + "src": "174:53:89", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 26332, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26328, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26327, + "name": "_who", + "nodeType": "VariableDeclaration", + "scope": 26332, + "src": "249:12:89", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26326, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "249:7:89", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "248:14:89" + }, + "payable": false, + "returnParameters": { + "id": 26331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26330, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26332, + "src": "284:7:89", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26329, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "284:7:89", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "283:9:89" + }, + "scope": 26350, + "src": "230:63:89", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 26341, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26337, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26334, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 26341, + "src": "314:11:89", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26333, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "314:7:89", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26336, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 26341, + "src": "327:14:89", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26335, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "327:7:89", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "313:29:89" + }, + "payable": false, + "returnParameters": { + "id": 26340, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26339, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26341, + "src": "359:4:89", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26338, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "359:4:89", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "358:6:89" + }, + "scope": 26350, + "src": "296:69:89", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 26349, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "id": 26348, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26343, + "indexed": true, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 26349, + "src": "383:20:89", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26342, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "383:7:89", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26345, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 26349, + "src": "405:18:89", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26344, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "405:7:89", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26347, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 26349, + "src": "425:13:89", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26346, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "425:7:89", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "382:57:89" + }, + "src": "368:72:89" + } + ], + "scope": 26351, + "src": "150:292:89" + } + ], + "src": "0:443:89" + }, + "legacyAST": { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol", + "exportedSymbols": { + "ERC20Basic": [ + 26350 + ] + }, + "id": 26351, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 26320, + "literals": [ + "solidity", + "^", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:24:89" + }, + { + "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": 26350, + "linearizedBaseContracts": [ + 26350 + ], + "name": "ERC20Basic", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 26325, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26321, + "nodeType": "ParameterList", + "parameters": [], + "src": "194:2:89" + }, + "payable": false, + "returnParameters": { + "id": 26324, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26323, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26325, + "src": "218:7:89", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26322, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "218:7:89", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "217:9:89" + }, + "scope": 26350, + "src": "174:53:89", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 26332, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26328, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26327, + "name": "_who", + "nodeType": "VariableDeclaration", + "scope": 26332, + "src": "249:12:89", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26326, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "249:7:89", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "248:14:89" + }, + "payable": false, + "returnParameters": { + "id": 26331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26330, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26332, + "src": "284:7:89", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26329, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "284:7:89", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "283:9:89" + }, + "scope": 26350, + "src": "230:63:89", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": null, + "documentation": null, + "id": 26341, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transfer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26337, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26334, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 26341, + "src": "314:11:89", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26333, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "314:7:89", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26336, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 26341, + "src": "327:14:89", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26335, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "327:7:89", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "313:29:89" + }, + "payable": false, + "returnParameters": { + "id": 26340, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26339, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26341, + "src": "359:4:89", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26338, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "359:4:89", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "358:6:89" + }, + "scope": 26350, + "src": "296:69:89", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 26349, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "id": 26348, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26343, + "indexed": true, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 26349, + "src": "383:20:89", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26342, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "383:7:89", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26345, + "indexed": true, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 26349, + "src": "405:18:89", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26344, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "405:7:89", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26347, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 26349, + "src": "425:13:89", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26346, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "425:7:89", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "382:57:89" + }, + "src": "368:72:89" + } + ], + "scope": 26351, + "src": "150:292:89" + } + ], + "src": "0:443:89" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.945Z" +} \ No newline at end of file diff --git a/build/contracts/IdentityCommon.json b/build/contracts/IdentityCommon.json new file mode 100644 index 0000000..2b7251e --- /dev/null +++ b/build/contracts/IdentityCommon.json @@ -0,0 +1,2471 @@ +{ + "contractName": "IdentityCommon", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f9060001916905534801561113357600080fd5b50610312806111436000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100675780633943380c146100be5780633f83acff146100f1578063db4ecbc114610162575b600080fd5b34801561007357600080fd5b5061007c6101b9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100ca57600080fd5b506100d36101de565b60405180826000191660001916815260200191505060405180910390f35b3480156100fd57600080fd5b5061012060048036038101908080356000191690602001909291905050506101e4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016e57600080fd5b506101776102c0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561027e57600080fd5b505af1158015610292573d6000803e3d6000fd5b505050506040513d60208110156102a857600080fd5b81019080805190602001909291905050509050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815600a165627a7a72305820360c96c3ea2d5a42011c0915c53b1f7e652362bc0374c060ee69446f6cc2ba130029", + "deployedBytecode": "0x608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100675780633943380c146100be5780633f83acff146100f1578063db4ecbc114610162575b600080fd5b34801561007357600080fd5b5061007c6101b9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100ca57600080fd5b506100d36101de565b60405180826000191660001916815260200191505060405180910390f35b3480156100fd57600080fd5b5061012060048036038101908080356000191690602001909291905050506101e4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016e57600080fd5b506101776102c0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561027e57600080fd5b505af1158015610292573d6000803e3d6000fd5b505050506040513d60208110156102a857600080fd5b81019080805190602001909291905050509050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815600a165627a7a72305820360c96c3ea2d5a42011c0915c53b1f7e652362bc0374c060ee69446f6cc2ba130029", + "sourceMap": "192:910:7:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;192:910:7;8:9:-1;5:2;;;30:1;27;20:12;5:2;192:910:7;;;;;;;", + "deployedSourceMap": "192:910:7:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23;;;;;;;;;;;;;:::o;264:18::-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;344:31::-;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\n/* import \"@digix/cacp-contracts-dao/contracts/ResolverClient.sol\"; */\nimport \"./../storage/DaoIdentityStorage.sol\";\nimport \"./../common/DaoWhitelistingCommon.sol\";\n\ncontract IdentityCommon is DaoWhitelistingCommon {\n\n modifier if_root() {\n require(identity_storage().read_user_role_id(msg.sender) == ROLES_ROOT);\n _;\n }\n\n modifier if_founder() {\n require(is_founder());\n _;\n }\n\n function is_founder()\n internal\n view\n returns (bool _isFounder)\n {\n _isFounder = identity_storage().read_user_role_id(msg.sender) == ROLES_FOUNDERS;\n }\n\n modifier if_prl() {\n require(identity_storage().read_user_role_id(msg.sender) == ROLES_PRLS);\n _;\n }\n\n modifier if_kyc_admin() {\n require(identity_storage().read_user_role_id(msg.sender) == ROLES_KYC_ADMINS);\n _;\n }\n\n function identity_storage()\n internal\n view\n returns (DaoIdentityStorage _contract)\n {\n _contract = DaoIdentityStorage(get_contract(CONTRACT_STORAGE_DAO_IDENTITY));\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/common/IdentityCommon.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/IdentityCommon.sol", + "exportedSymbols": { + "IdentityCommon": [ + 1911 + ] + }, + "id": 1912, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1821, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:7" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoIdentityStorage.sol", + "file": "./../storage/DaoIdentityStorage.sol", + "id": 1822, + "nodeType": "ImportDirective", + "scope": 1912, + "sourceUnit": 14514, + "src": "97:45:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoWhitelistingCommon.sol", + "file": "./../common/DaoWhitelistingCommon.sol", + "id": 1823, + "nodeType": "ImportDirective", + "scope": 1912, + "sourceUnit": 1820, + "src": "143:47:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1824, + "name": "DaoWhitelistingCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1819, + "src": "219:21:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingCommon_$1819", + "typeString": "contract DaoWhitelistingCommon" + } + }, + "id": 1825, + "nodeType": "InheritanceSpecifier", + "src": "219:21:7" + } + ], + "contractDependencies": [ + 1580, + 1819, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1911, + "linearizedBaseContracts": [ + 1911, + 1819, + 1580, + 19058 + ], + "name": "IdentityCommon", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1839, + "nodeType": "Block", + "src": "267:99:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1831, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "322:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "322:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1828, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "285:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 1829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "285:18:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 1830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "read_user_role_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19545, + "src": "285:36:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 1833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "285:48:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1834, + "name": "ROLES_ROOT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1390, + "src": "337:10:7", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "285:62:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1827, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "277:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "277:71:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1837, + "nodeType": "ExpressionStatement", + "src": "277:71:7" + }, + { + "id": 1838, + "nodeType": "PlaceholderStatement", + "src": "358:1:7" + } + ] + }, + "documentation": null, + "id": 1840, + "name": "if_root", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1826, + "nodeType": "ParameterList", + "parameters": [], + "src": "264:2:7" + }, + "src": "248:118:7", + "visibility": "internal" + }, + { + "body": { + "id": 1848, + "nodeType": "Block", + "src": "394:49:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1843, + "name": "is_founder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1866, + "src": "412:10:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 1844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "412:12:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1842, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "404:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "404:21:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1846, + "nodeType": "ExpressionStatement", + "src": "404:21:7" + }, + { + "id": 1847, + "nodeType": "PlaceholderStatement", + "src": "435:1:7" + } + ] + }, + "documentation": null, + "id": 1849, + "name": "if_founder", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1841, + "nodeType": "ParameterList", + "parameters": [], + "src": "391:2:7" + }, + "src": "372:71:7", + "visibility": "internal" + }, + { + "body": { + "id": 1865, + "nodeType": "Block", + "src": "539:96:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1854, + "name": "_isFounder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1852, + "src": "549:10:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1858, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "599:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "599:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1855, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "562:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 1856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "562:18:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 1857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "read_user_role_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19545, + "src": "562:36:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 1860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "562:48:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1861, + "name": "ROLES_FOUNDERS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1393, + "src": "614:14:7", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "562:66:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "549:79:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1864, + "nodeType": "ExpressionStatement", + "src": "549:79:7" + } + ] + }, + "documentation": null, + "id": 1866, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "is_founder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1850, + "nodeType": "ParameterList", + "parameters": [], + "src": "468:2:7" + }, + "payable": false, + "returnParameters": { + "id": 1853, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1852, + "name": "_isFounder", + "nodeType": "VariableDeclaration", + "scope": 1866, + "src": "518:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1851, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "518:4:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "517:17:7" + }, + "scope": 1911, + "src": "449:186:7", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1880, + "nodeType": "Block", + "src": "659:99:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1872, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "714:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "714:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1869, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "677:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 1870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "677:18:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 1871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "read_user_role_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19545, + "src": "677:36:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 1874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "677:48:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1875, + "name": "ROLES_PRLS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1396, + "src": "729:10:7", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "677:62:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1868, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "669:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "669:71:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1878, + "nodeType": "ExpressionStatement", + "src": "669:71:7" + }, + { + "id": 1879, + "nodeType": "PlaceholderStatement", + "src": "750:1:7" + } + ] + }, + "documentation": null, + "id": 1881, + "name": "if_prl", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1867, + "nodeType": "ParameterList", + "parameters": [], + "src": "656:2:7" + }, + "src": "641:117:7", + "visibility": "internal" + }, + { + "body": { + "id": 1895, + "nodeType": "Block", + "src": "788:105:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1887, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "843:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "843:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1884, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "806:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 1885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "806:18:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 1886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "read_user_role_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19545, + "src": "806:36:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 1889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "806:48:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1890, + "name": "ROLES_KYC_ADMINS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1399, + "src": "858:16:7", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "806:68:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1883, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "798:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "798:77:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1893, + "nodeType": "ExpressionStatement", + "src": "798:77:7" + }, + { + "id": 1894, + "nodeType": "PlaceholderStatement", + "src": "885:1:7" + } + ] + }, + "documentation": null, + "id": 1896, + "name": "if_kyc_admin", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1882, + "nodeType": "ParameterList", + "parameters": [], + "src": "785:2:7" + }, + "src": "764:129:7", + "visibility": "internal" + }, + { + "body": { + "id": 1909, + "nodeType": "Block", + "src": "1008:92:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1901, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1899, + "src": "1018:9:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1904, + "name": "CONTRACT_STORAGE_DAO_IDENTITY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1357, + "src": "1062:29:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1903, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "1049:12:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1049:43:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1902, + "name": "DaoIdentityStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14513, + "src": "1030:18:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "type(contract DaoIdentityStorage)" + } + }, + "id": 1906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1030:63:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "src": "1018:75:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 1908, + "nodeType": "ExpressionStatement", + "src": "1018:75:7" + } + ] + }, + "documentation": null, + "id": 1910, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "identity_storage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1897, + "nodeType": "ParameterList", + "parameters": [], + "src": "924:2:7" + }, + "payable": false, + "returnParameters": { + "id": 1900, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1899, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1910, + "src": "974:28:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + }, + "typeName": { + "contractScope": null, + "id": 1898, + "name": "DaoIdentityStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14513, + "src": "974:18:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "973:30:7" + }, + "scope": 1911, + "src": "899:201:7", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 1912, + "src": "192:910:7" + } + ], + "src": "0:1103:7" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/IdentityCommon.sol", + "exportedSymbols": { + "IdentityCommon": [ + 1911 + ] + }, + "id": 1912, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1821, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:7" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoIdentityStorage.sol", + "file": "./../storage/DaoIdentityStorage.sol", + "id": 1822, + "nodeType": "ImportDirective", + "scope": 1912, + "sourceUnit": 14514, + "src": "97:45:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoWhitelistingCommon.sol", + "file": "./../common/DaoWhitelistingCommon.sol", + "id": 1823, + "nodeType": "ImportDirective", + "scope": 1912, + "sourceUnit": 1820, + "src": "143:47:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1824, + "name": "DaoWhitelistingCommon", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1819, + "src": "219:21:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoWhitelistingCommon_$1819", + "typeString": "contract DaoWhitelistingCommon" + } + }, + "id": 1825, + "nodeType": "InheritanceSpecifier", + "src": "219:21:7" + } + ], + "contractDependencies": [ + 1580, + 1819, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1911, + "linearizedBaseContracts": [ + 1911, + 1819, + 1580, + 19058 + ], + "name": "IdentityCommon", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1839, + "nodeType": "Block", + "src": "267:99:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1831, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "322:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "322:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1828, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "285:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 1829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "285:18:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 1830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "read_user_role_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19545, + "src": "285:36:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 1833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "285:48:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1834, + "name": "ROLES_ROOT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1390, + "src": "337:10:7", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "285:62:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1827, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "277:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "277:71:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1837, + "nodeType": "ExpressionStatement", + "src": "277:71:7" + }, + { + "id": 1838, + "nodeType": "PlaceholderStatement", + "src": "358:1:7" + } + ] + }, + "documentation": null, + "id": 1840, + "name": "if_root", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1826, + "nodeType": "ParameterList", + "parameters": [], + "src": "264:2:7" + }, + "src": "248:118:7", + "visibility": "internal" + }, + { + "body": { + "id": 1848, + "nodeType": "Block", + "src": "394:49:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1843, + "name": "is_founder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1866, + "src": "412:10:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 1844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "412:12:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1842, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "404:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "404:21:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1846, + "nodeType": "ExpressionStatement", + "src": "404:21:7" + }, + { + "id": 1847, + "nodeType": "PlaceholderStatement", + "src": "435:1:7" + } + ] + }, + "documentation": null, + "id": 1849, + "name": "if_founder", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1841, + "nodeType": "ParameterList", + "parameters": [], + "src": "391:2:7" + }, + "src": "372:71:7", + "visibility": "internal" + }, + { + "body": { + "id": 1865, + "nodeType": "Block", + "src": "539:96:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1854, + "name": "_isFounder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1852, + "src": "549:10:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1858, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "599:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "599:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1855, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "562:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 1856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "562:18:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 1857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "read_user_role_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19545, + "src": "562:36:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 1860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "562:48:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1861, + "name": "ROLES_FOUNDERS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1393, + "src": "614:14:7", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "562:66:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "549:79:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1864, + "nodeType": "ExpressionStatement", + "src": "549:79:7" + } + ] + }, + "documentation": null, + "id": 1866, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "is_founder", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1850, + "nodeType": "ParameterList", + "parameters": [], + "src": "468:2:7" + }, + "payable": false, + "returnParameters": { + "id": 1853, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1852, + "name": "_isFounder", + "nodeType": "VariableDeclaration", + "scope": 1866, + "src": "518:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1851, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "518:4:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "517:17:7" + }, + "scope": 1911, + "src": "449:186:7", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 1880, + "nodeType": "Block", + "src": "659:99:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1872, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "714:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "714:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1869, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "677:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 1870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "677:18:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 1871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "read_user_role_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19545, + "src": "677:36:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 1874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "677:48:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1875, + "name": "ROLES_PRLS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1396, + "src": "729:10:7", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "677:62:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1868, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "669:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "669:71:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1878, + "nodeType": "ExpressionStatement", + "src": "669:71:7" + }, + { + "id": 1879, + "nodeType": "PlaceholderStatement", + "src": "750:1:7" + } + ] + }, + "documentation": null, + "id": 1881, + "name": "if_prl", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1867, + "nodeType": "ParameterList", + "parameters": [], + "src": "656:2:7" + }, + "src": "641:117:7", + "visibility": "internal" + }, + { + "body": { + "id": 1895, + "nodeType": "Block", + "src": "788:105:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1887, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "843:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "843:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1884, + "name": "identity_storage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "806:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "function () view returns (contract DaoIdentityStorage)" + } + }, + "id": 1885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "806:18:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 1886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "read_user_role_id", + "nodeType": "MemberAccess", + "referencedDeclaration": 19545, + "src": "806:36:7", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view external returns (uint256)" + } + }, + "id": 1889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "806:48:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1890, + "name": "ROLES_KYC_ADMINS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1399, + "src": "858:16:7", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "806:68:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1883, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "798:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "798:77:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1893, + "nodeType": "ExpressionStatement", + "src": "798:77:7" + }, + { + "id": 1894, + "nodeType": "PlaceholderStatement", + "src": "885:1:7" + } + ] + }, + "documentation": null, + "id": 1896, + "name": "if_kyc_admin", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1882, + "nodeType": "ParameterList", + "parameters": [], + "src": "785:2:7" + }, + "src": "764:129:7", + "visibility": "internal" + }, + { + "body": { + "id": 1909, + "nodeType": "Block", + "src": "1008:92:7", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 1901, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1899, + "src": "1018:9:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1904, + "name": "CONTRACT_STORAGE_DAO_IDENTITY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1357, + "src": "1062:29:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1903, + "name": "get_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19057, + "src": "1049:12:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view returns (address)" + } + }, + "id": 1905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1049:43:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1902, + "name": "DaoIdentityStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14513, + "src": "1030:18:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoIdentityStorage_$14513_$", + "typeString": "type(contract DaoIdentityStorage)" + } + }, + "id": 1906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1030:63:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "src": "1018:75:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "id": 1908, + "nodeType": "ExpressionStatement", + "src": "1018:75:7" + } + ] + }, + "documentation": null, + "id": 1910, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "identity_storage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1897, + "nodeType": "ParameterList", + "parameters": [], + "src": "924:2:7" + }, + "payable": false, + "returnParameters": { + "id": 1900, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1899, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 1910, + "src": "974:28:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + }, + "typeName": { + "contractScope": null, + "id": 1898, + "name": "DaoIdentityStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14513, + "src": "974:18:7", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoIdentityStorage_$14513", + "typeString": "contract DaoIdentityStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "973:30:7" + }, + "scope": 1911, + "src": "899:201:7", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 1912, + "src": "192:910:7" + } + ], + "src": "0:1103:7" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.823Z" +} \ No newline at end of file diff --git a/build/contracts/IndexedAddressIteratorStorage.json b/build/contracts/IndexedAddressIteratorStorage.json new file mode 100644 index 0000000..bb77553 --- /dev/null +++ b/build/contracts/IndexedAddressIteratorStorage.json @@ -0,0 +1,2501 @@ +{ + "contractName": "IndexedAddressIteratorStorage", + "abi": [], + "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a72305820253c9a42582fd25e3a2fea367c746d9b6d8058315dba09f08b3a66d966f042630029", + "deployedBytecode": "0x6080604052600080fd00a165627a7a72305820253c9a42582fd25e3a2fea367c746d9b6d8058315dba09f08b3a66d966f042630029", + "sourceMap": "217:2835:78:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;217:2835:78;;;;;;;", + "deployedSourceMap": "217:2835:78:-;;;;;", + "source": "pragma solidity ^0.4.19;\n\nimport \"../lib/DoublyLinkedList.sol\";\n\n/**\n @title Indexed Address IteratorStorage\n @author DigixGlobal Pte Ltd\n @notice This contract utilizes: [Doubly Linked List](/DoublyLinkedList)\n*/\ncontract IndexedAddressIteratorStorage {\n\n using DoublyLinkedList for DoublyLinkedList.IndexedAddress;\n /**\n @notice Reads the first item from an Indexed Address Doubly Linked List\n @param _list The source list\n @param _collection_index Index of the Collection to evaluate\n @return {\"_item\" : \"First item on the list\"}\n */\n function read_first_from_indexed_addresses(DoublyLinkedList.IndexedAddress storage _list, bytes32 _collection_index)\n internal\n constant\n returns (address _item)\n {\n _item = _list.start_item(_collection_index);\n }\n\n /**\n @notice Reads the last item from an Indexed Address Doubly Linked list\n @param _list The source list\n @param _collection_index Index of the Collection to evaluate\n @return {\"_item\" : \"First item on the list\"}\n */\n function read_last_from_indexed_addresses(DoublyLinkedList.IndexedAddress storage _list, bytes32 _collection_index)\n internal\n constant\n returns (address _item)\n {\n _item = _list.end_item(_collection_index);\n }\n\n /**\n @notice Reads the next item from an Indexed Address Doubly Linked List based on the specified `_current_item`\n @param _list The source list\n @param _collection_index Index of the Collection to evaluate\n @param _current_item The current item to use as base line\n @return {\"_item\": \"The next item on the list\"}\n */\n function read_next_from_indexed_addresses(DoublyLinkedList.IndexedAddress storage _list, bytes32 _collection_index, address _current_item)\n internal\n constant\n returns (address _item)\n {\n _item = _list.next_item(_collection_index, _current_item);\n }\n\n /**\n @notice Reads the previous item from an Index Address Doubly Linked List based on the specified `_current_item`\n @param _list The source list\n @param _collection_index Index of the Collection to evaluate\n @param _current_item The current item to use as base line\n @return {\"_item\" : \"The previous item on the list\"}\n */\n function read_previous_from_indexed_addresses(DoublyLinkedList.IndexedAddress storage _list, bytes32 _collection_index, address _current_item)\n internal\n constant\n returns (address _item)\n {\n _item = _list.previous_item(_collection_index, _current_item);\n }\n\n\n /**\n @notice Reads the total number of items in an Indexed Address Doubly Linked List\n @param _list The source list\n @param _collection_index Index of the Collection to evaluate\n @return {\"_count\": \"Length of the Doubly Linked list\"}\n */\n function read_total_indexed_addresses(DoublyLinkedList.IndexedAddress storage _list, bytes32 _collection_index)\n internal\n constant\n returns (uint256 _count)\n {\n _count = _list.total(_collection_index);\n }\n\n}\n", + "sourcePath": "@digix/solidity-collections/contracts/abstract/IndexedAddressIteratorStorage.sol", + "ast": { + "absolutePath": "@digix/solidity-collections/contracts/abstract/IndexedAddressIteratorStorage.sol", + "exportedSymbols": { + "IndexedAddressIteratorStorage": [ + 22577 + ] + }, + "id": 22578, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 22481, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:78" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "file": "../lib/DoublyLinkedList.sol", + "id": 22482, + "nodeType": "ImportDirective", + "scope": 22578, + "sourceUnit": 25547, + "src": "26:37:78", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Indexed Address IteratorStorage\n@author DigixGlobal Pte Ltd\n@notice This contract utilizes: [Doubly Linked List](/DoublyLinkedList)", + "fullyImplemented": true, + "id": 22577, + "linearizedBaseContracts": [ + 22577 + ], + "name": "IndexedAddressIteratorStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 22485, + "libraryName": { + "contractScope": null, + "id": 22483, + "name": "DoublyLinkedList", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25546, + "src": "267:16:78", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DoublyLinkedList_$25546", + "typeString": "library DoublyLinkedList" + } + }, + "nodeType": "UsingForDirective", + "src": "261:59:78", + "typeName": { + "contractScope": null, + "id": 22484, + "name": "DoublyLinkedList.IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "288:31:78", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + } + }, + { + "body": { + "id": 22501, + "nodeType": "Block", + "src": "751:54:78", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22494, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22492, + "src": "757:5:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22497, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22489, + "src": "782:17:78", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 22495, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22487, + "src": "765:5:78", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 22496, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "start_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 24779, + "src": "765:16:78", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$returns$_t_address_$bound_to$_t_struct$_IndexedAddress_$23024_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32) view returns (address)" + } + }, + "id": 22498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "765:35:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "757:43:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 22500, + "nodeType": "ExpressionStatement", + "src": "757:43:78" + } + ] + }, + "documentation": "@notice Reads the first item from an Indexed Address Doubly Linked List\n@param _list The source list\n@param _collection_index Index of the Collection to evaluate\n@return {\"_item\" : \"First item on the list\"}", + "id": 22502, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_first_from_indexed_addresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22490, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22487, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22502, + "src": "600:45:78", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 22486, + "name": "DoublyLinkedList.IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "600:31:78", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22489, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 22502, + "src": "647:25:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22488, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "647:7:78", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "599:74:78" + }, + "payable": false, + "returnParameters": { + "id": 22493, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22492, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22502, + "src": "734:13:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22491, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "734:7:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "733:15:78" + }, + "scope": 22577, + "src": "557:248:78", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22518, + "nodeType": "Block", + "src": "1235:52:78", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22511, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22509, + "src": "1241:5:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22514, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22506, + "src": "1264:17:78", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 22512, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22504, + "src": "1249:5:78", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 22513, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "end_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 24819, + "src": "1249:14:78", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$returns$_t_address_$bound_to$_t_struct$_IndexedAddress_$23024_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32) view returns (address)" + } + }, + "id": 22515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1249:33:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1241:41:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 22517, + "nodeType": "ExpressionStatement", + "src": "1241:41:78" + } + ] + }, + "documentation": "@notice Reads the last item from an Indexed Address Doubly Linked list\n@param _list The source list\n@param _collection_index Index of the Collection to evaluate\n@return {\"_item\" : \"First item on the list\"}", + "id": 22519, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_last_from_indexed_addresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22507, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22504, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22519, + "src": "1084:45:78", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 22503, + "name": "DoublyLinkedList.IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "1084:31:78", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22506, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 22519, + "src": "1131:25:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22505, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1131:7:78", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1083:74:78" + }, + "payable": false, + "returnParameters": { + "id": 22510, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22509, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22519, + "src": "1218:13:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22508, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1218:7:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1217:15:78" + }, + "scope": 22577, + "src": "1042:245:78", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22538, + "nodeType": "Block", + "src": "1843:68:78", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22530, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22528, + "src": "1849:5:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22533, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22523, + "src": "1873:17:78", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22534, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22525, + "src": "1892:13:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 22531, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22521, + "src": "1857:5:78", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 22532, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "next_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 24961, + "src": "1857:15:78", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$_t_address_$returns$_t_address_$bound_to$_t_struct$_IndexedAddress_$23024_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32,address) view returns (address)" + } + }, + "id": 22535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1857:49:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1849:57:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 22537, + "nodeType": "ExpressionStatement", + "src": "1849:57:78" + } + ] + }, + "documentation": "@notice Reads the next item from an Indexed Address Doubly Linked List based on the specified `_current_item`\n@param _list The source list\n@param _collection_index Index of the Collection to evaluate\n@param _current_item The current item to use as base line\n@return {\"_item\": \"The next item on the list\"}", + "id": 22539, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_next_from_indexed_addresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22526, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22521, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22539, + "src": "1669:45:78", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 22520, + "name": "DoublyLinkedList.IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "1669:31:78", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22523, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 22539, + "src": "1716:25:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22522, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1716:7:78", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22525, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22539, + "src": "1743:21:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22524, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1743:7:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1668:97:78" + }, + "payable": false, + "returnParameters": { + "id": 22529, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22528, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22539, + "src": "1826:13:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22527, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1826:7:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1825:15:78" + }, + "scope": 22577, + "src": "1627:284:78", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22558, + "nodeType": "Block", + "src": "2478:72:78", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22550, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22548, + "src": "2484:5:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22553, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22543, + "src": "2512:17:78", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22554, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22545, + "src": "2531:13:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 22551, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22541, + "src": "2492:5:78", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 22552, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previous_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 24913, + "src": "2492:19:78", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$_t_address_$returns$_t_address_$bound_to$_t_struct$_IndexedAddress_$23024_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32,address) view returns (address)" + } + }, + "id": 22555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2492:53:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2484:61:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 22557, + "nodeType": "ExpressionStatement", + "src": "2484:61:78" + } + ] + }, + "documentation": "@notice Reads the previous item from an Index Address Doubly Linked List based on the specified `_current_item`\n@param _list The source list\n@param _collection_index Index of the Collection to evaluate\n@param _current_item The current item to use as base line\n@return {\"_item\" : \"The previous item on the list\"}", + "id": 22559, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_previous_from_indexed_addresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22546, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22541, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22559, + "src": "2304:45:78", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 22540, + "name": "DoublyLinkedList.IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "2304:31:78", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22543, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 22559, + "src": "2351:25:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22542, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2351:7:78", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22545, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22559, + "src": "2378:21:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22544, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2378:7:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2303:97:78" + }, + "payable": false, + "returnParameters": { + "id": 22549, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22548, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22559, + "src": "2461:13:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22547, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2461:7:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2460:15:78" + }, + "scope": 22577, + "src": "2258:292:78", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22575, + "nodeType": "Block", + "src": "2999:50:78", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22568, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22566, + "src": "3005:6:78", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22571, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22563, + "src": "3026:17:78", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 22569, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22561, + "src": "3014:5:78", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 22570, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "total", + "nodeType": "MemberAccess", + "referencedDeclaration": 24739, + "src": "3014:11:78", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$returns$_t_uint256_$bound_to$_t_struct$_IndexedAddress_$23024_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 22572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3014:30:78", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3005:39:78", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22574, + "nodeType": "ExpressionStatement", + "src": "3005:39:78" + } + ] + }, + "documentation": "@notice Reads the total number of items in an Indexed Address Doubly Linked List\n@param _list The source list\n@param _collection_index Index of the Collection to evaluate\n@return {\"_count\": \"Length of the Doubly Linked list\"}", + "id": 22576, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_total_indexed_addresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22564, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22561, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22576, + "src": "2847:45:78", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 22560, + "name": "DoublyLinkedList.IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "2847:31:78", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22563, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 22576, + "src": "2894:25:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22562, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2894:7:78", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2846:74:78" + }, + "payable": false, + "returnParameters": { + "id": 22567, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22566, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 22576, + "src": "2981:14:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22565, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2981:7:78", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2980:16:78" + }, + "scope": 22577, + "src": "2809:240:78", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 22578, + "src": "217:2835:78" + } + ], + "src": "0:3053:78" + }, + "legacyAST": { + "absolutePath": "@digix/solidity-collections/contracts/abstract/IndexedAddressIteratorStorage.sol", + "exportedSymbols": { + "IndexedAddressIteratorStorage": [ + 22577 + ] + }, + "id": 22578, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 22481, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:78" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "file": "../lib/DoublyLinkedList.sol", + "id": 22482, + "nodeType": "ImportDirective", + "scope": 22578, + "sourceUnit": 25547, + "src": "26:37:78", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Indexed Address IteratorStorage\n@author DigixGlobal Pte Ltd\n@notice This contract utilizes: [Doubly Linked List](/DoublyLinkedList)", + "fullyImplemented": true, + "id": 22577, + "linearizedBaseContracts": [ + 22577 + ], + "name": "IndexedAddressIteratorStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 22485, + "libraryName": { + "contractScope": null, + "id": 22483, + "name": "DoublyLinkedList", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25546, + "src": "267:16:78", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DoublyLinkedList_$25546", + "typeString": "library DoublyLinkedList" + } + }, + "nodeType": "UsingForDirective", + "src": "261:59:78", + "typeName": { + "contractScope": null, + "id": 22484, + "name": "DoublyLinkedList.IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "288:31:78", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + } + }, + { + "body": { + "id": 22501, + "nodeType": "Block", + "src": "751:54:78", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22494, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22492, + "src": "757:5:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22497, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22489, + "src": "782:17:78", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 22495, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22487, + "src": "765:5:78", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 22496, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "start_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 24779, + "src": "765:16:78", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$returns$_t_address_$bound_to$_t_struct$_IndexedAddress_$23024_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32) view returns (address)" + } + }, + "id": 22498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "765:35:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "757:43:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 22500, + "nodeType": "ExpressionStatement", + "src": "757:43:78" + } + ] + }, + "documentation": "@notice Reads the first item from an Indexed Address Doubly Linked List\n@param _list The source list\n@param _collection_index Index of the Collection to evaluate\n@return {\"_item\" : \"First item on the list\"}", + "id": 22502, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_first_from_indexed_addresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22490, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22487, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22502, + "src": "600:45:78", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 22486, + "name": "DoublyLinkedList.IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "600:31:78", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22489, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 22502, + "src": "647:25:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22488, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "647:7:78", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "599:74:78" + }, + "payable": false, + "returnParameters": { + "id": 22493, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22492, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22502, + "src": "734:13:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22491, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "734:7:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "733:15:78" + }, + "scope": 22577, + "src": "557:248:78", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22518, + "nodeType": "Block", + "src": "1235:52:78", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22511, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22509, + "src": "1241:5:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22514, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22506, + "src": "1264:17:78", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 22512, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22504, + "src": "1249:5:78", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 22513, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "end_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 24819, + "src": "1249:14:78", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$returns$_t_address_$bound_to$_t_struct$_IndexedAddress_$23024_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32) view returns (address)" + } + }, + "id": 22515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1249:33:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1241:41:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 22517, + "nodeType": "ExpressionStatement", + "src": "1241:41:78" + } + ] + }, + "documentation": "@notice Reads the last item from an Indexed Address Doubly Linked list\n@param _list The source list\n@param _collection_index Index of the Collection to evaluate\n@return {\"_item\" : \"First item on the list\"}", + "id": 22519, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_last_from_indexed_addresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22507, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22504, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22519, + "src": "1084:45:78", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 22503, + "name": "DoublyLinkedList.IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "1084:31:78", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22506, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 22519, + "src": "1131:25:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22505, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1131:7:78", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1083:74:78" + }, + "payable": false, + "returnParameters": { + "id": 22510, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22509, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22519, + "src": "1218:13:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22508, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1218:7:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1217:15:78" + }, + "scope": 22577, + "src": "1042:245:78", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22538, + "nodeType": "Block", + "src": "1843:68:78", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22530, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22528, + "src": "1849:5:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22533, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22523, + "src": "1873:17:78", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22534, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22525, + "src": "1892:13:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 22531, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22521, + "src": "1857:5:78", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 22532, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "next_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 24961, + "src": "1857:15:78", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$_t_address_$returns$_t_address_$bound_to$_t_struct$_IndexedAddress_$23024_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32,address) view returns (address)" + } + }, + "id": 22535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1857:49:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1849:57:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 22537, + "nodeType": "ExpressionStatement", + "src": "1849:57:78" + } + ] + }, + "documentation": "@notice Reads the next item from an Indexed Address Doubly Linked List based on the specified `_current_item`\n@param _list The source list\n@param _collection_index Index of the Collection to evaluate\n@param _current_item The current item to use as base line\n@return {\"_item\": \"The next item on the list\"}", + "id": 22539, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_next_from_indexed_addresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22526, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22521, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22539, + "src": "1669:45:78", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 22520, + "name": "DoublyLinkedList.IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "1669:31:78", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22523, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 22539, + "src": "1716:25:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22522, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1716:7:78", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22525, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22539, + "src": "1743:21:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22524, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1743:7:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1668:97:78" + }, + "payable": false, + "returnParameters": { + "id": 22529, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22528, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22539, + "src": "1826:13:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22527, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1826:7:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1825:15:78" + }, + "scope": 22577, + "src": "1627:284:78", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22558, + "nodeType": "Block", + "src": "2478:72:78", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22550, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22548, + "src": "2484:5:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22553, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22543, + "src": "2512:17:78", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22554, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22545, + "src": "2531:13:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 22551, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22541, + "src": "2492:5:78", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 22552, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previous_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 24913, + "src": "2492:19:78", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$_t_address_$returns$_t_address_$bound_to$_t_struct$_IndexedAddress_$23024_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32,address) view returns (address)" + } + }, + "id": 22555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2492:53:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2484:61:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 22557, + "nodeType": "ExpressionStatement", + "src": "2484:61:78" + } + ] + }, + "documentation": "@notice Reads the previous item from an Index Address Doubly Linked List based on the specified `_current_item`\n@param _list The source list\n@param _collection_index Index of the Collection to evaluate\n@param _current_item The current item to use as base line\n@return {\"_item\" : \"The previous item on the list\"}", + "id": 22559, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_previous_from_indexed_addresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22546, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22541, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22559, + "src": "2304:45:78", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 22540, + "name": "DoublyLinkedList.IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "2304:31:78", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22543, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 22559, + "src": "2351:25:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22542, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2351:7:78", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22545, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22559, + "src": "2378:21:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22544, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2378:7:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2303:97:78" + }, + "payable": false, + "returnParameters": { + "id": 22549, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22548, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22559, + "src": "2461:13:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22547, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2461:7:78", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2460:15:78" + }, + "scope": 22577, + "src": "2258:292:78", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22575, + "nodeType": "Block", + "src": "2999:50:78", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22568, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22566, + "src": "3005:6:78", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22571, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22563, + "src": "3026:17:78", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 22569, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22561, + "src": "3014:5:78", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress storage pointer" + } + }, + "id": 22570, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "total", + "nodeType": "MemberAccess", + "referencedDeclaration": 24739, + "src": "3014:11:78", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_IndexedAddress_$23024_storage_ptr_$_t_bytes32_$returns$_t_uint256_$bound_to$_t_struct$_IndexedAddress_$23024_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.IndexedAddress storage pointer,bytes32) view returns (uint256)" + } + }, + "id": 22572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3014:30:78", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3005:39:78", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22574, + "nodeType": "ExpressionStatement", + "src": "3005:39:78" + } + ] + }, + "documentation": "@notice Reads the total number of items in an Indexed Address Doubly Linked List\n@param _list The source list\n@param _collection_index Index of the Collection to evaluate\n@return {\"_count\": \"Length of the Doubly Linked list\"}", + "id": 22576, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_total_indexed_addresses", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22564, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22561, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22576, + "src": "2847:45:78", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + }, + "typeName": { + "contractScope": null, + "id": 22560, + "name": "DoublyLinkedList.IndexedAddress", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23024, + "src": "2847:31:78", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IndexedAddress_$23024_storage_ptr", + "typeString": "struct DoublyLinkedList.IndexedAddress" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22563, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 22576, + "src": "2894:25:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22562, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2894:7:78", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2846:74:78" + }, + "payable": false, + "returnParameters": { + "id": 22567, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22566, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 22576, + "src": "2981:14:78", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22565, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2981:7:78", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2980:16:78" + }, + "scope": 22577, + "src": "2809:240:78", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 22578, + "src": "217:2835:78" + } + ], + "src": "0:3053:78" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.928Z" +} \ No newline at end of file diff --git a/build/contracts/IndexedBytesIteratorInteractive.json b/build/contracts/IndexedBytesIteratorInteractive.json new file mode 100644 index 0000000..3416e57 --- /dev/null +++ b/build/contracts/IndexedBytesIteratorInteractive.json @@ -0,0 +1,8375 @@ +{ + "contractName": "IndexedBytesIteratorInteractive", + "abi": [], + "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a723058206f485daa122c63dd16729d3661f630f09052200ce1b495d2df9443809748a8660029", + "deployedBytecode": "0x6080604052600080fd00a165627a7a723058206f485daa122c63dd16729d3661f630f09052200ce1b495d2df9443809748a8660029", + "sourceMap": "107:7384:79:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;107:7384:79;;;;;;;", + "deployedSourceMap": "107:7384:79:-;;;;;", + "source": "pragma solidity ^0.4.19;\n\n/**\n @title Indexed Bytes Iterator Interactive\n @author DigixGlobal Pte Ltd\n*/\ncontract IndexedBytesIteratorInteractive {\n\n /**\n @notice Lists an indexed Bytes collection from start or end\n @param _collection_index Index of the Collection to list\n @param _count Total number of Bytes items to return\n @param _function_first Function that returns the First Bytes item in the list\n @param _function_last Function that returns the last Bytes item in the list\n @param _function_next Function that returns the Next Bytes item in the list\n @param _function_previous Function that returns previous Bytes item in the list\n @param _from_start whether to read from start (or end) of the list\n @return {\"_bytes_items\" : \"Collection of reversed Bytes list\"}\n */\n function list_indexed_bytesarray(bytes32 _collection_index, uint256 _count,\n function (bytes32) external constant returns (bytes32) _function_first,\n function (bytes32) external constant returns (bytes32) _function_last,\n function (bytes32, bytes32) external constant returns (bytes32) _function_next,\n function (bytes32, bytes32) external constant returns (bytes32) _function_previous,\n bool _from_start)\n internal\n constant\n returns (bytes32[] _indexed_bytes_items)\n {\n if (_from_start) {\n _indexed_bytes_items = private_list_indexed_bytes_from_bytes(_collection_index, _function_first(_collection_index), _count, true, _function_last, _function_next);\n } else {\n _indexed_bytes_items = private_list_indexed_bytes_from_bytes(_collection_index, _function_last(_collection_index), _count, true, _function_first, _function_previous);\n }\n }\n\n /**\n @notice Lists an indexed Bytes collection from some `_current_item`, going forwards or backwards depending on `_from_start`\n @param _collection_index Index of the Collection to list\n @param _current_item The current Item\n @param _count Total number of Bytes items to return\n @param _function_first Function that returns the First Bytes item in the list\n @param _function_last Function that returns the last Bytes item in the list\n @param _function_next Function that returns the Next Bytes item in the list\n @param _function_previous Function that returns previous Bytes item in the list\n @param _from_start whether to read in the forwards ( or backwards) direction\n @return {\"_bytes_items\" :\"Collection/list of Bytes\"}\n */\n function list_indexed_bytesarray_from(bytes32 _collection_index, bytes32 _current_item, uint256 _count,\n function (bytes32) external constant returns (bytes32) _function_first,\n function (bytes32) external constant returns (bytes32) _function_last,\n function (bytes32, bytes32) external constant returns (bytes32) _function_next,\n function (bytes32, bytes32) external constant returns (bytes32) _function_previous,\n bool _from_start)\n internal\n constant\n returns (bytes32[] _indexed_bytes_items)\n {\n if (_from_start) {\n _indexed_bytes_items = private_list_indexed_bytes_from_bytes(_collection_index, _current_item, _count, false, _function_last, _function_next);\n } else {\n _indexed_bytes_items = private_list_indexed_bytes_from_bytes(_collection_index, _current_item, _count, false, _function_first, _function_previous);\n }\n }\n\n /**\n @notice a private function to lists an indexed Bytes collection starting from some `_current_item` (which could be included or excluded), in the forwards or backwards direction\n @param _collection_index Index of the Collection to list\n @param _current_item The item where we start reading from the list\n @param _count Total number of Bytes items to return\n @param _including_current Whether the `_current_item` should be included in the result\n @param _function_last Function that returns the bytes where we stop reading more bytes\n @param _function_next Function that returns the next bytes to read after another bytes (could be backwards or forwards in the physical collection)\n @return {\"_bytes_items\" :\"Collection/list of Bytes\"}\n */\n function private_list_indexed_bytes_from_bytes(bytes32 _collection_index, bytes32 _current_item, uint256 _count, bool _including_current,\n function (bytes32) external constant returns (bytes32) _function_last,\n function (bytes32, bytes32) external constant returns (bytes32) _function_next)\n private\n constant\n returns (bytes32[] _indexed_bytes_items)\n {\n uint256 _i;\n uint256 _real_count = 0;\n bytes32 _last_item;\n\n _last_item = _function_last(_collection_index);\n if (_count == 0 || _last_item == bytes32(0x0)) { // if count is 0 or the collection is empty, returns empty array\n _indexed_bytes_items = new bytes32[](0);\n } else {\n bytes32[] memory _items_temp = new bytes32[](_count);\n bytes32 _this_item;\n if (_including_current) {\n _items_temp[0] = _current_item;\n _real_count = 1;\n }\n _this_item = _current_item;\n for (_i = _real_count; (_i < _count) && (_this_item != _last_item);_i++) {\n _this_item = _function_next(_collection_index, _this_item);\n if (_this_item != bytes32(0x0)) {\n _real_count++;\n _items_temp[_i] = _this_item;\n }\n }\n\n _indexed_bytes_items = new bytes32[](_real_count);\n for(_i = 0;_i < _real_count;_i++) {\n _indexed_bytes_items[_i] = _items_temp[_i];\n }\n }\n }\n\n\n // old function, DEPRECATED\n /*function list_indexed_bytes_from_bytes(bytes32 _collection_index, bytes32 _current_item, uint256 _count,\n function (bytes32) external constant returns (bytes32) _function_last,\n function (bytes32, bytes32) external constant returns (bytes32) _function_next)\n private\n constant\n returns (bytes32[] _indexed_bytes_items)\n {\n uint256 _i;\n uint256 _real_count = 0;\n if (_count == 0) {\n _indexed_bytes_items = new bytes32[](0);\n } else {\n bytes32[] memory _items_temp = new bytes32[](_count);\n\n bytes32 _start_item;\n bytes32 _last_item;\n\n _last_item = _function_last(_collection_index);\n\n if (_last_item != _current_item) {\n _start_item = _function_next(_collection_index, _current_item);\n if (_start_item != bytes32(0x0)) {\n _items_temp[0] = _start_item;\n _real_count = 1;\n for(_i = 1;(_i <= (_count - 1)) && (_start_item != _last_item);_i++) {\n _start_item = _function_next(_collection_index, _start_item);\n if (_start_item != bytes32(0x0)) {\n _real_count++;\n _items_temp[_i] = _start_item;\n }\n }\n _indexed_bytes_items = new bytes32[](_real_count);\n for(_i = 0;_i <= (_real_count - 1);_i++) {\n _indexed_bytes_items[_i] = _items_temp[_i];\n }\n } else {\n _indexed_bytes_items = new bytes32[](0);\n }\n } else {\n _indexed_bytes_items = new bytes32[](0);\n }\n }\n }*/\n\n\n}\n", + "sourcePath": "@digix/solidity-collections/contracts/abstract/IndexedBytesIteratorInteractive.sol", + "ast": { + "absolutePath": "@digix/solidity-collections/contracts/abstract/IndexedBytesIteratorInteractive.sol", + "exportedSymbols": { + "IndexedBytesIteratorInteractive": [ + 22904 + ] + }, + "id": 22905, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 22579, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:79" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Indexed Bytes Iterator Interactive\n@author DigixGlobal Pte Ltd", + "fullyImplemented": true, + "id": 22904, + "linearizedBaseContracts": [ + 22904 + ], + "name": "IndexedBytesIteratorInteractive", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 22657, + "nodeType": "Block", + "src": "1454:389:79", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 22627, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22621, + "src": "1464:11:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 22655, + "nodeType": "Block", + "src": "1659:180:79", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22642, + "name": "_indexed_bytes_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22625, + "src": "1667:20:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22644, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22581, + "src": "1728:17:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22646, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22581, + "src": "1762:17:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 22645, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22599, + "src": "1747:14:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + "id": 22647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1747:33:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22648, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22583, + "src": "1782:6:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 22649, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1790:4:79", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "id": 22650, + "name": "_function_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22591, + "src": "1796:15:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 22651, + "name": "_function_previous", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22619, + "src": "1813:18:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + ], + "id": 22643, + "name": "private_list_indexed_bytes_from_bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22903, + "src": "1690:37:79", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_bool_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,bytes32,uint256,bool,function (bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32)) view returns (bytes32[] memory)" + } + }, + "id": 22652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1690:142:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "1667:165:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22654, + "nodeType": "ExpressionStatement", + "src": "1667:165:79" + } + ] + }, + "id": 22656, + "nodeType": "IfStatement", + "src": "1460:379:79", + "trueBody": { + "id": 22641, + "nodeType": "Block", + "src": "1477:176:79", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22628, + "name": "_indexed_bytes_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22625, + "src": "1485:20:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22630, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22581, + "src": "1546:17:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22632, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22581, + "src": "1581:17:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 22631, + "name": "_function_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22591, + "src": "1565:15:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + "id": 22633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1565:34:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22634, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22583, + "src": "1601:6:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 22635, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1609:4:79", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "id": 22636, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22599, + "src": "1615:14:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 22637, + "name": "_function_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22609, + "src": "1631:14:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + ], + "id": 22629, + "name": "private_list_indexed_bytes_from_bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22903, + "src": "1508:37:79", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_bool_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,bytes32,uint256,bool,function (bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32)) view returns (bytes32[] memory)" + } + }, + "id": 22638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1508:138:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "1485:161:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22640, + "nodeType": "ExpressionStatement", + "src": "1485:161:79" + } + ] + } + } + ] + }, + "documentation": "@notice Lists an indexed Bytes collection from start or end\n@param _collection_index Index of the Collection to list\n@param _count Total number of Bytes items to return\n@param _function_first Function that returns the First Bytes item in the list\n@param _function_last Function that returns the last Bytes item in the list\n@param _function_next Function that returns the Next Bytes item in the list\n@param _function_previous Function that returns previous Bytes item in the list\n@param _from_start whether to read from start (or end) of the list\n@return {\"_bytes_items\" : \"Collection of reversed Bytes list\"}", + "id": 22658, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "list_indexed_bytesarray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22622, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22581, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "842:25:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22580, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "842:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22583, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "869:14:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22582, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "869:7:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22591, + "name": "_function_first", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "915:70:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22590, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22586, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22585, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "925:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22584, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "925:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "924:9:79" + }, + "payable": false, + "returnParameterTypes": { + "id": 22589, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22588, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "961:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22587, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "961:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "960:9:79" + }, + "src": "915:70:79", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22599, + "name": "_function_last", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1017:69:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22598, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22594, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22593, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1027:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22592, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1027:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1026:9:79" + }, + "payable": false, + "returnParameterTypes": { + "id": 22597, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22596, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1063:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22595, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1063:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1062:9:79" + }, + "src": "1017:69:79", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22609, + "name": "_function_next", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1118:78:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22608, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22604, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22601, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1128:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22600, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1128:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22603, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1137:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22602, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1137:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1127:18:79" + }, + "payable": false, + "returnParameterTypes": { + "id": 22607, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22606, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1173:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22605, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1173:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1172:9:79" + }, + "src": "1118:78:79", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22619, + "name": "_function_previous", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1228:82:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22618, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22614, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22611, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1238:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22610, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1238:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22613, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1247:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22612, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1247:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1237:18:79" + }, + "payable": false, + "returnParameterTypes": { + "id": 22617, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22616, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1283:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22615, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1283:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1282:9:79" + }, + "src": "1228:82:79", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22621, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1342:16:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22620, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1342:4:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "841:518:79" + }, + "payable": false, + "returnParameters": { + "id": 22626, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22625, + "name": "_indexed_bytes_items", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1420:30:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 22623, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1420:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22624, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1420:9:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1419:32:79" + }, + "scope": 22904, + "src": "809:1034:79", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22734, + "nodeType": "Block", + "src": "3292:350:79", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 22708, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22702, + "src": "3302:11:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 22732, + "nodeType": "Block", + "src": "3477:161:79", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22721, + "name": "_indexed_bytes_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22706, + "src": "3485:20:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22723, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22660, + "src": "3546:17:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22724, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22662, + "src": "3565:13:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22725, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22664, + "src": "3580:6:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 22726, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3588:5:79", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "id": 22727, + "name": "_function_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22672, + "src": "3595:15:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 22728, + "name": "_function_previous", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22700, + "src": "3612:18:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + ], + "id": 22722, + "name": "private_list_indexed_bytes_from_bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22903, + "src": "3508:37:79", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_bool_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,bytes32,uint256,bool,function (bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32)) view returns (bytes32[] memory)" + } + }, + "id": 22729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3508:123:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "3485:146:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22731, + "nodeType": "ExpressionStatement", + "src": "3485:146:79" + } + ] + }, + "id": 22733, + "nodeType": "IfStatement", + "src": "3298:340:79", + "trueBody": { + "id": 22720, + "nodeType": "Block", + "src": "3315:156:79", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22709, + "name": "_indexed_bytes_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22706, + "src": "3323:20:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22711, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22660, + "src": "3384:17:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22712, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22662, + "src": "3403:13:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22713, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22664, + "src": "3418:6:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 22714, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3426:5:79", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "id": 22715, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22680, + "src": "3433:14:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 22716, + "name": "_function_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22690, + "src": "3449:14:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + ], + "id": 22710, + "name": "private_list_indexed_bytes_from_bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22903, + "src": "3346:37:79", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_bool_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,bytes32,uint256,bool,function (bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32)) view returns (bytes32[] memory)" + } + }, + "id": 22717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3346:118:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "3323:141:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22719, + "nodeType": "ExpressionStatement", + "src": "3323:141:79" + } + ] + } + } + ] + }, + "documentation": "@notice Lists an indexed Bytes collection from some `_current_item`, going forwards or backwards depending on `_from_start`\n@param _collection_index Index of the Collection to list\n@param _current_item The current Item\n@param _count Total number of Bytes items to return\n@param _function_first Function that returns the First Bytes item in the list\n@param _function_last Function that returns the last Bytes item in the list\n@param _function_next Function that returns the Next Bytes item in the list\n@param _function_previous Function that returns previous Bytes item in the list\n@param _from_start whether to read in the forwards ( or backwards) direction\n@return {\"_bytes_items\" :\"Collection/list of Bytes\"}", + "id": 22735, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "list_indexed_bytesarray_from", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22703, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22660, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2647:25:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22659, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2647:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22662, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2674:21:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22661, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2674:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22664, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2697:14:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22663, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2697:7:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22672, + "name": "_function_first", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2745:70:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22671, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22667, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22666, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2755:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22665, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2755:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2754:9:79" + }, + "payable": false, + "returnParameterTypes": { + "id": 22670, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22669, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2791:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22668, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2791:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2790:9:79" + }, + "src": "2745:70:79", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22680, + "name": "_function_last", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2849:69:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22679, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22675, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22674, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2859:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22673, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2859:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2858:9:79" + }, + "payable": false, + "returnParameterTypes": { + "id": 22678, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22677, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2895:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22676, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2895:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2894:9:79" + }, + "src": "2849:69:79", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22690, + "name": "_function_next", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2952:78:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22689, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22685, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22682, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2962:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22681, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2962:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22684, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2971:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22683, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2971:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2961:18:79" + }, + "payable": false, + "returnParameterTypes": { + "id": 22688, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22687, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "3007:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22686, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3007:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3006:9:79" + }, + "src": "2952:78:79", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22700, + "name": "_function_previous", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "3064:82:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22699, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22695, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22692, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "3074:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22691, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3074:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22694, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "3083:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22693, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3083:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3073:18:79" + }, + "payable": false, + "returnParameterTypes": { + "id": 22698, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22697, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "3119:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22696, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3119:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3118:9:79" + }, + "src": "3064:82:79", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22702, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "3180:16:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22701, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3180:4:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2646:551:79" + }, + "payable": false, + "returnParameters": { + "id": 22707, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22706, + "name": "_indexed_bytes_items", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "3258:30:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 22704, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3258:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22705, + "length": null, + "nodeType": "ArrayTypeName", + "src": "3258:9:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3257:32:79" + }, + "scope": 22904, + "src": "2609:1033:79", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22902, + "nodeType": "Block", + "src": "4880:971:79", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 22768, + "name": "_i", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4886:10:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22767, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4886:7:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 22769, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4886:10:79" + }, + { + "assignments": [ + 22771 + ], + "declarations": [ + { + "constant": false, + "id": 22771, + "name": "_real_count", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4902:19:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22770, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4902:7:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 22773, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 22772, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4924:1:79", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4902:23:79" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 22775, + "name": "_last_item", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4931:18:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22774, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4931:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 22776, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4931:18:79" + }, + { + "expression": { + "argumentTypes": null, + "id": 22781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22777, + "name": "_last_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22775, + "src": "4956:10:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22779, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22737, + "src": "4984:17:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 22778, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22751, + "src": "4969:14:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + "id": 22780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4969:33:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4956:46:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22782, + "nodeType": "ExpressionStatement", + "src": "4956:46:79" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 22791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 22785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22783, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22741, + "src": "5012:6:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 22784, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5022:1:79", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5012:11:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 22790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22786, + "name": "_last_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22775, + "src": "5027:10:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 22788, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5049:3:79", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 22787, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5041:7:79", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 22789, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5041:12:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5027:26:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5012:41:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 22900, + "nodeType": "Block", + "src": "5181:666:79", + "statements": [ + { + "assignments": [ + 22804 + ], + "declarations": [ + { + "constant": false, + "id": 22804, + "name": "_items_temp", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "5189:28:79", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 22802, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5189:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22803, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5189:9:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 22810, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22808, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22741, + "src": "5234:6:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 22807, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5220:13:79", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 22805, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5224:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22806, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5224:9:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 22809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5220:21:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5189:52:79" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 22812, + "name": "_this_item", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "5249:18:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22811, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5249:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 22813, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "5249:18:79" + }, + { + "condition": { + "argumentTypes": null, + "id": 22814, + "name": "_including_current", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22743, + "src": "5279:18:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 22826, + "nodeType": "IfStatement", + "src": "5275:98:79", + "trueBody": { + "id": 22825, + "nodeType": "Block", + "src": "5299:74:79", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 22815, + "name": "_items_temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22804, + "src": "5309:11:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22817, + "indexExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 22816, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5321:1:79", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5309:14:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 22818, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22739, + "src": "5326:13:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5309:30:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22820, + "nodeType": "ExpressionStatement", + "src": "5309:30:79" + }, + { + "expression": { + "argumentTypes": null, + "id": 22823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22821, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22771, + "src": "5349:11:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 22822, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5363:1:79", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5349:15:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22824, + "nodeType": "ExpressionStatement", + "src": "5349:15:79" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 22829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22827, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22812, + "src": "5380:10:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 22828, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22739, + "src": "5393:13:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5380:26:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22830, + "nodeType": "ExpressionStatement", + "src": "5380:26:79" + }, + { + "body": { + "id": 22870, + "nodeType": "Block", + "src": "5487:194:79", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22847, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22812, + "src": "5497:10:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22849, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22737, + "src": "5525:17:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22850, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22812, + "src": "5544:10:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 22848, + "name": "_function_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22761, + "src": "5510:14:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + }, + "id": 22851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5510:45:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5497:58:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22853, + "nodeType": "ExpressionStatement", + "src": "5497:58:79" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 22858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22854, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22812, + "src": "5569:10:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 22856, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5591:3:79", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 22855, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5583:7:79", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 22857, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5583:12:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5569:26:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 22869, + "nodeType": "IfStatement", + "src": "5565:108:79", + "trueBody": { + "id": 22868, + "nodeType": "Block", + "src": "5597:76:79", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5609:13:79", + "subExpression": { + "argumentTypes": null, + "id": 22859, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22771, + "src": "5609:11:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22861, + "nodeType": "ExpressionStatement", + "src": "5609:13:79" + }, + { + "expression": { + "argumentTypes": null, + "id": 22866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 22862, + "name": "_items_temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22804, + "src": "5634:11:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22864, + "indexExpression": { + "argumentTypes": null, + "id": 22863, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22768, + "src": "5646:2:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5634:15:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 22865, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22812, + "src": "5652:10:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5634:28:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22867, + "nodeType": "ExpressionStatement", + "src": "5634:28:79" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 22843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 22837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22835, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22768, + "src": "5438:2:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 22836, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22741, + "src": "5443:6:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5438:11:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 22838, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5437:13:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 22841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22839, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22812, + "src": "5455:10:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 22840, + "name": "_last_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22775, + "src": "5469:10:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5455:24:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 22842, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5454:26:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5437:43:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 22871, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 22833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22831, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22768, + "src": "5419:2:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 22832, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22771, + "src": "5424:11:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5419:16:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22834, + "nodeType": "ExpressionStatement", + "src": "5419:16:79" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 22845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5481:4:79", + "subExpression": { + "argumentTypes": null, + "id": 22844, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22768, + "src": "5481:2:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22846, + "nodeType": "ExpressionStatement", + "src": "5481:4:79" + }, + "nodeType": "ForStatement", + "src": "5414:267:79" + }, + { + "expression": { + "argumentTypes": null, + "id": 22878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22872, + "name": "_indexed_bytes_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22765, + "src": "5689:20:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22876, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22771, + "src": "5726:11:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 22875, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5712:13:79", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 22873, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5716:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22874, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5716:9:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 22877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5712:26:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory", + "typeString": "bytes32[] memory" + } + }, + "src": "5689:49:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22879, + "nodeType": "ExpressionStatement", + "src": "5689:49:79" + }, + { + "body": { + "id": 22898, + "nodeType": "Block", + "src": "5780:61:79", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 22890, + "name": "_indexed_bytes_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22765, + "src": "5790:20:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22892, + "indexExpression": { + "argumentTypes": null, + "id": 22891, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22768, + "src": "5811:2:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5790:24:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 22893, + "name": "_items_temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22804, + "src": "5817:11:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22895, + "indexExpression": { + "argumentTypes": null, + "id": 22894, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22768, + "src": "5829:2:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5817:15:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5790:42:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22897, + "nodeType": "ExpressionStatement", + "src": "5790:42:79" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 22886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22884, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22768, + "src": "5757:2:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 22885, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22771, + "src": "5762:11:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5757:16:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 22899, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 22882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22880, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22768, + "src": "5750:2:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 22881, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5755:1:79", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5750:6:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22883, + "nodeType": "ExpressionStatement", + "src": "5750:6:79" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 22888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5774:4:79", + "subExpression": { + "argumentTypes": null, + "id": 22887, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22768, + "src": "5774:2:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22889, + "nodeType": "ExpressionStatement", + "src": "5774:4:79" + }, + "nodeType": "ForStatement", + "src": "5746:95:79" + } + ] + }, + "id": 22901, + "nodeType": "IfStatement", + "src": "5008:839:79", + "trueBody": { + "id": 22800, + "nodeType": "Block", + "src": "5055:120:79", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22792, + "name": "_indexed_bytes_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22765, + "src": "5129:20:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 22796, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5166:1:79", + "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": 22795, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5152:13:79", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 22793, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5156:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22794, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5156:9:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 22797, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5152:16:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory", + "typeString": "bytes32[] memory" + } + }, + "src": "5129:39:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22799, + "nodeType": "ExpressionStatement", + "src": "5129:39:79" + } + ] + } + } + ] + }, + "documentation": "@notice a private function to lists an indexed Bytes collection starting from some `_current_item` (which could be included or excluded), in the forwards or backwards direction\n@param _collection_index Index of the Collection to list\n@param _current_item The item where we start reading from the list\n@param _count Total number of Bytes items to return\n@param _including_current Whether the `_current_item` should be included in the result\n@param _function_last Function that returns the bytes where we stop reading more bytes\n@param _function_next Function that returns the next bytes to read after another bytes (could be backwards or forwards in the physical collection)\n@return {\"_bytes_items\" :\"Collection/list of Bytes\"}", + "id": 22903, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "private_list_indexed_bytes_from_bytes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22762, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22737, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4463:25:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22736, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4463:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22739, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4490:21:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22738, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4490:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22741, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4513:14:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22740, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4513:7:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22743, + "name": "_including_current", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4529:23:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22742, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4529:4:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22751, + "name": "_function_last", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4595:69:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22750, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22746, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22745, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4605:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22744, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4605:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4604:9:79" + }, + "payable": false, + "returnParameterTypes": { + "id": 22749, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22748, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4641:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22747, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4641:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4640:9:79" + }, + "src": "4595:69:79", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22761, + "name": "_function_next", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4707:78:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22760, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22756, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22753, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4717:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22752, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4717:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22755, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4726:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22754, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4726:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4716:18:79" + }, + "payable": false, + "returnParameterTypes": { + "id": 22759, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22758, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4762:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22757, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4762:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4761:9:79" + }, + "src": "4707:78:79", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4462:324:79" + }, + "payable": false, + "returnParameters": { + "id": 22766, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22765, + "name": "_indexed_bytes_items", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4846:30:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 22763, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4846:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22764, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4846:9:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4845:32:79" + }, + "scope": 22904, + "src": "4416:1435:79", + "stateMutability": "view", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 22905, + "src": "107:7384:79" + } + ], + "src": "0:7492:79" + }, + "legacyAST": { + "absolutePath": "@digix/solidity-collections/contracts/abstract/IndexedBytesIteratorInteractive.sol", + "exportedSymbols": { + "IndexedBytesIteratorInteractive": [ + 22904 + ] + }, + "id": 22905, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 22579, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:79" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Indexed Bytes Iterator Interactive\n@author DigixGlobal Pte Ltd", + "fullyImplemented": true, + "id": 22904, + "linearizedBaseContracts": [ + 22904 + ], + "name": "IndexedBytesIteratorInteractive", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 22657, + "nodeType": "Block", + "src": "1454:389:79", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 22627, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22621, + "src": "1464:11:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 22655, + "nodeType": "Block", + "src": "1659:180:79", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22642, + "name": "_indexed_bytes_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22625, + "src": "1667:20:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22644, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22581, + "src": "1728:17:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22646, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22581, + "src": "1762:17:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 22645, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22599, + "src": "1747:14:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + "id": 22647, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1747:33:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22648, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22583, + "src": "1782:6:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 22649, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1790:4:79", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "id": 22650, + "name": "_function_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22591, + "src": "1796:15:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 22651, + "name": "_function_previous", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22619, + "src": "1813:18:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + ], + "id": 22643, + "name": "private_list_indexed_bytes_from_bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22903, + "src": "1690:37:79", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_bool_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,bytes32,uint256,bool,function (bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32)) view returns (bytes32[] memory)" + } + }, + "id": 22652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1690:142:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "1667:165:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22654, + "nodeType": "ExpressionStatement", + "src": "1667:165:79" + } + ] + }, + "id": 22656, + "nodeType": "IfStatement", + "src": "1460:379:79", + "trueBody": { + "id": 22641, + "nodeType": "Block", + "src": "1477:176:79", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22628, + "name": "_indexed_bytes_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22625, + "src": "1485:20:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22630, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22581, + "src": "1546:17:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22632, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22581, + "src": "1581:17:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 22631, + "name": "_function_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22591, + "src": "1565:15:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + "id": 22633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1565:34:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22634, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22583, + "src": "1601:6:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 22635, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1609:4:79", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "id": 22636, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22599, + "src": "1615:14:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 22637, + "name": "_function_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22609, + "src": "1631:14:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + ], + "id": 22629, + "name": "private_list_indexed_bytes_from_bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22903, + "src": "1508:37:79", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_bool_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,bytes32,uint256,bool,function (bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32)) view returns (bytes32[] memory)" + } + }, + "id": 22638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1508:138:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "1485:161:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22640, + "nodeType": "ExpressionStatement", + "src": "1485:161:79" + } + ] + } + } + ] + }, + "documentation": "@notice Lists an indexed Bytes collection from start or end\n@param _collection_index Index of the Collection to list\n@param _count Total number of Bytes items to return\n@param _function_first Function that returns the First Bytes item in the list\n@param _function_last Function that returns the last Bytes item in the list\n@param _function_next Function that returns the Next Bytes item in the list\n@param _function_previous Function that returns previous Bytes item in the list\n@param _from_start whether to read from start (or end) of the list\n@return {\"_bytes_items\" : \"Collection of reversed Bytes list\"}", + "id": 22658, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "list_indexed_bytesarray", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22622, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22581, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "842:25:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22580, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "842:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22583, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "869:14:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22582, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "869:7:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22591, + "name": "_function_first", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "915:70:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22590, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22586, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22585, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "925:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22584, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "925:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "924:9:79" + }, + "payable": false, + "returnParameterTypes": { + "id": 22589, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22588, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "961:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22587, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "961:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "960:9:79" + }, + "src": "915:70:79", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22599, + "name": "_function_last", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1017:69:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22598, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22594, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22593, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1027:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22592, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1027:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1026:9:79" + }, + "payable": false, + "returnParameterTypes": { + "id": 22597, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22596, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1063:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22595, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1063:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1062:9:79" + }, + "src": "1017:69:79", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22609, + "name": "_function_next", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1118:78:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22608, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22604, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22601, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1128:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22600, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1128:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22603, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1137:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22602, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1137:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1127:18:79" + }, + "payable": false, + "returnParameterTypes": { + "id": 22607, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22606, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1173:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22605, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1173:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1172:9:79" + }, + "src": "1118:78:79", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22619, + "name": "_function_previous", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1228:82:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22618, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22614, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22611, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1238:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22610, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1238:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22613, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1247:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22612, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1247:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1237:18:79" + }, + "payable": false, + "returnParameterTypes": { + "id": 22617, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22616, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1283:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22615, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1283:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1282:9:79" + }, + "src": "1228:82:79", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22621, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1342:16:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22620, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1342:4:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "841:518:79" + }, + "payable": false, + "returnParameters": { + "id": 22626, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22625, + "name": "_indexed_bytes_items", + "nodeType": "VariableDeclaration", + "scope": 22658, + "src": "1420:30:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 22623, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1420:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22624, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1420:9:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1419:32:79" + }, + "scope": 22904, + "src": "809:1034:79", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22734, + "nodeType": "Block", + "src": "3292:350:79", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 22708, + "name": "_from_start", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22702, + "src": "3302:11:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 22732, + "nodeType": "Block", + "src": "3477:161:79", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22721, + "name": "_indexed_bytes_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22706, + "src": "3485:20:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22723, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22660, + "src": "3546:17:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22724, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22662, + "src": "3565:13:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22725, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22664, + "src": "3580:6:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 22726, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3588:5:79", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "id": 22727, + "name": "_function_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22672, + "src": "3595:15:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 22728, + "name": "_function_previous", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22700, + "src": "3612:18:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + ], + "id": 22722, + "name": "private_list_indexed_bytes_from_bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22903, + "src": "3508:37:79", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_bool_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,bytes32,uint256,bool,function (bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32)) view returns (bytes32[] memory)" + } + }, + "id": 22729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3508:123:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "3485:146:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22731, + "nodeType": "ExpressionStatement", + "src": "3485:146:79" + } + ] + }, + "id": 22733, + "nodeType": "IfStatement", + "src": "3298:340:79", + "trueBody": { + "id": 22720, + "nodeType": "Block", + "src": "3315:156:79", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22709, + "name": "_indexed_bytes_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22706, + "src": "3323:20:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22711, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22660, + "src": "3384:17:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22712, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22662, + "src": "3403:13:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22713, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22664, + "src": "3418:6:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 22714, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3426:5:79", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "id": 22715, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22680, + "src": "3433:14:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + { + "argumentTypes": null, + "id": 22716, + "name": "_function_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22690, + "src": "3449:14:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + ], + "id": 22710, + "name": "private_list_indexed_bytes_from_bytes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22903, + "src": "3346:37:79", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_bool_$_t_function_external_view$_t_bytes32_$returns$_t_bytes32_$_$_t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$", + "typeString": "function (bytes32,bytes32,uint256,bool,function (bytes32) view external returns (bytes32),function (bytes32,bytes32) view external returns (bytes32)) view returns (bytes32[] memory)" + } + }, + "id": 22717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3346:118:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "3323:141:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22719, + "nodeType": "ExpressionStatement", + "src": "3323:141:79" + } + ] + } + } + ] + }, + "documentation": "@notice Lists an indexed Bytes collection from some `_current_item`, going forwards or backwards depending on `_from_start`\n@param _collection_index Index of the Collection to list\n@param _current_item The current Item\n@param _count Total number of Bytes items to return\n@param _function_first Function that returns the First Bytes item in the list\n@param _function_last Function that returns the last Bytes item in the list\n@param _function_next Function that returns the Next Bytes item in the list\n@param _function_previous Function that returns previous Bytes item in the list\n@param _from_start whether to read in the forwards ( or backwards) direction\n@return {\"_bytes_items\" :\"Collection/list of Bytes\"}", + "id": 22735, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "list_indexed_bytesarray_from", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22703, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22660, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2647:25:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22659, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2647:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22662, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2674:21:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22661, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2674:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22664, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2697:14:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22663, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2697:7:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22672, + "name": "_function_first", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2745:70:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22671, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22667, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22666, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2755:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22665, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2755:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2754:9:79" + }, + "payable": false, + "returnParameterTypes": { + "id": 22670, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22669, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2791:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22668, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2791:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2790:9:79" + }, + "src": "2745:70:79", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22680, + "name": "_function_last", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2849:69:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22679, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22675, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22674, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2859:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22673, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2859:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2858:9:79" + }, + "payable": false, + "returnParameterTypes": { + "id": 22678, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22677, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2895:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22676, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2895:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2894:9:79" + }, + "src": "2849:69:79", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22690, + "name": "_function_next", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2952:78:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22689, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22685, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22682, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2962:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22681, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2962:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22684, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "2971:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22683, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2971:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2961:18:79" + }, + "payable": false, + "returnParameterTypes": { + "id": 22688, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22687, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "3007:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22686, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3007:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3006:9:79" + }, + "src": "2952:78:79", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22700, + "name": "_function_previous", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "3064:82:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22699, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22695, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22692, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "3074:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22691, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3074:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22694, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "3083:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22693, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3083:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3073:18:79" + }, + "payable": false, + "returnParameterTypes": { + "id": 22698, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22697, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "3119:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22696, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3119:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3118:9:79" + }, + "src": "3064:82:79", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22702, + "name": "_from_start", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "3180:16:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22701, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3180:4:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2646:551:79" + }, + "payable": false, + "returnParameters": { + "id": 22707, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22706, + "name": "_indexed_bytes_items", + "nodeType": "VariableDeclaration", + "scope": 22735, + "src": "3258:30:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 22704, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3258:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22705, + "length": null, + "nodeType": "ArrayTypeName", + "src": "3258:9:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3257:32:79" + }, + "scope": 22904, + "src": "2609:1033:79", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22902, + "nodeType": "Block", + "src": "4880:971:79", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 22768, + "name": "_i", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4886:10:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22767, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4886:7:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 22769, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4886:10:79" + }, + { + "assignments": [ + 22771 + ], + "declarations": [ + { + "constant": false, + "id": 22771, + "name": "_real_count", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4902:19:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22770, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4902:7:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 22773, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 22772, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4924:1:79", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4902:23:79" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 22775, + "name": "_last_item", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4931:18:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22774, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4931:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 22776, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "4931:18:79" + }, + { + "expression": { + "argumentTypes": null, + "id": 22781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22777, + "name": "_last_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22775, + "src": "4956:10:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22779, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22737, + "src": "4984:17:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 22778, + "name": "_function_last", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22751, + "src": "4969:14:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + "id": 22780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4969:33:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4956:46:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22782, + "nodeType": "ExpressionStatement", + "src": "4956:46:79" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 22791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 22785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22783, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22741, + "src": "5012:6:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 22784, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5022:1:79", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5012:11:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 22790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22786, + "name": "_last_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22775, + "src": "5027:10:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 22788, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5049:3:79", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 22787, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5041:7:79", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 22789, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5041:12:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5027:26:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5012:41:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 22900, + "nodeType": "Block", + "src": "5181:666:79", + "statements": [ + { + "assignments": [ + 22804 + ], + "declarations": [ + { + "constant": false, + "id": 22804, + "name": "_items_temp", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "5189:28:79", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 22802, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5189:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22803, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5189:9:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 22810, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22808, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22741, + "src": "5234:6:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 22807, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5220:13:79", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 22805, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5224:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22806, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5224:9:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 22809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5220:21:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5189:52:79" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 22812, + "name": "_this_item", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "5249:18:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22811, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5249:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 22813, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "5249:18:79" + }, + { + "condition": { + "argumentTypes": null, + "id": 22814, + "name": "_including_current", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22743, + "src": "5279:18:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 22826, + "nodeType": "IfStatement", + "src": "5275:98:79", + "trueBody": { + "id": 22825, + "nodeType": "Block", + "src": "5299:74:79", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 22815, + "name": "_items_temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22804, + "src": "5309:11:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22817, + "indexExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 22816, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5321:1:79", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5309:14:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 22818, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22739, + "src": "5326:13:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5309:30:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22820, + "nodeType": "ExpressionStatement", + "src": "5309:30:79" + }, + { + "expression": { + "argumentTypes": null, + "id": 22823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22821, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22771, + "src": "5349:11:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 22822, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5363:1:79", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5349:15:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22824, + "nodeType": "ExpressionStatement", + "src": "5349:15:79" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 22829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22827, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22812, + "src": "5380:10:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 22828, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22739, + "src": "5393:13:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5380:26:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22830, + "nodeType": "ExpressionStatement", + "src": "5380:26:79" + }, + { + "body": { + "id": 22870, + "nodeType": "Block", + "src": "5487:194:79", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22847, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22812, + "src": "5497:10:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22849, + "name": "_collection_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22737, + "src": "5525:17:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 22850, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22812, + "src": "5544:10:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 22848, + "name": "_function_next", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22761, + "src": "5510:14:79", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + } + }, + "id": 22851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5510:45:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5497:58:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22853, + "nodeType": "ExpressionStatement", + "src": "5497:58:79" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 22858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22854, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22812, + "src": "5569:10:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 22856, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5591:3:79", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 22855, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5583:7:79", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 22857, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5583:12:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5569:26:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 22869, + "nodeType": "IfStatement", + "src": "5565:108:79", + "trueBody": { + "id": 22868, + "nodeType": "Block", + "src": "5597:76:79", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5609:13:79", + "subExpression": { + "argumentTypes": null, + "id": 22859, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22771, + "src": "5609:11:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22861, + "nodeType": "ExpressionStatement", + "src": "5609:13:79" + }, + { + "expression": { + "argumentTypes": null, + "id": 22866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 22862, + "name": "_items_temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22804, + "src": "5634:11:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22864, + "indexExpression": { + "argumentTypes": null, + "id": 22863, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22768, + "src": "5646:2:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5634:15:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 22865, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22812, + "src": "5652:10:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5634:28:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22867, + "nodeType": "ExpressionStatement", + "src": "5634:28:79" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 22843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 22837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22835, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22768, + "src": "5438:2:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 22836, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22741, + "src": "5443:6:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5438:11:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 22838, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5437:13:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 22841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22839, + "name": "_this_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22812, + "src": "5455:10:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 22840, + "name": "_last_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22775, + "src": "5469:10:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5455:24:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 22842, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5454:26:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5437:43:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 22871, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 22833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22831, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22768, + "src": "5419:2:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 22832, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22771, + "src": "5424:11:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5419:16:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22834, + "nodeType": "ExpressionStatement", + "src": "5419:16:79" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 22845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5481:4:79", + "subExpression": { + "argumentTypes": null, + "id": 22844, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22768, + "src": "5481:2:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22846, + "nodeType": "ExpressionStatement", + "src": "5481:4:79" + }, + "nodeType": "ForStatement", + "src": "5414:267:79" + }, + { + "expression": { + "argumentTypes": null, + "id": 22878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22872, + "name": "_indexed_bytes_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22765, + "src": "5689:20:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22876, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22771, + "src": "5726:11:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 22875, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5712:13:79", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 22873, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5716:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22874, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5716:9:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 22877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5712:26:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory", + "typeString": "bytes32[] memory" + } + }, + "src": "5689:49:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22879, + "nodeType": "ExpressionStatement", + "src": "5689:49:79" + }, + { + "body": { + "id": 22898, + "nodeType": "Block", + "src": "5780:61:79", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 22890, + "name": "_indexed_bytes_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22765, + "src": "5790:20:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22892, + "indexExpression": { + "argumentTypes": null, + "id": 22891, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22768, + "src": "5811:2:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5790:24:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 22893, + "name": "_items_temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22804, + "src": "5817:11:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22895, + "indexExpression": { + "argumentTypes": null, + "id": 22894, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22768, + "src": "5829:2:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5817:15:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "5790:42:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22897, + "nodeType": "ExpressionStatement", + "src": "5790:42:79" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 22886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 22884, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22768, + "src": "5757:2:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 22885, + "name": "_real_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22771, + "src": "5762:11:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5757:16:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 22899, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 22882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22880, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22768, + "src": "5750:2:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 22881, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5755:1:79", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5750:6:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22883, + "nodeType": "ExpressionStatement", + "src": "5750:6:79" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 22888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5774:4:79", + "subExpression": { + "argumentTypes": null, + "id": 22887, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22768, + "src": "5774:2:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22889, + "nodeType": "ExpressionStatement", + "src": "5774:4:79" + }, + "nodeType": "ForStatement", + "src": "5746:95:79" + } + ] + }, + "id": 22901, + "nodeType": "IfStatement", + "src": "5008:839:79", + "trueBody": { + "id": 22800, + "nodeType": "Block", + "src": "5055:120:79", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22792, + "name": "_indexed_bytes_items", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22765, + "src": "5129:20:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 22796, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5166:1:79", + "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": 22795, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "5152:13:79", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_$", + "typeString": "function (uint256) pure returns (bytes32[] memory)" + }, + "typeName": { + "baseType": { + "id": 22793, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5156:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22794, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5156:9:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + } + }, + "id": 22797, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5152:16:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory", + "typeString": "bytes32[] memory" + } + }, + "src": "5129:39:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 22799, + "nodeType": "ExpressionStatement", + "src": "5129:39:79" + } + ] + } + } + ] + }, + "documentation": "@notice a private function to lists an indexed Bytes collection starting from some `_current_item` (which could be included or excluded), in the forwards or backwards direction\n@param _collection_index Index of the Collection to list\n@param _current_item The item where we start reading from the list\n@param _count Total number of Bytes items to return\n@param _including_current Whether the `_current_item` should be included in the result\n@param _function_last Function that returns the bytes where we stop reading more bytes\n@param _function_next Function that returns the next bytes to read after another bytes (could be backwards or forwards in the physical collection)\n@return {\"_bytes_items\" :\"Collection/list of Bytes\"}", + "id": 22903, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "private_list_indexed_bytes_from_bytes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22762, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22737, + "name": "_collection_index", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4463:25:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22736, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4463:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22739, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4490:21:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22738, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4490:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22741, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4513:14:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22740, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4513:7:79", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22743, + "name": "_including_current", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4529:23:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 22742, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4529:4:79", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22751, + "name": "_function_last", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4595:69:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22750, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22746, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22745, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4605:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22744, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4605:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4604:9:79" + }, + "payable": false, + "returnParameterTypes": { + "id": 22749, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22748, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4641:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22747, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4641:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4640:9:79" + }, + "src": "4595:69:79", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22761, + "name": "_function_next", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4707:78:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + "typeName": { + "id": 22760, + "isDeclaredConst": true, + "nodeType": "FunctionTypeName", + "parameterTypes": { + "id": 22756, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22753, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4717:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22752, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4717:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22755, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4726:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22754, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4726:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4716:18:79" + }, + "payable": false, + "returnParameterTypes": { + "id": 22759, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22758, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4762:7:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 22757, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4762:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4761:9:79" + }, + "src": "4707:78:79", + "stateMutability": "view", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32,bytes32) view external returns (bytes32)" + }, + "visibility": "external" + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4462:324:79" + }, + "payable": false, + "returnParameters": { + "id": 22766, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22765, + "name": "_indexed_bytes_items", + "nodeType": "VariableDeclaration", + "scope": 22903, + "src": "4846:30:79", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 22763, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4846:7:79", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 22764, + "length": null, + "nodeType": "ArrayTypeName", + "src": "4846:9:79", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4845:32:79" + }, + "scope": 22904, + "src": "4416:1435:79", + "stateMutability": "view", + "superFunction": null, + "visibility": "private" + } + ], + "scope": 22905, + "src": "107:7384:79" + } + ], + "src": "0:7492:79" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.928Z" +} \ No newline at end of file diff --git a/build/contracts/IntermediateResultsStorage.json b/build/contracts/IntermediateResultsStorage.json new file mode 100644 index 0000000..c7e57ea --- /dev/null +++ b/build/contracts/IntermediateResultsStorage.json @@ -0,0 +1,3922 @@ +{ + "contractName": "IntermediateResultsStorage", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "getIntermediateResults", + "outputs": [ + { + "name": "_countedUntil", + "type": "address" + }, + { + "name": "_currentForCount", + "type": "uint256" + }, + { + "name": "_currentAgainstCount", + "type": "uint256" + }, + { + "name": "_currentSumOfEffectiveBalance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "resetIntermediateResults", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + }, + { + "name": "_countedUntil", + "type": "address" + }, + { + "name": "_currentForCount", + "type": "uint256" + }, + { + "name": "_currentAgainstCount", + "type": "uint256" + }, + { + "name": "_currentSumOfEffectiveBalance", + "type": "uint256" + } + ], + "name": "setIntermediateResults", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f9060001916905534801561113357600080fd5b50604051602080611c6283398101806040528101908080519060200190929190505050611171602f5482611182640100000000026401000000009004565b151561117c57600080fd5b5061140a565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156111e957600080fd5b505af11580156111fd573d6000803e3d6000fd5b505050506040513d602081101561121357600080fd5b810190808051906020019092919050505090506000151581151514156113fe5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156113af57600080fd5b505af11580156113c3573d6000803e3d6000fd5b505050506040513d60208110156113d957600080fd5b810190808051906020019092919050505015156113f557600080fd5b60019150611403565b600091505b5092915050565b610849806114196000396000f300608060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec1461008857806312d0c13b146100df5780633943380c146101655780633f83acff146101985780636e3f777c14610209578063d590f4ab14610278578063db4ecbc1146102a9575b600080fd5b34801561009457600080fd5b5061009d610300565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100eb57600080fd5b5061010e6004803603810190808035600019169060200190929190505050610325565b604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200194505050505060405180910390f35b34801561017157600080fd5b5061017a6103d6565b60405180826000191660001916815260200191505060405180910390f35b3480156101a457600080fd5b506101c760048036038101908080356000191690602001909291905050506103dc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561021557600080fd5b506102766004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001909291905050506104b8565b005b34801561028457600080fd5b506102a760048036038101908080356000191690602001909291905050506105d2565b005b3480156102b557600080fd5b506102be610680565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060706000866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1693506070600086600019166000191681526020019081526020016000206000015492506070600086600019166000191681526020019081526020016000206001015491506070600086600019166000191681526020019081526020016000206002015490509193509193565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561047657600080fd5b505af115801561048a573d6000803e3d6000fd5b505050506040513d60208110156104a057600080fd5b81019080805190602001909291905050509050919050565b6104fa606060405190810160405280601b54600019166000191681526020016018546000191660001916815260200160195460001916600019168152506106a6565b151561050557600080fd5b8360706000876000191660001916815260200190815260200160002060030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260706000876000191660001916815260200190815260200160002060000181905550816070600087600019166000191681526020019081526020016000206001018190555080607060008760001916600019168152602001908152602001600020600201819055505050505050565b610614606060405190810160405280601b54600019166000191681526020016018546000191660001916815260200160195460001916600019168152506106a6565b151561061f57600080fd5b600060706000836000191660001916815260200190815260200160002060030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600060039150600090505b818110156108165760006001026000191684826003811015156106d357fe5b60200201516000191614156106e757610809565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff858360038110151561073257fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561079157600080fd5b505af11580156107a5573d6000803e3d6000fd5b505050506040513d60208110156107bb57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156108085760019250610816565b5b80806001019150506106b4565b50509190505600a165627a7a72305820d4720468ee6084204e27c28cb5b6bc256deb4c7ea35d6873dfc0b8a25d6f93350029", + "deployedBytecode": "0x608060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec1461008857806312d0c13b146100df5780633943380c146101655780633f83acff146101985780636e3f777c14610209578063d590f4ab14610278578063db4ecbc1146102a9575b600080fd5b34801561009457600080fd5b5061009d610300565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100eb57600080fd5b5061010e6004803603810190808035600019169060200190929190505050610325565b604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200194505050505060405180910390f35b34801561017157600080fd5b5061017a6103d6565b60405180826000191660001916815260200191505060405180910390f35b3480156101a457600080fd5b506101c760048036038101908080356000191690602001909291905050506103dc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561021557600080fd5b506102766004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001909291905050506104b8565b005b34801561028457600080fd5b506102a760048036038101908080356000191690602001909291905050506105d2565b005b3480156102b557600080fd5b506102be610680565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060706000866000191660001916815260200190815260200160002060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1693506070600086600019166000191681526020019081526020016000206000015492506070600086600019166000191681526020019081526020016000206001015491506070600086600019166000191681526020019081526020016000206002015490509193509193565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561047657600080fd5b505af115801561048a573d6000803e3d6000fd5b505050506040513d60208110156104a057600080fd5b81019080805190602001909291905050509050919050565b6104fa606060405190810160405280601b54600019166000191681526020016018546000191660001916815260200160195460001916600019168152506106a6565b151561050557600080fd5b8360706000876000191660001916815260200190815260200160002060030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260706000876000191660001916815260200190815260200160002060000181905550816070600087600019166000191681526020019081526020016000206001018190555080607060008760001916600019168152602001908152602001600020600201819055505050505050565b610614606060405190810160405280601b54600019166000191681526020016018546000191660001916815260200160195460001916600019168152506106a6565b151561061f57600080fd5b600060706000836000191660001916815260200190815260200160002060030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600060039150600090505b818110156108165760006001026000191684826003811015156106d357fe5b60200201516000191614156106e757610809565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff858360038110151561073257fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561079157600080fd5b505af11580156107a5573d6000803e3d6000fd5b505050506040513d60208110156107bb57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156108085760019250610816565b5b80806001019150506106b4565b50509190505600a165627a7a72305820d4720468ee6084204e27c28cb5b6bc256deb4c7ea35d6873dfc0b8a25d6f93350029", + "sourceMap": "161:2469:63:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;293:118:63;8:9:-1;5:2;;;30:1;27;20:12;5:2;293:118:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;349:54;354:37;;393:9;349:4;;;:54;;;:::i;:::-;341:63;;;;;;;;293:118;161:2469;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;161:2469:63:-;;;;;;;", + "deployedSourceMap": "161:2469:63:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;1064:598:63;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1064:598:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1943:685:63;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1943:685:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1668:269;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1668:269:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23;;;;;;;;;;;;;:::o;1064:598:63:-;1168:21;1203:24;1241:28;1283:37;1361:22;:28;1384:4;1361:28;;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;1345:57;;1431:22;:28;1454:4;1431:28;;;;;;;;;;;;;;;;;:44;;;1412:63;;1508:22;:28;1531:4;1508:28;;;;;;;;;;;;;;;;;:48;;;1485:71;;1598:22;:28;1621:4;1598:28;;;;;;;;;;;;;;;;;:57;;;1566:89;;1064:598;;;;;:::o;264:18:67:-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;1943:685:63:-;2190:110;;;;;;;;;;2206:28;;2190:110;;;;;;;;;;2236:26;;2190:110;;;;;;;;;;2264:34;;2190:110;;;;;;;;;:14;:110::i;:::-;2182:119;;;;;;;;2355:13;2311:22;:28;2334:4;2311:28;;;;;;;;;;;;;;;;;:41;;;:57;;;;;;;;;;;;;;;;;;2425:16;2378:22;:28;2401:4;2378:28;;;;;;;;;;;;;;;;;:44;;:63;;;;2502:20;2451:22;:28;2474:4;2451:28;;;;;;;;;;;;;;;;;:48;;:71;;;;2592:29;2532:22;:28;2555:4;2532:28;;;;;;;;;;;;;;;;;:57;;:89;;;;1943:685;;;;;:::o;1668:269::-;1753:110;;;;;;;;;;1769:28;;1753:110;;;;;;;;;;1799:26;;1753:110;;;;;;;;;;1827:34;;1753:110;;;;;;;;;:14;:110::i;:::-;1745:119;;;;;;;;1926:3;1874:22;:28;1897:4;1874:28;;;;;;;;;;;;;;;;;:41;;;:56;;;;;;;;;;;;;;;;;;1668:269;:::o;344:31:67:-;;;;;;;;;;;;;:::o;881:350::-;951:12;971:10;1012:9;984:17;971:30;;1024:1;1012:13;;1007:220;1031:2;1027:1;:6;1007:220;;;1077:3;1069:12;;1052:29;;;:10;1063:1;1052:13;;;;;;;;;;;;;:29;;;;1048:43;;;1083:8;;1048:43;1134:8;;;;;;;;;;;1117:39;;;1157:10;1168:1;1157:13;;;;;;;;;;;;;1117:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1117:54:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1117:54:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1117:54:67;;;;;;;;;;;;;;;;1103:68;;:10;:68;;;1099:122;;;1193:4;1183:14;;1207:5;;1099:122;1007:220;1035:3;;;;;;;1007:220;;;881:350;;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"@digix/cacp-contracts-dao/contracts/ResolverClient.sol\";\nimport \"../common/DaoConstants.sol\";\nimport \"../lib/DaoStructs.sol\";\n\ncontract IntermediateResultsStorage is ResolverClient, DaoConstants {\n using DaoStructs for DaoStructs.IntermediateResults;\n\n constructor(address _resolver) public {\n require(init(CONTRACT_STORAGE_INTERMEDIATE_RESULTS, _resolver));\n }\n\n // There are scenarios in which we must loop across all participants/moderators\n // in a function call. For a big number of operations, the function call may be short of gas\n // To tackle this, we use an IntermediateResults struct to store the intermediate results\n // The same function is then called multiple times until all operations are completed\n // If the operations cannot be done in that iteration, the intermediate results are stored\n // else, the final outcome is returned\n // Please check the lib/DaoStructs for docs on this struct\n mapping (bytes32 => DaoStructs.IntermediateResults) allIntermediateResults;\n\n function getIntermediateResults(bytes32 _key)\n public\n view\n returns (\n address _countedUntil,\n uint256 _currentForCount,\n uint256 _currentAgainstCount,\n uint256 _currentSumOfEffectiveBalance\n )\n {\n _countedUntil = allIntermediateResults[_key].countedUntil;\n _currentForCount = allIntermediateResults[_key].currentForCount;\n _currentAgainstCount = allIntermediateResults[_key].currentAgainstCount;\n _currentSumOfEffectiveBalance = allIntermediateResults[_key].currentSumOfEffectiveBalance;\n }\n\n function resetIntermediateResults(bytes32 _key)\n public\n {\n require(sender_is_from([CONTRACT_DAO_REWARDS_MANAGER, CONTRACT_DAO_VOTING_CLAIMS, CONTRACT_DAO_SPECIAL_VOTING_CLAIMS]));\n allIntermediateResults[_key].countedUntil = address(0x0);\n }\n\n function setIntermediateResults(\n bytes32 _key,\n address _countedUntil,\n uint256 _currentForCount,\n uint256 _currentAgainstCount,\n uint256 _currentSumOfEffectiveBalance\n )\n public\n {\n require(sender_is_from([CONTRACT_DAO_REWARDS_MANAGER, CONTRACT_DAO_VOTING_CLAIMS, CONTRACT_DAO_SPECIAL_VOTING_CLAIMS]));\n allIntermediateResults[_key].countedUntil = _countedUntil;\n allIntermediateResults[_key].currentForCount = _currentForCount;\n allIntermediateResults[_key].currentAgainstCount = _currentAgainstCount;\n allIntermediateResults[_key].currentSumOfEffectiveBalance = _currentSumOfEffectiveBalance;\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/storage/IntermediateResultsStorage.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/IntermediateResultsStorage.sol", + "exportedSymbols": { + "IntermediateResultsStorage": [ + 18587 + ] + }, + "id": 18588, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 18442, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:63" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 18443, + "nodeType": "ImportDirective", + "scope": 18588, + "sourceUnit": 19059, + "src": "26:64:63", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "../common/DaoConstants.sol", + "id": 18444, + "nodeType": "ImportDirective", + "scope": 18588, + "sourceUnit": 1581, + "src": "91:36:63", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoStructs.sol", + "file": "../lib/DaoStructs.sol", + "id": 18445, + "nodeType": "ImportDirective", + "scope": 18588, + "sourceUnit": 8492, + "src": "128:31:63", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 18446, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "200:14:63", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 18447, + "nodeType": "InheritanceSpecifier", + "src": "200:14:63" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 18448, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "216:12:63", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 18449, + "nodeType": "InheritanceSpecifier", + "src": "216:12:63" + } + ], + "contractDependencies": [ + 1580, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 18587, + "linearizedBaseContracts": [ + 18587, + 1580, + 19058 + ], + "name": "IntermediateResultsStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 18452, + "libraryName": { + "contractScope": null, + "id": 18450, + "name": "DaoStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8491, + "src": "241:10:63", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStructs_$8491", + "typeString": "library DaoStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "235:52:63", + "typeName": { + "contractScope": null, + "id": 18451, + "name": "DaoStructs.IntermediateResults", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8490, + "src": "256:30:63", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + } + } + }, + { + "body": { + "id": 18464, + "nodeType": "Block", + "src": "331:80:63", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18459, + "name": "CONTRACT_STORAGE_INTERMEDIATE_RESULTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1378, + "src": "354:37:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 18460, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18454, + "src": "393:9:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 18458, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "349:4:63", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 18461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "349:54:63", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18457, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "341:7:63", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "341:63:63", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18463, + "nodeType": "ExpressionStatement", + "src": "341:63:63" + } + ] + }, + "documentation": null, + "id": 18465, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18455, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18454, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 18465, + "src": "305:17:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18453, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "305:7:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "304:19:63" + }, + "payable": false, + "returnParameters": { + "id": 18456, + "nodeType": "ParameterList", + "parameters": [], + "src": "331:0:63" + }, + "scope": 18587, + "src": "293:118:63", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "constant": false, + "id": 18469, + "name": "allIntermediateResults", + "nodeType": "VariableDeclaration", + "scope": 18587, + "src": "983:74:63", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_IntermediateResults_$8490_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.IntermediateResults)" + }, + "typeName": { + "id": 18468, + "keyType": { + "id": 18466, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "992:7:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "983:51:63", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_IntermediateResults_$8490_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.IntermediateResults)" + }, + "valueType": { + "contractScope": null, + "id": 18467, + "name": "DaoStructs.IntermediateResults", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8490, + "src": "1003:30:63", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 18510, + "nodeType": "Block", + "src": "1335:327:63", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18482, + "name": "_countedUntil", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18474, + "src": "1345:13:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18483, + "name": "allIntermediateResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18469, + "src": "1361:22:63", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_IntermediateResults_$8490_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.IntermediateResults storage ref)" + } + }, + "id": 18485, + "indexExpression": { + "argumentTypes": null, + "id": 18484, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18471, + "src": "1384:4:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1361:28:63", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage", + "typeString": "struct DaoStructs.IntermediateResults storage ref" + } + }, + "id": 18486, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "1361:41:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1345:57:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18488, + "nodeType": "ExpressionStatement", + "src": "1345:57:63" + }, + { + "expression": { + "argumentTypes": null, + "id": 18494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18489, + "name": "_currentForCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18476, + "src": "1412:16:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18490, + "name": "allIntermediateResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18469, + "src": "1431:22:63", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_IntermediateResults_$8490_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.IntermediateResults storage ref)" + } + }, + "id": 18492, + "indexExpression": { + "argumentTypes": null, + "id": 18491, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18471, + "src": "1454:4:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1431:28:63", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage", + "typeString": "struct DaoStructs.IntermediateResults storage ref" + } + }, + "id": 18493, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "1431:44:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1412:63:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18495, + "nodeType": "ExpressionStatement", + "src": "1412:63:63" + }, + { + "expression": { + "argumentTypes": null, + "id": 18501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18496, + "name": "_currentAgainstCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18478, + "src": "1485:20:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18497, + "name": "allIntermediateResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18469, + "src": "1508:22:63", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_IntermediateResults_$8490_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.IntermediateResults storage ref)" + } + }, + "id": 18499, + "indexExpression": { + "argumentTypes": null, + "id": 18498, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18471, + "src": "1531:4:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1508:28:63", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage", + "typeString": "struct DaoStructs.IntermediateResults storage ref" + } + }, + "id": 18500, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "1508:48:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1485:71:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18502, + "nodeType": "ExpressionStatement", + "src": "1485:71:63" + }, + { + "expression": { + "argumentTypes": null, + "id": 18508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18503, + "name": "_currentSumOfEffectiveBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18480, + "src": "1566:29:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18504, + "name": "allIntermediateResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18469, + "src": "1598:22:63", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_IntermediateResults_$8490_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.IntermediateResults storage ref)" + } + }, + "id": 18506, + "indexExpression": { + "argumentTypes": null, + "id": 18505, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18471, + "src": "1621:4:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1598:28:63", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage", + "typeString": "struct DaoStructs.IntermediateResults storage ref" + } + }, + "id": 18507, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentSumOfEffectiveBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 8487, + "src": "1598:57:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1566:89:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18509, + "nodeType": "ExpressionStatement", + "src": "1566:89:63" + } + ] + }, + "documentation": null, + "id": 18511, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getIntermediateResults", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18472, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18471, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 18511, + "src": "1096:12:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18470, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1096:7:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1095:14:63" + }, + "payable": false, + "returnParameters": { + "id": 18481, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18474, + "name": "_countedUntil", + "nodeType": "VariableDeclaration", + "scope": 18511, + "src": "1168:21:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18473, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1168:7:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18476, + "name": "_currentForCount", + "nodeType": "VariableDeclaration", + "scope": 18511, + "src": "1203:24:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18475, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1203:7:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18478, + "name": "_currentAgainstCount", + "nodeType": "VariableDeclaration", + "scope": 18511, + "src": "1241:28:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18477, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1241:7:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18480, + "name": "_currentSumOfEffectiveBalance", + "nodeType": "VariableDeclaration", + "scope": 18511, + "src": "1283:37:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18479, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1283:7:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1154:176:63" + }, + "scope": 18587, + "src": "1064:598:63", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18534, + "nodeType": "Block", + "src": "1735:202:63", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 18518, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "1769:28:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 18519, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "1799:26:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 18520, + "name": "CONTRACT_DAO_SPECIAL_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1312, + "src": "1827:34:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 18521, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1768:94:63", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 18517, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "1753:14:63", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 18522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1753:110:63", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18516, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1745:7:63", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1745:119:63", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18524, + "nodeType": "ExpressionStatement", + "src": "1745:119:63" + }, + { + "expression": { + "argumentTypes": null, + "id": 18532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18525, + "name": "allIntermediateResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18469, + "src": "1874:22:63", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_IntermediateResults_$8490_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.IntermediateResults storage ref)" + } + }, + "id": 18527, + "indexExpression": { + "argumentTypes": null, + "id": 18526, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18513, + "src": "1897:4:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1874:28:63", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage", + "typeString": "struct DaoStructs.IntermediateResults storage ref" + } + }, + "id": 18528, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "1874:41:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 18530, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1926:3:63", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 18529, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1918:7:63", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 18531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1918:12:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1874:56:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18533, + "nodeType": "ExpressionStatement", + "src": "1874:56:63" + } + ] + }, + "documentation": null, + "id": 18535, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "resetIntermediateResults", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18514, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18513, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 18535, + "src": "1702:12:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18512, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1702:7:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1701:14:63" + }, + "payable": false, + "returnParameters": { + "id": 18515, + "nodeType": "ParameterList", + "parameters": [], + "src": "1735:0:63" + }, + "scope": 18587, + "src": "1668:269:63", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18585, + "nodeType": "Block", + "src": "2172:456:63", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 18550, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "2206:28:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 18551, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "2236:26:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 18552, + "name": "CONTRACT_DAO_SPECIAL_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1312, + "src": "2264:34:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 18553, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2205:94:63", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 18549, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "2190:14:63", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 18554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2190:110:63", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18548, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2182:7:63", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2182:119:63", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18556, + "nodeType": "ExpressionStatement", + "src": "2182:119:63" + }, + { + "expression": { + "argumentTypes": null, + "id": 18562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18557, + "name": "allIntermediateResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18469, + "src": "2311:22:63", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_IntermediateResults_$8490_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.IntermediateResults storage ref)" + } + }, + "id": 18559, + "indexExpression": { + "argumentTypes": null, + "id": 18558, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18537, + "src": "2334:4:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2311:28:63", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage", + "typeString": "struct DaoStructs.IntermediateResults storage ref" + } + }, + "id": 18560, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "2311:41:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18561, + "name": "_countedUntil", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18539, + "src": "2355:13:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2311:57:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18563, + "nodeType": "ExpressionStatement", + "src": "2311:57:63" + }, + { + "expression": { + "argumentTypes": null, + "id": 18569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18564, + "name": "allIntermediateResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18469, + "src": "2378:22:63", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_IntermediateResults_$8490_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.IntermediateResults storage ref)" + } + }, + "id": 18566, + "indexExpression": { + "argumentTypes": null, + "id": 18565, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18537, + "src": "2401:4:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2378:28:63", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage", + "typeString": "struct DaoStructs.IntermediateResults storage ref" + } + }, + "id": 18567, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "2378:44:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18568, + "name": "_currentForCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18541, + "src": "2425:16:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2378:63:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18570, + "nodeType": "ExpressionStatement", + "src": "2378:63:63" + }, + { + "expression": { + "argumentTypes": null, + "id": 18576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18571, + "name": "allIntermediateResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18469, + "src": "2451:22:63", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_IntermediateResults_$8490_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.IntermediateResults storage ref)" + } + }, + "id": 18573, + "indexExpression": { + "argumentTypes": null, + "id": 18572, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18537, + "src": "2474:4:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2451:28:63", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage", + "typeString": "struct DaoStructs.IntermediateResults storage ref" + } + }, + "id": 18574, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "2451:48:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18575, + "name": "_currentAgainstCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18543, + "src": "2502:20:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2451:71:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18577, + "nodeType": "ExpressionStatement", + "src": "2451:71:63" + }, + { + "expression": { + "argumentTypes": null, + "id": 18583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18578, + "name": "allIntermediateResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18469, + "src": "2532:22:63", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_IntermediateResults_$8490_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.IntermediateResults storage ref)" + } + }, + "id": 18580, + "indexExpression": { + "argumentTypes": null, + "id": 18579, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18537, + "src": "2555:4:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2532:28:63", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage", + "typeString": "struct DaoStructs.IntermediateResults storage ref" + } + }, + "id": 18581, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentSumOfEffectiveBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 8487, + "src": "2532:57:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18582, + "name": "_currentSumOfEffectiveBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18545, + "src": "2592:29:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2532:89:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18584, + "nodeType": "ExpressionStatement", + "src": "2532:89:63" + } + ] + }, + "documentation": null, + "id": 18586, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setIntermediateResults", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18546, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18537, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 18586, + "src": "1984:12:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18536, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1984:7:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18539, + "name": "_countedUntil", + "nodeType": "VariableDeclaration", + "scope": 18586, + "src": "2006:21:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18538, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2006:7:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18541, + "name": "_currentForCount", + "nodeType": "VariableDeclaration", + "scope": 18586, + "src": "2037:24:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18540, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2037:7:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18543, + "name": "_currentAgainstCount", + "nodeType": "VariableDeclaration", + "scope": 18586, + "src": "2071:28:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18542, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2071:7:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18545, + "name": "_currentSumOfEffectiveBalance", + "nodeType": "VariableDeclaration", + "scope": 18586, + "src": "2109:37:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18544, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2109:7:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1974:178:63" + }, + "payable": false, + "returnParameters": { + "id": 18547, + "nodeType": "ParameterList", + "parameters": [], + "src": "2172:0:63" + }, + "scope": 18587, + "src": "1943:685:63", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 18588, + "src": "161:2469:63" + } + ], + "src": "0:2631:63" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/IntermediateResultsStorage.sol", + "exportedSymbols": { + "IntermediateResultsStorage": [ + 18587 + ] + }, + "id": 18588, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 18442, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:63" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "file": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "id": 18443, + "nodeType": "ImportDirective", + "scope": 18588, + "sourceUnit": 19059, + "src": "26:64:63", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "../common/DaoConstants.sol", + "id": 18444, + "nodeType": "ImportDirective", + "scope": 18588, + "sourceUnit": 1581, + "src": "91:36:63", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/DaoStructs.sol", + "file": "../lib/DaoStructs.sol", + "id": 18445, + "nodeType": "ImportDirective", + "scope": 18588, + "sourceUnit": 8492, + "src": "128:31:63", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 18446, + "name": "ResolverClient", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 19058, + "src": "200:14:63", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + }, + "id": 18447, + "nodeType": "InheritanceSpecifier", + "src": "200:14:63" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 18448, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "216:12:63", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 18449, + "nodeType": "InheritanceSpecifier", + "src": "216:12:63" + } + ], + "contractDependencies": [ + 1580, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 18587, + "linearizedBaseContracts": [ + 18587, + 1580, + 19058 + ], + "name": "IntermediateResultsStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 18452, + "libraryName": { + "contractScope": null, + "id": 18450, + "name": "DaoStructs", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8491, + "src": "241:10:63", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStructs_$8491", + "typeString": "library DaoStructs" + } + }, + "nodeType": "UsingForDirective", + "src": "235:52:63", + "typeName": { + "contractScope": null, + "id": 18451, + "name": "DaoStructs.IntermediateResults", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8490, + "src": "256:30:63", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + } + } + }, + { + "body": { + "id": 18464, + "nodeType": "Block", + "src": "331:80:63", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18459, + "name": "CONTRACT_STORAGE_INTERMEDIATE_RESULTS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1378, + "src": "354:37:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 18460, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18454, + "src": "393:9:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 18458, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19026, + "src": "349:4:63", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) returns (bool)" + } + }, + "id": 18461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "349:54:63", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18457, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "341:7:63", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "341:63:63", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18463, + "nodeType": "ExpressionStatement", + "src": "341:63:63" + } + ] + }, + "documentation": null, + "id": 18465, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18455, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18454, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 18465, + "src": "305:17:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18453, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "305:7:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "304:19:63" + }, + "payable": false, + "returnParameters": { + "id": 18456, + "nodeType": "ParameterList", + "parameters": [], + "src": "331:0:63" + }, + "scope": 18587, + "src": "293:118:63", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "constant": false, + "id": 18469, + "name": "allIntermediateResults", + "nodeType": "VariableDeclaration", + "scope": 18587, + "src": "983:74:63", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_IntermediateResults_$8490_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.IntermediateResults)" + }, + "typeName": { + "id": 18468, + "keyType": { + "id": 18466, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "992:7:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "983:51:63", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_IntermediateResults_$8490_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.IntermediateResults)" + }, + "valueType": { + "contractScope": null, + "id": 18467, + "name": "DaoStructs.IntermediateResults", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 8490, + "src": "1003:30:63", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage_ptr", + "typeString": "struct DaoStructs.IntermediateResults" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 18510, + "nodeType": "Block", + "src": "1335:327:63", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18482, + "name": "_countedUntil", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18474, + "src": "1345:13:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18483, + "name": "allIntermediateResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18469, + "src": "1361:22:63", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_IntermediateResults_$8490_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.IntermediateResults storage ref)" + } + }, + "id": 18485, + "indexExpression": { + "argumentTypes": null, + "id": 18484, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18471, + "src": "1384:4:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1361:28:63", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage", + "typeString": "struct DaoStructs.IntermediateResults storage ref" + } + }, + "id": 18486, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "1361:41:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1345:57:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18488, + "nodeType": "ExpressionStatement", + "src": "1345:57:63" + }, + { + "expression": { + "argumentTypes": null, + "id": 18494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18489, + "name": "_currentForCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18476, + "src": "1412:16:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18490, + "name": "allIntermediateResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18469, + "src": "1431:22:63", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_IntermediateResults_$8490_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.IntermediateResults storage ref)" + } + }, + "id": 18492, + "indexExpression": { + "argumentTypes": null, + "id": 18491, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18471, + "src": "1454:4:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1431:28:63", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage", + "typeString": "struct DaoStructs.IntermediateResults storage ref" + } + }, + "id": 18493, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "1431:44:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1412:63:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18495, + "nodeType": "ExpressionStatement", + "src": "1412:63:63" + }, + { + "expression": { + "argumentTypes": null, + "id": 18501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18496, + "name": "_currentAgainstCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18478, + "src": "1485:20:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18497, + "name": "allIntermediateResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18469, + "src": "1508:22:63", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_IntermediateResults_$8490_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.IntermediateResults storage ref)" + } + }, + "id": 18499, + "indexExpression": { + "argumentTypes": null, + "id": 18498, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18471, + "src": "1531:4:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1508:28:63", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage", + "typeString": "struct DaoStructs.IntermediateResults storage ref" + } + }, + "id": 18500, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "1508:48:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1485:71:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18502, + "nodeType": "ExpressionStatement", + "src": "1485:71:63" + }, + { + "expression": { + "argumentTypes": null, + "id": 18508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18503, + "name": "_currentSumOfEffectiveBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18480, + "src": "1566:29:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18504, + "name": "allIntermediateResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18469, + "src": "1598:22:63", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_IntermediateResults_$8490_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.IntermediateResults storage ref)" + } + }, + "id": 18506, + "indexExpression": { + "argumentTypes": null, + "id": 18505, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18471, + "src": "1621:4:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1598:28:63", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage", + "typeString": "struct DaoStructs.IntermediateResults storage ref" + } + }, + "id": 18507, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "currentSumOfEffectiveBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 8487, + "src": "1598:57:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1566:89:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18509, + "nodeType": "ExpressionStatement", + "src": "1566:89:63" + } + ] + }, + "documentation": null, + "id": 18511, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getIntermediateResults", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18472, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18471, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 18511, + "src": "1096:12:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18470, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1096:7:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1095:14:63" + }, + "payable": false, + "returnParameters": { + "id": 18481, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18474, + "name": "_countedUntil", + "nodeType": "VariableDeclaration", + "scope": 18511, + "src": "1168:21:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18473, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1168:7:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18476, + "name": "_currentForCount", + "nodeType": "VariableDeclaration", + "scope": 18511, + "src": "1203:24:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18475, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1203:7:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18478, + "name": "_currentAgainstCount", + "nodeType": "VariableDeclaration", + "scope": 18511, + "src": "1241:28:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18477, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1241:7:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18480, + "name": "_currentSumOfEffectiveBalance", + "nodeType": "VariableDeclaration", + "scope": 18511, + "src": "1283:37:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18479, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1283:7:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1154:176:63" + }, + "scope": 18587, + "src": "1064:598:63", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18534, + "nodeType": "Block", + "src": "1735:202:63", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 18518, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "1769:28:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 18519, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "1799:26:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 18520, + "name": "CONTRACT_DAO_SPECIAL_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1312, + "src": "1827:34:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 18521, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1768:94:63", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 18517, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "1753:14:63", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 18522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1753:110:63", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18516, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1745:7:63", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1745:119:63", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18524, + "nodeType": "ExpressionStatement", + "src": "1745:119:63" + }, + { + "expression": { + "argumentTypes": null, + "id": 18532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18525, + "name": "allIntermediateResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18469, + "src": "1874:22:63", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_IntermediateResults_$8490_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.IntermediateResults storage ref)" + } + }, + "id": 18527, + "indexExpression": { + "argumentTypes": null, + "id": 18526, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18513, + "src": "1897:4:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1874:28:63", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage", + "typeString": "struct DaoStructs.IntermediateResults storage ref" + } + }, + "id": 18528, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "1874:41:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 18530, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1926:3:63", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 18529, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1918:7:63", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 18531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1918:12:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1874:56:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18533, + "nodeType": "ExpressionStatement", + "src": "1874:56:63" + } + ] + }, + "documentation": null, + "id": 18535, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "resetIntermediateResults", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18514, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18513, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 18535, + "src": "1702:12:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18512, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1702:7:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1701:14:63" + }, + "payable": false, + "returnParameters": { + "id": 18515, + "nodeType": "ParameterList", + "parameters": [], + "src": "1735:0:63" + }, + "scope": 18587, + "src": "1668:269:63", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 18585, + "nodeType": "Block", + "src": "2172:456:63", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 18550, + "name": "CONTRACT_DAO_REWARDS_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "2206:28:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 18551, + "name": "CONTRACT_DAO_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "2236:26:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 18552, + "name": "CONTRACT_DAO_SPECIAL_VOTING_CLAIMS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1312, + "src": "2264:34:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 18553, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2205:94:63", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 18549, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "2190:14:63", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 18554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2190:110:63", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18548, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2182:7:63", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2182:119:63", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18556, + "nodeType": "ExpressionStatement", + "src": "2182:119:63" + }, + { + "expression": { + "argumentTypes": null, + "id": 18562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18557, + "name": "allIntermediateResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18469, + "src": "2311:22:63", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_IntermediateResults_$8490_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.IntermediateResults storage ref)" + } + }, + "id": 18559, + "indexExpression": { + "argumentTypes": null, + "id": 18558, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18537, + "src": "2334:4:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2311:28:63", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage", + "typeString": "struct DaoStructs.IntermediateResults storage ref" + } + }, + "id": 18560, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "countedUntil", + "nodeType": "MemberAccess", + "referencedDeclaration": 8489, + "src": "2311:41:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18561, + "name": "_countedUntil", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18539, + "src": "2355:13:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2311:57:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18563, + "nodeType": "ExpressionStatement", + "src": "2311:57:63" + }, + { + "expression": { + "argumentTypes": null, + "id": 18569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18564, + "name": "allIntermediateResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18469, + "src": "2378:22:63", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_IntermediateResults_$8490_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.IntermediateResults storage ref)" + } + }, + "id": 18566, + "indexExpression": { + "argumentTypes": null, + "id": 18565, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18537, + "src": "2401:4:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2378:28:63", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage", + "typeString": "struct DaoStructs.IntermediateResults storage ref" + } + }, + "id": 18567, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentForCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8483, + "src": "2378:44:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18568, + "name": "_currentForCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18541, + "src": "2425:16:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2378:63:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18570, + "nodeType": "ExpressionStatement", + "src": "2378:63:63" + }, + { + "expression": { + "argumentTypes": null, + "id": 18576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18571, + "name": "allIntermediateResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18469, + "src": "2451:22:63", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_IntermediateResults_$8490_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.IntermediateResults storage ref)" + } + }, + "id": 18573, + "indexExpression": { + "argumentTypes": null, + "id": 18572, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18537, + "src": "2474:4:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2451:28:63", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage", + "typeString": "struct DaoStructs.IntermediateResults storage ref" + } + }, + "id": 18574, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentAgainstCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8485, + "src": "2451:48:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18575, + "name": "_currentAgainstCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18543, + "src": "2502:20:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2451:71:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18577, + "nodeType": "ExpressionStatement", + "src": "2451:71:63" + }, + { + "expression": { + "argumentTypes": null, + "id": 18583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18578, + "name": "allIntermediateResults", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18469, + "src": "2532:22:63", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_IntermediateResults_$8490_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.IntermediateResults storage ref)" + } + }, + "id": 18580, + "indexExpression": { + "argumentTypes": null, + "id": 18579, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18537, + "src": "2555:4:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2532:28:63", + "typeDescriptions": { + "typeIdentifier": "t_struct$_IntermediateResults_$8490_storage", + "typeString": "struct DaoStructs.IntermediateResults storage ref" + } + }, + "id": 18581, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentSumOfEffectiveBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 8487, + "src": "2532:57:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18582, + "name": "_currentSumOfEffectiveBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18545, + "src": "2592:29:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2532:89:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18584, + "nodeType": "ExpressionStatement", + "src": "2532:89:63" + } + ] + }, + "documentation": null, + "id": 18586, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setIntermediateResults", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18546, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18537, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 18586, + "src": "1984:12:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18536, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1984:7:63", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18539, + "name": "_countedUntil", + "nodeType": "VariableDeclaration", + "scope": 18586, + "src": "2006:21:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18538, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2006:7:63", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18541, + "name": "_currentForCount", + "nodeType": "VariableDeclaration", + "scope": 18586, + "src": "2037:24:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18540, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2037:7:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18543, + "name": "_currentAgainstCount", + "nodeType": "VariableDeclaration", + "scope": 18586, + "src": "2071:28:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18542, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2071:7:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18545, + "name": "_currentSumOfEffectiveBalance", + "nodeType": "VariableDeclaration", + "scope": 18586, + "src": "2109:37:63", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18544, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2109:7:63", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1974:178:63" + }, + "payable": false, + "returnParameters": { + "id": 18547, + "nodeType": "ParameterList", + "parameters": [], + "src": "2172:0:63" + }, + "scope": 18587, + "src": "1943:685:63", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 18588, + "src": "161:2469:63" + } + ], + "src": "0:2631:63" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0x5d4bf06f218e6076d82041c4b5be31c95ac58a8d", + "transactionHash": "0x9691dc237050051a838e5c7e30f4d97dafdd159d13896f2d91940f906990f288" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T09:39:55.004Z" +} \ No newline at end of file diff --git a/build/contracts/MathHelper.json b/build/contracts/MathHelper.json new file mode 100644 index 0000000..55295a3 --- /dev/null +++ b/build/contracts/MathHelper.json @@ -0,0 +1,2005 @@ +{ + "contractName": "MathHelper", + "abi": [], + "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820b1b5655a8708b1f65c460550feb416e62279f929d2217f19a2206ad64b7ad6a30029", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a72305820b1b5655a8708b1f65c460550feb416e62279f929d2217f19a2206ad64b7ad6a30029", + "sourceMap": "88:521:24:-;;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": "88:521:24:-;;;;;;;;", + "source": "pragma solidity ^0.4.25;\n\nimport 'openzeppelin-solidity/contracts/math/SafeMath.sol';\n\n\nlibrary MathHelper {\n\n using SafeMath for uint256;\n\n function max(uint256 a, uint256 b) internal pure returns (uint256 _max){\n _max = b;\n if (a > b) {\n _max = a;\n }\n }\n\n function min(uint256 a, uint256 b) internal pure returns (uint256 _min){\n _min = b;\n if (a < b) {\n _min = a;\n }\n }\n\n function sumNumbers(uint256[] _numbers) internal pure returns (uint256 _sum) {\n for (uint256 i=0;i<_numbers.length;i++) {\n _sum = _sum.add(_numbers[i]);\n }\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/lib/MathHelper.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/MathHelper.sol", + "exportedSymbols": { + "MathHelper": [ + 8575 + ] + }, + "id": 8576, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 8493, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:24" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", + "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", + "id": 8494, + "nodeType": "ImportDirective", + "scope": 8576, + "sourceUnit": 26042, + "src": "26:59:24", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 8575, + "linearizedBaseContracts": [ + 8575 + ], + "name": "MathHelper", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 8497, + "libraryName": { + "contractScope": null, + "id": 8495, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 26041, + "src": "118:8:24", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$26041", + "typeString": "library SafeMath" + } + }, + "nodeType": "UsingForDirective", + "src": "112:27:24", + "typeName": { + "id": 8496, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "131:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "body": { + "id": 8519, + "nodeType": "Block", + "src": "214:68:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8506, + "name": "_max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8504, + "src": "222:4:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8507, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8501, + "src": "229:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "222:8:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8509, + "nodeType": "ExpressionStatement", + "src": "222:8:24" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8510, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8499, + "src": "242:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 8511, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8501, + "src": "246:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "242:5:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 8518, + "nodeType": "IfStatement", + "src": "238:40:24", + "trueBody": { + "id": 8517, + "nodeType": "Block", + "src": "249:29:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8513, + "name": "_max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8504, + "src": "261:4:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8514, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8499, + "src": "268:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "261:8:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8516, + "nodeType": "ExpressionStatement", + "src": "261:8:24" + } + ] + } + } + ] + }, + "documentation": null, + "id": 8520, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "max", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8502, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8499, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 8520, + "src": "156:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8498, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "156:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8501, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 8520, + "src": "167:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8500, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "167:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "155:22:24" + }, + "payable": false, + "returnParameters": { + "id": 8505, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8504, + "name": "_max", + "nodeType": "VariableDeclaration", + "scope": 8520, + "src": "201:12:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8503, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "201:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "200:14:24" + }, + "scope": 8575, + "src": "143:139:24", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 8542, + "nodeType": "Block", + "src": "357:68:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8529, + "name": "_min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8527, + "src": "365:4:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8530, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8524, + "src": "372:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "365:8:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8532, + "nodeType": "ExpressionStatement", + "src": "365:8:24" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8533, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8522, + "src": "385:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 8534, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8524, + "src": "389:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "385:5:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 8541, + "nodeType": "IfStatement", + "src": "381:40:24", + "trueBody": { + "id": 8540, + "nodeType": "Block", + "src": "392:29:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8536, + "name": "_min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8527, + "src": "404:4:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8537, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8522, + "src": "411:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "404:8:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8539, + "nodeType": "ExpressionStatement", + "src": "404:8:24" + } + ] + } + } + ] + }, + "documentation": null, + "id": 8543, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "min", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8525, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8522, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 8543, + "src": "299:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8521, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "299:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8524, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 8543, + "src": "310:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8523, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "310:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "298:22:24" + }, + "payable": false, + "returnParameters": { + "id": 8528, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8527, + "name": "_min", + "nodeType": "VariableDeclaration", + "scope": 8543, + "src": "344:12:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8526, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "344:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "343:14:24" + }, + "scope": 8575, + "src": "286:139:24", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 8573, + "nodeType": "Block", + "src": "506:101:24", + "statements": [ + { + "body": { + "id": 8571, + "nodeType": "Block", + "src": "554:49:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8562, + "name": "_sum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8549, + "src": "566:4:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8565, + "name": "_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8546, + "src": "582:8:24", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 8567, + "indexExpression": { + "argumentTypes": null, + "id": 8566, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8552, + "src": "591:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "582:11:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 8563, + "name": "_sum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8549, + "src": "573:4:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "573:8:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 8568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "573:21:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "566:28:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8570, + "nodeType": "ExpressionStatement", + "src": "566:28:24" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8555, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8552, + "src": "531:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8556, + "name": "_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8546, + "src": "533:8:24", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 8557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "533:15:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "531:17:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8572, + "initializationExpression": { + "assignments": [ + 8552 + ], + "declarations": [ + { + "constant": false, + "id": 8552, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 8574, + "src": "519:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8551, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "519:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8554, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 8553, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "529:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "519:11:24" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 8560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "549:3:24", + "subExpression": { + "argumentTypes": null, + "id": 8559, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8552, + "src": "549:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8561, + "nodeType": "ExpressionStatement", + "src": "549:3:24" + }, + "nodeType": "ForStatement", + "src": "514:89:24" + } + ] + }, + "documentation": null, + "id": 8574, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "sumNumbers", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8547, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8546, + "name": "_numbers", + "nodeType": "VariableDeclaration", + "scope": 8574, + "src": "449:18:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 8544, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "449:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8545, + "length": null, + "nodeType": "ArrayTypeName", + "src": "449:9:24", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "448:20:24" + }, + "payable": false, + "returnParameters": { + "id": 8550, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8549, + "name": "_sum", + "nodeType": "VariableDeclaration", + "scope": 8574, + "src": "492:12:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8548, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "492:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "491:14:24" + }, + "scope": 8575, + "src": "429:178:24", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 8576, + "src": "88:521:24" + } + ], + "src": "0:610:24" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/lib/MathHelper.sol", + "exportedSymbols": { + "MathHelper": [ + 8575 + ] + }, + "id": 8576, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 8493, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:24" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", + "file": "openzeppelin-solidity/contracts/math/SafeMath.sol", + "id": 8494, + "nodeType": "ImportDirective", + "scope": 8576, + "sourceUnit": 26042, + "src": "26:59:24", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 8575, + "linearizedBaseContracts": [ + 8575 + ], + "name": "MathHelper", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 8497, + "libraryName": { + "contractScope": null, + "id": 8495, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 26041, + "src": "118:8:24", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$26041", + "typeString": "library SafeMath" + } + }, + "nodeType": "UsingForDirective", + "src": "112:27:24", + "typeName": { + "id": 8496, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "131:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "body": { + "id": 8519, + "nodeType": "Block", + "src": "214:68:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8506, + "name": "_max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8504, + "src": "222:4:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8507, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8501, + "src": "229:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "222:8:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8509, + "nodeType": "ExpressionStatement", + "src": "222:8:24" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8510, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8499, + "src": "242:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 8511, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8501, + "src": "246:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "242:5:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 8518, + "nodeType": "IfStatement", + "src": "238:40:24", + "trueBody": { + "id": 8517, + "nodeType": "Block", + "src": "249:29:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8513, + "name": "_max", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8504, + "src": "261:4:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8514, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8499, + "src": "268:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "261:8:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8516, + "nodeType": "ExpressionStatement", + "src": "261:8:24" + } + ] + } + } + ] + }, + "documentation": null, + "id": 8520, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "max", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8502, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8499, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 8520, + "src": "156:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8498, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "156:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8501, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 8520, + "src": "167:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8500, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "167:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "155:22:24" + }, + "payable": false, + "returnParameters": { + "id": 8505, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8504, + "name": "_max", + "nodeType": "VariableDeclaration", + "scope": 8520, + "src": "201:12:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8503, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "201:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "200:14:24" + }, + "scope": 8575, + "src": "143:139:24", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 8542, + "nodeType": "Block", + "src": "357:68:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8529, + "name": "_min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8527, + "src": "365:4:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8530, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8524, + "src": "372:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "365:8:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8532, + "nodeType": "ExpressionStatement", + "src": "365:8:24" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8533, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8522, + "src": "385:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 8534, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8524, + "src": "389:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "385:5:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 8541, + "nodeType": "IfStatement", + "src": "381:40:24", + "trueBody": { + "id": 8540, + "nodeType": "Block", + "src": "392:29:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8536, + "name": "_min", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8527, + "src": "404:4:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8537, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8522, + "src": "411:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "404:8:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8539, + "nodeType": "ExpressionStatement", + "src": "404:8:24" + } + ] + } + } + ] + }, + "documentation": null, + "id": 8543, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "min", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8525, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8522, + "name": "a", + "nodeType": "VariableDeclaration", + "scope": 8543, + "src": "299:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8521, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "299:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8524, + "name": "b", + "nodeType": "VariableDeclaration", + "scope": 8543, + "src": "310:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8523, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "310:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "298:22:24" + }, + "payable": false, + "returnParameters": { + "id": 8528, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8527, + "name": "_min", + "nodeType": "VariableDeclaration", + "scope": 8543, + "src": "344:12:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8526, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "344:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "343:14:24" + }, + "scope": 8575, + "src": "286:139:24", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 8573, + "nodeType": "Block", + "src": "506:101:24", + "statements": [ + { + "body": { + "id": 8571, + "nodeType": "Block", + "src": "554:49:24", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8562, + "name": "_sum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8549, + "src": "566:4:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8565, + "name": "_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8546, + "src": "582:8:24", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 8567, + "indexExpression": { + "argumentTypes": null, + "id": 8566, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8552, + "src": "591:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "582:11:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 8563, + "name": "_sum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8549, + "src": "573:4:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "573:8:24", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 8568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "573:21:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "566:28:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8570, + "nodeType": "ExpressionStatement", + "src": "566:28:24" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8555, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8552, + "src": "531:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8556, + "name": "_numbers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8546, + "src": "533:8:24", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 8557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "533:15:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "531:17:24", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8572, + "initializationExpression": { + "assignments": [ + 8552 + ], + "declarations": [ + { + "constant": false, + "id": 8552, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 8574, + "src": "519:9:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8551, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "519:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8554, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 8553, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "529:1:24", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "519:11:24" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 8560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "549:3:24", + "subExpression": { + "argumentTypes": null, + "id": 8559, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8552, + "src": "549:1:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8561, + "nodeType": "ExpressionStatement", + "src": "549:3:24" + }, + "nodeType": "ForStatement", + "src": "514:89:24" + } + ] + }, + "documentation": null, + "id": 8574, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "sumNumbers", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8547, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8546, + "name": "_numbers", + "nodeType": "VariableDeclaration", + "scope": 8574, + "src": "449:18:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 8544, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "449:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8545, + "length": null, + "nodeType": "ArrayTypeName", + "src": "449:9:24", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "448:20:24" + }, + "payable": false, + "returnParameters": { + "id": 8550, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8549, + "name": "_sum", + "nodeType": "VariableDeclaration", + "scope": 8574, + "src": "492:12:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8548, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "492:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "491:14:24" + }, + "scope": 8575, + "src": "429:178:24", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 8576, + "src": "88:521:24" + } + ], + "src": "0:610:24" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.860Z" +} \ No newline at end of file diff --git a/build/contracts/MathUtils.json b/build/contracts/MathUtils.json new file mode 100644 index 0000000..3bbca22 --- /dev/null +++ b/build/contracts/MathUtils.json @@ -0,0 +1,2181 @@ +{ + "contractName": "MathUtils", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "_a", + "type": "uint256" + }, + { + "name": "_b", + "type": "uint256" + } + ], + "name": "add", + "outputs": [ + { + "name": "_result", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_a", + "type": "uint256" + }, + { + "name": "_b", + "type": "uint256" + } + ], + "name": "subtract", + "outputs": [ + { + "name": "_result", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_asset_weight", + "type": "uint256" + }, + { + "name": "_unit_size", + "type": "uint256" + }, + { + "name": "_fee_per_unit", + "type": "uint256" + } + ], + "name": "calculate_recast_fee", + "outputs": [ + { + "name": "_recast_fee", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + } + ], + "bytecode": "0x6101d4610030600b82828239805160001a6073146000811461002057610022565bfe5b5030600052607381538281f300730000000000000000000000000000000000000000301460806040526004361061006e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633ef5e44514610073578063771602f7146100b1578063a30d6c9f146100ef575b600080fd5b61009b6004803603810190808035906020019092919080359060200190929190505050610137565b6040518082815260200191505060405180910390f35b6100d96004803603810190808035906020019092919080359060200190929190505050610153565b6040518082815260200191505060405180910390f35b61012160048036038101908080359060200190929190803590602001909291908035906020019092919050505061016e565b6040518082815260200191505060405180910390f35b600081831015151561014857600080fd5b818303905092915050565b60008183019050828111151561016857600080fd5b92915050565b600080828502905082858281151561018257fe5b0414151561018f57600080fd5b838181151561019a57fe5b0491508191505093925050505600a165627a7a723058207e0f874a08d745165effb437ca3d161c4b82e75110269712d4c83a461db1d6060029", + "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061006e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633ef5e44514610073578063771602f7146100b1578063a30d6c9f146100ef575b600080fd5b61009b6004803603810190808035906020019092919080359060200190929190505050610137565b6040518082815260200191505060405180910390f35b6100d96004803603810190808035906020019092919080359060200190929190505050610153565b6040518082815260200191505060405180910390f35b61012160048036038101908080359060200190929190803590602001909291908035906020019092919050505061016e565b6040518082815260200191505060405180910390f35b600081831015151561014857600080fd5b818303905092915050565b60008183019050828111151561016857600080fd5b92915050565b600080828502905082858281151561018257fe5b0414151561018f57600080fd5b838181151561019a57fe5b0491508191505093925050505600a165627a7a723058207e0f874a08d745165effb437ca3d161c4b82e75110269712d4c83a461db1d6060029", + "sourceMap": "81:7080:82:-;;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": "81:7080:82:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1898:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1023:165;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6751:407;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1898:163;1994:12;2030:2;2024;:8;;2016:17;;;;;;;;2054:2;2049;:7;2039:17;;1898:163;;;;:::o;1023:165::-;1114:15;1154:2;1149;:7;1139:17;;1180:2;1170:7;:12;1162:21;;;;;;;;1023:165;;;;:::o;6751:407::-;6901:19;6930:34;6983:13;6967;:29;6930:66;;7056:13;7039;7010:26;:42;;;;;;;;:59;7002:68;;;;;;;;7119:10;7090:26;:39;;;;;;;;7076:53;;7142:11;7135:18;;6751:407;;;;;;:::o", + "source": "pragma solidity ^0.4.19;\n\n/// @title Digix Math Library\n/// @author DigixGlobal\n\nlibrary MathUtils {\n\n /*modifier if_safe_to_add(uint256 _x, uint256 _y) {\n require(is_safe_to_add(_x, _y) == true);\n _;\n }\n\n modifier if_safe_to_subtract(uint256 _x, uint256 _y) {\n require(is_safe_to_subtract(_x, _y) == true);\n _;\n }*/\n\n /*uint256 constant ONE_DAY = 1 days;*/\n\n /// DEPRECATED\n /// @notice Call with two integers to determine if they are safe to add\n /// @dev Catches integer overflow\n /// param _a Integer to add\n /// param _b Integer to add\n /// @return _issafe True if the integers are safe to add\n /*function is_safe_to_add(uint256 _a, uint256 _b)\n public\n constant\n returns (bool _is_safe)\n {\n _is_safe = (_a + _b >= _a);\n return _is_safe;\n }*/\n\n /// @notice Returns sum of two safely-added integers\n /// @dev Uses `safeToAdd` internally; throws if unsafe\n /// @param _a Integer to add\n /// @param _b Integer to add\n /// @return _result Sum of inputs\n function add(uint256 _a, uint256 _b)\n public\n pure\n returns (uint256 _result)\n {\n _result = _a + _b;\n require(_result > _a);\n }\n\n /// DEPRECATED\n /// @notice Call with two integers to determine if they are safe to subtract\n /// @dev Catches integer overflow\n /// param _a Integer to subtract from\n /// param _b Integer to subtract\n /// @return _issafe True if the integers are safe to subtract\n /*function is_safe_to_subtract(uint256 _a, uint256 _b)\n public\n constant\n returns (bool _is_safe)\n {\n _is_safe = (_b <= _a);\n return _is_safe;\n }*/\n\n /// @notice Returns result of two safely-subtracted integers\n /// @dev Uses `safeToSubtract` internally; throws if unsafe\n /// @param _a Integer to subtract from\n /// @param _b Integer to subtract\n /// @return _result Result of subtraction\n function subtract(uint256 _a, uint256 _b)\n public\n pure\n returns (uint _result)\n {\n require(_a >= _b);\n _result = _a - _b;\n }\n\n /// DEPRECATED\n ///# @notice Calculates the rate of ???\n ///# @dev `((_unit * _a) + _b / 2) / _b`\n ///# paramm _a ??\n ///# paramm _b ??\n ///# paramm _places Number of decimal places\n ///# @return _result Result of subtraction\n /*function rate_of(uint256 _a, uint256 _b, uint256 _places)\n public\n constant\n returns (uint256 _result)\n {\n var _unit = 10 ** _places;\n _result = add((_unit * _a), (_b / 2)) / _b;\n return _result;\n }*/\n\n /// DEPRECATED\n ///# @notice Calculates the rate from ???\n ///# @dev `(_amount * _baserate) / (10 ** _places)`\n ///# paramm _amount ??\n ///# paramm _baserate ??\n ///# paramm _places ??\n ///# @return _fee Calculated Fee\n /*function from_rate(uint256 _amount, uint256 _baserate, uint256 _places)\n returns (uint256 _fee)\n {\n _fee = ((_amount * _baserate) / (10 ** _places));\n return _fee;\n }*/\n\n /// DEPRECATED\n ///# @notice Calculate demurrage time values\n ///# paramm _current_time Current block time\n ///# paramm _last_payment_date Last demurrage payment date\n ///# @return {\n /// \"_next_payment_date\": \"Next payment date as unix time\",\n /// \"_demurrage_days\": \"Demurrage days calculated\"\n /// }\n /*function calculate_demurrage_time(uint256 _current_time, uint256 _last_payment_date)\n returns (uint256 _next_payment_date, uint256 _demurrage_days)\n {\n var _time_difference = subtract(_current_time, _last_payment_date);\n _demurrage_days = _time_difference / (1 days);\n var _remainder = _time_difference % (1 days);\n var _demurrage_seconds = _demurrage_days * (1 days);\n _next_payment_date = subtract(add(_last_payment_date, _demurrage_seconds), _remainder);\n return (_next_payment_date, _demurrage_days);\n }*/\n\n /// DEPRECATED\n ///# @notice Calculate demurrage fee\n ///# paramm _demurrage_days Days since last demurrage payment\n ///# paramm _unit_size Minimum amount for demurrage fees\n ///# paramm _fee_per_unit Amount of daily demurrage to deduct for every `_demurrage_minimum`\n ///# paramm _raw_balance Account balance\n ///# @return _demurrage_fee The demurrage fee due\n /*function calculate_demurrage_fee(uint256 _demurrage_days, uint256 _unit_size, uint256 _fee_per_unit, uint256 _raw_balance)\n returns (uint256 _demurrage_fee)\n {\n if (_demurrage_days == 0) {\n _demurrage_fee = 0;\n } else {\n var _billable_amount = (_raw_balance / _unit_size);\n _demurrage_fee = (_billable_amount * _demurrage_days * _fee_per_unit);\n }\n return _demurrage_fee;\n }*/\n\n /// DEPRECATED\n ///# @notice Get demurrage info\n ///# paramm _current_time Current block time\n ///# paramm _last_payment_date Last demurrage payment date\n ///# paramm _raw_balance Account balance\n ///# paramm _unit_size Minimum amount needed to charge demurrage fees\n ///# paramm _fee_per_unit The amount of daily demurrage deduct for every `_minimum_for_demurrage`\n /// @return {\n /// \"_demurrage_fee\": \"Fee charged against current balance\",\n /// \"_demurrage_days\": \"Demurrage days calculated\",\n /// \"_billable_amount\": \"Amount eligible for demurrage calculation\",\n /// \"_next_payment_date\": \"Timestamp to use for next payment date\"\n /// }\n /*function get_demurrage_info(uint256 _current_time, uint256 _last_payment_date, uint256 _raw_balance, uint256 _unit_size, uint256 _fee_per_unit)\n returns (uint256 _demurrage_fee, uint256 _demurrage_days, uint256 _balance_after, uint256 _next_payment_date)\n {\n _demurrage_days = (subtract(_current_time, _last_payment_date)) / ONE_DAY;\n uint256 _billable_amount = (_raw_balance / _unit_size);\n if (_demurrage_days == 0) {\n _demurrage_fee = 0;\n _next_payment_date = _last_payment_date;\n _balance_after = _raw_balance;\n } else {\n _demurrage_fee = (_billable_amount * _demurrage_days * _fee_per_unit);\n var _remainder = subtract(_current_time, _last_payment_date) % ONE_DAY;\n _next_payment_date = subtract(add(_last_payment_date, (_demurrage_days * ONE_DAY)), _remainder);\n _balance_after = subtract(_raw_balance, _demurrage_fee);\n }\n return (_demurrage_fee, _demurrage_days, _balance_after, _next_payment_date);\n }*/\n\n /// DEPRECATED\n ///# @notice Calculate Transaction Fee\n ///# paramm _sending_amount The amount being sent\n ///# paramm _unit_size The minimum amount that can be sent\n ///# paramm _fee_per_unit The fee per unit\n ///# @return _tx_fee The transaction fee due\n /*function get_tx_fee(uint256 _sending_amount, uint256 _unit_size, uint256 _fee_per_unit)\n returns (uint256 _tx_fee)\n {\n _tx_fee = (_sending_amount / _unit_size) * _fee_per_unit;\n return _tx_fee;\n }*/\n\n function calculate_recast_fee(uint256 _asset_weight, uint256 _unit_size, uint256 _fee_per_unit)\n public\n pure\n returns (uint256 _recast_fee)\n {\n uint256 _weight_times_fee_per_unit = _asset_weight * _fee_per_unit;\n require(_weight_times_fee_per_unit / _asset_weight == _fee_per_unit);\n _recast_fee = _weight_times_fee_per_unit / _unit_size;\n return _recast_fee;\n }\n\n}\n", + "sourcePath": "@digix/solidity-core-libraries/contracts/MathUtils.sol", + "ast": { + "absolutePath": "@digix/solidity-core-libraries/contracts/MathUtils.sol", + "exportedSymbols": { + "MathUtils": [ + 25627 + ] + }, + "id": 25628, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 25548, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:82" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": "@title Digix Math Library\n @author DigixGlobal", + "fullyImplemented": true, + "id": 25627, + "linearizedBaseContracts": [ + 25627 + ], + "name": "MathUtils", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 25569, + "nodeType": "Block", + "src": "1133:55:82", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25557, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25555, + "src": "1139:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25558, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25550, + "src": "1149:2:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 25559, + "name": "_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25552, + "src": "1154:2:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1149:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1139:17:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25562, + "nodeType": "ExpressionStatement", + "src": "1139:17:82" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25564, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25555, + "src": "1170:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 25565, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25550, + "src": "1180:2:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1170:12:82", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25563, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1162:7:82", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1162:21:82", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25568, + "nodeType": "ExpressionStatement", + "src": "1162:21:82" + } + ] + }, + "documentation": "@notice Returns sum of two safely-added integers\n @dev Uses `safeToAdd` internally; throws if unsafe\n @param _a Integer to add\n @param _b Integer to add\n @return _result Sum of inputs", + "id": 25570, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25553, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25550, + "name": "_a", + "nodeType": "VariableDeclaration", + "scope": 25570, + "src": "1036:10:82", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25549, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1036:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25552, + "name": "_b", + "nodeType": "VariableDeclaration", + "scope": 25570, + "src": "1048:10:82", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25551, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1048:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1035:24:82" + }, + "payable": false, + "returnParameters": { + "id": 25556, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25555, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 25570, + "src": "1114:15:82", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25554, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1114:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1113:17:82" + }, + "scope": 25627, + "src": "1023:165:82", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25591, + "nodeType": "Block", + "src": "2010:51:82", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25580, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25572, + "src": "2024:2:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 25581, + "name": "_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25574, + "src": "2030:2:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2024:8:82", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25579, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2016:7:82", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2016:17:82", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25584, + "nodeType": "ExpressionStatement", + "src": "2016:17:82" + }, + { + "expression": { + "argumentTypes": null, + "id": 25589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25585, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25577, + "src": "2039:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25586, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25572, + "src": "2049:2:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 25587, + "name": "_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25574, + "src": "2054:2:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2049:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2039:17:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25590, + "nodeType": "ExpressionStatement", + "src": "2039:17:82" + } + ] + }, + "documentation": "@notice Returns result of two safely-subtracted integers\n @dev Uses `safeToSubtract` internally; throws if unsafe\n @param _a Integer to subtract from\n @param _b Integer to subtract\n @return _result Result of subtraction", + "id": 25592, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "subtract", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25575, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25572, + "name": "_a", + "nodeType": "VariableDeclaration", + "scope": 25592, + "src": "1916:10:82", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25571, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1916:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25574, + "name": "_b", + "nodeType": "VariableDeclaration", + "scope": 25592, + "src": "1928:10:82", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25573, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1928:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1915:24:82" + }, + "payable": false, + "returnParameters": { + "id": 25578, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25577, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 25592, + "src": "1994:12:82", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25576, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1994:4:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1993:14:82" + }, + "scope": 25627, + "src": "1898:163:82", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25625, + "nodeType": "Block", + "src": "6924:234:82", + "statements": [ + { + "assignments": [ + 25604 + ], + "declarations": [ + { + "constant": false, + "id": 25604, + "name": "_weight_times_fee_per_unit", + "nodeType": "VariableDeclaration", + "scope": 25626, + "src": "6930:34:82", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6930:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 25608, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25605, + "name": "_asset_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25594, + "src": "6967:13:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 25606, + "name": "_fee_per_unit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25598, + "src": "6983:13:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6967:29:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6930:66:82" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25610, + "name": "_weight_times_fee_per_unit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25604, + "src": "7010:26:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 25611, + "name": "_asset_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25594, + "src": "7039:13:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7010:42:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 25613, + "name": "_fee_per_unit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25598, + "src": "7056:13:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7010:59:82", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25609, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "7002:7:82", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7002:68:82", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25616, + "nodeType": "ExpressionStatement", + "src": "7002:68:82" + }, + { + "expression": { + "argumentTypes": null, + "id": 25621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25617, + "name": "_recast_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25601, + "src": "7076:11:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25618, + "name": "_weight_times_fee_per_unit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25604, + "src": "7090:26:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 25619, + "name": "_unit_size", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25596, + "src": "7119:10:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7090:39:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7076:53:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25622, + "nodeType": "ExpressionStatement", + "src": "7076:53:82" + }, + { + "expression": { + "argumentTypes": null, + "id": 25623, + "name": "_recast_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25601, + "src": "7142:11:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 25602, + "id": 25624, + "nodeType": "Return", + "src": "7135:18:82" + } + ] + }, + "documentation": "DEPRECATED\n# @notice Calculate Transaction Fee\n# paramm _sending_amount The amount being sent\n# paramm _unit_size The minimum amount that can be sent\n# paramm _fee_per_unit The fee per unit\n# @return _tx_fee The transaction fee due", + "id": 25626, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "calculate_recast_fee", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25599, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25594, + "name": "_asset_weight", + "nodeType": "VariableDeclaration", + "scope": 25626, + "src": "6781:21:82", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25593, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6781:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25596, + "name": "_unit_size", + "nodeType": "VariableDeclaration", + "scope": 25626, + "src": "6804:18:82", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25595, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6804:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25598, + "name": "_fee_per_unit", + "nodeType": "VariableDeclaration", + "scope": 25626, + "src": "6824:21:82", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25597, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6824:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6780:66:82" + }, + "payable": false, + "returnParameters": { + "id": 25602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25601, + "name": "_recast_fee", + "nodeType": "VariableDeclaration", + "scope": 25626, + "src": "6901:19:82", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25600, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6901:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6900:21:82" + }, + "scope": 25627, + "src": "6751:407:82", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 25628, + "src": "81:7080:82" + } + ], + "src": "0:7162:82" + }, + "legacyAST": { + "absolutePath": "@digix/solidity-core-libraries/contracts/MathUtils.sol", + "exportedSymbols": { + "MathUtils": [ + 25627 + ] + }, + "id": 25628, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 25548, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:82" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": "@title Digix Math Library\n @author DigixGlobal", + "fullyImplemented": true, + "id": 25627, + "linearizedBaseContracts": [ + 25627 + ], + "name": "MathUtils", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 25569, + "nodeType": "Block", + "src": "1133:55:82", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25557, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25555, + "src": "1139:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25558, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25550, + "src": "1149:2:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 25559, + "name": "_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25552, + "src": "1154:2:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1149:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1139:17:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25562, + "nodeType": "ExpressionStatement", + "src": "1139:17:82" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25564, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25555, + "src": "1170:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 25565, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25550, + "src": "1180:2:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1170:12:82", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25563, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1162:7:82", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1162:21:82", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25568, + "nodeType": "ExpressionStatement", + "src": "1162:21:82" + } + ] + }, + "documentation": "@notice Returns sum of two safely-added integers\n @dev Uses `safeToAdd` internally; throws if unsafe\n @param _a Integer to add\n @param _b Integer to add\n @return _result Sum of inputs", + "id": 25570, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25553, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25550, + "name": "_a", + "nodeType": "VariableDeclaration", + "scope": 25570, + "src": "1036:10:82", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25549, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1036:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25552, + "name": "_b", + "nodeType": "VariableDeclaration", + "scope": 25570, + "src": "1048:10:82", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25551, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1048:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1035:24:82" + }, + "payable": false, + "returnParameters": { + "id": 25556, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25555, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 25570, + "src": "1114:15:82", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25554, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1114:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1113:17:82" + }, + "scope": 25627, + "src": "1023:165:82", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25591, + "nodeType": "Block", + "src": "2010:51:82", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25580, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25572, + "src": "2024:2:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 25581, + "name": "_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25574, + "src": "2030:2:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2024:8:82", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25579, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2016:7:82", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2016:17:82", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25584, + "nodeType": "ExpressionStatement", + "src": "2016:17:82" + }, + { + "expression": { + "argumentTypes": null, + "id": 25589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25585, + "name": "_result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25577, + "src": "2039:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25586, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25572, + "src": "2049:2:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 25587, + "name": "_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25574, + "src": "2054:2:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2049:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2039:17:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25590, + "nodeType": "ExpressionStatement", + "src": "2039:17:82" + } + ] + }, + "documentation": "@notice Returns result of two safely-subtracted integers\n @dev Uses `safeToSubtract` internally; throws if unsafe\n @param _a Integer to subtract from\n @param _b Integer to subtract\n @return _result Result of subtraction", + "id": 25592, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "subtract", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25575, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25572, + "name": "_a", + "nodeType": "VariableDeclaration", + "scope": 25592, + "src": "1916:10:82", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25571, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1916:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25574, + "name": "_b", + "nodeType": "VariableDeclaration", + "scope": 25592, + "src": "1928:10:82", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25573, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1928:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1915:24:82" + }, + "payable": false, + "returnParameters": { + "id": 25578, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25577, + "name": "_result", + "nodeType": "VariableDeclaration", + "scope": 25592, + "src": "1994:12:82", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25576, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1994:4:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1993:14:82" + }, + "scope": 25627, + "src": "1898:163:82", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 25625, + "nodeType": "Block", + "src": "6924:234:82", + "statements": [ + { + "assignments": [ + 25604 + ], + "declarations": [ + { + "constant": false, + "id": 25604, + "name": "_weight_times_fee_per_unit", + "nodeType": "VariableDeclaration", + "scope": 25626, + "src": "6930:34:82", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6930:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 25608, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25605, + "name": "_asset_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25594, + "src": "6967:13:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 25606, + "name": "_fee_per_unit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25598, + "src": "6983:13:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6967:29:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6930:66:82" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25610, + "name": "_weight_times_fee_per_unit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25604, + "src": "7010:26:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 25611, + "name": "_asset_weight", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25594, + "src": "7039:13:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7010:42:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 25613, + "name": "_fee_per_unit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25598, + "src": "7056:13:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7010:59:82", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25609, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "7002:7:82", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7002:68:82", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25616, + "nodeType": "ExpressionStatement", + "src": "7002:68:82" + }, + { + "expression": { + "argumentTypes": null, + "id": 25621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25617, + "name": "_recast_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25601, + "src": "7076:11:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25618, + "name": "_weight_times_fee_per_unit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25604, + "src": "7090:26:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 25619, + "name": "_unit_size", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25596, + "src": "7119:10:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7090:39:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7076:53:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25622, + "nodeType": "ExpressionStatement", + "src": "7076:53:82" + }, + { + "expression": { + "argumentTypes": null, + "id": 25623, + "name": "_recast_fee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25601, + "src": "7142:11:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 25602, + "id": 25624, + "nodeType": "Return", + "src": "7135:18:82" + } + ] + }, + "documentation": "DEPRECATED\n# @notice Calculate Transaction Fee\n# paramm _sending_amount The amount being sent\n# paramm _unit_size The minimum amount that can be sent\n# paramm _fee_per_unit The fee per unit\n# @return _tx_fee The transaction fee due", + "id": 25626, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "calculate_recast_fee", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25599, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25594, + "name": "_asset_weight", + "nodeType": "VariableDeclaration", + "scope": 25626, + "src": "6781:21:82", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25593, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6781:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25596, + "name": "_unit_size", + "nodeType": "VariableDeclaration", + "scope": 25626, + "src": "6804:18:82", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25595, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6804:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25598, + "name": "_fee_per_unit", + "nodeType": "VariableDeclaration", + "scope": 25626, + "src": "6824:21:82", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25597, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6824:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6780:66:82" + }, + "payable": false, + "returnParameters": { + "id": 25602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25601, + "name": "_recast_fee", + "nodeType": "VariableDeclaration", + "scope": 25626, + "src": "6901:19:82", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25600, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6901:7:82", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6900:21:82" + }, + "scope": 25627, + "src": "6751:407:82", + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 25628, + "src": "81:7080:82" + } + ], + "src": "0:7162:82" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.943Z" +} \ No newline at end of file diff --git a/build/contracts/Migrations.json b/build/contracts/Migrations.json new file mode 100644 index 0000000..d0a8f30 --- /dev/null +++ b/build/contracts/Migrations.json @@ -0,0 +1,1387 @@ +{ + "contractName": "Migrations", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "last_completed_migration", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "completed", + "type": "uint256" + } + ], + "name": "setCompleted", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "new_address", + "type": "address" + } + ], + "name": "upgrade", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102f8806100606000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f01014610067578063445df0ac146100aa5780638da5cb5b146100d5578063fdacd5761461012c575b600080fd5b34801561007357600080fd5b506100a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610159565b005b3480156100b657600080fd5b506100bf610241565b6040518082815260200191505060405180910390f35b3480156100e157600080fd5b506100ea610247565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013857600080fd5b506101576004803603810190808035906020019092919050505061026c565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561023d578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561022457600080fd5b505af1158015610238573d6000803e3d6000fd5b505050505b5050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102c957806001819055505b505600a165627a7a723058209ad35164272494ab57185e87a311f42e051fa37a18710bda2b1dbe42bdb150230029", + "deployedBytecode": "0x608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f01014610067578063445df0ac146100aa5780638da5cb5b146100d5578063fdacd5761461012c575b600080fd5b34801561007357600080fd5b506100a8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610159565b005b3480156100b657600080fd5b506100bf610241565b6040518082815260200191505060405180910390f35b3480156100e157600080fd5b506100ea610247565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561013857600080fd5b506101576004803603810190808035906020019092919050505061026c565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561023d578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561022457600080fd5b505af1158015610238573d6000803e3d6000fd5b505050505b5050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102c957806001819055505b505600a165627a7a723058209ad35164272494ab57185e87a311f42e051fa37a18710bda2b1dbe42bdb150230029", + "sourceMap": "26:480:0:-;;;178:50;8:9:-1;5:2;;;30:1;27;20:12;5:2;178:50:0;213:10;205:5;;:18;;;;;;;;;;;;;;;;;;26:480;;;;;;", + "deployedSourceMap": "26:480:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;339:165;;8:9:-1;5:2;;;30:1;27;20:12;5:2;339:165:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;74:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;74:36:0;;;;;;;;;;;;;;;;;;;;;;;50:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;50:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;232:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;232:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;339:165;401:19;161:5;;;;;;;;;;;147:19;;:10;:19;;;143:26;;;434:11;401:45;;452:8;:21;;;474:24;;452:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;452:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;452:47:0;;;;143:26;339:165;;:::o;74:36::-;;;;:::o;50:20::-;;;;;;;;;;;;;:::o;232:103::-;161:5;;;;;;;;;;;147:19;;:10;:19;;;143:26;;;321:9;294:24;:36;;;;143:26;232:103;:::o", + "source": "pragma solidity ^0.4.25;\n\ncontract Migrations {\n address public owner;\n uint public last_completed_migration;\n\n modifier restricted() {\n if (msg.sender == owner) _;\n }\n\n constructor() public {\n owner = msg.sender;\n }\n\n function setCompleted(uint completed) public restricted {\n last_completed_migration = completed;\n }\n\n function upgrade(address new_address) public restricted {\n Migrations upgraded = Migrations(new_address);\n upgraded.setCompleted(last_completed_migration);\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/Migrations.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/Migrations.sol", + "exportedSymbols": { + "Migrations": [ + 56 + ] + }, + "id": 57, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:0" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 56, + "linearizedBaseContracts": [ + 56 + ], + "name": "Migrations", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "50:20:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "50:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 5, + "name": "last_completed_migration", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "74:36:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "74:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 13, + "nodeType": "Block", + "src": "137:37:0", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 10, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "147:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "147:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 9, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "161:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "147:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 12, + "nodeType": "IfStatement", + "src": "143:26:0", + "trueBody": { + "id": 11, + "nodeType": "PlaceholderStatement", + "src": "168:1:0" + } + } + ] + }, + "documentation": null, + "id": 14, + "name": "restricted", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 6, + "nodeType": "ParameterList", + "parameters": [], + "src": "134:2:0" + }, + "src": "115:59:0", + "visibility": "internal" + }, + { + "body": { + "id": 22, + "nodeType": "Block", + "src": "199:29:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "205:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "213:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 19, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "213:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "205:18:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21, + "nodeType": "ExpressionStatement", + "src": "205:18:0" + } + ] + }, + "documentation": null, + "id": 23, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15, + "nodeType": "ParameterList", + "parameters": [], + "src": "189:2:0" + }, + "payable": false, + "returnParameters": { + "id": 16, + "nodeType": "ParameterList", + "parameters": [], + "src": "199:0:0" + }, + "scope": 56, + "src": "178:50:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 34, + "nodeType": "Block", + "src": "288:47:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 32, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 30, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "294:24:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 31, + "name": "completed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "321:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "294:36:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 33, + "nodeType": "ExpressionStatement", + "src": "294:36:0" + } + ] + }, + "documentation": null, + "id": 35, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 28, + "modifierName": { + "argumentTypes": null, + "id": 27, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14, + "src": "277:10:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "277:10:0" + } + ], + "name": "setCompleted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25, + "name": "completed", + "nodeType": "VariableDeclaration", + "scope": 35, + "src": "254:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "254:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "253:16:0" + }, + "payable": false, + "returnParameters": { + "id": 29, + "nodeType": "ParameterList", + "parameters": [], + "src": "288:0:0" + }, + "scope": 56, + "src": "232:103:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 54, + "nodeType": "Block", + "src": "395:109:0", + "statements": [ + { + "assignments": [ + 43 + ], + "declarations": [ + { + "constant": false, + "id": 43, + "name": "upgraded", + "nodeType": "VariableDeclaration", + "scope": 55, + "src": "401:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$56", + "typeString": "contract Migrations" + }, + "typeName": { + "contractScope": null, + "id": 42, + "name": "Migrations", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 56, + "src": "401:10:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$56", + "typeString": "contract Migrations" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 47, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 45, + "name": "new_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37, + "src": "434:11:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 44, + "name": "Migrations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56, + "src": "423:10:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Migrations_$56_$", + "typeString": "type(contract Migrations)" + } + }, + "id": 46, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "423:23:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$56", + "typeString": "contract Migrations" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "401:45:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 51, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "474:24:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 48, + "name": "upgraded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43, + "src": "452:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$56", + "typeString": "contract Migrations" + } + }, + "id": 50, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setCompleted", + "nodeType": "MemberAccess", + "referencedDeclaration": 35, + "src": "452:21:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 52, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "452:47:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 53, + "nodeType": "ExpressionStatement", + "src": "452:47:0" + } + ] + }, + "documentation": null, + "id": 55, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 40, + "modifierName": { + "argumentTypes": null, + "id": 39, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14, + "src": "384:10:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "384:10:0" + } + ], + "name": "upgrade", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 38, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 37, + "name": "new_address", + "nodeType": "VariableDeclaration", + "scope": 55, + "src": "356:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 36, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "356:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "355:21:0" + }, + "payable": false, + "returnParameters": { + "id": 41, + "nodeType": "ParameterList", + "parameters": [], + "src": "395:0:0" + }, + "scope": 56, + "src": "339:165:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 57, + "src": "26:480:0" + } + ], + "src": "0:507:0" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/Migrations.sol", + "exportedSymbols": { + "Migrations": [ + 56 + ] + }, + "id": 57, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:0" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 56, + "linearizedBaseContracts": [ + 56 + ], + "name": "Migrations", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "50:20:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "50:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 5, + "name": "last_completed_migration", + "nodeType": "VariableDeclaration", + "scope": 56, + "src": "74:36:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "74:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 13, + "nodeType": "Block", + "src": "137:37:0", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 10, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 7, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "147:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "147:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 9, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "161:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "147:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 12, + "nodeType": "IfStatement", + "src": "143:26:0", + "trueBody": { + "id": 11, + "nodeType": "PlaceholderStatement", + "src": "168:1:0" + } + } + ] + }, + "documentation": null, + "id": 14, + "name": "restricted", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 6, + "nodeType": "ParameterList", + "parameters": [], + "src": "134:2:0" + }, + "src": "115:59:0", + "visibility": "internal" + }, + { + "body": { + "id": 22, + "nodeType": "Block", + "src": "199:29:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 20, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 17, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "205:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "213:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 19, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "213:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "205:18:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 21, + "nodeType": "ExpressionStatement", + "src": "205:18:0" + } + ] + }, + "documentation": null, + "id": 23, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15, + "nodeType": "ParameterList", + "parameters": [], + "src": "189:2:0" + }, + "payable": false, + "returnParameters": { + "id": 16, + "nodeType": "ParameterList", + "parameters": [], + "src": "199:0:0" + }, + "scope": 56, + "src": "178:50:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 34, + "nodeType": "Block", + "src": "288:47:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 32, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 30, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "294:24:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 31, + "name": "completed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "321:9:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "294:36:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 33, + "nodeType": "ExpressionStatement", + "src": "294:36:0" + } + ] + }, + "documentation": null, + "id": 35, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 28, + "modifierName": { + "argumentTypes": null, + "id": 27, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14, + "src": "277:10:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "277:10:0" + } + ], + "name": "setCompleted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25, + "name": "completed", + "nodeType": "VariableDeclaration", + "scope": 35, + "src": "254:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "254:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "253:16:0" + }, + "payable": false, + "returnParameters": { + "id": 29, + "nodeType": "ParameterList", + "parameters": [], + "src": "288:0:0" + }, + "scope": 56, + "src": "232:103:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 54, + "nodeType": "Block", + "src": "395:109:0", + "statements": [ + { + "assignments": [ + 43 + ], + "declarations": [ + { + "constant": false, + "id": 43, + "name": "upgraded", + "nodeType": "VariableDeclaration", + "scope": 55, + "src": "401:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$56", + "typeString": "contract Migrations" + }, + "typeName": { + "contractScope": null, + "id": 42, + "name": "Migrations", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 56, + "src": "401:10:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$56", + "typeString": "contract Migrations" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 47, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 45, + "name": "new_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 37, + "src": "434:11:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 44, + "name": "Migrations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56, + "src": "423:10:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Migrations_$56_$", + "typeString": "type(contract Migrations)" + } + }, + "id": 46, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "423:23:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$56", + "typeString": "contract Migrations" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "401:45:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 51, + "name": "last_completed_migration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "474:24:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 48, + "name": "upgraded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43, + "src": "452:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Migrations_$56", + "typeString": "contract Migrations" + } + }, + "id": 50, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "setCompleted", + "nodeType": "MemberAccess", + "referencedDeclaration": 35, + "src": "452:21:0", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256) external" + } + }, + "id": 52, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "452:47:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 53, + "nodeType": "ExpressionStatement", + "src": "452:47:0" + } + ] + }, + "documentation": null, + "id": 55, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 40, + "modifierName": { + "argumentTypes": null, + "id": 39, + "name": "restricted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14, + "src": "384:10:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "384:10:0" + } + ], + "name": "upgrade", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 38, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 37, + "name": "new_address", + "nodeType": "VariableDeclaration", + "scope": 55, + "src": "356:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 36, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "356:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "355:21:0" + }, + "payable": false, + "returnParameters": { + "id": 41, + "nodeType": "ParameterList", + "parameters": [], + "src": "395:0:0" + }, + "scope": 56, + "src": "339:165:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 57, + "src": "26:480:0" + } + ], + "src": "0:507:0" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": { + "1": { + "events": {}, + "links": {}, + "address": "0xA2C1D98B226F5291Ef161dE7Cd16Bcf3bf901973", + "transactionHash": "0x8237dcc2ea7759e85696f79dd916fa2ac0926bae293dacef9bff638fa8ffc652" + } + }, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T10:37:27.602Z" +} \ No newline at end of file diff --git a/build/contracts/MockBadge.json b/build/contracts/MockBadge.json new file mode 100644 index 0000000..982160a --- /dev/null +++ b/build/contracts/MockBadge.json @@ -0,0 +1,1361 @@ +{ + "contractName": "MockBadge", + "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": "", + "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": true, + "inputs": [], + "name": "INITIAL_SUPPLY", + "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": 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": 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": "", + "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": [], + "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": "0x608060405234801561001057600080fd5b5060c860018190555060c86000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60c86040518082815260200191505060405180910390a361125e806100bd6000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100bf578063095ea7b31461014f57806318160ddd146101b457806323b872dd146101df5780632ff2e9dc14610264578063313ce5671461028f57806366188463146102c057806370a082311461032557806395d89b411461037c578063a9059cbb1461040c578063d73dd62314610471578063dd62ed3e146104d6575b600080fd5b3480156100cb57600080fd5b506100d461054d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101145780820151818401526020810190506100f9565b50505050905090810190601f1680156101415780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015b57600080fd5b5061019a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610586565b604051808215151515815260200191505060405180910390f35b3480156101c057600080fd5b506101c9610678565b6040518082815260200191505060405180910390f35b3480156101eb57600080fd5b5061024a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610682565b604051808215151515815260200191505060405180910390f35b34801561027057600080fd5b50610279610a3d565b6040518082815260200191505060405180910390f35b34801561029b57600080fd5b506102a4610a42565b604051808260ff1660ff16815260200191505060405180910390f35b3480156102cc57600080fd5b5061030b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a47565b604051808215151515815260200191505060405180910390f35b34801561033157600080fd5b50610366600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cd9565b6040518082815260200191505060405180910390f35b34801561038857600080fd5b50610391610d21565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103d15780820151818401526020810190506103b6565b50505050905090810190601f1680156103fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041857600080fd5b50610457600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d5a565b604051808215151515815260200191505060405180910390f35b34801561047d57600080fd5b506104bc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f7a565b604051808215151515815260200191505060405180910390f35b3480156104e257600080fd5b50610537600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611176565b6040518082815260200191505060405180910390f35b6040805190810160405280600f81526020017f4b6f76616e20444744204261646765000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156106d157600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561075c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561079857600080fd5b6107e9826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111fd90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061087c826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121690919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061094d82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111fd90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60c881565b600081565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083101515610b59576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bed565b610b6c83826111fd90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6040805190810160405280600481526020017f4b4447420000000000000000000000000000000000000000000000000000000081525081565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610da957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610de557600080fd5b610e36826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111fd90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ec9826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121690919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600061100b82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600082821115151561120b57fe5b818303905092915050565b6000818301905082811015151561122957fe5b809050929150505600a165627a7a72305820c9ae86b3b1f1aaf5fedfa44e44703c7f566e50f71980c392a12e706c8d2b598c0029", + "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100bf578063095ea7b31461014f57806318160ddd146101b457806323b872dd146101df5780632ff2e9dc14610264578063313ce5671461028f57806366188463146102c057806370a082311461032557806395d89b411461037c578063a9059cbb1461040c578063d73dd62314610471578063dd62ed3e146104d6575b600080fd5b3480156100cb57600080fd5b506100d461054d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101145780820151818401526020810190506100f9565b50505050905090810190601f1680156101415780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015b57600080fd5b5061019a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610586565b604051808215151515815260200191505060405180910390f35b3480156101c057600080fd5b506101c9610678565b6040518082815260200191505060405180910390f35b3480156101eb57600080fd5b5061024a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610682565b604051808215151515815260200191505060405180910390f35b34801561027057600080fd5b50610279610a3d565b6040518082815260200191505060405180910390f35b34801561029b57600080fd5b506102a4610a42565b604051808260ff1660ff16815260200191505060405180910390f35b3480156102cc57600080fd5b5061030b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a47565b604051808215151515815260200191505060405180910390f35b34801561033157600080fd5b50610366600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cd9565b6040518082815260200191505060405180910390f35b34801561038857600080fd5b50610391610d21565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103d15780820151818401526020810190506103b6565b50505050905090810190601f1680156103fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041857600080fd5b50610457600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d5a565b604051808215151515815260200191505060405180910390f35b34801561047d57600080fd5b506104bc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f7a565b604051808215151515815260200191505060405180910390f35b3480156104e257600080fd5b50610537600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611176565b6040518082815260200191505060405180910390f35b6040805190810160405280600f81526020017f4b6f76616e20444744204261646765000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156106d157600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561075c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561079857600080fd5b6107e9826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111fd90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061087c826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121690919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061094d82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111fd90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60c881565b600081565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083101515610b59576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bed565b610b6c83826111fd90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6040805190810160405280600481526020017f4b4447420000000000000000000000000000000000000000000000000000000081525081565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610da957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610de557600080fd5b610e36826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111fd90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ec9826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121690919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600061100b82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600082821115151561120b57fe5b818303905092915050565b6000818301905082811015151561122957fe5b809050929150505600a165627a7a72305820c9ae86b3b1f1aaf5fedfa44e44703c7f566e50f71980c392a12e706c8d2b598c0029", + "sourceMap": "99:459:46:-;;;400:156;8:9:-1;5:2;;;30:1;27;20:12;5:2;400:156:46;312:3;427:12;:29;;;;312:3;462:8;:20;471:10;462:20;;;;;;;;;;;;;;;:37;;;;524:10;510:41;;519:3;510:41;312:3;510:41;;;;;;;;;;;;;;;;;;99:459;;;;;;", + "deployedSourceMap": "99:459:46:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;139:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;139:47:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;139:47:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1814:188:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1814:188:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;389:83:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;389:83:87;;;;;;;;;;;;;;;;;;;;;;;726:470:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;726:470:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;271:44:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;271:44:46;;;;;;;;;;;;;;;;;;;;;;;232:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;232:34:46;;;;;;;;;;;;;;;;;;;;;;;;;;;3679:432:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3679:432:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1149:99:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1149:99:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;190:38:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;190:38:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;190:38:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;626:321:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;626:321:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2926:296:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2926:296:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2321:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2321:153:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;139:47:46;;;;;;;;;;;;;;;;;;;;:::o;1814:188:90:-;1881:4;1925:6;1893:7;:19;1901:10;1893:19;;;;;;;;;;;;;;;:29;1913:8;1893:29;;;;;;;;;;;;;;;:38;;;;1963:8;1942:38;;1951:10;1942:38;;;1973:6;1942:38;;;;;;;;;;;;;;;;;;1993:4;1986:11;;1814:188;;;;:::o;389:83:87:-;433:7;455:12;;448:19;;389:83;:::o;726:470:90:-;832:4;864:8;:15;873:5;864:15;;;;;;;;;;;;;;;;854:6;:25;;846:34;;;;;;;;904:7;:14;912:5;904:14;;;;;;;;;;;;;;;:26;919:10;904:26;;;;;;;;;;;;;;;;894:6;:36;;886:45;;;;;;;;960:1;945:17;;:3;:17;;;;937:26;;;;;;;;988:27;1008:6;988:8;:15;997:5;988:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;970:8;:15;979:5;970:15;;;;;;;;;;;;;;;:45;;;;1037:25;1055:6;1037:8;:13;1046:3;1037:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;:41;;;;1097:38;1128:6;1097:7;:14;1105:5;1097:14;;;;;;;;;;;;;;;:26;1112:10;1097:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1068:7;:14;1076:5;1068:14;;;;;;;;;;;;;;;:26;1083:10;1068:26;;;;;;;;;;;;;;;:67;;;;1162:3;1146:28;;1155:5;1146:28;;;1167:6;1146:28;;;;;;;;;;;;;;;;;;1187:4;1180:11;;726:470;;;;;:::o;271:44:46:-;312:3;271:44;:::o;232:34::-;265:1;232:34;:::o;3679:432:90:-;3785:4;3799:16;3818:7;:19;3826:10;3818:19;;;;;;;;;;;;;;;:29;3838:8;3818:29;;;;;;;;;;;;;;;;3799:48;;3877:8;3857:16;:28;;3853:165;;;3927:1;3895:7;:19;3903:10;3895:19;;;;;;;;;;;;;;;:29;3915:8;3895:29;;;;;;;;;;;;;;;:33;;;;3853:165;;;3981:30;3994:16;3981:8;:12;;:30;;;;:::i;:::-;3949:7;:19;3957:10;3949:19;;;;;;;;;;;;;;;:29;3969:8;3949:29;;;;;;;;;;;;;;;:62;;;;3853:165;4049:8;4028:61;;4037:10;4028:61;;;4059:7;:19;4067:10;4059:19;;;;;;;;;;;;;;;:29;4079:8;4059:29;;;;;;;;;;;;;;;;4028:61;;;;;;;;;;;;;;;;;;4102:4;4095:11;;3679:432;;;;;:::o;1149:99:87:-;1205:7;1227:8;:16;1236:6;1227:16;;;;;;;;;;;;;;;;1220:23;;1149:99;;;:::o;190:38:46:-;;;;;;;;;;;;;;;;;;;;:::o;626:321:87:-;689:4;719:8;:20;728:10;719:20;;;;;;;;;;;;;;;;709:6;:30;;701:39;;;;;;;;769:1;754:17;;:3;:17;;;;746:26;;;;;;;;802:32;827:6;802:8;:20;811:10;802:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;779:8;:20;788:10;779:20;;;;;;;;;;;;;;;:55;;;;856:25;874:6;856:8;:13;865:3;856:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;840:8;:13;849:3;840:13;;;;;;;;;;;;;;;:41;;;;913:3;892:33;;901:10;892:33;;;918:6;892:33;;;;;;;;;;;;;;;;;;938:4;931:11;;626:321;;;;:::o;2926:296:90:-;3027:4;3081:46;3115:11;3081:7;:19;3089:10;3081:19;;;;;;;;;;;;;;;:29;3101:8;3081:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;3041:7;:19;3049:10;3041:19;;;;;;;;;;;;;;;:29;3061:8;3041:29;;;;;;;;;;;;;;;:87;;;;3160:8;3139:61;;3148:10;3139:61;;;3170:7;:19;3178:10;3170:19;;;;;;;;;;;;;;;:29;3190:8;3170:29;;;;;;;;;;;;;;;;3139:61;;;;;;;;;;;;;;;;;;3213:4;3206:11;;2926:296;;;;:::o;2321:153::-;2420:7;2444;:15;2452:6;2444:15;;;;;;;;;;;;;;;:25;2460:8;2444:25;;;;;;;;;;;;;;;;2437:32;;2321:153;;;;:::o;1060:116:84:-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;1238:128::-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol\";\n\ncontract MockBadge is StandardToken {\n string public constant name = \"Kovan DGD Badge\";\n string public constant symbol = \"KDGB\";\n uint8 public constant decimals = 0;\n\n uint256 public constant INITIAL_SUPPLY = 200;\n\n /**\n * @dev Constructor that gives msg.sender all of existing tokens.\n */\n constructor() public {\n totalSupply_ = INITIAL_SUPPLY;\n balances[msg.sender] = INITIAL_SUPPLY;\n emit Transfer(0x0, msg.sender, INITIAL_SUPPLY);\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/mock/tokens/MockBadge.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/tokens/MockBadge.sol", + "exportedSymbols": { + "MockBadge": [ + 11942 + ] + }, + "id": 11943, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 11904, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:46" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol", + "file": "openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol", + "id": 11905, + "nodeType": "ImportDirective", + "scope": 11943, + "sourceUnit": 26598, + "src": "26:71:46", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 11906, + "name": "StandardToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 26597, + "src": "121:13:46", + "typeDescriptions": { + "typeIdentifier": "t_contract$_StandardToken_$26597", + "typeString": "contract StandardToken" + } + }, + "id": 11907, + "nodeType": "InheritanceSpecifier", + "src": "121:13:46" + } + ], + "contractDependencies": [ + 26275, + 26318, + 26350, + 26597 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 11942, + "linearizedBaseContracts": [ + 11942, + 26597, + 26275, + 26318, + 26350 + ], + "name": "MockBadge", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 11910, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 11942, + "src": "139:47:46", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string" + }, + "typeName": { + "id": 11908, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "139:6:46", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "4b6f76616e20444744204261646765", + "id": 11909, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "169:17:46", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7f06e6b01f595cb3b922db05ec545b77a25c61f516bf25bbc06c0955a40f02ee", + "typeString": "literal_string \"Kovan DGD Badge\"" + }, + "value": "Kovan DGD Badge" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 11913, + "name": "symbol", + "nodeType": "VariableDeclaration", + "scope": 11942, + "src": "190:38:46", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string" + }, + "typeName": { + "id": 11911, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "190:6:46", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "4b444742", + "id": 11912, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "222:6:46", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d67742dd6d2e52d8c05259dbc399ca1a2bb6134b698596bc2b17aed48efeb949", + "typeString": "literal_string \"KDGB\"" + }, + "value": "KDGB" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 11916, + "name": "decimals", + "nodeType": "VariableDeclaration", + "scope": 11942, + "src": "232:34:46", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 11914, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "232:5:46", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30", + "id": 11915, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "265:1:46", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 11919, + "name": "INITIAL_SUPPLY", + "nodeType": "VariableDeclaration", + "scope": 11942, + "src": "271:44:46", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11917, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "271:7:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "323030", + "id": 11918, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "312:3:46", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_200_by_1", + "typeString": "int_const 200" + }, + "value": "200" + }, + "visibility": "public" + }, + { + "body": { + "id": 11940, + "nodeType": "Block", + "src": "421:135:46", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 11922, + "name": "totalSupply_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26194, + "src": "427:12:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11923, + "name": "INITIAL_SUPPLY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11919, + "src": "442:14:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "427:29:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11925, + "nodeType": "ExpressionStatement", + "src": "427:29:46" + }, + { + "expression": { + "argumentTypes": null, + "id": 11931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11926, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "462:8:46", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11929, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11927, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "471:3:46", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 11928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "471:10:46", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "462:20:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11930, + "name": "INITIAL_SUPPLY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11919, + "src": "485:14:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "462:37:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11932, + "nodeType": "ExpressionStatement", + "src": "462:37:46" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 11934, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "519:3:46", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11935, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "524:3:46", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 11936, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "524:10:46", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 11937, + "name": "INITIAL_SUPPLY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11919, + "src": "536:14:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 11933, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26349, + "src": "510:8:46", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 11938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "510:41:46", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11939, + "nodeType": "EmitStatement", + "src": "505:46:46" + } + ] + }, + "documentation": "@dev Constructor that gives msg.sender all of existing tokens.", + "id": 11941, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11920, + "nodeType": "ParameterList", + "parameters": [], + "src": "411:2:46" + }, + "payable": false, + "returnParameters": { + "id": 11921, + "nodeType": "ParameterList", + "parameters": [], + "src": "421:0:46" + }, + "scope": 11942, + "src": "400:156:46", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 11943, + "src": "99:459:46" + } + ], + "src": "0:559:46" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/tokens/MockBadge.sol", + "exportedSymbols": { + "MockBadge": [ + 11942 + ] + }, + "id": 11943, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 11904, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:46" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol", + "file": "openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol", + "id": 11905, + "nodeType": "ImportDirective", + "scope": 11943, + "sourceUnit": 26598, + "src": "26:71:46", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 11906, + "name": "StandardToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 26597, + "src": "121:13:46", + "typeDescriptions": { + "typeIdentifier": "t_contract$_StandardToken_$26597", + "typeString": "contract StandardToken" + } + }, + "id": 11907, + "nodeType": "InheritanceSpecifier", + "src": "121:13:46" + } + ], + "contractDependencies": [ + 26275, + 26318, + 26350, + 26597 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 11942, + "linearizedBaseContracts": [ + 11942, + 26597, + 26275, + 26318, + 26350 + ], + "name": "MockBadge", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 11910, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 11942, + "src": "139:47:46", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string" + }, + "typeName": { + "id": 11908, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "139:6:46", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "4b6f76616e20444744204261646765", + "id": 11909, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "169:17:46", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7f06e6b01f595cb3b922db05ec545b77a25c61f516bf25bbc06c0955a40f02ee", + "typeString": "literal_string \"Kovan DGD Badge\"" + }, + "value": "Kovan DGD Badge" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 11913, + "name": "symbol", + "nodeType": "VariableDeclaration", + "scope": 11942, + "src": "190:38:46", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string" + }, + "typeName": { + "id": 11911, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "190:6:46", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "4b444742", + "id": 11912, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "222:6:46", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d67742dd6d2e52d8c05259dbc399ca1a2bb6134b698596bc2b17aed48efeb949", + "typeString": "literal_string \"KDGB\"" + }, + "value": "KDGB" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 11916, + "name": "decimals", + "nodeType": "VariableDeclaration", + "scope": 11942, + "src": "232:34:46", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 11914, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "232:5:46", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30", + "id": 11915, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "265:1:46", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 11919, + "name": "INITIAL_SUPPLY", + "nodeType": "VariableDeclaration", + "scope": 11942, + "src": "271:44:46", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11917, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "271:7:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "323030", + "id": 11918, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "312:3:46", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_200_by_1", + "typeString": "int_const 200" + }, + "value": "200" + }, + "visibility": "public" + }, + { + "body": { + "id": 11940, + "nodeType": "Block", + "src": "421:135:46", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 11922, + "name": "totalSupply_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26194, + "src": "427:12:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11923, + "name": "INITIAL_SUPPLY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11919, + "src": "442:14:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "427:29:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11925, + "nodeType": "ExpressionStatement", + "src": "427:29:46" + }, + { + "expression": { + "argumentTypes": null, + "id": 11931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11926, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "462:8:46", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11929, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11927, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "471:3:46", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 11928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "471:10:46", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "462:20:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11930, + "name": "INITIAL_SUPPLY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11919, + "src": "485:14:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "462:37:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11932, + "nodeType": "ExpressionStatement", + "src": "462:37:46" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 11934, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "519:3:46", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11935, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "524:3:46", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 11936, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "524:10:46", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 11937, + "name": "INITIAL_SUPPLY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11919, + "src": "536:14:46", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 11933, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26349, + "src": "510:8:46", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 11938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "510:41:46", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11939, + "nodeType": "EmitStatement", + "src": "505:46:46" + } + ] + }, + "documentation": "@dev Constructor that gives msg.sender all of existing tokens.", + "id": 11941, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11920, + "nodeType": "ParameterList", + "parameters": [], + "src": "411:2:46" + }, + "payable": false, + "returnParameters": { + "id": 11921, + "nodeType": "ParameterList", + "parameters": [], + "src": "421:0:46" + }, + "scope": 11942, + "src": "400:156:46", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 11943, + "src": "99:459:46" + } + ], + "src": "0:559:46" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.887Z" +} \ No newline at end of file diff --git a/build/contracts/MockCommitRevealContract.json b/build/contracts/MockCommitRevealContract.json new file mode 100644 index 0000000..27310e8 --- /dev/null +++ b/build/contracts/MockCommitRevealContract.json @@ -0,0 +1,1347 @@ +{ + "contractName": "MockCommitRevealContract", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "_commit", + "type": "bytes32" + } + ], + "name": "setCommit", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_vote", + "type": "bool" + }, + { + "name": "_salt", + "type": "uint256" + } + ], + "name": "verify", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5061029b806100206000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063207e1d5e14610051578063c7945fbd146100a2575b600080fd5b34801561005d57600080fd5b50610088600480360381019080803515159060200190929190803590602001909291905050506100d3565b604051808215151515815260200191505060405180910390f35b3480156100ae57600080fd5b506100d16004803603810190808035600019169060200190929190505050610225565b005b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460001916338484604051602001808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140183151515157f010000000000000000000000000000000000000000000000000000000000000002815260010182815260200193505050506040516020818303038152906040526040518082805190602001908083835b6020831015156101de57805182526020820191506020810190506020830392506101b9565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191614151561021b57600080fd5b6001905092915050565b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208160001916905550505600a165627a7a7230582032a575216ccd8fd1b1d81ae1c40a93c6855d25dc6262b7d574af0ea64ba5f3480029", + "deployedBytecode": "0x60806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063207e1d5e14610051578063c7945fbd146100a2575b600080fd5b34801561005d57600080fd5b50610088600480360381019080803515159060200190929190803590602001909291905050506100d3565b604051808215151515815260200191505060405180910390f35b3480156100ae57600080fd5b506100d16004803603810190808035600019169060200190929190505050610225565b005b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460001916338484604051602001808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140183151515157f010000000000000000000000000000000000000000000000000000000000000002815260010182815260200193505050506040516020818303038152906040526040518082805190602001908083835b6020831015156101de57805182526020820191506020810190506020830392506101b9565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191614151561021b57600080fd5b6001905092915050565b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208160001916905550505600a165627a7a7230582032a575216ccd8fd1b1d81ae1c40a93c6855d25dc6262b7d574af0ea64ba5f3480029", + "sourceMap": "26:371:25:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26:371:25;;;;;;;", + "deployedSourceMap": "26:371:25:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;198:197;;8:9:-1;5:2;;;30:1;27;20:12;5:2;198:197:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;105:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;105:89:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;198:197;274:4;353:7;:19;361:10;353:19;;;;;;;;;;;;;;;;296:76;;;323:10;335:5;342;306:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;306:42:25;;;296:53;;;;;;;;;;;;;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;;;296:53:25;;;;;;;;;;;;;;;;:76;;;;288:85;;;;;;;;386:4;379:11;;198:197;;;;:::o;105:89::-;182:7;160;:19;168:10;160:19;;;;;;;;;;;;;;;:29;;;;;;;105:89;:::o", + "source": "pragma solidity ^0.4.25;\n\ncontract MockCommitRevealContract {\n mapping (address => bytes32) commits;\n\n function setCommit(bytes32 _commit)\n public\n {\n commits[msg.sender] = _commit;\n }\n\n function verify(bool _vote, uint256 _salt)\n public\n view\n returns (bool)\n {\n require(keccak256(abi.encodePacked(msg.sender, _vote, _salt)) == commits[msg.sender]);\n return true;\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/mock/MockCommitRevealContract.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/MockCommitRevealContract.sol", + "exportedSymbols": { + "MockCommitRevealContract": [ + 8624 + ] + }, + "id": 8625, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 8577, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:25" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 8624, + "linearizedBaseContracts": [ + 8624 + ], + "name": "MockCommitRevealContract", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 8581, + "name": "commits", + "nodeType": "VariableDeclaration", + "scope": 8624, + "src": "64:36:25", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$", + "typeString": "mapping(address => bytes32)" + }, + "typeName": { + "id": 8580, + "keyType": { + "id": 8578, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "73:7:25", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "64:28:25", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$", + "typeString": "mapping(address => bytes32)" + }, + "valueType": { + "id": 8579, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "84:7:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 8593, + "nodeType": "Block", + "src": "154:40:25", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8586, + "name": "commits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8581, + "src": "160:7:25", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$", + "typeString": "mapping(address => bytes32)" + } + }, + "id": 8589, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8587, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "168:3:25", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "168:10:25", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "160:19:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8590, + "name": "_commit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8583, + "src": "182:7:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "160:29:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 8592, + "nodeType": "ExpressionStatement", + "src": "160:29:25" + } + ] + }, + "documentation": null, + "id": 8594, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setCommit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8584, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8583, + "name": "_commit", + "nodeType": "VariableDeclaration", + "scope": 8594, + "src": "124:15:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8582, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "124:7:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "123:17:25" + }, + "payable": false, + "returnParameters": { + "id": 8585, + "nodeType": "ParameterList", + "parameters": [], + "src": "154:0:25" + }, + "scope": 8624, + "src": "105:89:25", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 8622, + "nodeType": "Block", + "src": "282:113:25", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 8617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8607, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "323:3:25", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "323:10:25", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 8609, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8596, + "src": "335:5:25", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 8610, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8598, + "src": "342:5:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 8605, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26599, + "src": "306:3:25", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8606, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "306:16:25", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 8611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "306:42:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8604, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26606, + "src": "296:9:25", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 8612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "296:53:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8613, + "name": "commits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8581, + "src": "353:7:25", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$", + "typeString": "mapping(address => bytes32)" + } + }, + "id": 8616, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8614, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "361:3:25", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "361:10:25", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "353:19:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "296:76:25", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 8603, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "288:7:25", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 8618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "288:85:25", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8619, + "nodeType": "ExpressionStatement", + "src": "288:85:25" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 8620, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "386:4:25", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 8602, + "id": 8621, + "nodeType": "Return", + "src": "379:11:25" + } + ] + }, + "documentation": null, + "id": 8623, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "verify", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8599, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8596, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 8623, + "src": "214:10:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8595, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "214:4:25", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8598, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 8623, + "src": "226:13:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8597, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "226:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "213:27:25" + }, + "payable": false, + "returnParameters": { + "id": 8602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8601, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 8623, + "src": "274:4:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8600, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "274:4:25", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "273:6:25" + }, + "scope": 8624, + "src": "198:197:25", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 8625, + "src": "26:371:25" + } + ], + "src": "0:398:25" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/MockCommitRevealContract.sol", + "exportedSymbols": { + "MockCommitRevealContract": [ + 8624 + ] + }, + "id": 8625, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 8577, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:25" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 8624, + "linearizedBaseContracts": [ + 8624 + ], + "name": "MockCommitRevealContract", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 8581, + "name": "commits", + "nodeType": "VariableDeclaration", + "scope": 8624, + "src": "64:36:25", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$", + "typeString": "mapping(address => bytes32)" + }, + "typeName": { + "id": 8580, + "keyType": { + "id": 8578, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "73:7:25", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "64:28:25", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$", + "typeString": "mapping(address => bytes32)" + }, + "valueType": { + "id": 8579, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "84:7:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 8593, + "nodeType": "Block", + "src": "154:40:25", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8586, + "name": "commits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8581, + "src": "160:7:25", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$", + "typeString": "mapping(address => bytes32)" + } + }, + "id": 8589, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8587, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "168:3:25", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "168:10:25", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "160:19:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8590, + "name": "_commit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8583, + "src": "182:7:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "160:29:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 8592, + "nodeType": "ExpressionStatement", + "src": "160:29:25" + } + ] + }, + "documentation": null, + "id": 8594, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setCommit", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8584, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8583, + "name": "_commit", + "nodeType": "VariableDeclaration", + "scope": 8594, + "src": "124:15:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8582, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "124:7:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "123:17:25" + }, + "payable": false, + "returnParameters": { + "id": 8585, + "nodeType": "ParameterList", + "parameters": [], + "src": "154:0:25" + }, + "scope": 8624, + "src": "105:89:25", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 8622, + "nodeType": "Block", + "src": "282:113:25", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 8617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8607, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "323:3:25", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "323:10:25", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 8609, + "name": "_vote", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8596, + "src": "335:5:25", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 8610, + "name": "_salt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8598, + "src": "342:5:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 8605, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26599, + "src": "306:3:25", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8606, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "306:16:25", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 8611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "306:42:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8604, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26606, + "src": "296:9:25", + "typeDescriptions": { + "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 8612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "296:53:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8613, + "name": "commits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8581, + "src": "353:7:25", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$", + "typeString": "mapping(address => bytes32)" + } + }, + "id": 8616, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 8614, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "361:3:25", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 8615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "361:10:25", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "353:19:25", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "296:76:25", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 8603, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "288:7:25", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 8618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "288:85:25", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8619, + "nodeType": "ExpressionStatement", + "src": "288:85:25" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 8620, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "386:4:25", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 8602, + "id": 8621, + "nodeType": "Return", + "src": "379:11:25" + } + ] + }, + "documentation": null, + "id": 8623, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "verify", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8599, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8596, + "name": "_vote", + "nodeType": "VariableDeclaration", + "scope": 8623, + "src": "214:10:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8595, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "214:4:25", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8598, + "name": "_salt", + "nodeType": "VariableDeclaration", + "scope": 8623, + "src": "226:13:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8597, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "226:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "213:27:25" + }, + "payable": false, + "returnParameters": { + "id": 8602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8601, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 8623, + "src": "274:4:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8600, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "274:4:25", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "273:6:25" + }, + "scope": 8624, + "src": "198:197:25", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 8625, + "src": "26:371:25" + } + ], + "src": "0:398:25" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.860Z" +} \ No newline at end of file diff --git a/build/contracts/MockConstructorMethod.json b/build/contracts/MockConstructorMethod.json new file mode 100644 index 0000000..db897f1 --- /dev/null +++ b/build/contracts/MockConstructorMethod.json @@ -0,0 +1,637 @@ +{ + "contractName": "MockConstructorMethod", + "abi": [ + { + "inputs": [ + { + "name": "daoStorageAddress", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + } + ], + "bytecode": "0x608060405260006001026000906000191690556000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006002906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006003906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006004906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006005906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600790600019169055600160085560026009556003600a556001600b556002600c556003600d557f696e7465725f6467645f69640000000000000000000000000000000000000000600e906000191690557f696e7465725f6d6f645f6467645f696400000000000000000000000000000000600f906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006010906000191690557f64616f00000000000000000000000000000000000000000000000000000000006011906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006012906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006013906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006014906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006015906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006016906000191690557f64616f3a6964656e7469747900000000000000000000000000000000000000006017906000191690557f64616f3a726577617264732d6d616e61676572000000000000000000000000006018906000191690557f64616f3a726577617264732d65787472617300000000000000000000000000006019906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601a906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601c906000191690557f64616f3a696e666f726d6174696f6e0000000000000000000000000000000000601d906000191690557f736572766963653a726f6c650000000000000000000000000000000000000000601e906000191690557f736572766963653a64616f3a696e666f00000000000000000000000000000000601f906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006020906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006021906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006022906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006023906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006024906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006025906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006026906000191690557f73746f726167653a64616f3a7370656369616c000000000000000000000000006027906000191690557f73746f726167653a64616f3a636f6e66696700000000000000000000000000006028906000191690557f73746f726167653a64616f3a7374616b650000000000000000000000000000006029906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602a906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602b906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602c906000191690557f743a646764000000000000000000000000000000000000000000000000000000602d906000191690557f743a646778000000000000000000000000000000000000000000000000000000602e906000191690557f743a626164676500000000000000000000000000000000000000000000000000602f906000191690556001603060006101000a81548160ff021916908360ff1602179055506002603060016101000a81548160ff021916908360ff1602179055506003603060026101000a81548160ff021916908360ff1602179055506004603060036101000a81548160ff021916908360ff1602179055506276a7006031557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006032906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006033906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006034906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006035906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006036906000191690557f766f74696e675f636f6d6d69745f7068617365000000000000000000000000006037906000191690557f766f74696e675f70686173655f746f74616c00000000000000000000000000006038906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f706861736500000000006039906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603a906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603b906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603c906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f720000603d906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f72603e906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f720000000000603f906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006040906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006041906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006042906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006043906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726044906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006045906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006046906000191690557f766f74696e675f71756f74615f6e756d657261746f72000000000000000000006047906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f7200000000000000006048906000191690557f6d696e696d616c5f7170000000000000000000000000000000000000000000006049906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604a906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604b906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604c906000191690557f6d6f645f71705f7363616c696e675f666163746f720000000000000000000000604d906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f7200000000604e906000191690557f717561727465725f706f696e745f64726166745f766f74650000000000000000604f906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006050906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006051906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006052906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006053906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006054906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006055906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006056906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f7200006057906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f726058906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f7200000000000000006059906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605a906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605b906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605c906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d0000000000605d906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e0000000000605e906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e00000000000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006061906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006062906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006063906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006064906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006065906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006066906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c0000006067906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e446967697800000000006068906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e446967697800006069906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606a906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606b906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606c9060001916905534801561113357600080fd5b506040516020806112558339810180604052810190808051906020019092919050505060008190508073ffffffffffffffffffffffffffffffffffffffff1663e7853aac6002546040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156111d457600080fd5b505af11580156111e8573d6000803e3d6000fd5b505050506040513d60208110156111fe57600080fd5b81019080805190602001909291905050505050506035806112206000396000f3006080604052600080fd00a165627a7a72305820639bc6c62d98aae45f936d1f6d46504c1e5ab4a9318d4e6f5a7eaa10e7c1c6cf0029", + "deployedBytecode": "0x6080604052600080fd00a165627a7a72305820639bc6c62d98aae45f936d1f6d46504c1e5ab4a9318d4e6f5a7eaa10e7c1c6cf0029", + "sourceMap": "107:340:49:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;257:188:49;8:9:-1;5:2;;;30:1;27;20:12;5:2;257:188:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;313:21;348:17;313:53;;376:10;:34;;;411:26;;376:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;376:62:49;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;376:62:49;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;376:62:49;;;;;;;;;;;;;;;;;257:188;;107:340;;;;;;", + "deployedSourceMap": "107:340:49:-;;;;;", + "source": "pragma solidity ^0.4.25;\n\nimport \"../../storage/DaoStorage.sol\";\nimport \"../../common/DaoConstants.sol\";\n\n\ncontract MockConstructorMethod is DaoConstants {\n\n // attempt to read a restricted read function from a non-whitelisted contract's constructor\n constructor(address daoStorageAddress) public {\n DaoStorage daoStorage = DaoStorage(daoStorageAddress);\n daoStorage.getFirstProposalInState(PROPOSAL_STATE_PREPROPOSAL);\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/mock/whitelisting/MockConstructorMethod.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/whitelisting/MockConstructorMethod.sol", + "exportedSymbols": { + "MockConstructorMethod": [ + 12030 + ] + }, + "id": 12031, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 12007, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:49" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStorage.sol", + "file": "../../storage/DaoStorage.sol", + "id": 12008, + "nodeType": "ImportDirective", + "scope": 12031, + "sourceUnit": 18305, + "src": "26:38:49", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "../../common/DaoConstants.sol", + "id": 12009, + "nodeType": "ImportDirective", + "scope": 12031, + "sourceUnit": 1581, + "src": "65:39:49", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 12010, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "141:12:49", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 12011, + "nodeType": "InheritanceSpecifier", + "src": "141:12:49" + } + ], + "contractDependencies": [ + 1580 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 12030, + "linearizedBaseContracts": [ + 12030, + 1580 + ], + "name": "MockConstructorMethod", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 12028, + "nodeType": "Block", + "src": "303:142:49", + "statements": [ + { + "assignments": [ + 12017 + ], + "declarations": [ + { + "constant": false, + "id": 12017, + "name": "daoStorage", + "nodeType": "VariableDeclaration", + "scope": 12029, + "src": "313:21:49", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + }, + "typeName": { + "contractScope": null, + "id": 12016, + "name": "DaoStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18304, + "src": "313:10:49", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 12021, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12019, + "name": "daoStorageAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12013, + "src": "348:17:49", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 12018, + "name": "DaoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18304, + "src": "337:10:49", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStorage_$18304_$", + "typeString": "type(contract DaoStorage)" + } + }, + "id": 12020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "337:29:49", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "313:53:49" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12025, + "name": "PROPOSAL_STATE_PREPROPOSAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1252, + "src": "411:26:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 12022, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12017, + "src": "376:10:49", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getFirstProposalInState", + "nodeType": "MemberAccess", + "referencedDeclaration": 17018, + "src": "376:34:49", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + "id": 12026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "376:62:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 12027, + "nodeType": "ExpressionStatement", + "src": "376:62:49" + } + ] + }, + "documentation": null, + "id": 12029, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12014, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12013, + "name": "daoStorageAddress", + "nodeType": "VariableDeclaration", + "scope": 12029, + "src": "269:25:49", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12012, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "269:7:49", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "268:27:49" + }, + "payable": false, + "returnParameters": { + "id": 12015, + "nodeType": "ParameterList", + "parameters": [], + "src": "303:0:49" + }, + "scope": 12030, + "src": "257:188:49", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 12031, + "src": "107:340:49" + } + ], + "src": "0:448:49" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/whitelisting/MockConstructorMethod.sol", + "exportedSymbols": { + "MockConstructorMethod": [ + 12030 + ] + }, + "id": 12031, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 12007, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:49" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStorage.sol", + "file": "../../storage/DaoStorage.sol", + "id": 12008, + "nodeType": "ImportDirective", + "scope": 12031, + "sourceUnit": 18305, + "src": "26:38:49", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/common/DaoConstants.sol", + "file": "../../common/DaoConstants.sol", + "id": 12009, + "nodeType": "ImportDirective", + "scope": 12031, + "sourceUnit": 1581, + "src": "65:39:49", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 12010, + "name": "DaoConstants", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1580, + "src": "141:12:49", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConstants_$1580", + "typeString": "contract DaoConstants" + } + }, + "id": 12011, + "nodeType": "InheritanceSpecifier", + "src": "141:12:49" + } + ], + "contractDependencies": [ + 1580 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 12030, + "linearizedBaseContracts": [ + 12030, + 1580 + ], + "name": "MockConstructorMethod", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 12028, + "nodeType": "Block", + "src": "303:142:49", + "statements": [ + { + "assignments": [ + 12017 + ], + "declarations": [ + { + "constant": false, + "id": 12017, + "name": "daoStorage", + "nodeType": "VariableDeclaration", + "scope": 12029, + "src": "313:21:49", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + }, + "typeName": { + "contractScope": null, + "id": 12016, + "name": "DaoStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18304, + "src": "313:10:49", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 12021, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12019, + "name": "daoStorageAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12013, + "src": "348:17:49", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 12018, + "name": "DaoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18304, + "src": "337:10:49", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStorage_$18304_$", + "typeString": "type(contract DaoStorage)" + } + }, + "id": 12020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "337:29:49", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "313:53:49" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12025, + "name": "PROPOSAL_STATE_PREPROPOSAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1252, + "src": "411:26:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 12022, + "name": "daoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12017, + "src": "376:10:49", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 12024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getFirstProposalInState", + "nodeType": "MemberAccess", + "referencedDeclaration": 17018, + "src": "376:34:49", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view external returns (bytes32)" + } + }, + "id": 12026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "376:62:49", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 12027, + "nodeType": "ExpressionStatement", + "src": "376:62:49" + } + ] + }, + "documentation": null, + "id": 12029, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12014, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12013, + "name": "daoStorageAddress", + "nodeType": "VariableDeclaration", + "scope": 12029, + "src": "269:25:49", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12012, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "269:7:49", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "268:27:49" + }, + "payable": false, + "returnParameters": { + "id": 12015, + "nodeType": "ParameterList", + "parameters": [], + "src": "303:0:49" + }, + "scope": 12030, + "src": "257:188:49", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 12031, + "src": "107:340:49" + } + ], + "src": "0:448:49" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.888Z" +} \ No newline at end of file diff --git a/build/contracts/MockConstructorMethodFactory.json b/build/contracts/MockConstructorMethodFactory.json new file mode 100644 index 0000000..064647e --- /dev/null +++ b/build/contracts/MockConstructorMethodFactory.json @@ -0,0 +1,398 @@ +{ + "contractName": "MockConstructorMethodFactory", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "daoStorageAddress", + "type": "address" + } + ], + "name": "test", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5061137a806100206000396000f300608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063bb29998e14610046575b600080fd5b34801561005257600080fd5b50610087600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610089565b005b806100926100e9565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f0801580156100e4573d6000803e3d6000fd5b505050565b604051611255806100fa833901905600608060405260006001026000906000191690556000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006002906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006003906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006004906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006005906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600790600019169055600160085560026009556003600a556001600b556002600c556003600d557f696e7465725f6467645f69640000000000000000000000000000000000000000600e906000191690557f696e7465725f6d6f645f6467645f696400000000000000000000000000000000600f906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006010906000191690557f64616f00000000000000000000000000000000000000000000000000000000006011906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006012906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006013906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006014906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006015906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006016906000191690557f64616f3a6964656e7469747900000000000000000000000000000000000000006017906000191690557f64616f3a726577617264732d6d616e61676572000000000000000000000000006018906000191690557f64616f3a726577617264732d65787472617300000000000000000000000000006019906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601a906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601c906000191690557f64616f3a696e666f726d6174696f6e0000000000000000000000000000000000601d906000191690557f736572766963653a726f6c650000000000000000000000000000000000000000601e906000191690557f736572766963653a64616f3a696e666f00000000000000000000000000000000601f906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006020906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006021906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006022906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006023906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006024906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006025906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006026906000191690557f73746f726167653a64616f3a7370656369616c000000000000000000000000006027906000191690557f73746f726167653a64616f3a636f6e66696700000000000000000000000000006028906000191690557f73746f726167653a64616f3a7374616b650000000000000000000000000000006029906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602a906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602b906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602c906000191690557f743a646764000000000000000000000000000000000000000000000000000000602d906000191690557f743a646778000000000000000000000000000000000000000000000000000000602e906000191690557f743a626164676500000000000000000000000000000000000000000000000000602f906000191690556001603060006101000a81548160ff021916908360ff1602179055506002603060016101000a81548160ff021916908360ff1602179055506003603060026101000a81548160ff021916908360ff1602179055506004603060036101000a81548160ff021916908360ff1602179055506276a7006031557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006032906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006033906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006034906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006035906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006036906000191690557f766f74696e675f636f6d6d69745f7068617365000000000000000000000000006037906000191690557f766f74696e675f70686173655f746f74616c00000000000000000000000000006038906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f706861736500000000006039906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603a906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603b906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603c906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f720000603d906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f72603e906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f720000000000603f906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006040906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006041906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006042906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006043906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726044906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006045906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006046906000191690557f766f74696e675f71756f74615f6e756d657261746f72000000000000000000006047906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f7200000000000000006048906000191690557f6d696e696d616c5f7170000000000000000000000000000000000000000000006049906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604a906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604b906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604c906000191690557f6d6f645f71705f7363616c696e675f666163746f720000000000000000000000604d906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f7200000000604e906000191690557f717561727465725f706f696e745f64726166745f766f74650000000000000000604f906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006050906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006051906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006052906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006053906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006054906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006055906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006056906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f7200006057906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f726058906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f7200000000000000006059906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605a906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605b906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605c906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d0000000000605d906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e0000000000605e906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e00000000000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006061906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006062906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006063906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006064906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006065906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006066906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c0000006067906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e446967697800000000006068906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e446967697800006069906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606a906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606b906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606c9060001916905534801561113357600080fd5b506040516020806112558339810180604052810190808051906020019092919050505060008190508073ffffffffffffffffffffffffffffffffffffffff1663e7853aac6002546040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156111d457600080fd5b505af11580156111e8573d6000803e3d6000fd5b505050506040513d60208110156111fe57600080fd5b81019080805190602001909291905050505050506035806112206000396000f3006080604052600080fd00a165627a7a72305820639bc6c62d98aae45f936d1f6d46504c1e5ab4a9318d4e6f5a7eaa10e7c1c6cf0029a165627a7a72305820ca26a83264ef01f1dd3c4fbc91dfd4a83f55b01ca7a2a4795cf485e942e536080029", + "deployedBytecode": "0x608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063bb29998e14610046575b600080fd5b34801561005257600080fd5b50610087600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610089565b005b806100926100e9565b808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f0801580156100e4573d6000803e3d6000fd5b505050565b604051611255806100fa833901905600608060405260006001026000906000191690556000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006002906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006003906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006004906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006005906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600790600019169055600160085560026009556003600a556001600b556002600c556003600d557f696e7465725f6467645f69640000000000000000000000000000000000000000600e906000191690557f696e7465725f6d6f645f6467645f696400000000000000000000000000000000600f906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006010906000191690557f64616f00000000000000000000000000000000000000000000000000000000006011906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006012906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006013906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006014906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006015906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006016906000191690557f64616f3a6964656e7469747900000000000000000000000000000000000000006017906000191690557f64616f3a726577617264732d6d616e61676572000000000000000000000000006018906000191690557f64616f3a726577617264732d65787472617300000000000000000000000000006019906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601a906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601c906000191690557f64616f3a696e666f726d6174696f6e0000000000000000000000000000000000601d906000191690557f736572766963653a726f6c650000000000000000000000000000000000000000601e906000191690557f736572766963653a64616f3a696e666f00000000000000000000000000000000601f906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006020906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006021906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006022906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006023906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006024906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006025906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006026906000191690557f73746f726167653a64616f3a7370656369616c000000000000000000000000006027906000191690557f73746f726167653a64616f3a636f6e66696700000000000000000000000000006028906000191690557f73746f726167653a64616f3a7374616b650000000000000000000000000000006029906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602a906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602b906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602c906000191690557f743a646764000000000000000000000000000000000000000000000000000000602d906000191690557f743a646778000000000000000000000000000000000000000000000000000000602e906000191690557f743a626164676500000000000000000000000000000000000000000000000000602f906000191690556001603060006101000a81548160ff021916908360ff1602179055506002603060016101000a81548160ff021916908360ff1602179055506003603060026101000a81548160ff021916908360ff1602179055506004603060036101000a81548160ff021916908360ff1602179055506276a7006031557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006032906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006033906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006034906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006035906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006036906000191690557f766f74696e675f636f6d6d69745f7068617365000000000000000000000000006037906000191690557f766f74696e675f70686173655f746f74616c00000000000000000000000000006038906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f706861736500000000006039906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603a906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603b906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603c906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f720000603d906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f72603e906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f720000000000603f906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006040906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006041906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006042906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006043906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726044906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006045906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006046906000191690557f766f74696e675f71756f74615f6e756d657261746f72000000000000000000006047906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f7200000000000000006048906000191690557f6d696e696d616c5f7170000000000000000000000000000000000000000000006049906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604a906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604b906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604c906000191690557f6d6f645f71705f7363616c696e675f666163746f720000000000000000000000604d906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f7200000000604e906000191690557f717561727465725f706f696e745f64726166745f766f74650000000000000000604f906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006050906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006051906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006052906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006053906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006054906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006055906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006056906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f7200006057906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f726058906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f7200000000000000006059906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605a906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605b906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605c906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d0000000000605d906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e0000000000605e906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e00000000000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006061906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006062906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006063906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006064906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006065906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006066906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c0000006067906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e446967697800000000006068906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e446967697800006069906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606a906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606b906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606c9060001916905534801561113357600080fd5b506040516020806112558339810180604052810190808051906020019092919050505060008190508073ffffffffffffffffffffffffffffffffffffffff1663e7853aac6002546040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156111d457600080fd5b505af11580156111e8573d6000803e3d6000fd5b505050506040513d60208110156111fe57600080fd5b81019080805190602001909291905050505050506035806112206000396000f3006080604052600080fd00a165627a7a72305820639bc6c62d98aae45f936d1f6d46504c1e5ab4a9318d4e6f5a7eaa10e7c1c6cf0029a165627a7a72305820ca26a83264ef01f1dd3c4fbc91dfd4a83f55b01ca7a2a4795cf485e942e536080029", + "sourceMap": "65:215:50:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;65:215:50;;;;;;;", + "deployedSourceMap": "65:215:50:-;;;;;;;;;;;;;;;;;;;;;;;;110:168;;8:9:-1;5:2;;;30:1;27;20:12;5:2;110:168:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;195:17;169:44;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;169:44:50;;110:168;:::o;65:215::-;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"./MockConstructorMethod.sol\";\n\ncontract MockConstructorMethodFactory {\n\n function test (address daoStorageAddress) public {\n new MockConstructorMethod(daoStorageAddress);\n // the previous call should have reverted the tnx\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/mock/whitelisting/MockConstructorMethodFactory.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/whitelisting/MockConstructorMethodFactory.sol", + "exportedSymbols": { + "MockConstructorMethodFactory": [ + 12045 + ] + }, + "id": 12046, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 12032, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:50" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/whitelisting/MockConstructorMethod.sol", + "file": "./MockConstructorMethod.sol", + "id": 12033, + "nodeType": "ImportDirective", + "scope": 12046, + "sourceUnit": 12031, + "src": "26:37:50", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [ + 12030 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 12045, + "linearizedBaseContracts": [ + 12045 + ], + "name": "MockConstructorMethodFactory", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 12043, + "nodeType": "Block", + "src": "159:119:50", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12040, + "name": "daoStorageAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12035, + "src": "195:17:50", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 12039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "169:25:50", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_address_$returns$_t_contract$_MockConstructorMethod_$12030_$", + "typeString": "function (address) returns (contract MockConstructorMethod)" + }, + "typeName": { + "contractScope": null, + "id": 12038, + "name": "MockConstructorMethod", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 12030, + "src": "173:21:50", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockConstructorMethod_$12030", + "typeString": "contract MockConstructorMethod" + } + } + }, + "id": 12041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "169:44:50", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockConstructorMethod_$12030", + "typeString": "contract MockConstructorMethod" + } + }, + "id": 12042, + "nodeType": "ExpressionStatement", + "src": "169:44:50" + } + ] + }, + "documentation": null, + "id": 12044, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "test", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12036, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12035, + "name": "daoStorageAddress", + "nodeType": "VariableDeclaration", + "scope": 12044, + "src": "125:25:50", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12034, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "125:7:50", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "124:27:50" + }, + "payable": false, + "returnParameters": { + "id": 12037, + "nodeType": "ParameterList", + "parameters": [], + "src": "159:0:50" + }, + "scope": 12045, + "src": "110:168:50", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 12046, + "src": "65:215:50" + } + ], + "src": "0:281:50" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/whitelisting/MockConstructorMethodFactory.sol", + "exportedSymbols": { + "MockConstructorMethodFactory": [ + 12045 + ] + }, + "id": 12046, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 12032, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:50" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/whitelisting/MockConstructorMethod.sol", + "file": "./MockConstructorMethod.sol", + "id": 12033, + "nodeType": "ImportDirective", + "scope": 12046, + "sourceUnit": 12031, + "src": "26:37:50", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [ + 12030 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 12045, + "linearizedBaseContracts": [ + 12045 + ], + "name": "MockConstructorMethodFactory", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 12043, + "nodeType": "Block", + "src": "159:119:50", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 12040, + "name": "daoStorageAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12035, + "src": "195:17:50", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 12039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "169:25:50", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_address_$returns$_t_contract$_MockConstructorMethod_$12030_$", + "typeString": "function (address) returns (contract MockConstructorMethod)" + }, + "typeName": { + "contractScope": null, + "id": 12038, + "name": "MockConstructorMethod", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 12030, + "src": "173:21:50", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockConstructorMethod_$12030", + "typeString": "contract MockConstructorMethod" + } + } + }, + "id": 12041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "169:44:50", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockConstructorMethod_$12030", + "typeString": "contract MockConstructorMethod" + } + }, + "id": 12042, + "nodeType": "ExpressionStatement", + "src": "169:44:50" + } + ] + }, + "documentation": null, + "id": 12044, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "test", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12036, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 12035, + "name": "daoStorageAddress", + "nodeType": "VariableDeclaration", + "scope": 12044, + "src": "125:25:50", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12034, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "125:7:50", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "124:27:50" + }, + "payable": false, + "returnParameters": { + "id": 12037, + "nodeType": "ParameterList", + "parameters": [], + "src": "159:0:50" + }, + "scope": 12045, + "src": "110:168:50", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 12046, + "src": "65:215:50" + } + ], + "src": "0:281:50" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.888Z" +} \ No newline at end of file diff --git a/build/contracts/MockDaoConfigsStorage.json b/build/contracts/MockDaoConfigsStorage.json new file mode 100644 index 0000000..d5c1dbb --- /dev/null +++ b/build/contracts/MockDaoConfigsStorage.json @@ -0,0 +1,10993 @@ +{ + "contractName": "MockDaoConfigsStorage", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "readUintConfigs", + "outputs": [ + { + "name": "", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "uintConfigs", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_uintConfigs", + "type": "uint256[]" + } + ], + "name": "updateUintConfigs", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "bytesConfigs", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "addressConfigs", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_config_name", + "type": "bytes32" + }, + { + "name": "_new_value", + "type": "uint256" + } + ], + "name": "mock_set_uint_config", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_config_name", + "type": "bytes32" + }, + { + "name": "_new_value", + "type": "address" + } + ], + "name": "mock_set_address_config", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_config_name", + "type": "bytes32" + }, + { + "name": "_new_value", + "type": "bytes32" + } + ], + "name": "mock_set_bytes_config", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f90600019169055633b9aca00607355620f42406074553480156200114357600080fd5b5060405160208062004754833981018060405281019080805190602001909291905050508062001185602b548262002257640100000000026401000000009004565b15156200119157600080fd5b620d2f006070600060385460001916600019168152602001908152602001600020819055506034546070600060395460001916600019168152602001908152602001600020819055506212750060706000603a546000191660001916815260200190815260200160002081905550621baf8060706000603b54600019166000191681526020019081526020016000208190555062093a8060706000603c5460001916600019168152602001908152602001600020819055506212750060706000603d546000191660001916815260200190815260200160002081905550600560706000603e546000191660001916815260200190815260200160002081905550606460706000603f54600019166000191681526020019081526020016000208190555060236070600060405460001916600019168152602001908152602001600020819055506064607060006041546000191660001916815260200190815260200160002081905550600560706000604254600019166000191681526020019081526020016000208190555060646070600060435460001916600019168152602001908152602001600020819055506019607060006044546000191660001916815260200190815260200160002081905550606460706000604554600019166000191681526020019081526020016000208190555060016070600060485460001916600019168152602001908152602001600020819055506002607060006049546000191660001916815260200190815260200160002081905550600160706000604a546000191660001916815260200190815260200160002081905550600260706000604b546000191660001916815260200190815260200160002081905550607354607060006052546000191660001916815260200190815260200160002081905550607354607060006053546000191660001916815260200190815260200160002081905550607354607060006054546000191660001916815260200190815260200160002081905550607354614e2002607060006055546000191660001916815260200190815260200160002081905550600f60706000605654600019166000191681526020019081526020016000208190555060646070600060575460001916600019168152602001908152602001600020819055506224ea00607060006058546000191660001916815260200190815260200160002081905550622e2480607060006059546000191660001916815260200190815260200160002081905550600160706000605a546000191660001916815260200190815260200160002081905550600260706000605b546000191660001916815260200190815260200160002081905550602860706000605c546000191660001916815260200190815260200160002081905550606460706000605d54600019166000191681526020019081526020016000208190555060745461208e0260706000605e5460001916600019168152602001908152602001600020819055506074546106820260706000605f5460001916600019168152602001908152602001600020819055506001607060006060546000191660001916815260200190815260200160002081905550600160706000606154600019166000191681526020019081526020016000208190555060735460020260706000604c5460001916600019168152602001908152602001600020819055506073546101900260706000604d5460001916600019168152602001908152602001600020819055506073546107d00260706000604e54600019166000191681526020019081526020016000208190555060735460040260706000604f546000191660001916815260200190815260200160002081905550607354610190026070600060505460001916600019168152602001908152602001600020819055506073546107d002607060006051546000191660001916815260200190815260200160002081905550602a6070600060655460001916600019168152602001908152602001600020819055506103e8607060006066546000191660001916815260200190815260200160002081905550620d2f0060706000606754600019166000191681526020019081526020016000208190555060745462064b5402607060006068546000191660001916815260200190815260200160002081905550600760706000604654600019166000191681526020019081526020016000208190555060646070600060475460001916600019168152602001908152602001600020819055506074546130d40260706000606254600019166000191681526020019081526020016000208190555060016070600060635460001916600019168152602001908152602001600020819055506001607060006064546000191660001916815260200190815260200160002081905550620d2f00607060006069546000191660001916815260200190815260200160002081905550607354600a0260706000603554600019166000191681526020019081526020016000208190555060735461034a0260706000603654600019166000191681526020019081526020016000208190555060735461019002607060006037546000191660001916815260200190815260200160002081905550671bc16d674ec8000060706000606a54600019166000191681526020019081526020016000208190555068056bc75e2d6310000060706000606b546000191660001916815260200190815260200160002081905550600560706000606c546000191660001916815260200190815260200160002081905550605060706000606d5460001916600019168152602001908152602001600020819055506276a70060706000606e546000191660001916815260200190815260200160002081905550607354600a0260706000606f54600019166000191681526020019081526020016000208190555050620d2f00607060006038546000191660001916815260200190815260200160002081905550603454607060006039546000191660001916815260200190815260200160002081905550621baf8060706000603a5460001916600019168152602001908152602001600020819055506224ea0060706000603b54600019166000191681526020019081526020016000208190555062093a8060706000603c546000191660001916815260200190815260200160002081905550620d2f0060706000603d546000191660001916815260200190815260200160002081905550601460706000603e546000191660001916815260200190815260200160002081905550606460706000603f546000191660001916815260200190815260200160002081905550603c607060006040546000191660001916815260200190815260200160002081905550606460706000604154600019166000191681526020019081526020016000208190555060146070600060425460001916600019168152602001908152602001600020819055506064607060006043546000191660001916815260200190815260200160002081905550603c6070600060445460001916600019168152602001908152602001600020819055506064607060006045546000191660001916815260200190815260200160002081905550601e6070600060485460001916600019168152602001908152602001600020819055506064607060006049546000191660001916815260200190815260200160002081905550601e60706000604a546000191660001916815260200190815260200160002081905550606460706000604b546000191660001916815260200190815260200160002081905550600160706000605254600019166000191681526020019081526020016000208190555060016070600060535460001916600019168152602001908152602001600020819055506001607060006054546000191660001916815260200190815260200160002081905550600360706000605554600019166000191681526020019081526020016000208190555060c86070600060565460001916600019168152602001908152602001600020819055506064607060006057546000191660001916815260200190815260200160002081905550621baf806070600060585460001916600019168152602001908152602001600020819055506224ea00607060006059546000191660001916815260200190815260200160002081905550603360706000605a546000191660001916815260200190815260200160002081905550606460706000605b546000191660001916815260200190815260200160002081905550604660706000605c546000191660001916815260200190815260200160002081905550606460706000605d546000191660001916815260200190815260200160002081905550601460706000605e546000191660001916815260200190815260200160002081905550600560706000605f54600019166000191681526020019081526020016000208190555060016070600060605460001916600019168152602001908152602001600020819055506001607060006061546000191660001916815260200190815260200160002081905550600360706000604c546000191660001916815260200190815260200160002081905550600a60706000604d546000191660001916815260200190815260200160002081905550600a60706000604e546000191660001916815260200190815260200160002081905550600360706000604f546000191660001916815260200190815260200160002081905550600a607060006050546000191660001916815260200190815260200160002081905550600a60706000605154600019166000191681526020019081526020016000208190555060056070600060655460001916600019168152602001908152602001600020819055506064607060006066546000191660001916815260200190815260200160002081905550621275006070600060675460001916600019168152602001908152602001600020819055506103e8607060006068546000191660001916815260200190815260200160002081905550601e607060006046546000191660001916815260200190815260200160002081905550606460706000604754600019166000191681526020019081526020016000208190555060146070600060625460001916600019168152602001908152602001600020819055506001607060006063546000191660001916815260200190815260200160002081905550600160706000606454600019166000191681526020019081526020016000208190555062069780607060006069546000191660001916815260200190815260200160002081905550633b9aca0060706000603554600019166000191681526020019081526020016000208190555064174876e8006070600060365460001916600019168152602001908152602001600020819055506064607060006037546000191660001916815260200190815260200160002081905550671bc16d674ec8000060706000606a5460001916600019168152602001908152602001600020819055506801158e460913d0000060706000606b546000191660001916815260200190815260200160002081905550600260706000606c546000191660001916815260200190815260200160002081905550600a60706000606d54600019166000191681526020019081526020016000208190555062ed4e0060706000606e546000191660001916815260200190815260200160002081905550602360706000606f54600019166000191681526020019081526020016000208190555050620024e8565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620022bf57600080fd5b505af1158015620022d4573d6000803e3d6000fd5b505050506040513d6020811015620022eb57600080fd5b81019080805190602001909291905050509050600015158115151415620024dc5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156200248957600080fd5b505af11580156200249e573d6000803e3d6000fd5b505050506040513d6020811015620024b557600080fd5b81019080805190602001909291905050501515620024d257600080fd5b60019150620024e1565b600091505b5092915050565b61225c80620024f86000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100bf5780633943380c146101165780633977815b146101495780633f83acff146101b55780634f322bf414610226578063734c116814610265578063aecbca67146102aa578063c0a8405d146102e5578063c36048ac14610332578063db4ecbc114610383578063e6b39eab146103da578063ea04368c1461044b575b600080fd5b3480156100cb57600080fd5b506100d4610486565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561012257600080fd5b5061012b6104ab565b60405180826000191660001916815260200191505060405180910390f35b34801561015557600080fd5b5061015e6104b1565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156101a1578082015181840152602081019050610186565b505050509050019250505060405180910390f35b3480156101c157600080fd5b506101e46004803603810190808035600019169060200190929190505050611287565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561023257600080fd5b5061026360048036038101908080356000191690602001909291908035600019169060200190929190505050611363565b005b34801561027157600080fd5b50610294600480360381019080803560001916906020019092919050505061138b565b6040518082815260200191505060405180910390f35b3480156102b657600080fd5b506102e36004803603810190808035906020019082018035906020019190919293919293905050506113a3565b005b3480156102f157600080fd5b506103146004803603810190808035600019169060200190929190505050612033565b60405180826000191660001916815260200191505060405180910390f35b34801561033e57600080fd5b506103816004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061204b565b005b34801561038f57600080fd5b506103986120a9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103e657600080fd5b5061040960048036038101908080356000191690602001909291905050506120cf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561045757600080fd5b50610484600480360381019080803560001916906020019092919080359060200190929190505050612102565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b606080603b6040519080825280602002602001820160405280156104e45781602001602082028038833980820191505090505b50905060706000603854600019166000191681526020019081526020016000205481600081518110151561051457fe5b906020019060200201818152505060706000603954600019166000191681526020019081526020016000205481600181518110151561054f57fe5b906020019060200201818152505060706000603a54600019166000191681526020019081526020016000205481600281518110151561058a57fe5b906020019060200201818152505060706000603b5460001916600019168152602001908152602001600020548160038151811015156105c557fe5b906020019060200201818152505060706000603c54600019166000191681526020019081526020016000205481600481518110151561060057fe5b906020019060200201818152505060706000603d54600019166000191681526020019081526020016000205481600581518110151561063b57fe5b906020019060200201818152505060706000603e54600019166000191681526020019081526020016000205481600681518110151561067657fe5b906020019060200201818152505060706000603f5460001916600019168152602001908152602001600020548160078151811015156106b157fe5b90602001906020020181815250506070600060405460001916600019168152602001908152602001600020548160088151811015156106ec57fe5b906020019060200201818152505060706000604154600019166000191681526020019081526020016000205481600981518110151561072757fe5b906020019060200201818152505060706000604254600019166000191681526020019081526020016000205481600a81518110151561076257fe5b906020019060200201818152505060706000604354600019166000191681526020019081526020016000205481600b81518110151561079d57fe5b906020019060200201818152505060706000604454600019166000191681526020019081526020016000205481600c8151811015156107d857fe5b906020019060200201818152505060706000604554600019166000191681526020019081526020016000205481600d81518110151561081357fe5b906020019060200201818152505060706000604854600019166000191681526020019081526020016000205481600e81518110151561084e57fe5b906020019060200201818152505060706000604954600019166000191681526020019081526020016000205481600f81518110151561088957fe5b906020019060200201818152505060706000604a5460001916600019168152602001908152602001600020548160108151811015156108c457fe5b906020019060200201818152505060706000604b5460001916600019168152602001908152602001600020548160118151811015156108ff57fe5b906020019060200201818152505060706000605254600019166000191681526020019081526020016000205481601281518110151561093a57fe5b906020019060200201818152505060706000605354600019166000191681526020019081526020016000205481601381518110151561097557fe5b90602001906020020181815250506070600060545460001916600019168152602001908152602001600020548160148151811015156109b057fe5b906020019060200201818152505060706000604c5460001916600019168152602001908152602001600020548160158151811015156109eb57fe5b9060200190602002018181525050607060006055546000191660001916815260200190815260200160002054816016815181101515610a2657fe5b9060200190602002018181525050607060006056546000191660001916815260200190815260200160002054816017815181101515610a6157fe5b9060200190602002018181525050607060006057546000191660001916815260200190815260200160002054816018815181101515610a9c57fe5b9060200190602002018181525050607060006058546000191660001916815260200190815260200160002054816019815181101515610ad757fe5b906020019060200201818152505060706000605954600019166000191681526020019081526020016000205481601a815181101515610b1257fe5b906020019060200201818152505060706000605a54600019166000191681526020019081526020016000205481601b815181101515610b4d57fe5b906020019060200201818152505060706000605b54600019166000191681526020019081526020016000205481601c815181101515610b8857fe5b906020019060200201818152505060706000605c54600019166000191681526020019081526020016000205481601d815181101515610bc357fe5b906020019060200201818152505060706000605d54600019166000191681526020019081526020016000205481601e815181101515610bfe57fe5b906020019060200201818152505060706000605e54600019166000191681526020019081526020016000205481601f815181101515610c3957fe5b906020019060200201818152505060706000605f546000191660001916815260200190815260200160002054816020815181101515610c7457fe5b9060200190602002018181525050607060006060546000191660001916815260200190815260200160002054816021815181101515610caf57fe5b9060200190602002018181525050607060006061546000191660001916815260200190815260200160002054816022815181101515610cea57fe5b906020019060200201818152505060706000604d546000191660001916815260200190815260200160002054816023815181101515610d2557fe5b906020019060200201818152505060706000604e546000191660001916815260200190815260200160002054816024815181101515610d6057fe5b906020019060200201818152505060706000604f546000191660001916815260200190815260200160002054816025815181101515610d9b57fe5b9060200190602002018181525050607060006050546000191660001916815260200190815260200160002054816026815181101515610dd657fe5b9060200190602002018181525050607060006051546000191660001916815260200190815260200160002054816027815181101515610e1157fe5b9060200190602002018181525050607060006065546000191660001916815260200190815260200160002054816028815181101515610e4c57fe5b9060200190602002018181525050607060006066546000191660001916815260200190815260200160002054816029815181101515610e8757fe5b906020019060200201818152505060706000606754600019166000191681526020019081526020016000205481602a815181101515610ec257fe5b906020019060200201818152505060706000606854600019166000191681526020019081526020016000205481602b815181101515610efd57fe5b906020019060200201818152505060706000604654600019166000191681526020019081526020016000205481602c815181101515610f3857fe5b906020019060200201818152505060706000604754600019166000191681526020019081526020016000205481602d815181101515610f7357fe5b906020019060200201818152505060706000606254600019166000191681526020019081526020016000205481602e815181101515610fae57fe5b906020019060200201818152505060706000606354600019166000191681526020019081526020016000205481602f815181101515610fe957fe5b906020019060200201818152505060706000606454600019166000191681526020019081526020016000205481603081518110151561102457fe5b906020019060200201818152505060706000606954600019166000191681526020019081526020016000205481603181518110151561105f57fe5b906020019060200201818152505060706000603554600019166000191681526020019081526020016000205481603281518110151561109a57fe5b90602001906020020181815250506070600060365460001916600019168152602001908152602001600020548160338151811015156110d557fe5b906020019060200201818152505060706000603754600019166000191681526020019081526020016000205481603481518110151561111057fe5b906020019060200201818152505060706000606a54600019166000191681526020019081526020016000205481603581518110151561114b57fe5b906020019060200201818152505060706000606b54600019166000191681526020019081526020016000205481603681518110151561118657fe5b906020019060200201818152505060706000606c5460001916600019168152602001908152602001600020548160378151811015156111c157fe5b906020019060200201818152505060706000606d5460001916600019168152602001908152602001600020548160388151811015156111fc57fe5b906020019060200201818152505060706000606e54600019166000191681526020019081526020016000205481603981518110151561123757fe5b906020019060200201818152505060706000606f54600019166000191681526020019081526020016000205481603a81518110151561127257fe5b90602001906020020181815250508091505090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561132157600080fd5b505af1158015611335573d6000803e3d6000fd5b505050506040513d602081101561134b57600080fd5b81019080805190602001909291905050509050919050565b8060726000846000191660001916815260200190815260200160002081600019169055505050565b60706020528060005260406000206000915090505481565b6113ae601954612126565b15156113b957600080fd5b8181600081811015156113c857fe5b905060200201356070600060385460001916600019168152602001908152602001600020819055508181600281811015156113ff57fe5b9050602002013560706000603a54600019166000191681526020019081526020016000208190555081816003818110151561143657fe5b9050602002013560706000603b54600019166000191681526020019081526020016000208190555081816004818110151561146d57fe5b9050602002013560706000603c5460001916600019168152602001908152602001600020819055508181600581811015156114a457fe5b9050602002013560706000603d5460001916600019168152602001908152602001600020819055508181600681811015156114db57fe5b9050602002013560706000603e54600019166000191681526020019081526020016000208190555081816007818110151561151257fe5b9050602002013560706000603f54600019166000191681526020019081526020016000208190555081816008818110151561154957fe5b9050602002013560706000604054600019166000191681526020019081526020016000208190555081816009818110151561158057fe5b905060200201356070600060415460001916600019168152602001908152602001600020819055508181600a81811015156115b757fe5b905060200201356070600060425460001916600019168152602001908152602001600020819055508181600b81811015156115ee57fe5b905060200201356070600060435460001916600019168152602001908152602001600020819055508181600c818110151561162557fe5b905060200201356070600060445460001916600019168152602001908152602001600020819055508181600d818110151561165c57fe5b905060200201356070600060455460001916600019168152602001908152602001600020819055508181600e818110151561169357fe5b905060200201356070600060485460001916600019168152602001908152602001600020819055508181600f81811015156116ca57fe5b9050602002013560706000604954600019166000191681526020019081526020016000208190555081816010818110151561170157fe5b9050602002013560706000604a54600019166000191681526020019081526020016000208190555081816011818110151561173857fe5b9050602002013560706000604b54600019166000191681526020019081526020016000208190555081816012818110151561176f57fe5b905060200201356070600060525460001916600019168152602001908152602001600020819055508181601381811015156117a657fe5b905060200201356070600060535460001916600019168152602001908152602001600020819055508181601481811015156117dd57fe5b9050602002013560706000605454600019166000191681526020019081526020016000208190555081816015818110151561181457fe5b9050602002013560706000604c54600019166000191681526020019081526020016000208190555081816016818110151561184b57fe5b9050602002013560706000605554600019166000191681526020019081526020016000208190555081816017818110151561188257fe5b905060200201356070600060565460001916600019168152602001908152602001600020819055508181601881811015156118b957fe5b905060200201356070600060575460001916600019168152602001908152602001600020819055508181601981811015156118f057fe5b905060200201356070600060585460001916600019168152602001908152602001600020819055508181601a818110151561192757fe5b905060200201356070600060595460001916600019168152602001908152602001600020819055508181601b818110151561195e57fe5b9050602002013560706000605a5460001916600019168152602001908152602001600020819055508181601c818110151561199557fe5b9050602002013560706000605b5460001916600019168152602001908152602001600020819055508181601d81811015156119cc57fe5b9050602002013560706000605c5460001916600019168152602001908152602001600020819055508181601e8181101515611a0357fe5b9050602002013560706000605d5460001916600019168152602001908152602001600020819055508181601f8181101515611a3a57fe5b9050602002013560706000605e546000191660001916815260200190815260200160002081905550818160208181101515611a7157fe5b9050602002013560706000605f546000191660001916815260200190815260200160002081905550818160218181101515611aa857fe5b90506020020135607060006060546000191660001916815260200190815260200160002081905550818160228181101515611adf57fe5b90506020020135607060006061546000191660001916815260200190815260200160002081905550818160238181101515611b1657fe5b9050602002013560706000604d546000191660001916815260200190815260200160002081905550818160248181101515611b4d57fe5b9050602002013560706000604e546000191660001916815260200190815260200160002081905550818160258181101515611b8457fe5b9050602002013560706000604f546000191660001916815260200190815260200160002081905550818160268181101515611bbb57fe5b90506020020135607060006050546000191660001916815260200190815260200160002081905550818160278181101515611bf257fe5b90506020020135607060006051546000191660001916815260200190815260200160002081905550818160288181101515611c2957fe5b90506020020135607060006065546000191660001916815260200190815260200160002081905550818160298181101515611c6057fe5b905060200201356070600060665460001916600019168152602001908152602001600020819055508181602a8181101515611c9757fe5b905060200201356070600060675460001916600019168152602001908152602001600020819055508181602b8181101515611cce57fe5b905060200201356070600060685460001916600019168152602001908152602001600020819055508181602c8181101515611d0557fe5b905060200201356070600060465460001916600019168152602001908152602001600020819055508181602d8181101515611d3c57fe5b905060200201356070600060475460001916600019168152602001908152602001600020819055508181602e8181101515611d7357fe5b905060200201356070600060625460001916600019168152602001908152602001600020819055508181602f8181101515611daa57fe5b90506020020135607060006063546000191660001916815260200190815260200160002081905550818160308181101515611de157fe5b90506020020135607060006064546000191660001916815260200190815260200160002081905550818160318181101515611e1857fe5b90506020020135607060006069546000191660001916815260200190815260200160002081905550818160328181101515611e4f57fe5b90506020020135607060006035546000191660001916815260200190815260200160002081905550818160338181101515611e8657fe5b90506020020135607060006036546000191660001916815260200190815260200160002081905550818160348181101515611ebd57fe5b90506020020135607060006037546000191660001916815260200190815260200160002081905550818160358181101515611ef457fe5b9050602002013560706000606a546000191660001916815260200190815260200160002081905550818160368181101515611f2b57fe5b9050602002013560706000606b546000191660001916815260200190815260200160002081905550818160378181101515611f6257fe5b9050602002013560706000606c546000191660001916815260200190815260200160002081905550818160388181101515611f9957fe5b9050602002013560706000606d546000191660001916815260200190815260200160002081905550818160398181101515611fd057fe5b9050602002013560706000606e5460001916600019168152602001908152602001600020819055508181603a818110151561200757fe5b9050602002013560706000606f5460001916600019168152602001908152602001600020819055505050565b60726020528060005260406000206000915090505481565b8060716000846000191660001916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60716020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80607060008460001916600019168152602001908152602001600020819055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156121c057600080fd5b505af11580156121d4573d6000803e3d6000fd5b505050506040513d60208110156121ea57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161490509190505600a165627a7a72305820d1fb2c5e62aeac6f2a3188f5a7cb0ba1d13dae47f08e5ce81f4b0b28341906cf0029", + "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100bf5780633943380c146101165780633977815b146101495780633f83acff146101b55780634f322bf414610226578063734c116814610265578063aecbca67146102aa578063c0a8405d146102e5578063c36048ac14610332578063db4ecbc114610383578063e6b39eab146103da578063ea04368c1461044b575b600080fd5b3480156100cb57600080fd5b506100d4610486565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561012257600080fd5b5061012b6104ab565b60405180826000191660001916815260200191505060405180910390f35b34801561015557600080fd5b5061015e6104b1565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156101a1578082015181840152602081019050610186565b505050509050019250505060405180910390f35b3480156101c157600080fd5b506101e46004803603810190808035600019169060200190929190505050611287565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561023257600080fd5b5061026360048036038101908080356000191690602001909291908035600019169060200190929190505050611363565b005b34801561027157600080fd5b50610294600480360381019080803560001916906020019092919050505061138b565b6040518082815260200191505060405180910390f35b3480156102b657600080fd5b506102e36004803603810190808035906020019082018035906020019190919293919293905050506113a3565b005b3480156102f157600080fd5b506103146004803603810190808035600019169060200190929190505050612033565b60405180826000191660001916815260200191505060405180910390f35b34801561033e57600080fd5b506103816004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061204b565b005b34801561038f57600080fd5b506103986120a9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103e657600080fd5b5061040960048036038101908080356000191690602001909291905050506120cf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561045757600080fd5b50610484600480360381019080803560001916906020019092919080359060200190929190505050612102565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b606080603b6040519080825280602002602001820160405280156104e45781602001602082028038833980820191505090505b50905060706000603854600019166000191681526020019081526020016000205481600081518110151561051457fe5b906020019060200201818152505060706000603954600019166000191681526020019081526020016000205481600181518110151561054f57fe5b906020019060200201818152505060706000603a54600019166000191681526020019081526020016000205481600281518110151561058a57fe5b906020019060200201818152505060706000603b5460001916600019168152602001908152602001600020548160038151811015156105c557fe5b906020019060200201818152505060706000603c54600019166000191681526020019081526020016000205481600481518110151561060057fe5b906020019060200201818152505060706000603d54600019166000191681526020019081526020016000205481600581518110151561063b57fe5b906020019060200201818152505060706000603e54600019166000191681526020019081526020016000205481600681518110151561067657fe5b906020019060200201818152505060706000603f5460001916600019168152602001908152602001600020548160078151811015156106b157fe5b90602001906020020181815250506070600060405460001916600019168152602001908152602001600020548160088151811015156106ec57fe5b906020019060200201818152505060706000604154600019166000191681526020019081526020016000205481600981518110151561072757fe5b906020019060200201818152505060706000604254600019166000191681526020019081526020016000205481600a81518110151561076257fe5b906020019060200201818152505060706000604354600019166000191681526020019081526020016000205481600b81518110151561079d57fe5b906020019060200201818152505060706000604454600019166000191681526020019081526020016000205481600c8151811015156107d857fe5b906020019060200201818152505060706000604554600019166000191681526020019081526020016000205481600d81518110151561081357fe5b906020019060200201818152505060706000604854600019166000191681526020019081526020016000205481600e81518110151561084e57fe5b906020019060200201818152505060706000604954600019166000191681526020019081526020016000205481600f81518110151561088957fe5b906020019060200201818152505060706000604a5460001916600019168152602001908152602001600020548160108151811015156108c457fe5b906020019060200201818152505060706000604b5460001916600019168152602001908152602001600020548160118151811015156108ff57fe5b906020019060200201818152505060706000605254600019166000191681526020019081526020016000205481601281518110151561093a57fe5b906020019060200201818152505060706000605354600019166000191681526020019081526020016000205481601381518110151561097557fe5b90602001906020020181815250506070600060545460001916600019168152602001908152602001600020548160148151811015156109b057fe5b906020019060200201818152505060706000604c5460001916600019168152602001908152602001600020548160158151811015156109eb57fe5b9060200190602002018181525050607060006055546000191660001916815260200190815260200160002054816016815181101515610a2657fe5b9060200190602002018181525050607060006056546000191660001916815260200190815260200160002054816017815181101515610a6157fe5b9060200190602002018181525050607060006057546000191660001916815260200190815260200160002054816018815181101515610a9c57fe5b9060200190602002018181525050607060006058546000191660001916815260200190815260200160002054816019815181101515610ad757fe5b906020019060200201818152505060706000605954600019166000191681526020019081526020016000205481601a815181101515610b1257fe5b906020019060200201818152505060706000605a54600019166000191681526020019081526020016000205481601b815181101515610b4d57fe5b906020019060200201818152505060706000605b54600019166000191681526020019081526020016000205481601c815181101515610b8857fe5b906020019060200201818152505060706000605c54600019166000191681526020019081526020016000205481601d815181101515610bc357fe5b906020019060200201818152505060706000605d54600019166000191681526020019081526020016000205481601e815181101515610bfe57fe5b906020019060200201818152505060706000605e54600019166000191681526020019081526020016000205481601f815181101515610c3957fe5b906020019060200201818152505060706000605f546000191660001916815260200190815260200160002054816020815181101515610c7457fe5b9060200190602002018181525050607060006060546000191660001916815260200190815260200160002054816021815181101515610caf57fe5b9060200190602002018181525050607060006061546000191660001916815260200190815260200160002054816022815181101515610cea57fe5b906020019060200201818152505060706000604d546000191660001916815260200190815260200160002054816023815181101515610d2557fe5b906020019060200201818152505060706000604e546000191660001916815260200190815260200160002054816024815181101515610d6057fe5b906020019060200201818152505060706000604f546000191660001916815260200190815260200160002054816025815181101515610d9b57fe5b9060200190602002018181525050607060006050546000191660001916815260200190815260200160002054816026815181101515610dd657fe5b9060200190602002018181525050607060006051546000191660001916815260200190815260200160002054816027815181101515610e1157fe5b9060200190602002018181525050607060006065546000191660001916815260200190815260200160002054816028815181101515610e4c57fe5b9060200190602002018181525050607060006066546000191660001916815260200190815260200160002054816029815181101515610e8757fe5b906020019060200201818152505060706000606754600019166000191681526020019081526020016000205481602a815181101515610ec257fe5b906020019060200201818152505060706000606854600019166000191681526020019081526020016000205481602b815181101515610efd57fe5b906020019060200201818152505060706000604654600019166000191681526020019081526020016000205481602c815181101515610f3857fe5b906020019060200201818152505060706000604754600019166000191681526020019081526020016000205481602d815181101515610f7357fe5b906020019060200201818152505060706000606254600019166000191681526020019081526020016000205481602e815181101515610fae57fe5b906020019060200201818152505060706000606354600019166000191681526020019081526020016000205481602f815181101515610fe957fe5b906020019060200201818152505060706000606454600019166000191681526020019081526020016000205481603081518110151561102457fe5b906020019060200201818152505060706000606954600019166000191681526020019081526020016000205481603181518110151561105f57fe5b906020019060200201818152505060706000603554600019166000191681526020019081526020016000205481603281518110151561109a57fe5b90602001906020020181815250506070600060365460001916600019168152602001908152602001600020548160338151811015156110d557fe5b906020019060200201818152505060706000603754600019166000191681526020019081526020016000205481603481518110151561111057fe5b906020019060200201818152505060706000606a54600019166000191681526020019081526020016000205481603581518110151561114b57fe5b906020019060200201818152505060706000606b54600019166000191681526020019081526020016000205481603681518110151561118657fe5b906020019060200201818152505060706000606c5460001916600019168152602001908152602001600020548160378151811015156111c157fe5b906020019060200201818152505060706000606d5460001916600019168152602001908152602001600020548160388151811015156111fc57fe5b906020019060200201818152505060706000606e54600019166000191681526020019081526020016000205481603981518110151561123757fe5b906020019060200201818152505060706000606f54600019166000191681526020019081526020016000205481603a81518110151561127257fe5b90602001906020020181815250508091505090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561132157600080fd5b505af1158015611335573d6000803e3d6000fd5b505050506040513d602081101561134b57600080fd5b81019080805190602001909291905050509050919050565b8060726000846000191660001916815260200190815260200160002081600019169055505050565b60706020528060005260406000206000915090505481565b6113ae601954612126565b15156113b957600080fd5b8181600081811015156113c857fe5b905060200201356070600060385460001916600019168152602001908152602001600020819055508181600281811015156113ff57fe5b9050602002013560706000603a54600019166000191681526020019081526020016000208190555081816003818110151561143657fe5b9050602002013560706000603b54600019166000191681526020019081526020016000208190555081816004818110151561146d57fe5b9050602002013560706000603c5460001916600019168152602001908152602001600020819055508181600581811015156114a457fe5b9050602002013560706000603d5460001916600019168152602001908152602001600020819055508181600681811015156114db57fe5b9050602002013560706000603e54600019166000191681526020019081526020016000208190555081816007818110151561151257fe5b9050602002013560706000603f54600019166000191681526020019081526020016000208190555081816008818110151561154957fe5b9050602002013560706000604054600019166000191681526020019081526020016000208190555081816009818110151561158057fe5b905060200201356070600060415460001916600019168152602001908152602001600020819055508181600a81811015156115b757fe5b905060200201356070600060425460001916600019168152602001908152602001600020819055508181600b81811015156115ee57fe5b905060200201356070600060435460001916600019168152602001908152602001600020819055508181600c818110151561162557fe5b905060200201356070600060445460001916600019168152602001908152602001600020819055508181600d818110151561165c57fe5b905060200201356070600060455460001916600019168152602001908152602001600020819055508181600e818110151561169357fe5b905060200201356070600060485460001916600019168152602001908152602001600020819055508181600f81811015156116ca57fe5b9050602002013560706000604954600019166000191681526020019081526020016000208190555081816010818110151561170157fe5b9050602002013560706000604a54600019166000191681526020019081526020016000208190555081816011818110151561173857fe5b9050602002013560706000604b54600019166000191681526020019081526020016000208190555081816012818110151561176f57fe5b905060200201356070600060525460001916600019168152602001908152602001600020819055508181601381811015156117a657fe5b905060200201356070600060535460001916600019168152602001908152602001600020819055508181601481811015156117dd57fe5b9050602002013560706000605454600019166000191681526020019081526020016000208190555081816015818110151561181457fe5b9050602002013560706000604c54600019166000191681526020019081526020016000208190555081816016818110151561184b57fe5b9050602002013560706000605554600019166000191681526020019081526020016000208190555081816017818110151561188257fe5b905060200201356070600060565460001916600019168152602001908152602001600020819055508181601881811015156118b957fe5b905060200201356070600060575460001916600019168152602001908152602001600020819055508181601981811015156118f057fe5b905060200201356070600060585460001916600019168152602001908152602001600020819055508181601a818110151561192757fe5b905060200201356070600060595460001916600019168152602001908152602001600020819055508181601b818110151561195e57fe5b9050602002013560706000605a5460001916600019168152602001908152602001600020819055508181601c818110151561199557fe5b9050602002013560706000605b5460001916600019168152602001908152602001600020819055508181601d81811015156119cc57fe5b9050602002013560706000605c5460001916600019168152602001908152602001600020819055508181601e8181101515611a0357fe5b9050602002013560706000605d5460001916600019168152602001908152602001600020819055508181601f8181101515611a3a57fe5b9050602002013560706000605e546000191660001916815260200190815260200160002081905550818160208181101515611a7157fe5b9050602002013560706000605f546000191660001916815260200190815260200160002081905550818160218181101515611aa857fe5b90506020020135607060006060546000191660001916815260200190815260200160002081905550818160228181101515611adf57fe5b90506020020135607060006061546000191660001916815260200190815260200160002081905550818160238181101515611b1657fe5b9050602002013560706000604d546000191660001916815260200190815260200160002081905550818160248181101515611b4d57fe5b9050602002013560706000604e546000191660001916815260200190815260200160002081905550818160258181101515611b8457fe5b9050602002013560706000604f546000191660001916815260200190815260200160002081905550818160268181101515611bbb57fe5b90506020020135607060006050546000191660001916815260200190815260200160002081905550818160278181101515611bf257fe5b90506020020135607060006051546000191660001916815260200190815260200160002081905550818160288181101515611c2957fe5b90506020020135607060006065546000191660001916815260200190815260200160002081905550818160298181101515611c6057fe5b905060200201356070600060665460001916600019168152602001908152602001600020819055508181602a8181101515611c9757fe5b905060200201356070600060675460001916600019168152602001908152602001600020819055508181602b8181101515611cce57fe5b905060200201356070600060685460001916600019168152602001908152602001600020819055508181602c8181101515611d0557fe5b905060200201356070600060465460001916600019168152602001908152602001600020819055508181602d8181101515611d3c57fe5b905060200201356070600060475460001916600019168152602001908152602001600020819055508181602e8181101515611d7357fe5b905060200201356070600060625460001916600019168152602001908152602001600020819055508181602f8181101515611daa57fe5b90506020020135607060006063546000191660001916815260200190815260200160002081905550818160308181101515611de157fe5b90506020020135607060006064546000191660001916815260200190815260200160002081905550818160318181101515611e1857fe5b90506020020135607060006069546000191660001916815260200190815260200160002081905550818160328181101515611e4f57fe5b90506020020135607060006035546000191660001916815260200190815260200160002081905550818160338181101515611e8657fe5b90506020020135607060006036546000191660001916815260200190815260200160002081905550818160348181101515611ebd57fe5b90506020020135607060006037546000191660001916815260200190815260200160002081905550818160358181101515611ef457fe5b9050602002013560706000606a546000191660001916815260200190815260200160002081905550818160368181101515611f2b57fe5b9050602002013560706000606b546000191660001916815260200190815260200160002081905550818160378181101515611f6257fe5b9050602002013560706000606c546000191660001916815260200190815260200160002081905550818160388181101515611f9957fe5b9050602002013560706000606d546000191660001916815260200190815260200160002081905550818160398181101515611fd057fe5b9050602002013560706000606e5460001916600019168152602001908152602001600020819055508181603a818110151561200757fe5b9050602002013560706000606f5460001916600019168152602001908152602001600020819055505050565b60726020528060005260406000206000915090505481565b8060716000846000191660001916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60716020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80607060008460001916600019168152602001908152602001600020819055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156121c057600080fd5b505af11580156121d4573d6000803e3d6000fd5b505050506040513d60208110156121ea57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161490509190505600a165627a7a72305820d1fb2c5e62aeac6f2a3188f5a7cb0ba1d13dae47f08e5ce81f4b0b28341906cf0029", + "sourceMap": "73:4543:38:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;695:10:53;673:32;;733:7;711:29;;131:4017:38;8:9:-1;5:2;;;30:1;27;20:12;5:2;131:4017:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;187:9;815:44:53;820:27;;849:9;815:4;;;:44;;;:::i;:::-;807:53;;;;;;;;916:7;871:11;:42;883:29;;871:42;;;;;;;;;;;;;;;;;:52;;;;972:16;;933:11;:36;945:23;;933:36;;;;;;;;;;;;;;;;;:55;;;;1040:7;998:11;:39;1010:26;;998:39;;;;;;;;;;;;;;;;;:49;;;;1098:7;1057:11;:38;1069:25;;1057:38;;;;;;;;;;;;;;;;;:48;;;;1158:6;1115:11;:40;1127:27;;1115:40;;;;;;;;;;;;;;;;;:49;;;;1216:7;1174:11;:39;1186:26;;1174:39;;;;;;;;;;;;;;;;;:49;;;;1295:1;1236:11;:56;1248:43;;1236:56;;;;;;;;;;;;;;;;;:60;;;;1373:3;1312:11;:58;1324:45;;1312:58;;;;;;;;;;;;;;;;;:64;;;;1452:2;1392:11;:57;1404:44;;1392:57;;;;;;;;;;;;;;;;;:62;;;;1533:3;1471:11;:59;1483:46;;1471:59;;;;;;;;;;;;;;;;;:65;;;;1615:1;1555:11;:57;1567:44;;1555:57;;;;;;;;;;;;;;;;;:61;;;;1694:3;1632:11;:59;1644:46;;1632:59;;;;;;;;;;;;;;;;;:65;;;;1774:2;1713:11;:58;1725:45;;1713:58;;;;;;;;;;;;;;;;;:63;;;;1856:3;1793:11;:60;1805:47;;1793:60;;;;;;;;;;;;;;;;;:66;;;;1921:1;1877:11;:41;1889:28;;1877:41;;;;;;;;;;;;;;;;;:45;;;;1986:1;1940:11;:43;1952:30;;1940:43;;;;;;;;;;;;;;;;;:47;;;;2050:1;2005:11;:42;2017:29;;2005:42;;;;;;;;;;;;;;;;;:46;;;;2116:1;2069:11;:44;2081:31;;2069:44;;;;;;;;;;;;;;;;;:48;;;;2184:11;;2137;:44;2149:31;;2137:44;;;;;;;;;;;;;;;;;:58;;;;2246:11;;2205;:38;2217:25;;2205:38;;;;;;;;;;;;;;;;;:52;;;;2316:11;;2267;:46;2279:33;;2267:46;;;;;;;;;;;;;;;;;:60;;;;2416:11;;2408:5;:19;2338:11;:67;2350:54;;2338:67;;;;;;;;;;;;;;;;;:89;;;;2487:2;2438:11;:46;2450:33;;2438:46;;;;;;;;;;;;;;;;;:51;;;;2584:3;2533:11;:48;2545:35;;2533:48;;;;;;;;;;;;;;;;;:54;;;;2684:7;2632:11;:49;2644:36;;2632:49;;;;;;;;;;;;;;;;;:59;;;;2752:7;2701:11;:48;2713:35;;2701:48;;;;;;;;;;;;;;;;;:58;;;;2818:1;2772:11;:43;2784:30;;2772:43;;;;;;;;;;;;;;;;;:47;;;;2885:1;2837:11;:45;2849:32;;2837:45;;;;;;;;;;;;;;;;;:49;;;;2961:2;2905:11;:53;2917:40;;2905:53;;;;;;;;;;;;;;;;;:58;;;;3038:3;2980:11;:55;2992:42;;2980:55;;;;;;;;;;;;;;;;;:61;;;;3117:11;;3110:4;:18;3059:11;:48;3071:35;;3059:48;;;;;;;;;;;;;;;;;:69;;;;3195:11;;3188:4;:18;3139:11;:46;3151:33;;3139:46;;;;;;;;;;;;;;;;;:67;;;;3266:1;3216:11;:47;3228:34;;3216:47;;;;;;;;;;;;;;;;;:51;;;;3354:1;3304:11;:47;3316:34;;3304:47;;;;;;;;;;;;;;;;;:51;;;;3415:11;;3411:1;:15;3367:11;:41;3379:28;;3367:41;;;;;;;;;;;;;;;;;:59;;;;3493:11;;3487:3;:17;3436:11;:48;3448:35;;3436:48;;;;;;;;;;;;;;;;;:68;;;;3575:11;;3568:4;:18;3514:11;:51;3526:38;;3514:51;;;;;;;;;;;;;;;;;:72;;;;3655:11;;3651:1;:15;3597:11;:51;3609:38;;3597:51;;;;;;;;;;;;;;;;;:69;;;;3743:11;;3737:3;:17;3676:11;:58;3688:45;;3676:58;;;;;;;;;;;;;;;;;:78;;;;3835:11;;3828:4;:18;3764:11;:61;3776:48;;3764:61;;;;;;;;;;;;;;;;;:82;;;;3905:2;3857:11;:45;3869:32;;3857:45;;;;;;;;;;;;;;;;;:50;;;;4008:4;3960:11;:45;3972:32;;3960:45;;;;;;;;;;;;;;;;;:52;;;;4064:7;4023:11;:38;4035:25;;4023:38;;;;;;;;;;;;;;;;;:48;;;;4146:11;;4137:6;:20;4082:11;:52;4094:39;;4082:52;;;;;;;;;;;;;;;;;:75;;;;4228:1;4168:11;:57;4180:44;;4168:57;;;;;;;;;;;;;;;;;:61;;;;4307:3;4245:11;:59;4257:46;;4245:59;;;;;;;;;;;;;;;;;:65;;;;4396:11;;4388:5;:19;4327:11;:58;4339:45;;4327:58;;;;;;;;;;;;;;;;;:80;;;;4477:1;4417:11;:57;4429:44;;4417:57;;;;;;;;;;;;;;;;;:61;;;;4548:1;4488:11;:57;4500:44;;4488:57;;;;;;;;;;;;;;;;;:61;;;;4605:7;4560:11;:42;4572:29;;4560:42;;;;;;;;;;;;;;;;;:52;;;;4669:11;;4664:2;:16;4623:11;:38;4635:25;;4623:38;;;;;;;;;;;;;;;;;:57;;;;4744:11;;4738:3;:17;4690:11;:45;4702:32;;4690:45;;;;;;;;;;;;;;;;;:65;;;;4826:11;;4820:3;:17;4765:11;:52;4777:39;;4765:52;;;;;;;;;;;;;;;;;:72;;;;4893:7;4848:11;:42;4860:29;;4848:42;;;;;;;;;;;;;;;;;:52;;;;4959:9;4911:11;:45;4923:32;;4911:45;;;;;;;;;;;;;;;;;:57;;;;5029:1;4978:11;:48;4990:35;;4978:48;;;;;;;;;;;;;;;;;:52;;;;5097:2;5040:11;:54;5052:41;;5040:54;;;;;;;;;;;;;;;;;:59;;;;5155:7;5110:11;:42;5122:29;;5110:42;;;;;;;;;;;;;;;;;:52;;;;5228:11;;5223:2;:16;5172:11;:48;5184:35;;5172:48;;;;;;;;;;;;;;;;;:67;;;;747:4499;253:7:38;208:11;:42;220:29;;208:42;;;;;;;;;;;;;;;;;:52;;;;309:16;;270:11;:36;282:23;;270:36;;;;;;;;;;;;;;;;;:55;;;;377:7;335:11;:39;347:26;;335:39;;;;;;;;;;;;;;;;;:49;;;;435:7;394:11;:38;406:25;;394:38;;;;;;;;;;;;;;;;;:48;;;;495:6;452:11;:40;464:27;;452:40;;;;;;;;;;;;;;;;;:49;;;;553:7;511:11;:39;523:26;;511:39;;;;;;;;;;;;;;;;;:49;;;;630:2;571:11;:56;583:43;;571:56;;;;;;;;;;;;;;;;;:61;;;;703:3;642:11;:58;654:45;;642:58;;;;;;;;;;;;;;;;;:64;;;;776:2;716:11;:57;728:44;;716:57;;;;;;;;;;;;;;;;;:62;;;;850:3;788:11;:59;800:46;;788:59;;;;;;;;;;;;;;;;;:65;;;;924:2;864:11;:57;876:44;;864:57;;;;;;;;;;;;;;;;;:62;;;;998:3;936:11;:59;948:46;;936:59;;;;;;;;;;;;;;;;;:65;;;;1072:2;1011:11;:58;1023:45;;1011:58;;;;;;;;;;;;;;;;;:63;;;;1147:3;1084:11;:60;1096:47;;1084:60;;;;;;;;;;;;;;;;;:66;;;;1205:2;1161:11;:41;1173:28;;1161:41;;;;;;;;;;;;;;;;;:46;;;;1263:3;1217:11;:43;1229:30;;1217:43;;;;;;;;;;;;;;;;;:49;;;;1321:2;1276:11;:42;1288:29;;1276:42;;;;;;;;;;;;;;;;;:47;;;;1380:3;1333:11;:44;1345:31;;1333:44;;;;;;;;;;;;;;;;;:50;;;;1441:1;1394:11;:44;1406:31;;1394:44;;;;;;;;;;;;;;;;;:48;;;;1493:1;1452:11;:38;1464:25;;1452:38;;;;;;;;;;;;;;;;;:42;;;;1553:1;1504:11;:46;1516:33;;1504:46;;;;;;;;;;;;;;;;;:50;;;;1635:1;1565:11;:67;1577:54;;1565:67;;;;;;;;;;;;;;;;;:71;;;;1696:3;1647:11;:46;1659:33;;1647:46;;;;;;;;;;;;;;;;;:52;;;;1760:3;1709:11;:48;1721:35;;1709:48;;;;;;;;;;;;;;;;;:54;;;;1826:7;1774:11;:49;1786:36;;1774:49;;;;;;;;;;;;;;;;;:59;;;;1894:7;1843:11;:48;1855:35;;1843:48;;;;;;;;;;;;;;;;;:58;;;;1958:2;1912:11;:43;1924:30;;1912:43;;;;;;;;;;;;;;;;;:48;;;;2018:3;1970:11;:45;1982:32;;1970:45;;;;;;;;;;;;;;;;;:51;;;;2087:2;2031:11;:53;2043:40;;2031:53;;;;;;;;;;;;;;;;;:58;;;;2157:3;2099:11;:55;2111:42;;2099:55;;;;;;;;;;;;;;;;;:61;;;;2222:2;2171:11;:48;2183:35;;2171:48;;;;;;;;;;;;;;;;;:53;;;;2283:1;2234:11;:46;2246:33;;2234:46;;;;;;;;;;;;;;;;;:50;;;;2344:1;2294:11;:47;2306:34;;2294:47;;;;;;;;;;;;;;;;;:51;;;;2432:1;2382:11;:47;2394:34;;2382:47;;;;;;;;;;;;;;;;;:51;;;;2488:1;2444:11;:41;2456:28;;2444:41;;;;;;;;;;;;;;;;;:45;;;;2550:2;2499:11;:48;2511:35;;2499:48;;;;;;;;;;;;;;;;;:53;;;;2616:2;2562:11;:51;2574:38;;2562:51;;;;;;;;;;;;;;;;;:56;;;;2683:1;2629:11;:51;2641:38;;2629:51;;;;;;;;;;;;;;;;;:55;;;;2755:2;2694:11;:58;2706:45;;2694:58;;;;;;;;;;;;;;;;;:63;;;;2831:2;2767:11;:61;2779:48;;2767:61;;;;;;;;;;;;;;;;;:66;;;;2892:1;2844:11;:45;2856:32;;2844:45;;;;;;;;;;;;;;;;;:49;;;;2995:3;2947:11;:45;2959:32;;2947:45;;;;;;;;;;;;;;;;;:51;;;;3050:7;3009:11;:38;3021:25;;3009:38;;;;;;;;;;;;;;;;;:48;;;;3122:4;3067:11;:52;3079:39;;3067:52;;;;;;;;;;;;;;;;;:59;;;;3197:2;3137:11;:57;3149:44;;3137:57;;;;;;;;;;;;;;;;;:62;;;;3271:3;3209:11;:59;3221:46;;3209:59;;;;;;;;;;;;;;;;;:65;;;;3346:2;3285:11;:58;3297:45;;3285:58;;;;;;;;;;;;;;;;;:63;;;;3418:1;3358:11;:57;3370:44;;3358:57;;;;;;;;;;;;;;;;;:61;;;;3489:1;3429:11;:57;3441:44;;3429:57;;;;;;;;;;;;;;;;;:61;;;;3546:6;3501:11;:42;3513:29;;3501:42;;;;;;;;;;;;;;;;;:51;;;;3604:7;3563:11;:38;3575:25;;3563:38;;;;;;;;;;;;;;;;;:48;;;;3669:15;3621:11;:45;3633:32;;3621:45;;;;;;;;;;;;;;;;;:63;;;;3749:3;3694:11;:52;3706:39;;3694:52;;;;;;;;;;;;;;;;;:58;;;;3808:7;3763:11;:42;3775:29;;3763:42;;;;;;;;;;;;;;;;;:52;;;;3874:8;3826:11;:45;3838:32;;3826:45;;;;;;;;;;;;;;;;;:56;;;;3943:1;3892:11;:48;3904:35;;3892:48;;;;;;;;;;;;;;;;;:52;;;;4011:2;3954:11;:54;3966:41;;3954:54;;;;;;;;;;;;;;;;;:59;;;;4069:8;4024:11;:42;4036:29;;4024:42;;;;;;;;;;;;;;;;;:53;;;;4139:2;4088:11;:48;4100:35;;4088:48;;;;;;;;;;;;;;;;;:53;;;;131:4017;73:4543;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;73:4543:38:-;;;;;;;", + "deployedSourceMap": "73:4543:38:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10118:4755:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10118:4755:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;10118:4755:53;;;;;;;;;;;;;;;;;2380:179:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4466:148:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4466:148:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;299:47:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;299:47:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5252:4860;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5252:4860:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;618:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;618:48:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4308:152:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4308:152:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;457:50:53;;8:9:-1;5:2;;;30:1;27;20:12;5:2;457:50:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4154:148:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4154:148:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;264:18::-;;;;:::o;10118:4755:53:-;10190:9;10215:29;10261:2;10247:17;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;10247:17:53;;;;10215:49;;10292:11;:42;10304:29;;10292:42;;;;;;;;;;;;;;;;;;10274:12;10287:1;10274:15;;;;;;;;;;;;;;;;;:60;;;;;10362:11;:36;10374:23;;10362:36;;;;;;;;;;;;;;;;;;10344:12;10357:1;10344:15;;;;;;;;;;;;;;;;;:54;;;;;10426:11;:39;10438:26;;10426:39;;;;;;;;;;;;;;;;;;10408:12;10421:1;10408:15;;;;;;;;;;;;;;;;;:57;;;;;10493:11;:38;10505:25;;10493:38;;;;;;;;;;;;;;;;;;10475:12;10488:1;10475:15;;;;;;;;;;;;;;;;;:56;;;;;10559:11;:40;10571:27;;10559:40;;;;;;;;;;;;;;;;;;10541:12;10554:1;10541:15;;;;;;;;;;;;;;;;;:58;;;;;10627:11;:39;10639:26;;10627:39;;;;;;;;;;;;;;;;;;10609:12;10622:1;10609:15;;;;;;;;;;;;;;;;;:57;;;;;10694:11;:56;10706:43;;10694:56;;;;;;;;;;;;;;;;;;10676:12;10689:1;10676:15;;;;;;;;;;;;;;;;;:74;;;;;10778:11;:58;10790:45;;10778:58;;;;;;;;;;;;;;;;;;10760:12;10773:1;10760:15;;;;;;;;;;;;;;;;;:76;;;;;10864:11;:57;10876:44;;10864:57;;;;;;;;;;;;;;;;;;10846:12;10859:1;10846:15;;;;;;;;;;;;;;;;;:75;;;;;10949:11;:59;10961:46;;10949:59;;;;;;;;;;;;;;;;;;10931:12;10944:1;10931:15;;;;;;;;;;;;;;;;;:77;;;;;11037:11;:57;11049:44;;11037:57;;;;;;;;;;;;;;;;;;11018:12;11031:2;11018:16;;;;;;;;;;;;;;;;;:76;;;;;11123:11;:59;11135:46;;11123:59;;;;;;;;;;;;;;;;;;11104:12;11117:2;11104:16;;;;;;;;;;;;;;;;;:78;;;;;11211:11;:58;11223:45;;11211:58;;;;;;;;;;;;;;;;;;11192:12;11205:2;11192:16;;;;;;;;;;;;;;;;;:77;;;;;11298:11;:60;11310:47;;11298:60;;;;;;;;;;;;;;;;;;11279:12;11292:2;11279:16;;;;;;;;;;;;;;;;;:79;;;;;11387:11;:41;11399:28;;11387:41;;;;;;;;;;;;;;;;;;11368:12;11381:2;11368:16;;;;;;;;;;;;;;;;;:60;;;;;11457:11;:43;11469:30;;11457:43;;;;;;;;;;;;;;;;;;11438:12;11451:2;11438:16;;;;;;;;;;;;;;;;;:62;;;;;11529:11;:42;11541:29;;11529:42;;;;;;;;;;;;;;;;;;11510:12;11523:2;11510:16;;;;;;;;;;;;;;;;;:61;;;;;11600:11;:44;11612:31;;11600:44;;;;;;;;;;;;;;;;;;11581:12;11594:2;11581:16;;;;;;;;;;;;;;;;;:63;;;;;11673:11;:44;11685:31;;11673:44;;;;;;;;;;;;;;;;;;11654:12;11667:2;11654:16;;;;;;;;;;;;;;;;;:63;;;;;11746:11;:38;11758:25;;11746:38;;;;;;;;;;;;;;;;;;11727:12;11740:2;11727:16;;;;;;;;;;;;;;;;;:57;;;;;11813:11;:46;11825:33;;11813:46;;;;;;;;;;;;;;;;;;11794:12;11807:2;11794:16;;;;;;;;;;;;;;;;;:65;;;;;11888:11;:41;11900:28;;11888:41;;;;;;;;;;;;;;;;;;11869:12;11882:2;11869:16;;;;;;;;;;;;;;;;;:60;;;;;11958:11;:67;11970:54;;11958:67;;;;;;;;;;;;;;;;;;11939:12;11952:2;11939:16;;;;;;;;;;;;;;;;;:86;;;;;12054:11;:46;12066:33;;12054:46;;;;;;;;;;;;;;;;;;12035:12;12048:2;12035:16;;;;;;;;;;;;;;;;;:65;;;;;12129:11;:48;12141:35;;12129:48;;;;;;;;;;;;;;;;;;12110:12;12123:2;12110:16;;;;;;;;;;;;;;;;;:67;;;;;12206:11;:49;12218:36;;12206:49;;;;;;;;;;;;;;;;;;12187:12;12200:2;12187:16;;;;;;;;;;;;;;;;;:68;;;;;12284:11;:48;12296:35;;12284:48;;;;;;;;;;;;;;;;;;12265:12;12278:2;12265:16;;;;;;;;;;;;;;;;;:67;;;;;12361:11;:43;12373:30;;12361:43;;;;;;;;;;;;;;;;;;12342:12;12355:2;12342:16;;;;;;;;;;;;;;;;;:62;;;;;12433:11;:45;12445:32;;12433:45;;;;;;;;;;;;;;;;;;12414:12;12427:2;12414:16;;;;;;;;;;;;;;;;;:64;;;;;12507:11;:53;12519:40;;12507:53;;;;;;;;;;;;;;;;;;12488:12;12501:2;12488:16;;;;;;;;;;;;;;;;;:72;;;;;12589:11;:55;12601:42;;12589:55;;;;;;;;;;;;;;;;;;12570:12;12583:2;12570:16;;;;;;;;;;;;;;;;;:74;;;;;12673:11;:48;12685:35;;12673:48;;;;;;;;;;;;;;;;;;12654:12;12667:2;12654:16;;;;;;;;;;;;;;;;;:67;;;;;12750:11;:46;12762:33;;12750:46;;;;;;;;;;;;;;;;;;12731:12;12744:2;12731:16;;;;;;;;;;;;;;;;;:65;;;;;12825:11;:47;12837:34;;12825:47;;;;;;;;;;;;;;;;;;12806:12;12819:2;12806:16;;;;;;;;;;;;;;;;;:66;;;;;12901:11;:47;12913:34;;12901:47;;;;;;;;;;;;;;;;;;12882:12;12895:2;12882:16;;;;;;;;;;;;;;;;;:66;;;;;12977:11;:48;12989:35;;12977:48;;;;;;;;;;;;;;;;;;12958:12;12971:2;12958:16;;;;;;;;;;;;;;;;;:67;;;;;13054:11;:51;13066:38;;13054:51;;;;;;;;;;;;;;;;;;13035:12;13048:2;13035:16;;;;;;;;;;;;;;;;;:70;;;;;13134:11;:51;13146:38;;13134:51;;;;;;;;;;;;;;;;;;13115:12;13128:2;13115:16;;;;;;;;;;;;;;;;;:70;;;;;13214:11;:58;13226:45;;13214:58;;;;;;;;;;;;;;;;;;13195:12;13208:2;13195:16;;;;;;;;;;;;;;;;;:77;;;;;13301:11;:61;13313:48;;13301:61;;;;;;;;;;;;;;;;;;13282:12;13295:2;13282:16;;;;;;;;;;;;;;;;;:80;;;;;13391:11;:45;13403:32;;13391:45;;;;;;;;;;;;;;;;;;13372:12;13385:2;13372:16;;;;;;;;;;;;;;;;;:64;;;;;13465:11;:45;13477:32;;13465:45;;;;;;;;;;;;;;;;;;13446:12;13459:2;13446:16;;;;;;;;;;;;;;;;;:64;;;;;13539:11;:38;13551:25;;13539:38;;;;;;;;;;;;;;;;;;13520:12;13533:2;13520:16;;;;;;;;;;;;;;;;;:57;;;;;13606:11;:52;13618:39;;13606:52;;;;;;;;;;;;;;;;;;13587:12;13600:2;13587:16;;;;;;;;;;;;;;;;;:71;;;;;13687:11;:57;13699:44;;13687:57;;;;;;;;;;;;;;;;;;13668:12;13681:2;13668:16;;;;;;;;;;;;;;;;;:76;;;;;13773:11;:59;13785:46;;13773:59;;;;;;;;;;;;;;;;;;13754:12;13767:2;13754:16;;;;;;;;;;;;;;;;;:78;;;;;13861:11;:58;13873:45;;13861:58;;;;;;;;;;;;;;;;;;13842:12;13855:2;13842:16;;;;;;;;;;;;;;;;;:77;;;;;13948:11;:57;13960:44;;13948:57;;;;;;;;;;;;;;;;;;13929:12;13942:2;13929:16;;;;;;;;;;;;;;;;;:76;;;;;14034:11;:57;14046:44;;14034:57;;;;;;;;;;;;;;;;;;14015:12;14028:2;14015:16;;;;;;;;;;;;;;;;;:76;;;;;14120:11;:42;14132:29;;14120:42;;;;;;;;;;;;;;;;;;14101:12;14114:2;14101:16;;;;;;;;;;;;;;;;;:61;;;;;14191:11;:38;14203:25;;14191:38;;;;;;;;;;;;;;;;;;14172:12;14185:2;14172:16;;;;;;;;;;;;;;;;;:57;;;;;14258:11;:45;14270:32;;14258:45;;;;;;;;;;;;;;;;;;14239:12;14252:2;14239:16;;;;;;;;;;;;;;;;;:64;;;;;14332:11;:52;14344:39;;14332:52;;;;;;;;;;;;;;;;;;14313:12;14326:2;14313:16;;;;;;;;;;;;;;;;;:71;;;;;14413:11;:42;14425:29;;14413:42;;;;;;;;;;;;;;;;;;14394:12;14407:2;14394:16;;;;;;;;;;;;;;;;;:61;;;;;14484:11;:45;14496:32;;14484:45;;;;;;;;;;;;;;;;;;14465:12;14478:2;14465:16;;;;;;;;;;;;;;;;;:64;;;;;14558:11;:48;14570:35;;14558:48;;;;;;;;;;;;;;;;;;14539:12;14552:2;14539:16;;;;;;;;;;;;;;;;;:67;;;;;14635:11;:54;14647:41;;14635:54;;;;;;;;;;;;;;;;;;14616:12;14629:2;14616:16;;;;;;;;;;;;;;;;;:73;;;;;14718:11;:42;14730:29;;14718:42;;;;;;;;;;;;;;;;;;14699:12;14712:2;14699:16;;;;;;;;;;;;;;;;;:61;;;;;14789:11;:48;14801:35;;14789:48;;;;;;;;;;;;;;;;;;14770:12;14783:2;14770:16;;;;;;;;;;;;;;;;;:67;;;;;14854:12;14847:19;;10118:4755;;:::o;2380:179:67:-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;4466:148:38:-;4597:10;4568:12;:26;4581:12;4568:26;;;;;;;;;;;;;;;;;:39;;;;;;;4466:148;;:::o;299:47:53:-;;;;;;;;;;;;;;;;;:::o;5252:4860::-;5342:45;5352:34;;5342:9;:45::i;:::-;5334:54;;;;;;;;5443:12;;5456:1;5443:15;;;;;;;;;;;;;;;5398:11;:42;5410:29;;5398:42;;;;;;;;;;;;;;;;;:60;;;;5718:12;;5731:1;5718:15;;;;;;;;;;;;;;;5676:11;:39;5688:26;;5676:39;;;;;;;;;;;;;;;;;:57;;;;5784:12;;5797:1;5784:15;;;;;;;;;;;;;;;5743:11;:38;5755:25;;5743:38;;;;;;;;;;;;;;;;;:56;;;;5852:12;;5865:1;5852:15;;;;;;;;;;;;;;;5809:11;:40;5821:27;;5809:40;;;;;;;;;;;;;;;;;:58;;;;5919:12;;5932:1;5919:15;;;;;;;;;;;;;;;5877:11;:39;5889:26;;5877:39;;;;;;;;;;;;;;;;;:57;;;;6003:12;;6016:1;6003:15;;;;;;;;;;;;;;;5944:11;:56;5956:43;;5944:56;;;;;;;;;;;;;;;;;:74;;;;6089:12;;6102:1;6089:15;;;;;;;;;;;;;;;6028:11;:58;6040:45;;6028:58;;;;;;;;;;;;;;;;;:76;;;;6174:12;;6187:1;6174:15;;;;;;;;;;;;;;;6114:11;:57;6126:44;;6114:57;;;;;;;;;;;;;;;;;:75;;;;6261:12;;6274:1;6261:15;;;;;;;;;;;;;;;6199:11;:59;6211:46;;6199:59;;;;;;;;;;;;;;;;;:77;;;;6346:12;;6359:2;6346:16;;;;;;;;;;;;;;;6286:11;:57;6298:44;;6286:57;;;;;;;;;;;;;;;;;:76;;;;6434:12;;6447:2;6434:16;;;;;;;;;;;;;;;6372:11;:59;6384:46;;6372:59;;;;;;;;;;;;;;;;;:78;;;;6521:12;;6534:2;6521:16;;;;;;;;;;;;;;;6460:11;:58;6472:45;;6460:58;;;;;;;;;;;;;;;;;:77;;;;6610:12;;6623:2;6610:16;;;;;;;;;;;;;;;6547:11;:60;6559:47;;6547:60;;;;;;;;;;;;;;;;;:79;;;;6680:12;;6693:2;6680:16;;;;;;;;;;;;;;;6636:11;:41;6648:28;;6636:41;;;;;;;;;;;;;;;;;:60;;;;6752:12;;6765:2;6752:16;;;;;;;;;;;;;;;6706:11;:43;6718:30;;6706:43;;;;;;;;;;;;;;;;;:62;;;;6823:12;;6836:2;6823:16;;;;;;;;;;;;;;;6778:11;:42;6790:29;;6778:42;;;;;;;;;;;;;;;;;:61;;;;6896:12;;6909:2;6896:16;;;;;;;;;;;;;;;6849:11;:44;6861:31;;6849:44;;;;;;;;;;;;;;;;;:63;;;;6969:12;;6982:2;6969:16;;;;;;;;;;;;;;;6922:11;:44;6934:31;;6922:44;;;;;;;;;;;;;;;;;:63;;;;7036:12;;7049:2;7036:16;;;;;;;;;;;;;;;6995:11;:38;7007:25;;6995:38;;;;;;;;;;;;;;;;;:57;;;;7111:12;;7124:2;7111:16;;;;;;;;;;;;;;;7062:11;:46;7074:33;;7062:46;;;;;;;;;;;;;;;;;:65;;;;7181:12;;7194:2;7181:16;;;;;;;;;;;;;;;7137:11;:41;7149:28;;7137:41;;;;;;;;;;;;;;;;;:60;;;;7277:12;;7290:2;7277:16;;;;;;;;;;;;;;;7207:11;:67;7219:54;;7207:67;;;;;;;;;;;;;;;;;:86;;;;7352:12;;7365:2;7352:16;;;;;;;;;;;;;;;7303:11;:46;7315:33;;7303:46;;;;;;;;;;;;;;;;;:65;;;;7429:12;;7442:2;7429:16;;;;;;;;;;;;;;;7378:11;:48;7390:35;;7378:48;;;;;;;;;;;;;;;;;:67;;;;7507:12;;7520:2;7507:16;;;;;;;;;;;;;;;7455:11;:49;7467:36;;7455:49;;;;;;;;;;;;;;;;;:68;;;;7584:12;;7597:2;7584:16;;;;;;;;;;;;;;;7533:11;:48;7545:35;;7533:48;;;;;;;;;;;;;;;;;:67;;;;7656:12;;7669:2;7656:16;;;;;;;;;;;;;;;7610:11;:43;7622:30;;7610:43;;;;;;;;;;;;;;;;;:62;;;;7730:12;;7743:2;7730:16;;;;;;;;;;;;;;;7682:11;:45;7694:32;;7682:45;;;;;;;;;;;;;;;;;:64;;;;7812:12;;7825:2;7812:16;;;;;;;;;;;;;;;7756:11;:53;7768:40;;7756:53;;;;;;;;;;;;;;;;;:72;;;;7896:12;;7909:2;7896:16;;;;;;;;;;;;;;;7838:11;:55;7850:42;;7838:55;;;;;;;;;;;;;;;;;:74;;;;7973:12;;7986:2;7973:16;;;;;;;;;;;;;;;7922:11;:48;7934:35;;7922:48;;;;;;;;;;;;;;;;;:67;;;;8048:12;;8061:2;8048:16;;;;;;;;;;;;;;;7999:11;:46;8011:33;;7999:46;;;;;;;;;;;;;;;;;:65;;;;8124:12;;8137:2;8124:16;;;;;;;;;;;;;;;8074:11;:47;8086:34;;8074:47;;;;;;;;;;;;;;;;;:66;;;;8200:12;;8213:2;8200:16;;;;;;;;;;;;;;;8150:11;:47;8162:34;;8150:47;;;;;;;;;;;;;;;;;:66;;;;8277:12;;8290:2;8277:16;;;;;;;;;;;;;;;8226:11;:48;8238:35;;8226:48;;;;;;;;;;;;;;;;;:67;;;;8357:12;;8370:2;8357:16;;;;;;;;;;;;;;;8303:11;:51;8315:38;;8303:51;;;;;;;;;;;;;;;;;:70;;;;8437:12;;8450:2;8437:16;;;;;;;;;;;;;;;8383:11;:51;8395:38;;8383:51;;;;;;;;;;;;;;;;;:70;;;;8524:12;;8537:2;8524:16;;;;;;;;;;;;;;;8463:11;:58;8475:45;;8463:58;;;;;;;;;;;;;;;;;:77;;;;8614:12;;8627:2;8614:16;;;;;;;;;;;;;;;8550:11;:61;8562:48;;8550:61;;;;;;;;;;;;;;;;;:80;;;;8688:12;;8701:2;8688:16;;;;;;;;;;;;;;;8640:11;:45;8652:32;;8640:45;;;;;;;;;;;;;;;;;:64;;;;8762:12;;8775:2;8762:16;;;;;;;;;;;;;;;8714:11;:45;8726:32;;8714:45;;;;;;;;;;;;;;;;;:64;;;;8829:12;;8842:2;8829:16;;;;;;;;;;;;;;;8788:11;:38;8800:25;;8788:38;;;;;;;;;;;;;;;;;:57;;;;8910:12;;8923:2;8910:16;;;;;;;;;;;;;;;8855:11;:52;8867:39;;8855:52;;;;;;;;;;;;;;;;;:71;;;;8996:12;;9009:2;8996:16;;;;;;;;;;;;;;;8936:11;:57;8948:44;;8936:57;;;;;;;;;;;;;;;;;:76;;;;9084:12;;9097:2;9084:16;;;;;;;;;;;;;;;9022:11;:59;9034:46;;9022:59;;;;;;;;;;;;;;;;;:78;;;;9171:12;;9184:2;9171:16;;;;;;;;;;;;;;;9110:11;:58;9122:45;;9110:58;;;;;;;;;;;;;;;;;:77;;;;9257:12;;9270:2;9257:16;;;;;;;;;;;;;;;9197:11;:57;9209:44;;9197:57;;;;;;;;;;;;;;;;;:76;;;;9343:12;;9356:2;9343:16;;;;;;;;;;;;;;;9283:11;:57;9295:44;;9283:57;;;;;;;;;;;;;;;;;:76;;;;9414:12;;9427:2;9414:16;;;;;;;;;;;;;;;9369:11;:42;9381:29;;9369:42;;;;;;;;;;;;;;;;;:61;;;;9481:12;;9494:2;9481:16;;;;;;;;;;;;;;;9440:11;:38;9452:25;;9440:38;;;;;;;;;;;;;;;;;:57;;;;9555:12;;9568:2;9555:16;;;;;;;;;;;;;;;9507:11;:45;9519:32;;9507:45;;;;;;;;;;;;;;;;;:64;;;;9636:12;;9649:2;9636:16;;;;;;;;;;;;;;;9581:11;:52;9593:39;;9581:52;;;;;;;;;;;;;;;;;:71;;;;9707:12;;9720:2;9707:16;;;;;;;;;;;;;;;9662:11;:42;9674:29;;9662:42;;;;;;;;;;;;;;;;;:61;;;;9781:12;;9794:2;9781:16;;;;;;;;;;;;;;;9733:11;:45;9745:32;;9733:45;;;;;;;;;;;;;;;;;:64;;;;9858:12;;9871:2;9858:16;;;;;;;;;;;;;;;9807:11;:48;9819:35;;9807:48;;;;;;;;;;;;;;;;;:67;;;;9941:12;;9954:2;9941:16;;;;;;;;;;;;;;;9884:11;:54;9896:41;;9884:54;;;;;;;;;;;;;;;;;:73;;;;10012:12;;10025:2;10012:16;;;;;;;;;;;;;;;9967:11;:42;9979:29;;9967:42;;;;;;;;;;;;;;;;;:61;;;;10089:12;;10102:2;10089:16;;;;;;;;;;;;;;;10038:11;:48;10050:35;;10038:48;;;;;;;;;;;;;;;;;:67;;;;5252:4860;;:::o;618:48::-;;;;;;;;;;;;;;;;;:::o;4308:152:38:-;4443:10;4412:14;:28;4427:12;4412:28;;;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;4308:152;;:::o;344:31:67:-;;;;;;;;;;;;;:::o;457:50:53:-;;;;;;;;;;;;;;;;;;;;;;:::o;4154:148:38:-;4285:10;4257:11;:25;4269:12;4257:25;;;;;;;;;;;;;;;;;:38;;;;4154:148;;:::o;610:160:67:-;671:12;732:8;;;;;;;;;;;715:39;;;755:9;715:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;715:50:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;715:50:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;715:50:67;;;;;;;;;;;;;;;;701:64;;:10;:64;;;691:74;;610:160;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"../../storage/DaoConfigsStorage.sol\";\n\ncontract MockDaoConfigsStorage is DaoConfigsStorage {\n constructor(address _resolver) public DaoConfigsStorage(_resolver) {\n uintConfigs[CONFIG_LOCKING_PHASE_DURATION] = 10 days;\n uintConfigs[CONFIG_QUARTER_DURATION] = QUARTER_DURATION;\n uintConfigs[CONFIG_VOTING_COMMIT_PHASE] = 3 weeks;\n uintConfigs[CONFIG_VOTING_PHASE_TOTAL] = 4 weeks;\n uintConfigs[CONFIG_INTERIM_COMMIT_PHASE] = 7 days;\n uintConfigs[CONFIG_INTERIM_PHASE_TOTAL] = 10 days;\n\n uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR] = 20;\n uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR] = 100;\n uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR] = 60;\n uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR] = 100;\n\n uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR] = 20;\n uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR] = 100;\n uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR] = 60;\n uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR] = 100;\n\n uintConfigs[CONFIG_DRAFT_QUOTA_NUMERATOR] = 30;\n uintConfigs[CONFIG_DRAFT_QUOTA_DENOMINATOR] = 100;\n uintConfigs[CONFIG_VOTING_QUOTA_NUMERATOR] = 30;\n uintConfigs[CONFIG_VOTING_QUOTA_DENOMINATOR] = 100;\n\n uintConfigs[CONFIG_QUARTER_POINT_DRAFT_VOTE] = 1;\n uintConfigs[CONFIG_QUARTER_POINT_VOTE] = 1;\n uintConfigs[CONFIG_QUARTER_POINT_INTERIM_VOTE] = 1;\n\n uintConfigs[CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH] = 3;\n\n uintConfigs[CONFIG_BONUS_REPUTATION_NUMERATOR] = 200;\n uintConfigs[CONFIG_BONUS_REPUTATION_DENOMINATOR] = 100;\n\n uintConfigs[CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE] = 3 weeks;\n uintConfigs[CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL] = 4 weeks;\n\n uintConfigs[CONFIG_SPECIAL_QUOTA_NUMERATOR] = 51;\n uintConfigs[CONFIG_SPECIAL_QUOTA_DENOMINATOR] = 100;\n uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR] = 70;\n uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR] = 100;\n\n uintConfigs[CONFIG_MAXIMUM_REPUTATION_DEDUCTION] = 20;\n uintConfigs[CONFIG_PUNISHMENT_FOR_NOT_LOCKING] = 5;\n uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_NUM] = 1; // 1 extra QP gains 1/1 RP\n uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_DEN] = 1;\n\n uintConfigs[CONFIG_MINIMAL_QUARTER_POINT] = 3;\n uintConfigs[CONFIG_QUARTER_POINT_SCALING_FACTOR] = 10;\n uintConfigs[CONFIG_REPUTATION_POINT_SCALING_FACTOR] = 10;\n\n uintConfigs[CONFIG_MODERATOR_MINIMAL_QUARTER_POINT] = 3;\n uintConfigs[CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR] = 10;\n uintConfigs[CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR] = 10;\n\n uintConfigs[CONFIG_PORTION_TO_MODERATORS_NUM] = 5; //5% of DGX to Badge holder voting activity\n uintConfigs[CONFIG_PORTION_TO_MODERATORS_DEN] = 100;\n\n uintConfigs[CONFIG_DRAFT_VOTING_PHASE] = 2 weeks;\n uintConfigs[CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE] = 1000;\n\n uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR] = 30;\n uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR] = 100;\n\n uintConfigs[CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION] = 20;\n uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM] = 1;\n uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN] = 1;\n\n uintConfigs[CONFIG_VOTE_CLAIMING_DEADLINE] = 5 days;\n\n uintConfigs[CONFIG_MINIMUM_LOCKED_DGD] = 10 ** 9;\n uintConfigs[CONFIG_MINIMUM_DGD_FOR_MODERATOR] = 100 * (10 ** 9);\n uintConfigs[CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR] = 100;\n\n uintConfigs[CONFIG_PREPROPOSAL_COLLATERAL] = 2 ether;\n\n uintConfigs[CONFIG_MAX_FUNDING_FOR_NON_DIGIX] = 20 ether;\n uintConfigs[CONFIG_MAX_MILESTONES_FOR_NON_DIGIX] = 2;\n uintConfigs[CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER] = 10;\n\n uintConfigs[CONFIG_PROPOSAL_DEAD_DURATION] = 180 days;\n\n uintConfigs[CONFIG_CARBON_VOTE_REPUTATION_BONUS] = 35;\n }\n\n function mock_set_uint_config(bytes32 _config_name, uint256 _new_value)\n public\n {\n uintConfigs[_config_name] = _new_value;\n }\n\n function mock_set_address_config(bytes32 _config_name, address _new_value)\n public\n {\n addressConfigs[_config_name] = _new_value;\n }\n\n function mock_set_bytes_config(bytes32 _config_name, bytes32 _new_value)\n public\n {\n bytesConfigs[_config_name] = _new_value;\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/mock/storage/MockDaoConfigsStorage.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/storage/MockDaoConfigsStorage.sol", + "exportedSymbols": { + "MockDaoConfigsStorage": [ + 10816 + ] + }, + "id": 10817, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 10400, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:38" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoConfigsStorage.sol", + "file": "../../storage/DaoConfigsStorage.sol", + "id": 10401, + "nodeType": "ImportDirective", + "scope": 10817, + "sourceUnit": 14282, + "src": "26:45:38", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 10402, + "name": "DaoConfigsStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14281, + "src": "107:17:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "id": 10403, + "nodeType": "InheritanceSpecifier", + "src": "107:17:38" + } + ], + "contractDependencies": [ + 1580, + 14281, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 10816, + "linearizedBaseContracts": [ + 10816, + 14281, + 1580, + 19058 + ], + "name": "MockDaoConfigsStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 10772, + "nodeType": "Block", + "src": "198:3950:38", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10411, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "208:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10413, + "indexExpression": { + "argumentTypes": null, + "id": 10412, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "220:29:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "208:42:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130", + "id": 10414, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "253:7:38", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_864000_by_1", + "typeString": "int_const 864000" + }, + "value": "10" + }, + "src": "208:52:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10416, + "nodeType": "ExpressionStatement", + "src": "208:52:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10417, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "270:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10419, + "indexExpression": { + "argumentTypes": null, + "id": 10418, + "name": "CONFIG_QUARTER_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1417, + "src": "282:23:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "270:36:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 10420, + "name": "QUARTER_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1402, + "src": "309:16:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "270:55:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10422, + "nodeType": "ExpressionStatement", + "src": "270:55:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10423, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "335:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10425, + "indexExpression": { + "argumentTypes": null, + "id": 10424, + "name": "CONFIG_VOTING_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1420, + "src": "347:26:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "335:39:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "33", + "id": 10426, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "377:7:38", + "subdenomination": "weeks", + "typeDescriptions": { + "typeIdentifier": "t_rational_1814400_by_1", + "typeString": "int_const 1814400" + }, + "value": "3" + }, + "src": "335:49:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10428, + "nodeType": "ExpressionStatement", + "src": "335:49:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10429, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "394:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10431, + "indexExpression": { + "argumentTypes": null, + "id": 10430, + "name": "CONFIG_VOTING_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "406:25:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "394:38:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "34", + "id": 10432, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "435:7:38", + "subdenomination": "weeks", + "typeDescriptions": { + "typeIdentifier": "t_rational_2419200_by_1", + "typeString": "int_const 2419200" + }, + "value": "4" + }, + "src": "394:48:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10434, + "nodeType": "ExpressionStatement", + "src": "394:48:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10435, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "452:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10437, + "indexExpression": { + "argumentTypes": null, + "id": 10436, + "name": "CONFIG_INTERIM_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1426, + "src": "464:27:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "452:40:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "37", + "id": 10438, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "495:6:38", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_604800_by_1", + "typeString": "int_const 604800" + }, + "value": "7" + }, + "src": "452:49:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10440, + "nodeType": "ExpressionStatement", + "src": "452:49:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10441, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "511:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10443, + "indexExpression": { + "argumentTypes": null, + "id": 10442, + "name": "CONFIG_INTERIM_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "523:26:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "511:39:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130", + "id": 10444, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "553:7:38", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_864000_by_1", + "typeString": "int_const 864000" + }, + "value": "10" + }, + "src": "511:49:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10446, + "nodeType": "ExpressionStatement", + "src": "511:49:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10447, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "571:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10449, + "indexExpression": { + "argumentTypes": null, + "id": 10448, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1432, + "src": "583:43:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "571:56:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3230", + "id": 10450, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "630:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + "src": "571:61:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10452, + "nodeType": "ExpressionStatement", + "src": "571:61:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10453, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "642:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10455, + "indexExpression": { + "argumentTypes": null, + "id": 10454, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1435, + "src": "654:45:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "642:58:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10456, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "703:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "642:64:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10458, + "nodeType": "ExpressionStatement", + "src": "642:64:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10459, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "716:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10461, + "indexExpression": { + "argumentTypes": null, + "id": 10460, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1438, + "src": "728:44:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "716:57:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3630", + "id": 10462, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "776:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_60_by_1", + "typeString": "int_const 60" + }, + "value": "60" + }, + "src": "716:62:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10464, + "nodeType": "ExpressionStatement", + "src": "716:62:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10465, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "788:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10467, + "indexExpression": { + "argumentTypes": null, + "id": 10466, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1441, + "src": "800:46:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "788:59:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "850:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "788:65:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10470, + "nodeType": "ExpressionStatement", + "src": "788:65:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10471, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "864:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10473, + "indexExpression": { + "argumentTypes": null, + "id": 10472, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1444, + "src": "876:44:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "864:57:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3230", + "id": 10474, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "924:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + "src": "864:62:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10476, + "nodeType": "ExpressionStatement", + "src": "864:62:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10481, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10477, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "936:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10479, + "indexExpression": { + "argumentTypes": null, + "id": 10478, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1447, + "src": "948:46:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "936:59:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10480, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "998:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "936:65:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10482, + "nodeType": "ExpressionStatement", + "src": "936:65:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10483, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1011:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10485, + "indexExpression": { + "argumentTypes": null, + "id": 10484, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1450, + "src": "1023:45:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1011:58:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3630", + "id": 10486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1072:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_60_by_1", + "typeString": "int_const 60" + }, + "value": "60" + }, + "src": "1011:63:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10488, + "nodeType": "ExpressionStatement", + "src": "1011:63:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10489, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1084:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10491, + "indexExpression": { + "argumentTypes": null, + "id": 10490, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1453, + "src": "1096:47:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1084:60:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10492, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1147:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "1084:66:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10494, + "nodeType": "ExpressionStatement", + "src": "1084:66:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10495, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1161:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10497, + "indexExpression": { + "argumentTypes": null, + "id": 10496, + "name": "CONFIG_DRAFT_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1462, + "src": "1173:28:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1161:41:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3330", + "id": 10498, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1205:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + "src": "1161:46:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10500, + "nodeType": "ExpressionStatement", + "src": "1161:46:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10501, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1217:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10503, + "indexExpression": { + "argumentTypes": null, + "id": 10502, + "name": "CONFIG_DRAFT_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1465, + "src": "1229:30:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1217:43:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10504, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1263:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "1217:49:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10506, + "nodeType": "ExpressionStatement", + "src": "1217:49:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10507, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1276:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10509, + "indexExpression": { + "argumentTypes": null, + "id": 10508, + "name": "CONFIG_VOTING_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1468, + "src": "1288:29:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1276:42:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3330", + "id": 10510, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1321:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + "src": "1276:47:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10512, + "nodeType": "ExpressionStatement", + "src": "1276:47:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10513, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1333:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10515, + "indexExpression": { + "argumentTypes": null, + "id": 10514, + "name": "CONFIG_VOTING_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1471, + "src": "1345:31:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1333:44:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10516, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1380:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "1333:50:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10518, + "nodeType": "ExpressionStatement", + "src": "1333:50:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10519, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1394:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10521, + "indexExpression": { + "argumentTypes": null, + "id": 10520, + "name": "CONFIG_QUARTER_POINT_DRAFT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "1406:31:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1394:44:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10522, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1441:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1394:48:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10524, + "nodeType": "ExpressionStatement", + "src": "1394:48:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10525, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1452:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10527, + "indexExpression": { + "argumentTypes": null, + "id": 10526, + "name": "CONFIG_QUARTER_POINT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1495, + "src": "1464:25:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1452:38:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1493:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1452:42:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10530, + "nodeType": "ExpressionStatement", + "src": "1452:42:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10531, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1504:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10533, + "indexExpression": { + "argumentTypes": null, + "id": 10532, + "name": "CONFIG_QUARTER_POINT_INTERIM_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1498, + "src": "1516:33:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1504:46:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10534, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1553:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1504:50:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10536, + "nodeType": "ExpressionStatement", + "src": "1504:50:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10537, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1565:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10539, + "indexExpression": { + "argumentTypes": null, + "id": 10538, + "name": "CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1501, + "src": "1577:54:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1565:67:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "33", + "id": 10540, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1635:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "1565:71:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10542, + "nodeType": "ExpressionStatement", + "src": "1565:71:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10543, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1647:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10545, + "indexExpression": { + "argumentTypes": null, + "id": 10544, + "name": "CONFIG_BONUS_REPUTATION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1504, + "src": "1659:33:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1647:46:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "323030", + "id": 10546, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1696:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_200_by_1", + "typeString": "int_const 200" + }, + "value": "200" + }, + "src": "1647:52:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10548, + "nodeType": "ExpressionStatement", + "src": "1647:52:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10549, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1709:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10551, + "indexExpression": { + "argumentTypes": null, + "id": 10550, + "name": "CONFIG_BONUS_REPUTATION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1507, + "src": "1721:35:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1709:48:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10552, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1760:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "1709:54:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10554, + "nodeType": "ExpressionStatement", + "src": "1709:54:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10555, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1774:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10557, + "indexExpression": { + "argumentTypes": null, + "id": 10556, + "name": "CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1510, + "src": "1786:36:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1774:49:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "33", + "id": 10558, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1826:7:38", + "subdenomination": "weeks", + "typeDescriptions": { + "typeIdentifier": "t_rational_1814400_by_1", + "typeString": "int_const 1814400" + }, + "value": "3" + }, + "src": "1774:59:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10560, + "nodeType": "ExpressionStatement", + "src": "1774:59:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10561, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1843:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10563, + "indexExpression": { + "argumentTypes": null, + "id": 10562, + "name": "CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "1855:35:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1843:48:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "34", + "id": 10564, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1894:7:38", + "subdenomination": "weeks", + "typeDescriptions": { + "typeIdentifier": "t_rational_2419200_by_1", + "typeString": "int_const 2419200" + }, + "value": "4" + }, + "src": "1843:58:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10566, + "nodeType": "ExpressionStatement", + "src": "1843:58:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10567, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1912:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10569, + "indexExpression": { + "argumentTypes": null, + "id": 10568, + "name": "CONFIG_SPECIAL_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1516, + "src": "1924:30:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1912:43:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3531", + "id": 10570, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1958:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_51_by_1", + "typeString": "int_const 51" + }, + "value": "51" + }, + "src": "1912:48:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10572, + "nodeType": "ExpressionStatement", + "src": "1912:48:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10573, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1970:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10575, + "indexExpression": { + "argumentTypes": null, + "id": 10574, + "name": "CONFIG_SPECIAL_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "1982:32:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1970:45:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10576, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2018:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "1970:51:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10578, + "nodeType": "ExpressionStatement", + "src": "1970:51:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10579, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2031:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10581, + "indexExpression": { + "argumentTypes": null, + "id": 10580, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1522, + "src": "2043:40:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2031:53:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3730", + "id": 10582, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2087:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_70_by_1", + "typeString": "int_const 70" + }, + "value": "70" + }, + "src": "2031:58:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10584, + "nodeType": "ExpressionStatement", + "src": "2031:58:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10585, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2099:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10587, + "indexExpression": { + "argumentTypes": null, + "id": 10586, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1525, + "src": "2111:42:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2099:55:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2157:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "2099:61:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10590, + "nodeType": "ExpressionStatement", + "src": "2099:61:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10591, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2171:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10593, + "indexExpression": { + "argumentTypes": null, + "id": 10592, + "name": "CONFIG_MAXIMUM_REPUTATION_DEDUCTION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1528, + "src": "2183:35:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2171:48:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3230", + "id": 10594, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2222:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + "src": "2171:53:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10596, + "nodeType": "ExpressionStatement", + "src": "2171:53:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10597, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2234:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10599, + "indexExpression": { + "argumentTypes": null, + "id": 10598, + "name": "CONFIG_PUNISHMENT_FOR_NOT_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1531, + "src": "2246:33:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2234:46:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "35", + "id": 10600, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2283:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "src": "2234:50:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10602, + "nodeType": "ExpressionStatement", + "src": "2234:50:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10603, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2294:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10605, + "indexExpression": { + "argumentTypes": null, + "id": 10604, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1534, + "src": "2306:34:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2294:47:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10606, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2344:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2294:51:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10608, + "nodeType": "ExpressionStatement", + "src": "2294:51:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10609, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2382:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10611, + "indexExpression": { + "argumentTypes": null, + "id": 10610, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1537, + "src": "2394:34:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2382:47:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10612, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2432:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2382:51:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10614, + "nodeType": "ExpressionStatement", + "src": "2382:51:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10615, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2444:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10617, + "indexExpression": { + "argumentTypes": null, + "id": 10616, + "name": "CONFIG_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1474, + "src": "2456:28:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2444:41:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "33", + "id": 10618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2488:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "2444:45:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10620, + "nodeType": "ExpressionStatement", + "src": "2444:45:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10621, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2499:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10623, + "indexExpression": { + "argumentTypes": null, + "id": 10622, + "name": "CONFIG_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1477, + "src": "2511:35:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2499:48:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130", + "id": 10624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2550:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "2499:53:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10626, + "nodeType": "ExpressionStatement", + "src": "2499:53:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10627, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2562:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10629, + "indexExpression": { + "argumentTypes": null, + "id": 10628, + "name": "CONFIG_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1480, + "src": "2574:38:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2562:51:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130", + "id": 10630, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2616:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "2562:56:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10632, + "nodeType": "ExpressionStatement", + "src": "2562:56:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10633, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2629:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10635, + "indexExpression": { + "argumentTypes": null, + "id": 10634, + "name": "CONFIG_MODERATOR_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1483, + "src": "2641:38:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2629:51:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "33", + "id": 10636, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2683:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "2629:55:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10638, + "nodeType": "ExpressionStatement", + "src": "2629:55:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10639, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2694:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10641, + "indexExpression": { + "argumentTypes": null, + "id": 10640, + "name": "CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1486, + "src": "2706:45:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2694:58:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130", + "id": 10642, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2755:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "2694:63:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10644, + "nodeType": "ExpressionStatement", + "src": "2694:63:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10645, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2767:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10647, + "indexExpression": { + "argumentTypes": null, + "id": 10646, + "name": "CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1489, + "src": "2779:48:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2767:61:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130", + "id": 10648, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2831:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "2767:66:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10650, + "nodeType": "ExpressionStatement", + "src": "2767:66:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10651, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2844:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10653, + "indexExpression": { + "argumentTypes": null, + "id": 10652, + "name": "CONFIG_PORTION_TO_MODERATORS_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1549, + "src": "2856:32:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2844:45:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "35", + "id": 10654, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2892:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "src": "2844:49:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10656, + "nodeType": "ExpressionStatement", + "src": "2844:49:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10657, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2947:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10659, + "indexExpression": { + "argumentTypes": null, + "id": 10658, + "name": "CONFIG_PORTION_TO_MODERATORS_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1552, + "src": "2959:32:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2947:45:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10660, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2995:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "2947:51:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10662, + "nodeType": "ExpressionStatement", + "src": "2947:51:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10663, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3009:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10665, + "indexExpression": { + "argumentTypes": null, + "id": 10664, + "name": "CONFIG_DRAFT_VOTING_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1555, + "src": "3021:25:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3009:38:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "32", + "id": 10666, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3050:7:38", + "subdenomination": "weeks", + "typeDescriptions": { + "typeIdentifier": "t_rational_1209600_by_1", + "typeString": "int_const 1209600" + }, + "value": "2" + }, + "src": "3009:48:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10668, + "nodeType": "ExpressionStatement", + "src": "3009:48:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10669, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3067:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10671, + "indexExpression": { + "argumentTypes": null, + "id": 10670, + "name": "CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1558, + "src": "3079:39:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3067:52:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31303030", + "id": 10672, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3122:4:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + }, + "src": "3067:59:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10674, + "nodeType": "ExpressionStatement", + "src": "3067:59:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10675, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3137:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10677, + "indexExpression": { + "argumentTypes": null, + "id": 10676, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1456, + "src": "3149:44:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3137:57:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3330", + "id": 10678, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3197:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + "src": "3137:62:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10680, + "nodeType": "ExpressionStatement", + "src": "3137:62:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10681, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3209:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10683, + "indexExpression": { + "argumentTypes": null, + "id": 10682, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1459, + "src": "3221:46:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3209:59:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10684, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3271:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "3209:65:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10686, + "nodeType": "ExpressionStatement", + "src": "3209:65:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10687, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3285:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10689, + "indexExpression": { + "argumentTypes": null, + "id": 10688, + "name": "CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1540, + "src": "3297:45:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3285:58:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3230", + "id": 10690, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3346:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + "src": "3285:63:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10692, + "nodeType": "ExpressionStatement", + "src": "3285:63:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10693, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3358:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10695, + "indexExpression": { + "argumentTypes": null, + "id": 10694, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1543, + "src": "3370:44:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3358:57:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3418:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3358:61:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10698, + "nodeType": "ExpressionStatement", + "src": "3358:61:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10699, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3429:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10701, + "indexExpression": { + "argumentTypes": null, + "id": 10700, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1546, + "src": "3441:44:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3429:57:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10702, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3489:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3429:61:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10704, + "nodeType": "ExpressionStatement", + "src": "3429:61:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10705, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3501:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10707, + "indexExpression": { + "argumentTypes": null, + "id": 10706, + "name": "CONFIG_VOTE_CLAIMING_DEADLINE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "3513:29:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3501:42:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "35", + "id": 10708, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3546:6:38", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_432000_by_1", + "typeString": "int_const 432000" + }, + "value": "5" + }, + "src": "3501:51:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10710, + "nodeType": "ExpressionStatement", + "src": "3501:51:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10711, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3563:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10713, + "indexExpression": { + "argumentTypes": null, + "id": 10712, + "name": "CONFIG_MINIMUM_LOCKED_DGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "3575:25:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3563:38:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_1000000000_by_1", + "typeString": "int_const 1000000000" + }, + "id": 10716, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 10714, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3604:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "hexValue": "39", + "id": 10715, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3610:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "9" + }, + "src": "3604:7:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000_by_1", + "typeString": "int_const 1000000000" + } + }, + "src": "3563:48:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10718, + "nodeType": "ExpressionStatement", + "src": "3563:48:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10719, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3621:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10721, + "indexExpression": { + "argumentTypes": null, + "id": 10720, + "name": "CONFIG_MINIMUM_DGD_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1408, + "src": "3633:32:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3621:45:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_100000000000_by_1", + "typeString": "int_const 100000000000" + }, + "id": 10727, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3669:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_1000000000_by_1", + "typeString": "int_const 1000000000" + }, + "id": 10725, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 10723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3676:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "hexValue": "39", + "id": 10724, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3682:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "9" + }, + "src": "3676:7:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000_by_1", + "typeString": "int_const 1000000000" + } + } + ], + "id": 10726, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3675:9:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000_by_1", + "typeString": "int_const 1000000000" + } + }, + "src": "3669:15:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_100000000000_by_1", + "typeString": "int_const 100000000000" + } + }, + "src": "3621:63:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10729, + "nodeType": "ExpressionStatement", + "src": "3621:63:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10730, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3694:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10732, + "indexExpression": { + "argumentTypes": null, + "id": 10731, + "name": "CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1411, + "src": "3706:39:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3694:52:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10733, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3749:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "3694:58:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10735, + "nodeType": "ExpressionStatement", + "src": "3694:58:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10736, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3763:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10738, + "indexExpression": { + "argumentTypes": null, + "id": 10737, + "name": "CONFIG_PREPROPOSAL_COLLATERAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1564, + "src": "3775:29:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3763:42:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "32", + "id": 10739, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3808:7:38", + "subdenomination": "ether", + "typeDescriptions": { + "typeIdentifier": "t_rational_2000000000000000000_by_1", + "typeString": "int_const 2000000000000000000" + }, + "value": "2" + }, + "src": "3763:52:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10741, + "nodeType": "ExpressionStatement", + "src": "3763:52:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10742, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3826:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10744, + "indexExpression": { + "argumentTypes": null, + "id": 10743, + "name": "CONFIG_MAX_FUNDING_FOR_NON_DIGIX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1567, + "src": "3838:32:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3826:45:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3230", + "id": 10745, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3874:8:38", + "subdenomination": "ether", + "typeDescriptions": { + "typeIdentifier": "t_rational_20000000000000000000_by_1", + "typeString": "int_const 20000000000000000000" + }, + "value": "20" + }, + "src": "3826:56:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10747, + "nodeType": "ExpressionStatement", + "src": "3826:56:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10748, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3892:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10750, + "indexExpression": { + "argumentTypes": null, + "id": 10749, + "name": "CONFIG_MAX_MILESTONES_FOR_NON_DIGIX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1570, + "src": "3904:35:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3892:48:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "32", + "id": 10751, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3943:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "3892:52:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10753, + "nodeType": "ExpressionStatement", + "src": "3892:52:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10754, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3954:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10756, + "indexExpression": { + "argumentTypes": null, + "id": 10755, + "name": "CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1573, + "src": "3966:41:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3954:54:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130", + "id": 10757, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4011:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "3954:59:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10759, + "nodeType": "ExpressionStatement", + "src": "3954:59:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10760, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4024:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10762, + "indexExpression": { + "argumentTypes": null, + "id": 10761, + "name": "CONFIG_PROPOSAL_DEAD_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1576, + "src": "4036:29:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4024:42:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313830", + "id": 10763, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4069:8:38", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_15552000_by_1", + "typeString": "int_const 15552000" + }, + "value": "180" + }, + "src": "4024:53:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10765, + "nodeType": "ExpressionStatement", + "src": "4024:53:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10766, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4088:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10768, + "indexExpression": { + "argumentTypes": null, + "id": 10767, + "name": "CONFIG_CARBON_VOTE_REPUTATION_BONUS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1579, + "src": "4100:35:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4088:48:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3335", + "id": 10769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4139:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_35_by_1", + "typeString": "int_const 35" + }, + "value": "35" + }, + "src": "4088:53:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10771, + "nodeType": "ExpressionStatement", + "src": "4088:53:38" + } + ] + }, + "documentation": null, + "id": 10773, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 10408, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10405, + "src": "187:9:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 10409, + "modifierName": { + "argumentTypes": null, + "id": 10407, + "name": "DaoConfigsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14281, + "src": "169:17:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoConfigsStorage_$14281_$", + "typeString": "type(contract DaoConfigsStorage)" + } + }, + "nodeType": "ModifierInvocation", + "src": "169:28:38" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10406, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10405, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 10773, + "src": "143:17:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10404, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "143:7:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "142:19:38" + }, + "payable": false, + "returnParameters": { + "id": 10410, + "nodeType": "ParameterList", + "parameters": [], + "src": "198:0:38" + }, + "scope": 10816, + "src": "131:4017:38", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10786, + "nodeType": "Block", + "src": "4245:57:38", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10780, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4257:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10782, + "indexExpression": { + "argumentTypes": null, + "id": 10781, + "name": "_config_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10775, + "src": "4269:12:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4257:25:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 10783, + "name": "_new_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10777, + "src": "4285:10:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4257:38:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10785, + "nodeType": "ExpressionStatement", + "src": "4257:38:38" + } + ] + }, + "documentation": null, + "id": 10787, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_uint_config", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10778, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10775, + "name": "_config_name", + "nodeType": "VariableDeclaration", + "scope": 10787, + "src": "4184:20:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10774, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4184:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10777, + "name": "_new_value", + "nodeType": "VariableDeclaration", + "scope": 10787, + "src": "4206:18:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10776, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4206:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4183:42:38" + }, + "payable": false, + "returnParameters": { + "id": 10779, + "nodeType": "ParameterList", + "parameters": [], + "src": "4245:0:38" + }, + "scope": 10816, + "src": "4154:148:38", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10800, + "nodeType": "Block", + "src": "4402:58:38", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10794, + "name": "addressConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12905, + "src": "4412:14:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 10796, + "indexExpression": { + "argumentTypes": null, + "id": 10795, + "name": "_config_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10789, + "src": "4427:12:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4412:28:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 10797, + "name": "_new_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10791, + "src": "4443:10:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4412:41:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10799, + "nodeType": "ExpressionStatement", + "src": "4412:41:38" + } + ] + }, + "documentation": null, + "id": 10801, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_address_config", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10789, + "name": "_config_name", + "nodeType": "VariableDeclaration", + "scope": 10801, + "src": "4341:20:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10788, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4341:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10791, + "name": "_new_value", + "nodeType": "VariableDeclaration", + "scope": 10801, + "src": "4363:18:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10790, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4363:7:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4340:42:38" + }, + "payable": false, + "returnParameters": { + "id": 10793, + "nodeType": "ParameterList", + "parameters": [], + "src": "4402:0:38" + }, + "scope": 10816, + "src": "4308:152:38", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10814, + "nodeType": "Block", + "src": "4558:56:38", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10808, + "name": "bytesConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12909, + "src": "4568:12:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes32_$", + "typeString": "mapping(bytes32 => bytes32)" + } + }, + "id": 10810, + "indexExpression": { + "argumentTypes": null, + "id": 10809, + "name": "_config_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10803, + "src": "4581:12:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4568:26:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 10811, + "name": "_new_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10805, + "src": "4597:10:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4568:39:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 10813, + "nodeType": "ExpressionStatement", + "src": "4568:39:38" + } + ] + }, + "documentation": null, + "id": 10815, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_bytes_config", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10806, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10803, + "name": "_config_name", + "nodeType": "VariableDeclaration", + "scope": 10815, + "src": "4497:20:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10802, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4497:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10805, + "name": "_new_value", + "nodeType": "VariableDeclaration", + "scope": 10815, + "src": "4519:18:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10804, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4519:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4496:42:38" + }, + "payable": false, + "returnParameters": { + "id": 10807, + "nodeType": "ParameterList", + "parameters": [], + "src": "4558:0:38" + }, + "scope": 10816, + "src": "4466:148:38", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 10817, + "src": "73:4543:38" + } + ], + "src": "0:4617:38" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/storage/MockDaoConfigsStorage.sol", + "exportedSymbols": { + "MockDaoConfigsStorage": [ + 10816 + ] + }, + "id": 10817, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 10400, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:38" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoConfigsStorage.sol", + "file": "../../storage/DaoConfigsStorage.sol", + "id": 10401, + "nodeType": "ImportDirective", + "scope": 10817, + "sourceUnit": 14282, + "src": "26:45:38", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 10402, + "name": "DaoConfigsStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14281, + "src": "107:17:38", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoConfigsStorage_$14281", + "typeString": "contract DaoConfigsStorage" + } + }, + "id": 10403, + "nodeType": "InheritanceSpecifier", + "src": "107:17:38" + } + ], + "contractDependencies": [ + 1580, + 14281, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 10816, + "linearizedBaseContracts": [ + 10816, + 14281, + 1580, + 19058 + ], + "name": "MockDaoConfigsStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 10772, + "nodeType": "Block", + "src": "198:3950:38", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10411, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "208:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10413, + "indexExpression": { + "argumentTypes": null, + "id": 10412, + "name": "CONFIG_LOCKING_PHASE_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1414, + "src": "220:29:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "208:42:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130", + "id": 10414, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "253:7:38", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_864000_by_1", + "typeString": "int_const 864000" + }, + "value": "10" + }, + "src": "208:52:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10416, + "nodeType": "ExpressionStatement", + "src": "208:52:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10417, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "270:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10419, + "indexExpression": { + "argumentTypes": null, + "id": 10418, + "name": "CONFIG_QUARTER_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1417, + "src": "282:23:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "270:36:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 10420, + "name": "QUARTER_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1402, + "src": "309:16:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "270:55:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10422, + "nodeType": "ExpressionStatement", + "src": "270:55:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10423, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "335:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10425, + "indexExpression": { + "argumentTypes": null, + "id": 10424, + "name": "CONFIG_VOTING_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1420, + "src": "347:26:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "335:39:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "33", + "id": 10426, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "377:7:38", + "subdenomination": "weeks", + "typeDescriptions": { + "typeIdentifier": "t_rational_1814400_by_1", + "typeString": "int_const 1814400" + }, + "value": "3" + }, + "src": "335:49:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10428, + "nodeType": "ExpressionStatement", + "src": "335:49:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10429, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "394:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10431, + "indexExpression": { + "argumentTypes": null, + "id": 10430, + "name": "CONFIG_VOTING_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "406:25:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "394:38:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "34", + "id": 10432, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "435:7:38", + "subdenomination": "weeks", + "typeDescriptions": { + "typeIdentifier": "t_rational_2419200_by_1", + "typeString": "int_const 2419200" + }, + "value": "4" + }, + "src": "394:48:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10434, + "nodeType": "ExpressionStatement", + "src": "394:48:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10435, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "452:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10437, + "indexExpression": { + "argumentTypes": null, + "id": 10436, + "name": "CONFIG_INTERIM_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1426, + "src": "464:27:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "452:40:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "37", + "id": 10438, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "495:6:38", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_604800_by_1", + "typeString": "int_const 604800" + }, + "value": "7" + }, + "src": "452:49:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10440, + "nodeType": "ExpressionStatement", + "src": "452:49:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10441, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "511:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10443, + "indexExpression": { + "argumentTypes": null, + "id": 10442, + "name": "CONFIG_INTERIM_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "523:26:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "511:39:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130", + "id": 10444, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "553:7:38", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_864000_by_1", + "typeString": "int_const 864000" + }, + "value": "10" + }, + "src": "511:49:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10446, + "nodeType": "ExpressionStatement", + "src": "511:49:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10447, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "571:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10449, + "indexExpression": { + "argumentTypes": null, + "id": 10448, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1432, + "src": "583:43:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "571:56:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3230", + "id": 10450, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "630:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + "src": "571:61:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10452, + "nodeType": "ExpressionStatement", + "src": "571:61:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10453, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "642:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10455, + "indexExpression": { + "argumentTypes": null, + "id": 10454, + "name": "CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1435, + "src": "654:45:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "642:58:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10456, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "703:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "642:64:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10458, + "nodeType": "ExpressionStatement", + "src": "642:64:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10459, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "716:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10461, + "indexExpression": { + "argumentTypes": null, + "id": 10460, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1438, + "src": "728:44:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "716:57:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3630", + "id": 10462, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "776:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_60_by_1", + "typeString": "int_const 60" + }, + "value": "60" + }, + "src": "716:62:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10464, + "nodeType": "ExpressionStatement", + "src": "716:62:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10465, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "788:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10467, + "indexExpression": { + "argumentTypes": null, + "id": 10466, + "name": "CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1441, + "src": "800:46:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "788:59:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "850:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "788:65:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10470, + "nodeType": "ExpressionStatement", + "src": "788:65:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10471, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "864:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10473, + "indexExpression": { + "argumentTypes": null, + "id": 10472, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1444, + "src": "876:44:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "864:57:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3230", + "id": 10474, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "924:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + "src": "864:62:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10476, + "nodeType": "ExpressionStatement", + "src": "864:62:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10481, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10477, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "936:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10479, + "indexExpression": { + "argumentTypes": null, + "id": 10478, + "name": "CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1447, + "src": "948:46:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "936:59:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10480, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "998:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "936:65:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10482, + "nodeType": "ExpressionStatement", + "src": "936:65:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10483, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1011:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10485, + "indexExpression": { + "argumentTypes": null, + "id": 10484, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1450, + "src": "1023:45:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1011:58:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3630", + "id": 10486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1072:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_60_by_1", + "typeString": "int_const 60" + }, + "value": "60" + }, + "src": "1011:63:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10488, + "nodeType": "ExpressionStatement", + "src": "1011:63:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10489, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1084:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10491, + "indexExpression": { + "argumentTypes": null, + "id": 10490, + "name": "CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1453, + "src": "1096:47:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1084:60:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10492, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1147:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "1084:66:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10494, + "nodeType": "ExpressionStatement", + "src": "1084:66:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10495, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1161:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10497, + "indexExpression": { + "argumentTypes": null, + "id": 10496, + "name": "CONFIG_DRAFT_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1462, + "src": "1173:28:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1161:41:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3330", + "id": 10498, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1205:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + "src": "1161:46:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10500, + "nodeType": "ExpressionStatement", + "src": "1161:46:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10501, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1217:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10503, + "indexExpression": { + "argumentTypes": null, + "id": 10502, + "name": "CONFIG_DRAFT_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1465, + "src": "1229:30:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1217:43:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10504, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1263:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "1217:49:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10506, + "nodeType": "ExpressionStatement", + "src": "1217:49:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10507, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1276:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10509, + "indexExpression": { + "argumentTypes": null, + "id": 10508, + "name": "CONFIG_VOTING_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1468, + "src": "1288:29:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1276:42:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3330", + "id": 10510, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1321:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + "src": "1276:47:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10512, + "nodeType": "ExpressionStatement", + "src": "1276:47:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10513, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1333:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10515, + "indexExpression": { + "argumentTypes": null, + "id": 10514, + "name": "CONFIG_VOTING_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1471, + "src": "1345:31:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1333:44:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10516, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1380:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "1333:50:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10518, + "nodeType": "ExpressionStatement", + "src": "1333:50:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10519, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1394:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10521, + "indexExpression": { + "argumentTypes": null, + "id": 10520, + "name": "CONFIG_QUARTER_POINT_DRAFT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "1406:31:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1394:44:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10522, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1441:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1394:48:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10524, + "nodeType": "ExpressionStatement", + "src": "1394:48:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10525, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1452:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10527, + "indexExpression": { + "argumentTypes": null, + "id": 10526, + "name": "CONFIG_QUARTER_POINT_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1495, + "src": "1464:25:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1452:38:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1493:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1452:42:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10530, + "nodeType": "ExpressionStatement", + "src": "1452:42:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10531, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1504:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10533, + "indexExpression": { + "argumentTypes": null, + "id": 10532, + "name": "CONFIG_QUARTER_POINT_INTERIM_VOTE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1498, + "src": "1516:33:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1504:46:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10534, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1553:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1504:50:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10536, + "nodeType": "ExpressionStatement", + "src": "1504:50:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10537, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1565:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10539, + "indexExpression": { + "argumentTypes": null, + "id": 10538, + "name": "CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1501, + "src": "1577:54:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1565:67:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "33", + "id": 10540, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1635:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "1565:71:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10542, + "nodeType": "ExpressionStatement", + "src": "1565:71:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10543, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1647:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10545, + "indexExpression": { + "argumentTypes": null, + "id": 10544, + "name": "CONFIG_BONUS_REPUTATION_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1504, + "src": "1659:33:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1647:46:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "323030", + "id": 10546, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1696:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_200_by_1", + "typeString": "int_const 200" + }, + "value": "200" + }, + "src": "1647:52:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10548, + "nodeType": "ExpressionStatement", + "src": "1647:52:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10549, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1709:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10551, + "indexExpression": { + "argumentTypes": null, + "id": 10550, + "name": "CONFIG_BONUS_REPUTATION_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1507, + "src": "1721:35:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1709:48:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10552, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1760:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "1709:54:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10554, + "nodeType": "ExpressionStatement", + "src": "1709:54:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10555, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1774:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10557, + "indexExpression": { + "argumentTypes": null, + "id": 10556, + "name": "CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1510, + "src": "1786:36:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1774:49:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "33", + "id": 10558, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1826:7:38", + "subdenomination": "weeks", + "typeDescriptions": { + "typeIdentifier": "t_rational_1814400_by_1", + "typeString": "int_const 1814400" + }, + "value": "3" + }, + "src": "1774:59:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10560, + "nodeType": "ExpressionStatement", + "src": "1774:59:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10561, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1843:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10563, + "indexExpression": { + "argumentTypes": null, + "id": 10562, + "name": "CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1513, + "src": "1855:35:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1843:48:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "34", + "id": 10564, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1894:7:38", + "subdenomination": "weeks", + "typeDescriptions": { + "typeIdentifier": "t_rational_2419200_by_1", + "typeString": "int_const 2419200" + }, + "value": "4" + }, + "src": "1843:58:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10566, + "nodeType": "ExpressionStatement", + "src": "1843:58:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10567, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1912:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10569, + "indexExpression": { + "argumentTypes": null, + "id": 10568, + "name": "CONFIG_SPECIAL_QUOTA_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1516, + "src": "1924:30:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1912:43:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3531", + "id": 10570, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1958:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_51_by_1", + "typeString": "int_const 51" + }, + "value": "51" + }, + "src": "1912:48:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10572, + "nodeType": "ExpressionStatement", + "src": "1912:48:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10573, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "1970:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10575, + "indexExpression": { + "argumentTypes": null, + "id": 10574, + "name": "CONFIG_SPECIAL_QUOTA_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "1982:32:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1970:45:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10576, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2018:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "1970:51:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10578, + "nodeType": "ExpressionStatement", + "src": "1970:51:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10579, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2031:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10581, + "indexExpression": { + "argumentTypes": null, + "id": 10580, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1522, + "src": "2043:40:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2031:53:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3730", + "id": 10582, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2087:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_70_by_1", + "typeString": "int_const 70" + }, + "value": "70" + }, + "src": "2031:58:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10584, + "nodeType": "ExpressionStatement", + "src": "2031:58:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10585, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2099:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10587, + "indexExpression": { + "argumentTypes": null, + "id": 10586, + "name": "CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1525, + "src": "2111:42:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2099:55:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2157:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "2099:61:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10590, + "nodeType": "ExpressionStatement", + "src": "2099:61:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10591, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2171:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10593, + "indexExpression": { + "argumentTypes": null, + "id": 10592, + "name": "CONFIG_MAXIMUM_REPUTATION_DEDUCTION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1528, + "src": "2183:35:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2171:48:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3230", + "id": 10594, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2222:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + "src": "2171:53:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10596, + "nodeType": "ExpressionStatement", + "src": "2171:53:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10597, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2234:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10599, + "indexExpression": { + "argumentTypes": null, + "id": 10598, + "name": "CONFIG_PUNISHMENT_FOR_NOT_LOCKING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1531, + "src": "2246:33:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2234:46:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "35", + "id": 10600, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2283:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "src": "2234:50:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10602, + "nodeType": "ExpressionStatement", + "src": "2234:50:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10603, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2294:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10605, + "indexExpression": { + "argumentTypes": null, + "id": 10604, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1534, + "src": "2306:34:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2294:47:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10606, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2344:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2294:51:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10608, + "nodeType": "ExpressionStatement", + "src": "2294:51:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10609, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2382:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10611, + "indexExpression": { + "argumentTypes": null, + "id": 10610, + "name": "CONFIG_REPUTATION_PER_EXTRA_QP_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1537, + "src": "2394:34:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2382:47:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10612, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2432:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2382:51:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10614, + "nodeType": "ExpressionStatement", + "src": "2382:51:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10615, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2444:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10617, + "indexExpression": { + "argumentTypes": null, + "id": 10616, + "name": "CONFIG_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1474, + "src": "2456:28:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2444:41:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "33", + "id": 10618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2488:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "2444:45:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10620, + "nodeType": "ExpressionStatement", + "src": "2444:45:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10621, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2499:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10623, + "indexExpression": { + "argumentTypes": null, + "id": 10622, + "name": "CONFIG_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1477, + "src": "2511:35:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2499:48:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130", + "id": 10624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2550:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "2499:53:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10626, + "nodeType": "ExpressionStatement", + "src": "2499:53:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10627, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2562:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10629, + "indexExpression": { + "argumentTypes": null, + "id": 10628, + "name": "CONFIG_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1480, + "src": "2574:38:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2562:51:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130", + "id": 10630, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2616:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "2562:56:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10632, + "nodeType": "ExpressionStatement", + "src": "2562:56:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10633, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2629:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10635, + "indexExpression": { + "argumentTypes": null, + "id": 10634, + "name": "CONFIG_MODERATOR_MINIMAL_QUARTER_POINT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1483, + "src": "2641:38:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2629:51:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "33", + "id": 10636, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2683:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + }, + "value": "3" + }, + "src": "2629:55:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10638, + "nodeType": "ExpressionStatement", + "src": "2629:55:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10639, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2694:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10641, + "indexExpression": { + "argumentTypes": null, + "id": 10640, + "name": "CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1486, + "src": "2706:45:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2694:58:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130", + "id": 10642, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2755:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "2694:63:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10644, + "nodeType": "ExpressionStatement", + "src": "2694:63:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10645, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2767:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10647, + "indexExpression": { + "argumentTypes": null, + "id": 10646, + "name": "CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1489, + "src": "2779:48:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2767:61:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130", + "id": 10648, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2831:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "2767:66:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10650, + "nodeType": "ExpressionStatement", + "src": "2767:66:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10651, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2844:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10653, + "indexExpression": { + "argumentTypes": null, + "id": 10652, + "name": "CONFIG_PORTION_TO_MODERATORS_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1549, + "src": "2856:32:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2844:45:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "35", + "id": 10654, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2892:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_5_by_1", + "typeString": "int_const 5" + }, + "value": "5" + }, + "src": "2844:49:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10656, + "nodeType": "ExpressionStatement", + "src": "2844:49:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10657, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "2947:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10659, + "indexExpression": { + "argumentTypes": null, + "id": 10658, + "name": "CONFIG_PORTION_TO_MODERATORS_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1552, + "src": "2959:32:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2947:45:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10660, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2995:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "2947:51:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10662, + "nodeType": "ExpressionStatement", + "src": "2947:51:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10663, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3009:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10665, + "indexExpression": { + "argumentTypes": null, + "id": 10664, + "name": "CONFIG_DRAFT_VOTING_PHASE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1555, + "src": "3021:25:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3009:38:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "32", + "id": 10666, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3050:7:38", + "subdenomination": "weeks", + "typeDescriptions": { + "typeIdentifier": "t_rational_1209600_by_1", + "typeString": "int_const 1209600" + }, + "value": "2" + }, + "src": "3009:48:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10668, + "nodeType": "ExpressionStatement", + "src": "3009:48:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10669, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3067:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10671, + "indexExpression": { + "argumentTypes": null, + "id": 10670, + "name": "CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1558, + "src": "3079:39:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3067:52:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31303030", + "id": 10672, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3122:4:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + }, + "src": "3067:59:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10674, + "nodeType": "ExpressionStatement", + "src": "3067:59:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10675, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3137:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10677, + "indexExpression": { + "argumentTypes": null, + "id": 10676, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1456, + "src": "3149:44:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3137:57:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3330", + "id": 10678, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3197:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_30_by_1", + "typeString": "int_const 30" + }, + "value": "30" + }, + "src": "3137:62:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10680, + "nodeType": "ExpressionStatement", + "src": "3137:62:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10681, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3209:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10683, + "indexExpression": { + "argumentTypes": null, + "id": 10682, + "name": "CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1459, + "src": "3221:46:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3209:59:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10684, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3271:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "3209:65:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10686, + "nodeType": "ExpressionStatement", + "src": "3209:65:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10687, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3285:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10689, + "indexExpression": { + "argumentTypes": null, + "id": 10688, + "name": "CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1540, + "src": "3297:45:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3285:58:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3230", + "id": 10690, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3346:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + }, + "src": "3285:63:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10692, + "nodeType": "ExpressionStatement", + "src": "3285:63:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10693, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3358:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10695, + "indexExpression": { + "argumentTypes": null, + "id": 10694, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1543, + "src": "3370:44:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3358:57:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3418:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3358:61:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10698, + "nodeType": "ExpressionStatement", + "src": "3358:61:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10699, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3429:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10701, + "indexExpression": { + "argumentTypes": null, + "id": 10700, + "name": "CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1546, + "src": "3441:44:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3429:57:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10702, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3489:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3429:61:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10704, + "nodeType": "ExpressionStatement", + "src": "3429:61:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10705, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3501:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10707, + "indexExpression": { + "argumentTypes": null, + "id": 10706, + "name": "CONFIG_VOTE_CLAIMING_DEADLINE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1561, + "src": "3513:29:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3501:42:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "35", + "id": 10708, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3546:6:38", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_432000_by_1", + "typeString": "int_const 432000" + }, + "value": "5" + }, + "src": "3501:51:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10710, + "nodeType": "ExpressionStatement", + "src": "3501:51:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10717, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10711, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3563:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10713, + "indexExpression": { + "argumentTypes": null, + "id": 10712, + "name": "CONFIG_MINIMUM_LOCKED_DGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1405, + "src": "3575:25:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3563:38:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_1000000000_by_1", + "typeString": "int_const 1000000000" + }, + "id": 10716, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 10714, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3604:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "hexValue": "39", + "id": 10715, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3610:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "9" + }, + "src": "3604:7:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000_by_1", + "typeString": "int_const 1000000000" + } + }, + "src": "3563:48:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10718, + "nodeType": "ExpressionStatement", + "src": "3563:48:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10719, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3621:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10721, + "indexExpression": { + "argumentTypes": null, + "id": 10720, + "name": "CONFIG_MINIMUM_DGD_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1408, + "src": "3633:32:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3621:45:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_100000000000_by_1", + "typeString": "int_const 100000000000" + }, + "id": 10727, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3669:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_1000000000_by_1", + "typeString": "int_const 1000000000" + }, + "id": 10725, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 10723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3676:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "hexValue": "39", + "id": 10724, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3682:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "9" + }, + "src": "3676:7:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000_by_1", + "typeString": "int_const 1000000000" + } + } + ], + "id": 10726, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3675:9:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000_by_1", + "typeString": "int_const 1000000000" + } + }, + "src": "3669:15:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_100000000000_by_1", + "typeString": "int_const 100000000000" + } + }, + "src": "3621:63:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10729, + "nodeType": "ExpressionStatement", + "src": "3621:63:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10730, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3694:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10732, + "indexExpression": { + "argumentTypes": null, + "id": 10731, + "name": "CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1411, + "src": "3706:39:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3694:52:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313030", + "id": 10733, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3749:3:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "3694:58:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10735, + "nodeType": "ExpressionStatement", + "src": "3694:58:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10736, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3763:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10738, + "indexExpression": { + "argumentTypes": null, + "id": 10737, + "name": "CONFIG_PREPROPOSAL_COLLATERAL", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1564, + "src": "3775:29:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3763:42:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "32", + "id": 10739, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3808:7:38", + "subdenomination": "ether", + "typeDescriptions": { + "typeIdentifier": "t_rational_2000000000000000000_by_1", + "typeString": "int_const 2000000000000000000" + }, + "value": "2" + }, + "src": "3763:52:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10741, + "nodeType": "ExpressionStatement", + "src": "3763:52:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10742, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3826:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10744, + "indexExpression": { + "argumentTypes": null, + "id": 10743, + "name": "CONFIG_MAX_FUNDING_FOR_NON_DIGIX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1567, + "src": "3838:32:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3826:45:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3230", + "id": 10745, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3874:8:38", + "subdenomination": "ether", + "typeDescriptions": { + "typeIdentifier": "t_rational_20000000000000000000_by_1", + "typeString": "int_const 20000000000000000000" + }, + "value": "20" + }, + "src": "3826:56:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10747, + "nodeType": "ExpressionStatement", + "src": "3826:56:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10748, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3892:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10750, + "indexExpression": { + "argumentTypes": null, + "id": 10749, + "name": "CONFIG_MAX_MILESTONES_FOR_NON_DIGIX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1570, + "src": "3904:35:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3892:48:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "32", + "id": 10751, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3943:1:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "3892:52:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10753, + "nodeType": "ExpressionStatement", + "src": "3892:52:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10754, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "3954:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10756, + "indexExpression": { + "argumentTypes": null, + "id": 10755, + "name": "CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1573, + "src": "3966:41:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3954:54:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130", + "id": 10757, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4011:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "3954:59:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10759, + "nodeType": "ExpressionStatement", + "src": "3954:59:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10760, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4024:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10762, + "indexExpression": { + "argumentTypes": null, + "id": 10761, + "name": "CONFIG_PROPOSAL_DEAD_DURATION", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1576, + "src": "4036:29:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4024:42:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "313830", + "id": 10763, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4069:8:38", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_15552000_by_1", + "typeString": "int_const 15552000" + }, + "value": "180" + }, + "src": "4024:53:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10765, + "nodeType": "ExpressionStatement", + "src": "4024:53:38" + }, + { + "expression": { + "argumentTypes": null, + "id": 10770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10766, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4088:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10768, + "indexExpression": { + "argumentTypes": null, + "id": 10767, + "name": "CONFIG_CARBON_VOTE_REPUTATION_BONUS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1579, + "src": "4100:35:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4088:48:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3335", + "id": 10769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4139:2:38", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_35_by_1", + "typeString": "int_const 35" + }, + "value": "35" + }, + "src": "4088:53:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10771, + "nodeType": "ExpressionStatement", + "src": "4088:53:38" + } + ] + }, + "documentation": null, + "id": 10773, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 10408, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10405, + "src": "187:9:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 10409, + "modifierName": { + "argumentTypes": null, + "id": 10407, + "name": "DaoConfigsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14281, + "src": "169:17:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoConfigsStorage_$14281_$", + "typeString": "type(contract DaoConfigsStorage)" + } + }, + "nodeType": "ModifierInvocation", + "src": "169:28:38" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10406, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10405, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 10773, + "src": "143:17:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10404, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "143:7:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "142:19:38" + }, + "payable": false, + "returnParameters": { + "id": 10410, + "nodeType": "ParameterList", + "parameters": [], + "src": "198:0:38" + }, + "scope": 10816, + "src": "131:4017:38", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10786, + "nodeType": "Block", + "src": "4245:57:38", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10780, + "name": "uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12901, + "src": "4257:11:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 10782, + "indexExpression": { + "argumentTypes": null, + "id": 10781, + "name": "_config_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10775, + "src": "4269:12:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4257:25:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 10783, + "name": "_new_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10777, + "src": "4285:10:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4257:38:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10785, + "nodeType": "ExpressionStatement", + "src": "4257:38:38" + } + ] + }, + "documentation": null, + "id": 10787, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_uint_config", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10778, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10775, + "name": "_config_name", + "nodeType": "VariableDeclaration", + "scope": 10787, + "src": "4184:20:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10774, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4184:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10777, + "name": "_new_value", + "nodeType": "VariableDeclaration", + "scope": 10787, + "src": "4206:18:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10776, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4206:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4183:42:38" + }, + "payable": false, + "returnParameters": { + "id": 10779, + "nodeType": "ParameterList", + "parameters": [], + "src": "4245:0:38" + }, + "scope": 10816, + "src": "4154:148:38", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10800, + "nodeType": "Block", + "src": "4402:58:38", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10794, + "name": "addressConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12905, + "src": "4412:14:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", + "typeString": "mapping(bytes32 => address)" + } + }, + "id": 10796, + "indexExpression": { + "argumentTypes": null, + "id": 10795, + "name": "_config_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10789, + "src": "4427:12:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4412:28:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 10797, + "name": "_new_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10791, + "src": "4443:10:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4412:41:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10799, + "nodeType": "ExpressionStatement", + "src": "4412:41:38" + } + ] + }, + "documentation": null, + "id": 10801, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_address_config", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10789, + "name": "_config_name", + "nodeType": "VariableDeclaration", + "scope": 10801, + "src": "4341:20:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10788, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4341:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10791, + "name": "_new_value", + "nodeType": "VariableDeclaration", + "scope": 10801, + "src": "4363:18:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10790, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4363:7:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4340:42:38" + }, + "payable": false, + "returnParameters": { + "id": 10793, + "nodeType": "ParameterList", + "parameters": [], + "src": "4402:0:38" + }, + "scope": 10816, + "src": "4308:152:38", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10814, + "nodeType": "Block", + "src": "4558:56:38", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10808, + "name": "bytesConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12909, + "src": "4568:12:38", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes32_$", + "typeString": "mapping(bytes32 => bytes32)" + } + }, + "id": 10810, + "indexExpression": { + "argumentTypes": null, + "id": 10809, + "name": "_config_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10803, + "src": "4581:12:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4568:26:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 10811, + "name": "_new_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10805, + "src": "4597:10:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "4568:39:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 10813, + "nodeType": "ExpressionStatement", + "src": "4568:39:38" + } + ] + }, + "documentation": null, + "id": 10815, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_bytes_config", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10806, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10803, + "name": "_config_name", + "nodeType": "VariableDeclaration", + "scope": 10815, + "src": "4497:20:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10802, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4497:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10805, + "name": "_new_value", + "nodeType": "VariableDeclaration", + "scope": 10815, + "src": "4519:18:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 10804, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4519:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4496:42:38" + }, + "payable": false, + "returnParameters": { + "id": 10807, + "nodeType": "ParameterList", + "parameters": [], + "src": "4558:0:38" + }, + "scope": 10816, + "src": "4466:148:38", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 10817, + "src": "73:4543:38" + } + ], + "src": "0:4617:38" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.870Z" +} \ No newline at end of file diff --git a/build/contracts/MockDaoFundingManager.json b/build/contracts/MockDaoFundingManager.json new file mode 100644 index 0000000..cb5008d --- /dev/null +++ b/build/contracts/MockDaoFundingManager.json @@ -0,0 +1,247 @@ +{ + "contractName": "MockDaoFundingManager", + "abi": [ + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + } + ], + "bytecode": "0x6080604052348015600f57600080fd5b50603280601d6000396000f30060806040520000a165627a7a7230582037b2444bb26e440f4a36c2cc6c75f2f6c49544da1734ba9093b26a0c045cc58f0029", + "deployedBytecode": "0x60806040520000a165627a7a7230582037b2444bb26e440f4a36c2cc6c75f2f6c49544da1734ba9093b26a0c045cc58f0029", + "sourceMap": "26:99:33:-;;;63:23;8:9:-1;5:2;;;30:1;27;20:12;5:2;63:23:33;26:99;;;;;;", + "deployedSourceMap": "26:99:33:-;;;", + "source": "pragma solidity ^0.4.25;\n\ncontract MockDaoFundingManager {\n constructor() public {}\n\n function () payable external {}\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/mock/interactive/MockDaoFundingManager.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/interactive/MockDaoFundingManager.sol", + "exportedSymbols": { + "MockDaoFundingManager": [ + 9300 + ] + }, + "id": 9301, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9291, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:33" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 9300, + "linearizedBaseContracts": [ + 9300 + ], + "name": "MockDaoFundingManager", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 9294, + "nodeType": "Block", + "src": "84:2:33", + "statements": [] + }, + "documentation": null, + "id": 9295, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9292, + "nodeType": "ParameterList", + "parameters": [], + "src": "74:2:33" + }, + "payable": false, + "returnParameters": { + "id": 9293, + "nodeType": "ParameterList", + "parameters": [], + "src": "84:0:33" + }, + "scope": 9300, + "src": "63:23:33", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9298, + "nodeType": "Block", + "src": "121:2:33", + "statements": [] + }, + "documentation": null, + "id": 9299, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9296, + "nodeType": "ParameterList", + "parameters": [], + "src": "101:2:33" + }, + "payable": true, + "returnParameters": { + "id": 9297, + "nodeType": "ParameterList", + "parameters": [], + "src": "121:0:33" + }, + "scope": 9300, + "src": "92:31:33", + "stateMutability": "payable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 9301, + "src": "26:99:33" + } + ], + "src": "0:126:33" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/interactive/MockDaoFundingManager.sol", + "exportedSymbols": { + "MockDaoFundingManager": [ + 9300 + ] + }, + "id": 9301, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9291, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:33" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 9300, + "linearizedBaseContracts": [ + 9300 + ], + "name": "MockDaoFundingManager", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 9294, + "nodeType": "Block", + "src": "84:2:33", + "statements": [] + }, + "documentation": null, + "id": 9295, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9292, + "nodeType": "ParameterList", + "parameters": [], + "src": "74:2:33" + }, + "payable": false, + "returnParameters": { + "id": 9293, + "nodeType": "ParameterList", + "parameters": [], + "src": "84:0:33" + }, + "scope": 9300, + "src": "63:23:33", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9298, + "nodeType": "Block", + "src": "121:2:33", + "statements": [] + }, + "documentation": null, + "id": 9299, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9296, + "nodeType": "ParameterList", + "parameters": [], + "src": "101:2:33" + }, + "payable": true, + "returnParameters": { + "id": 9297, + "nodeType": "ParameterList", + "parameters": [], + "src": "121:0:33" + }, + "scope": 9300, + "src": "92:31:33", + "stateMutability": "payable", + "superFunction": null, + "visibility": "external" + } + ], + "scope": 9301, + "src": "26:99:33" + } + ], + "src": "0:126:33" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.867Z" +} \ No newline at end of file diff --git a/build/contracts/MockDaoPointsStorage.json b/build/contracts/MockDaoPointsStorage.json new file mode 100644 index 0000000..b65c2a2 --- /dev/null +++ b/build/contracts/MockDaoPointsStorage.json @@ -0,0 +1,8237 @@ +{ + "contractName": "MockDaoPointsStorage", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getTotalReputation", + "outputs": [ + { + "name": "_totalPoint", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_participant", + "type": "address" + }, + { + "name": "_point", + "type": "uint256" + }, + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "addQuarterPoint", + "outputs": [ + { + "name": "_newPoint", + "type": "uint256" + }, + { + "name": "_newTotalPoint", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "getTotalQuarterModeratorPoint", + "outputs": [ + { + "name": "_totalPoint", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_participant", + "type": "address" + }, + { + "name": "_point", + "type": "uint256" + } + ], + "name": "reduceReputation", + "outputs": [ + { + "name": "_newPoint", + "type": "uint256" + }, + { + "name": "_totalPoint", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "getTotalQuarterPoint", + "outputs": [ + { + "name": "_totalPoint", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_participant", + "type": "address" + }, + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "getQuarterPoint", + "outputs": [ + { + "name": "_point", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_participant", + "type": "address" + } + ], + "name": "getReputation", + "outputs": [ + { + "name": "_point", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_participant", + "type": "address" + }, + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "getQuarterModeratorPoint", + "outputs": [ + { + "name": "_point", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_participant", + "type": "address" + }, + { + "name": "_point", + "type": "uint256" + } + ], + "name": "increaseReputation", + "outputs": [ + { + "name": "_newPoint", + "type": "uint256" + }, + { + "name": "_totalPoint", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_participant", + "type": "address" + }, + { + "name": "_point", + "type": "uint256" + }, + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "addModeratorQuarterPoint", + "outputs": [ + { + "name": "_newPoint", + "type": "uint256" + }, + { + "name": "_newTotalPoint", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_participant", + "type": "address" + }, + { + "name": "_point", + "type": "uint256" + }, + { + "name": "_qId", + "type": "uint256" + } + ], + "name": "setQP", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_participant", + "type": "address" + }, + { + "name": "_point", + "type": "uint256" + }, + { + "name": "_qId", + "type": "uint256" + } + ], + "name": "setModeratorQP", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_participant", + "type": "address" + }, + { + "name": "_point", + "type": "uint256" + } + ], + "name": "setRP", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_participants", + "type": "address[]" + }, + { + "name": "_points", + "type": "uint256[]" + }, + { + "name": "_qId", + "type": "uint256" + } + ], + "name": "mock_set_qp", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_participants", + "type": "address[]" + }, + { + "name": "_points", + "type": "uint256[]" + }, + { + "name": "_qId", + "type": "uint256" + } + ], + "name": "mock_set_moderator_qp", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_participants", + "type": "address[]" + }, + { + "name": "_points", + "type": "uint256[]" + } + ], + "name": "mock_set_rp", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b5060405160208062002ef4833981018060405281019080805190602001909291905050508062001176602954826200118a640100000000026401000000009004565b15156200118257600080fd5b50506200141b565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f257600080fd5b505af115801562001207573d6000803e3d6000fd5b505050506040513d60208110156200121e57600080fd5b810190808051906020019092919050505090506000151581151514156200140f5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013bc57600080fd5b505af1158015620013d1573d6000803e3d6000fd5b505050506040513d6020811015620013e857600080fd5b810190808051906020019092919050505015156200140557600080fd5b6001915062001414565b600091505b5092915050565b611ac9806200142b6000396000f300608060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec1461011757806317a129501461016e5780631ad53da6146101995780631eee015414610242578063280753f9146102b457806329101470146103675780633943380c146103a85780633f83acff146103db57806366f481c81461044c5780637478fbe3146104a35780637b22ebce1461050b5780637bae633b1461054c5780637cb77966146105a357806393383c51146105f05780639c89a0e214610651578063a5a9f5bb146106a8578063d80518c714610709578063db4ecbc1146107bc578063ded86d6814610813578063f2f80af41461087b575b600080fd5b34801561012357600080fd5b5061012c6108ed565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561017a57600080fd5b50610183610912565b6040518082815260200191505060405180910390f35b3480156101a557600080fd5b50610240600480360381019080803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929050505061091f565b005b34801561024e57600080fd5b50610297600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610a3e565b604051808381526020018281526020019250505060405180910390f35b3480156102c057600080fd5b50610365600480360381019080803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050610c05565b005b34801561037357600080fd5b5061039260048036038101908080359060200190929190505050610d69565b6040518082815260200191505060405180910390f35b3480156103b457600080fd5b506103bd610d89565b60405180826000191660001916815260200191505060405180910390f35b3480156103e757600080fd5b5061040a6004803603810190808035600019169060200190929190505050610d8f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561045857600080fd5b506104a1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610e6b565b005b3480156104af57600080fd5b506104ee600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f50565b604051808381526020018281526020019250505060405180910390f35b34801561051757600080fd5b5061053660048036038101908080359060200190929190505050611193565b6040518082815260200191505060405180910390f35b34801561055857600080fd5b506105a1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506111b3565b005b3480156105af57600080fd5b506105ee600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611298565b005b3480156105fc57600080fd5b5061063b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611338565b6040518082815260200191505060405180910390f35b34801561065d57600080fd5b50610692600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611396565b6040518082815260200191505060405180910390f35b3480156106b457600080fd5b506106f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113e2565b6040518082815260200191505060405180910390f35b34801561071557600080fd5b506107ba600480360381019080803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050611440565b005b3480156107c857600080fd5b506107d16115a4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561081f57600080fd5b5061085e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115ca565b604051808381526020018281526020019250505060405180910390f35b34801561088757600080fd5b506108d0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919050505061172a565b604051808381526020018281526020019250505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000607060000154905090565b60008083519150600090505b81811015610a3857828181518110151561094157fe5b9060200190602002015160706001016000868481518110151561096057fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054607060000154030160706000018190555082818151811015156109c457fe5b906020019060200201516070600101600086848151811015156109e357fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808060010191505061092b565b50505050565b600080610a83606060405190810160405280601754600019166000191681526020016018546000191660001916815260200160035460001916600019168152506118f1565b1515610a8e57600080fd5b610ab7846072600086815260200190815260200160002060000154611a6890919063ffffffff16565b6072600085815260200190815260200160002060000181905550610b37846072600086815260200190815260200160002060010160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6890919063ffffffff16565b6072600085815260200190815260200160002060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506072600084815260200190815260200160002060010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054915060726000848152602001908152602001600020600001549050935093915050565b60008084519150600090505b81811015610d62578381815181101515610c2757fe5b906020019060200201516072600085815260200190815260200160002060010160008784815181101515610c5757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546072600086815260200190815260200160002060000154030160726000858152602001908152602001600020600001819055508381815181101515610cdd57fe5b906020019060200201516072600085815260200190815260200160002060010160008784815181101515610d0d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080600101915050610c11565b5050505050565b600060736000838152602001908152602001600020600001549050919050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610e2957600080fd5b505af1158015610e3d573d6000803e3d6000fd5b505050506040513d6020811015610e5357600080fd5b81019080805190602001909291905050509050919050565b816072600083815260200190815260200160002060010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054607260008481526020019081526020016000206000015403016072600083815260200190815260200160002060000181905550816072600083815260200190815260200160002060010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6000806000610f9760606040519081016040528060185460001916600019168152602001601b546000191660001916815260200160035460001916600019168152506118f1565b1515610fa257600080fd5b83905083607060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561108f5761104484607060010160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a8490919063ffffffff16565b607060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061111d565b607060010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000607060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61113581607060000154611a8490919063ffffffff16565b607060000181905550607060010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205492506070600001549150509250929050565b600060726000838152602001908152602001600020600001549050919050565b816073600083815260200190815260200160002060010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054607360008481526020019081526020016000206000015403016073600083815260200190815260200160002060000181905550816073600083815260200190815260200160002060010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b80607060010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054607060000154030160706000018190555080607060010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60006072600083815260200190815260200160002060010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000607060010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006073600083815260200190815260200160002060010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008084519150600090505b8181101561159d57838181518110151561146257fe5b90602001906020020151607360008581526020019081526020016000206001016000878481518110151561149257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054607360008681526020019081526020016000206000015403016073600085815260200190815260200160002060000181905550838181518110151561151857fe5b90602001906020020151607360008581526020019081526020016000206001016000878481518110151561154857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808060010191505061144c565b5050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008061160f60606040519081016040528060185460001916600019168152602001601b546000191660001916815260200160165460001916600019168152506118f1565b151561161a57600080fd5b61163283607060000154611a6890919063ffffffff16565b60706000018190555061169083607060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6890919063ffffffff16565b607060010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550607060010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054915060706000015490509250929050565b60008061176f606060405190810160405280601754600019166000191681526020016018546000191660001916815260200160035460001916600019168152506118f1565b151561177a57600080fd5b6117a3846073600086815260200190815260200160002060000154611a6890919063ffffffff16565b6073600085815260200190815260200160002060000181905550611823846073600086815260200190815260200160002060010160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6890919063ffffffff16565b6073600085815260200190815260200160002060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506073600084815260200190815260200160002060010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054915060736000848152602001908152602001600020600001549050935093915050565b600080600060039150600090505b81811015611a6157600060010260001916848260038110151561191e57fe5b602002015160001916141561193257611a54565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff858360038110151561197d57fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156119dc57600080fd5b505af11580156119f0573d6000803e3d6000fd5b505050506040513d6020811015611a0657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611a535760019250611a61565b5b80806001019150506118ff565b5050919050565b60008183019050828110151515611a7b57fe5b80905092915050565b6000828211151515611a9257fe5b8183039050929150505600a165627a7a7230582031199852d61537563c07233b08e0d66435f65d799e66f803c273d8f6a57ef5880029", + "deployedBytecode": "0x608060405260043610610112576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec1461011757806317a129501461016e5780631ad53da6146101995780631eee015414610242578063280753f9146102b457806329101470146103675780633943380c146103a85780633f83acff146103db57806366f481c81461044c5780637478fbe3146104a35780637b22ebce1461050b5780637bae633b1461054c5780637cb77966146105a357806393383c51146105f05780639c89a0e214610651578063a5a9f5bb146106a8578063d80518c714610709578063db4ecbc1146107bc578063ded86d6814610813578063f2f80af41461087b575b600080fd5b34801561012357600080fd5b5061012c6108ed565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561017a57600080fd5b50610183610912565b6040518082815260200191505060405180910390f35b3480156101a557600080fd5b50610240600480360381019080803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929050505061091f565b005b34801561024e57600080fd5b50610297600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610a3e565b604051808381526020018281526020019250505060405180910390f35b3480156102c057600080fd5b50610365600480360381019080803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050610c05565b005b34801561037357600080fd5b5061039260048036038101908080359060200190929190505050610d69565b6040518082815260200191505060405180910390f35b3480156103b457600080fd5b506103bd610d89565b60405180826000191660001916815260200191505060405180910390f35b3480156103e757600080fd5b5061040a6004803603810190808035600019169060200190929190505050610d8f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561045857600080fd5b506104a1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610e6b565b005b3480156104af57600080fd5b506104ee600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f50565b604051808381526020018281526020019250505060405180910390f35b34801561051757600080fd5b5061053660048036038101908080359060200190929190505050611193565b6040518082815260200191505060405180910390f35b34801561055857600080fd5b506105a1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506111b3565b005b3480156105af57600080fd5b506105ee600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611298565b005b3480156105fc57600080fd5b5061063b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611338565b6040518082815260200191505060405180910390f35b34801561065d57600080fd5b50610692600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611396565b6040518082815260200191505060405180910390f35b3480156106b457600080fd5b506106f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113e2565b6040518082815260200191505060405180910390f35b34801561071557600080fd5b506107ba600480360381019080803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050611440565b005b3480156107c857600080fd5b506107d16115a4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561081f57600080fd5b5061085e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115ca565b604051808381526020018281526020019250505060405180910390f35b34801561088757600080fd5b506108d0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919050505061172a565b604051808381526020018281526020019250505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000607060000154905090565b60008083519150600090505b81811015610a3857828181518110151561094157fe5b9060200190602002015160706001016000868481518110151561096057fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054607060000154030160706000018190555082818151811015156109c457fe5b906020019060200201516070600101600086848151811015156109e357fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808060010191505061092b565b50505050565b600080610a83606060405190810160405280601754600019166000191681526020016018546000191660001916815260200160035460001916600019168152506118f1565b1515610a8e57600080fd5b610ab7846072600086815260200190815260200160002060000154611a6890919063ffffffff16565b6072600085815260200190815260200160002060000181905550610b37846072600086815260200190815260200160002060010160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6890919063ffffffff16565b6072600085815260200190815260200160002060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506072600084815260200190815260200160002060010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054915060726000848152602001908152602001600020600001549050935093915050565b60008084519150600090505b81811015610d62578381815181101515610c2757fe5b906020019060200201516072600085815260200190815260200160002060010160008784815181101515610c5757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546072600086815260200190815260200160002060000154030160726000858152602001908152602001600020600001819055508381815181101515610cdd57fe5b906020019060200201516072600085815260200190815260200160002060010160008784815181101515610d0d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080600101915050610c11565b5050505050565b600060736000838152602001908152602001600020600001549050919050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610e2957600080fd5b505af1158015610e3d573d6000803e3d6000fd5b505050506040513d6020811015610e5357600080fd5b81019080805190602001909291905050509050919050565b816072600083815260200190815260200160002060010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054607260008481526020019081526020016000206000015403016072600083815260200190815260200160002060000181905550816072600083815260200190815260200160002060010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6000806000610f9760606040519081016040528060185460001916600019168152602001601b546000191660001916815260200160035460001916600019168152506118f1565b1515610fa257600080fd5b83905083607060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561108f5761104484607060010160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a8490919063ffffffff16565b607060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061111d565b607060010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000607060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61113581607060000154611a8490919063ffffffff16565b607060000181905550607060010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205492506070600001549150509250929050565b600060726000838152602001908152602001600020600001549050919050565b816073600083815260200190815260200160002060010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054607360008481526020019081526020016000206000015403016073600083815260200190815260200160002060000181905550816073600083815260200190815260200160002060010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b80607060010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054607060000154030160706000018190555080607060010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60006072600083815260200190815260200160002060010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000607060010160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006073600083815260200190815260200160002060010160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008084519150600090505b8181101561159d57838181518110151561146257fe5b90602001906020020151607360008581526020019081526020016000206001016000878481518110151561149257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054607360008681526020019081526020016000206000015403016073600085815260200190815260200160002060000181905550838181518110151561151857fe5b90602001906020020151607360008581526020019081526020016000206001016000878481518110151561154857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808060010191505061144c565b5050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008061160f60606040519081016040528060185460001916600019168152602001601b546000191660001916815260200160165460001916600019168152506118f1565b151561161a57600080fd5b61163283607060000154611a6890919063ffffffff16565b60706000018190555061169083607060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6890919063ffffffff16565b607060010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550607060010160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054915060706000015490509250929050565b60008061176f606060405190810160405280601754600019166000191681526020016018546000191660001916815260200160035460001916600019168152506118f1565b151561177a57600080fd5b6117a3846073600086815260200190815260200160002060000154611a6890919063ffffffff16565b6073600085815260200190815260200160002060000181905550611823846073600086815260200190815260200160002060010160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6890919063ffffffff16565b6073600085815260200190815260200160002060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506073600084815260200190815260200160002060010160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054915060736000848152602001908152602001600020600001549050935093915050565b600080600060039150600090505b81811015611a6157600060010260001916848260038110151561191e57fe5b602002015160001916141561193257611a54565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff858360038110151561197d57fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156119dc57600080fd5b505af11580156119f0573d6000803e3d6000fd5b505050506040513d6020811015611a0657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611a535760019250611a61565b5b80806001019150506118ff565b5050919050565b60008183019050828110151515611a7b57fe5b80905092915050565b6000828211151515611a9257fe5b8183039050929150505600a165627a7a7230582031199852d61537563c07233b08e0d66435f65d799e66f803c273d8f6a57ef5880029", + "sourceMap": "72:2192:39:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;128:73:39;8:9:-1;5:2;;;30:1;27;20:12;5:2;128:73:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;183:9;880:44:55;885:27;;914:9;880:4;;;:44;;;:::i;:::-;872:53;;;;;;;;812:120;128:73:39;72:2192;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;72:2192:39:-;;;;;;;", + "deployedSourceMap": "72:2192:39:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;5155:146:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5155:146:55;;;;;;;;;;;;;;;;;;;;;;;1891:371:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1891:371:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1013:640:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1013:640:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1039:397:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1039:397:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3170:213:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3170:213:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;207:265:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;207:265:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4073:793:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4073:793:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2969:195;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2969:195:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;478:310:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;478:310:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;794:239;;8:9:-1;5:2;;;30:1;27;20:12;5:2;794:239:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2442:212:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2442:212:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4925:161;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4925:161:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2660:230;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2660:230:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1442:443:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1442:443:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;3446:559:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3446:559:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1659:703;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1659:703:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;5155:146:55:-;5224:19;5269:15;:27;;;5255:41;;5155:146;:::o;1891:371:39:-;1973:10;2021:9;1986:13;:20;1973:33;;2033:1;2021:13;;2016:240;2040:2;2036:1;:6;2016:240;;;2167:7;2175:1;2167:10;;;;;;;;;;;;;;;;;;2123:15;:23;;:41;2147:13;2161:1;2147:16;;;;;;;;;;;;;;;;;;2123:41;;;;;;;;;;;;;;;;2093:15;:27;;;:71;:84;2063:15;:27;;:114;;;;2235:7;2243:1;2235:10;;;;;;;;;;;;;;;;;;2191:15;:23;;:41;2215:13;2229:1;2215:16;;;;;;;;;;;;;;;;;;2191:41;;;;;;;;;;;;;;;:54;;;;2044:3;;;;;;;2016:240;;;1891:371;;;;:::o;1013:640:55:-;1132:17;1151:22;1197:78;;;;;;;;;;1213:19;;1197:78;;;;;;;;;;1234:26;;1197:78;;;;;;;;;;1262:11;;1197:78;;;;;;;;;:14;:78::i;:::-;1189:87;;;;;;;;1329:52;1374:6;1329:12;:28;1342:14;1329:28;;;;;;;;;;;:40;;;:44;;:52;;;;:::i;:::-;1286:12;:28;1299:14;1286:28;;;;;;;;;;;:40;;:95;;;;1444:62;1499:6;1444:12;:28;1457:14;1444:28;;;;;;;;;;;:36;;:50;1481:12;1444:50;;;;;;;;;;;;;;;;:54;;:62;;;;:::i;:::-;1391:12;:28;1404:14;1391:28;;;;;;;;;;;:36;;:50;1428:12;1391:50;;;;;;;;;;;;;;;:115;;;;1529:12;:28;1542:14;1529:28;;;;;;;;;;;:36;;:50;1566:12;1529:50;;;;;;;;;;;;;;;;1517:62;;1606:12;:28;1619:14;1606:28;;;;;;;;;;;:40;;;1589:57;;1013:640;;;;;;:::o;1039:397:39:-;1135:10;1183:9;1148:13;:20;1135:33;;1195:1;1183:13;;1178:252;1202:2;1198:1;:6;1178:252;;;1338:7;1346:1;1338:10;;;;;;;;;;;;;;;;;;1291:12;:18;1304:4;1291:18;;;;;;;;;;;:26;;:44;1318:13;1332:1;1318:16;;;;;;;;;;;;;;;;;;1291:44;;;;;;;;;;;;;;;;1258:12;:18;1271:4;1258:18;;;;;;;;;;;:30;;;:77;:90;1225:12;:18;1238:4;1225:18;;;;;;;;;;;:30;;:123;;;;1409:7;1417:1;1409:10;;;;;;;;;;;;;;;;;;1362:12;:18;1375:4;1362:18;;;;;;;;;;;:26;;:44;1389:13;1403:1;1389:16;;;;;;;;;;;;;;;;;;1362:44;;;;;;;;;;;;;;;:57;;;;1206:3;;;;;;;1178:252;;;1039:397;;;;;:::o;3170:213:55:-;3278:19;3327:21;:37;3349:14;3327:37;;;;;;;;;;;:49;;;3313:63;;3170:213;;;:::o;264:18:67:-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;207:265:39:-;400:6;357:12;:18;370:4;357:18;;;;;;;;;;;:26;;:40;384:12;357:40;;;;;;;;;;;;;;;;324:12;:18;337:4;324:18;;;;;;;;;;;:30;;;:73;:82;291:12;:18;304:4;291:18;;;;;;;;;;;:30;;:115;;;;459:6;416:12;:18;429:4;416:18;;;;;;;;;;;:26;;:40;443:12;416:40;;;;;;;;;;;;;;;:49;;;;207:265;;;:::o;4073:793:55:-;4169:17;4188:19;4329:17;4231:87;;;;;;;;;;4247:26;;4231:87;;;;;;;;;;4275:28;;4231:87;;;;;;;;;;4305:11;;4231:87;;;;;;;;;:14;:87::i;:::-;4223:96;;;;;;;;4349:6;4329:26;;4409:6;4369:15;:23;;:37;4393:12;4369:37;;;;;;;;;;;;;;;;:46;4365:301;;;4471:49;4513:6;4471:15;:23;;:37;4495:12;4471:37;;;;;;;;;;;;;;;;:41;;:49;;;;:::i;:::-;4431:15;:23;;:37;4455:12;4431:37;;;;;;;;;;;;;;;:89;;;;4365:301;;;4563:15;:23;;:37;4587:12;4563:37;;;;;;;;;;;;;;;;4551:49;;4654:1;4614:15;:23;;:37;4638:12;4614:37;;;;;;;;;;;;;;;:41;;;;4365:301;4706:42;4738:9;4706:15;:27;;;:31;;:42;;;;:::i;:::-;4676:15;:27;;:72;;;;4771:15;:23;;:37;4795:12;4771:37;;;;;;;;;;;;;;;;4759:49;;4832:15;:27;;;4818:41;;4073:793;;;;;;:::o;2969:195::-;3068:19;3117:12;:28;3130:14;3117:28;;;;;;;;;;;:40;;;3103:54;;2969:195;;;:::o;478:310:39:-;707:6;655:21;:27;677:4;655:27;;;;;;;;;;;:35;;:49;691:12;655:49;;;;;;;;;;;;;;;;613:21;:27;635:4;613:27;;;;;;;;;;;:39;;;:91;:100;571:21;:27;593:4;571:27;;;;;;;;;;;:39;;:142;;;;775:6;723:21;:27;745:4;723:27;;;;;;;;;;;:35;;:49;759:12;723:49;;;;;;;;;;;;;;;:58;;;;478:310;;;:::o;794:239::-;964:6;924:15;:23;;:37;948:12;924:37;;;;;;;;;;;;;;;;894:15;:27;;;:67;:76;864:15;:27;;:106;;;;1020:6;980:15;:23;;:37;1004:12;980:37;;;;;;;;;;;;;;;:46;;;;794:239;;:::o;2442:212:55:-;2558:14;2597:12;:28;2610:14;2597:28;;;;;;;;;;;:36;;:50;2634:12;2597:50;;;;;;;;;;;;;;;;2588:59;;2442:212;;;;:::o;4925:161::-;5009:14;5044:15;:23;;:37;5068:12;5044:37;;;;;;;;;;;;;;;;5035:46;;4925:161;;;:::o;2660:230::-;2785:14;2824:21;:37;2846:14;2824:37;;;;;;;;;;;:45;;:59;2870:12;2824:59;;;;;;;;;;;;;;;;2815:68;;2660:230;;;;:::o;1442:443:39:-;1548:10;1596:9;1561:13;:20;1548:33;;1608:1;1596:13;;1591:288;1615:2;1611:1;:6;1591:288;;;1778:7;1786:1;1778:10;;;;;;;;;;;;;;;;;;1722:21;:27;1744:4;1722:27;;;;;;;;;;;:35;;:53;1758:13;1772:1;1758:16;;;;;;;;;;;;;;;;;;1722:53;;;;;;;;;;;;;;;;1680:21;:27;1702:4;1680:27;;;;;;;;;;;:39;;;:95;:108;1638:21;:27;1660:4;1638:27;;;;;;;;;;;:39;;:150;;;;1858:7;1866:1;1858:10;;;;;;;;;;;;;;;;;;1802:21;:27;1824:4;1802:27;;;;;;;;;;;:35;;:53;1838:13;1852:1;1838:16;;;;;;;;;;;;;;;;;;1802:53;;;;;;;;;;;;;;;:66;;;;1619:3;;;;;;;1591:288;;;1442:443;;;;;:::o;344:31:67:-;;;;;;;;;;;;;:::o;3446:559:55:-;3544:17;3563:19;3606:102;;;;;;;;;;3622:26;;3606:102;;;;;;;;;;3650:28;;3606:102;;;;;;;;;;3680:26;;3606:102;;;;;;;;;:14;:102::i;:::-;3598:111;;;;;;;;3749:39;3781:6;3749:15;:27;;;:31;;:39;;;;:::i;:::-;3719:15;:27;;:69;;;;3838:49;3880:6;3838:15;:23;;:37;3862:12;3838:37;;;;;;;;;;;;;;;;:41;;:49;;;;:::i;:::-;3798:15;:23;;:37;3822:12;3798:37;;;;;;;;;;;;;;;:89;;;;3910:15;:23;;:37;3934:12;3910:37;;;;;;;;;;;;;;;;3898:49;;3971:15;:27;;;3957:41;;3446:559;;;;;:::o;1659:703::-;1787:17;1806:22;1852:78;;;;;;;;;;1868:19;;1852:78;;;;;;;;;;1889:26;;1852:78;;;;;;;;;;1917:11;;1852:78;;;;;;;;;:14;:78::i;:::-;1844:87;;;;;;;;1993:61;2047:6;1993:21;:37;2015:14;1993:37;;;;;;;;;;;:49;;;:53;;:61;;;;:::i;:::-;1941:21;:37;1963:14;1941:37;;;;;;;;;;;:49;;:113;;;;2126:71;2190:6;2126:21;:37;2148:14;2126:37;;;;;;;;;;;:45;;:59;2172:12;2126:59;;;;;;;;;;;;;;;;:63;;:71;;;;:::i;:::-;2064:21;:37;2086:14;2064:37;;;;;;;;;;;:45;;:59;2110:12;2064:59;;;;;;;;;;;;;;;:133;;;;2220:21;:37;2242:14;2220:37;;;;;;;;;;;:45;;:59;2266:12;2220:59;;;;;;;;;;;;;;;;2208:71;;2306:21;:37;2328:14;2306:37;;;;;;;;;;;:49;;;2289:66;;1659:703;;;;;;:::o;881:350:67:-;951:12;971:10;1012:9;984:17;971:30;;1024:1;1012:13;;1007:220;1031:2;1027:1;:6;1007:220;;;1077:3;1069:12;;1052:29;;;:10;1063:1;1052:13;;;;;;;;;;;;;:29;;;;1048:43;;;1083:8;;1048:43;1134:8;;;;;;;;;;;1117:39;;;1157:10;1168:1;1157:13;;;;;;;;;;;;;1117:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1117:54:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1117:54:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1117:54:67;;;;;;;;;;;;;;;;1103:68;;:10;:68;;;1099:122;;;1193:4;1183:14;;1207:5;;1099:122;1007:220;1035:3;;;;;;;1007:220;;;881:350;;;;;:::o;1238:128:84:-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o;1060:116::-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"../../storage/DaoPointsStorage.sol\";\n\ncontract MockDaoPointsStorage is DaoPointsStorage {\n constructor(address _resolver) public DaoPointsStorage(_resolver) {\n }\n\n function setQP(address _participant, uint256 _point, uint256 _qId) public {\n quarterPoint[_qId].totalSupply = quarterPoint[_qId].totalSupply - quarterPoint[_qId].balance[_participant] + _point;\n quarterPoint[_qId].balance[_participant] = _point;\n }\n\n function setModeratorQP(address _participant, uint256 _point, uint256 _qId) public {\n quarterModeratorPoint[_qId].totalSupply = quarterModeratorPoint[_qId].totalSupply - quarterModeratorPoint[_qId].balance[_participant] + _point;\n quarterModeratorPoint[_qId].balance[_participant] = _point;\n }\n\n function setRP(address _participant, uint256 _point) public {\n reputationPoint.totalSupply = reputationPoint.totalSupply - reputationPoint.balance[_participant] + _point;\n reputationPoint.balance[_participant] = _point;\n }\n\n function mock_set_qp(address[] _participants, uint256[] _points, uint256 _qId) public {\n uint256 _n = _participants.length;\n for (uint256 i = 0; i < _n; i++) {\n quarterPoint[_qId].totalSupply = quarterPoint[_qId].totalSupply - quarterPoint[_qId].balance[_participants[i]] + _points[i];\n quarterPoint[_qId].balance[_participants[i]] = _points[i];\n }\n }\n\n function mock_set_moderator_qp(address[] _participants, uint256[] _points, uint256 _qId) public {\n uint256 _n = _participants.length;\n for (uint256 i = 0; i < _n; i++) {\n quarterModeratorPoint[_qId].totalSupply = quarterModeratorPoint[_qId].totalSupply - quarterModeratorPoint[_qId].balance[_participants[i]] + _points[i];\n quarterModeratorPoint[_qId].balance[_participants[i]] = _points[i];\n }\n }\n\n function mock_set_rp(address[] _participants, uint256[] _points) public {\n uint256 _n = _participants.length;\n for (uint256 i = 0; i < _n; i++) {\n reputationPoint.totalSupply = reputationPoint.totalSupply - reputationPoint.balance[_participants[i]] + _points[i];\n reputationPoint.balance[_participants[i]] = _points[i];\n }\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/mock/storage/MockDaoPointsStorage.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/storage/MockDaoPointsStorage.sol", + "exportedSymbols": { + "MockDaoPointsStorage": [ + 11124 + ] + }, + "id": 11125, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 10818, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:39" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoPointsStorage.sol", + "file": "../../storage/DaoPointsStorage.sol", + "id": 10819, + "nodeType": "ImportDirective", + "scope": 11125, + "sourceUnit": 14927, + "src": "26:44:39", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 10820, + "name": "DaoPointsStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14926, + "src": "105:16:39", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 10821, + "nodeType": "InheritanceSpecifier", + "src": "105:16:39" + } + ], + "contractDependencies": [ + 1580, + 14926, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 11124, + "linearizedBaseContracts": [ + 11124, + 14926, + 1580, + 19058 + ], + "name": "MockDaoPointsStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 10829, + "nodeType": "Block", + "src": "194:7:39", + "statements": [] + }, + "documentation": null, + "id": 10830, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 10826, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10823, + "src": "183:9:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 10827, + "modifierName": { + "argumentTypes": null, + "id": 10825, + "name": "DaoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14926, + "src": "166:16:39", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "type(contract DaoPointsStorage)" + } + }, + "nodeType": "ModifierInvocation", + "src": "166:27:39" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10824, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10823, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 10830, + "src": "140:17:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10822, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "140:7:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "139:19:39" + }, + "payable": false, + "returnParameters": { + "id": 10828, + "nodeType": "ParameterList", + "parameters": [], + "src": "194:0:39" + }, + "scope": 11124, + "src": "128:73:39", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10867, + "nodeType": "Block", + "src": "281:191:39", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10839, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "291:12:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10841, + "indexExpression": { + "argumentTypes": null, + "id": 10840, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10836, + "src": "304:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "291:18:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10842, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "291:30:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10843, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "324:12:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10845, + "indexExpression": { + "argumentTypes": null, + "id": 10844, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10836, + "src": "337:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "324:18:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10846, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "324:30:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10847, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "357:12:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10849, + "indexExpression": { + "argumentTypes": null, + "id": 10848, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10836, + "src": "370:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "357:18:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10850, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "357:26:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 10852, + "indexExpression": { + "argumentTypes": null, + "id": 10851, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10832, + "src": "384:12:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "357:40:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "324:73:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 10854, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10834, + "src": "400:6:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "324:82:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "291:115:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10857, + "nodeType": "ExpressionStatement", + "src": "291:115:39" + }, + { + "expression": { + "argumentTypes": null, + "id": 10865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10858, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "416:12:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10860, + "indexExpression": { + "argumentTypes": null, + "id": 10859, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10836, + "src": "429:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "416:18:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10861, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "416:26:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 10863, + "indexExpression": { + "argumentTypes": null, + "id": 10862, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10832, + "src": "443:12:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "416:40:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 10864, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10834, + "src": "459:6:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "416:49:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10866, + "nodeType": "ExpressionStatement", + "src": "416:49:39" + } + ] + }, + "documentation": null, + "id": 10868, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setQP", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10837, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10832, + "name": "_participant", + "nodeType": "VariableDeclaration", + "scope": 10868, + "src": "222:20:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10831, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "222:7:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10834, + "name": "_point", + "nodeType": "VariableDeclaration", + "scope": 10868, + "src": "244:14:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10833, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "244:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10836, + "name": "_qId", + "nodeType": "VariableDeclaration", + "scope": 10868, + "src": "260:12:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10835, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "260:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "221:52:39" + }, + "payable": false, + "returnParameters": { + "id": 10838, + "nodeType": "ParameterList", + "parameters": [], + "src": "281:0:39" + }, + "scope": 11124, + "src": "207:265:39", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10905, + "nodeType": "Block", + "src": "561:227:39", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10877, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "571:21:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10879, + "indexExpression": { + "argumentTypes": null, + "id": 10878, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10874, + "src": "593:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "571:27:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10880, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "571:39:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10881, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "613:21:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10883, + "indexExpression": { + "argumentTypes": null, + "id": 10882, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10874, + "src": "635:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "613:27:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10884, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "613:39:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10885, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "655:21:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10887, + "indexExpression": { + "argumentTypes": null, + "id": 10886, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10874, + "src": "677:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "655:27:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10888, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "655:35:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 10890, + "indexExpression": { + "argumentTypes": null, + "id": 10889, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10870, + "src": "691:12:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "655:49:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "613:91:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 10892, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10872, + "src": "707:6:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "613:100:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "571:142:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10895, + "nodeType": "ExpressionStatement", + "src": "571:142:39" + }, + { + "expression": { + "argumentTypes": null, + "id": 10903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10896, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "723:21:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10898, + "indexExpression": { + "argumentTypes": null, + "id": 10897, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10874, + "src": "745:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "723:27:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10899, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "723:35:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 10901, + "indexExpression": { + "argumentTypes": null, + "id": 10900, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10870, + "src": "759:12:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "723:49:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 10902, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10872, + "src": "775:6:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "723:58:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10904, + "nodeType": "ExpressionStatement", + "src": "723:58:39" + } + ] + }, + "documentation": null, + "id": 10906, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setModeratorQP", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10875, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10870, + "name": "_participant", + "nodeType": "VariableDeclaration", + "scope": 10906, + "src": "502:20:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10869, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "502:7:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10872, + "name": "_point", + "nodeType": "VariableDeclaration", + "scope": 10906, + "src": "524:14:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10871, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "524:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10874, + "name": "_qId", + "nodeType": "VariableDeclaration", + "scope": 10906, + "src": "540:12:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10873, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "540:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "501:52:39" + }, + "payable": false, + "returnParameters": { + "id": 10876, + "nodeType": "ParameterList", + "parameters": [], + "src": "561:0:39" + }, + "scope": 11124, + "src": "478:310:39", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10935, + "nodeType": "Block", + "src": "854:179:39", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10913, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "864:15:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10915, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "864:27:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10916, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "894:15:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10917, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "894:27:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10918, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "924:15:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10919, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "924:23:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 10921, + "indexExpression": { + "argumentTypes": null, + "id": 10920, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10908, + "src": "948:12:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "924:37:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "894:67:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 10923, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10910, + "src": "964:6:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "894:76:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "864:106:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10926, + "nodeType": "ExpressionStatement", + "src": "864:106:39" + }, + { + "expression": { + "argumentTypes": null, + "id": 10933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10927, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "980:15:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10930, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "980:23:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 10931, + "indexExpression": { + "argumentTypes": null, + "id": 10929, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10908, + "src": "1004:12:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "980:37:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 10932, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10910, + "src": "1020:6:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "980:46:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10934, + "nodeType": "ExpressionStatement", + "src": "980:46:39" + } + ] + }, + "documentation": null, + "id": 10936, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setRP", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10911, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10908, + "name": "_participant", + "nodeType": "VariableDeclaration", + "scope": 10936, + "src": "809:20:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10907, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "809:7:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10910, + "name": "_point", + "nodeType": "VariableDeclaration", + "scope": 10936, + "src": "831:14:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10909, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "831:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "808:38:39" + }, + "payable": false, + "returnParameters": { + "id": 10912, + "nodeType": "ParameterList", + "parameters": [], + "src": "854:0:39" + }, + "scope": 11124, + "src": "794:239:39", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11000, + "nodeType": "Block", + "src": "1125:311:39", + "statements": [ + { + "assignments": [ + 10948 + ], + "declarations": [ + { + "constant": false, + "id": 10948, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 11001, + "src": "1135:10:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10947, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1135:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10951, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10949, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10939, + "src": "1148:13:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 10950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1148:20:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1135:33:39" + }, + { + "body": { + "id": 10998, + "nodeType": "Block", + "src": "1211:219:39", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10962, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "1225:12:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10964, + "indexExpression": { + "argumentTypes": null, + "id": 10963, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10944, + "src": "1238:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1225:18:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10965, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "1225:30:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10966, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "1258:12:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10968, + "indexExpression": { + "argumentTypes": null, + "id": 10967, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10944, + "src": "1271:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1258:18:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10969, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "1258:30:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10970, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "1291:12:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10972, + "indexExpression": { + "argumentTypes": null, + "id": 10971, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10944, + "src": "1304:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1291:18:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10973, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "1291:26:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 10977, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10974, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10939, + "src": "1318:13:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 10976, + "indexExpression": { + "argumentTypes": null, + "id": 10975, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10953, + "src": "1332:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1318:16:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1291:44:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1258:77:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10979, + "name": "_points", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10942, + "src": "1338:7:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 10981, + "indexExpression": { + "argumentTypes": null, + "id": 10980, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10953, + "src": "1346:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1338:10:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1258:90:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1225:123:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10984, + "nodeType": "ExpressionStatement", + "src": "1225:123:39" + }, + { + "expression": { + "argumentTypes": null, + "id": 10996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10985, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "1362:12:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10987, + "indexExpression": { + "argumentTypes": null, + "id": 10986, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10944, + "src": "1375:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1362:18:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10988, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "1362:26:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 10992, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10989, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10939, + "src": "1389:13:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 10991, + "indexExpression": { + "argumentTypes": null, + "id": 10990, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10953, + "src": "1403:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1389:16:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1362:44:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10993, + "name": "_points", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10942, + "src": "1409:7:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 10995, + "indexExpression": { + "argumentTypes": null, + "id": 10994, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10953, + "src": "1417:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1409:10:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1362:57:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10997, + "nodeType": "ExpressionStatement", + "src": "1362:57:39" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10956, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10953, + "src": "1198:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 10957, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10948, + "src": "1202:2:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1198:6:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10999, + "initializationExpression": { + "assignments": [ + 10953 + ], + "declarations": [ + { + "constant": false, + "id": 10953, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 11001, + "src": "1183:9:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10952, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1183:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10955, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 10954, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1195:1:39", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1183:13:39" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 10960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1206:3:39", + "subExpression": { + "argumentTypes": null, + "id": 10959, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10953, + "src": "1206:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10961, + "nodeType": "ExpressionStatement", + "src": "1206:3:39" + }, + "nodeType": "ForStatement", + "src": "1178:252:39" + } + ] + }, + "documentation": null, + "id": 11001, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_qp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10945, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10939, + "name": "_participants", + "nodeType": "VariableDeclaration", + "scope": 11001, + "src": "1060:23:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 10937, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1060:7:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10938, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1060:9:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10942, + "name": "_points", + "nodeType": "VariableDeclaration", + "scope": 11001, + "src": "1085:17:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 10940, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1085:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10941, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1085:9:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10944, + "name": "_qId", + "nodeType": "VariableDeclaration", + "scope": 11001, + "src": "1104:12:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10943, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1104:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1059:58:39" + }, + "payable": false, + "returnParameters": { + "id": 10946, + "nodeType": "ParameterList", + "parameters": [], + "src": "1125:0:39" + }, + "scope": 11124, + "src": "1039:397:39", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11065, + "nodeType": "Block", + "src": "1538:347:39", + "statements": [ + { + "assignments": [ + 11013 + ], + "declarations": [ + { + "constant": false, + "id": 11013, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 11066, + "src": "1548:10:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11012, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1548:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11016, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11014, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11004, + "src": "1561:13:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1561:20:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1548:33:39" + }, + { + "body": { + "id": 11063, + "nodeType": "Block", + "src": "1624:255:39", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11027, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "1638:21:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 11029, + "indexExpression": { + "argumentTypes": null, + "id": 11028, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11009, + "src": "1660:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1638:27:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 11030, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "1638:39:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11031, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "1680:21:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 11033, + "indexExpression": { + "argumentTypes": null, + "id": 11032, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11009, + "src": "1702:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1680:27:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 11034, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "1680:39:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11035, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "1722:21:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 11037, + "indexExpression": { + "argumentTypes": null, + "id": 11036, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11009, + "src": "1744:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1722:27:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 11038, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "1722:35:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11042, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11039, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11004, + "src": "1758:13:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11041, + "indexExpression": { + "argumentTypes": null, + "id": 11040, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11018, + "src": "1772:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1758:16:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1722:53:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1680:95:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11044, + "name": "_points", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11007, + "src": "1778:7:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11046, + "indexExpression": { + "argumentTypes": null, + "id": 11045, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11018, + "src": "1786:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1778:10:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1680:108:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1638:150:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11049, + "nodeType": "ExpressionStatement", + "src": "1638:150:39" + }, + { + "expression": { + "argumentTypes": null, + "id": 11061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11050, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "1802:21:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 11052, + "indexExpression": { + "argumentTypes": null, + "id": 11051, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11009, + "src": "1824:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1802:27:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 11053, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "1802:35:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11057, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11054, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11004, + "src": "1838:13:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11056, + "indexExpression": { + "argumentTypes": null, + "id": 11055, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11018, + "src": "1852:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1838:16:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1802:53:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11058, + "name": "_points", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11007, + "src": "1858:7:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11060, + "indexExpression": { + "argumentTypes": null, + "id": 11059, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11018, + "src": "1866:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1858:10:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1802:66:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11062, + "nodeType": "ExpressionStatement", + "src": "1802:66:39" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 11021, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11018, + "src": "1611:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 11022, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11013, + "src": "1615:2:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1611:6:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11064, + "initializationExpression": { + "assignments": [ + 11018 + ], + "declarations": [ + { + "constant": false, + "id": 11018, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 11066, + "src": "1596:9:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11017, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1596:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11020, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 11019, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1608:1:39", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1596:13:39" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 11025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1619:3:39", + "subExpression": { + "argumentTypes": null, + "id": 11024, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11018, + "src": "1619:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11026, + "nodeType": "ExpressionStatement", + "src": "1619:3:39" + }, + "nodeType": "ForStatement", + "src": "1591:288:39" + } + ] + }, + "documentation": null, + "id": 11066, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_moderator_qp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11010, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11004, + "name": "_participants", + "nodeType": "VariableDeclaration", + "scope": 11066, + "src": "1473:23:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 11002, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1473:7:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 11003, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1473:9:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11007, + "name": "_points", + "nodeType": "VariableDeclaration", + "scope": 11066, + "src": "1498:17:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 11005, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1498:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11006, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1498:9:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11009, + "name": "_qId", + "nodeType": "VariableDeclaration", + "scope": 11066, + "src": "1517:12:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11008, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1517:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1472:58:39" + }, + "payable": false, + "returnParameters": { + "id": 11011, + "nodeType": "ParameterList", + "parameters": [], + "src": "1538:0:39" + }, + "scope": 11124, + "src": "1442:443:39", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11122, + "nodeType": "Block", + "src": "1963:299:39", + "statements": [ + { + "assignments": [ + 11076 + ], + "declarations": [ + { + "constant": false, + "id": 11076, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 11123, + "src": "1973:10:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11075, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1973:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11079, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11077, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11069, + "src": "1986:13:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1986:20:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1973:33:39" + }, + { + "body": { + "id": 11120, + "nodeType": "Block", + "src": "2049:207:39", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11090, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "2063:15:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 11092, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "2063:27:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11093, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "2093:15:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 11094, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "2093:27:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11095, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "2123:15:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 11096, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "2123:23:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11100, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11097, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11069, + "src": "2147:13:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11099, + "indexExpression": { + "argumentTypes": null, + "id": 11098, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11081, + "src": "2161:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2147:16:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2123:41:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2093:71:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11102, + "name": "_points", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11072, + "src": "2167:7:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11104, + "indexExpression": { + "argumentTypes": null, + "id": 11103, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11081, + "src": "2175:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2167:10:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2093:84:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2063:114:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11107, + "nodeType": "ExpressionStatement", + "src": "2063:114:39" + }, + { + "expression": { + "argumentTypes": null, + "id": 11118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11108, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "2191:15:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 11113, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "2191:23:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11114, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11110, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11069, + "src": "2215:13:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11112, + "indexExpression": { + "argumentTypes": null, + "id": 11111, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11081, + "src": "2229:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2215:16:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2191:41:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11115, + "name": "_points", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11072, + "src": "2235:7:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11117, + "indexExpression": { + "argumentTypes": null, + "id": 11116, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11081, + "src": "2243:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2235:10:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2191:54:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11119, + "nodeType": "ExpressionStatement", + "src": "2191:54:39" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 11084, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11081, + "src": "2036:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 11085, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11076, + "src": "2040:2:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2036:6:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11121, + "initializationExpression": { + "assignments": [ + 11081 + ], + "declarations": [ + { + "constant": false, + "id": 11081, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 11123, + "src": "2021:9:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11080, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2021:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11083, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 11082, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2033:1:39", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2021:13:39" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 11088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2044:3:39", + "subExpression": { + "argumentTypes": null, + "id": 11087, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11081, + "src": "2044:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11089, + "nodeType": "ExpressionStatement", + "src": "2044:3:39" + }, + "nodeType": "ForStatement", + "src": "2016:240:39" + } + ] + }, + "documentation": null, + "id": 11123, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_rp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11073, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11069, + "name": "_participants", + "nodeType": "VariableDeclaration", + "scope": 11123, + "src": "1912:23:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 11067, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1912:7:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 11068, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1912:9:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11072, + "name": "_points", + "nodeType": "VariableDeclaration", + "scope": 11123, + "src": "1937:17:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 11070, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1937:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11071, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1937:9:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1911:44:39" + }, + "payable": false, + "returnParameters": { + "id": 11074, + "nodeType": "ParameterList", + "parameters": [], + "src": "1963:0:39" + }, + "scope": 11124, + "src": "1891:371:39", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 11125, + "src": "72:2192:39" + } + ], + "src": "0:2265:39" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/storage/MockDaoPointsStorage.sol", + "exportedSymbols": { + "MockDaoPointsStorage": [ + 11124 + ] + }, + "id": 11125, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 10818, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:39" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoPointsStorage.sol", + "file": "../../storage/DaoPointsStorage.sol", + "id": 10819, + "nodeType": "ImportDirective", + "scope": 11125, + "sourceUnit": 14927, + "src": "26:44:39", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 10820, + "name": "DaoPointsStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14926, + "src": "105:16:39", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoPointsStorage_$14926", + "typeString": "contract DaoPointsStorage" + } + }, + "id": 10821, + "nodeType": "InheritanceSpecifier", + "src": "105:16:39" + } + ], + "contractDependencies": [ + 1580, + 14926, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 11124, + "linearizedBaseContracts": [ + 11124, + 14926, + 1580, + 19058 + ], + "name": "MockDaoPointsStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 10829, + "nodeType": "Block", + "src": "194:7:39", + "statements": [] + }, + "documentation": null, + "id": 10830, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 10826, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10823, + "src": "183:9:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 10827, + "modifierName": { + "argumentTypes": null, + "id": 10825, + "name": "DaoPointsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14926, + "src": "166:16:39", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoPointsStorage_$14926_$", + "typeString": "type(contract DaoPointsStorage)" + } + }, + "nodeType": "ModifierInvocation", + "src": "166:27:39" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10824, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10823, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 10830, + "src": "140:17:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10822, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "140:7:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "139:19:39" + }, + "payable": false, + "returnParameters": { + "id": 10828, + "nodeType": "ParameterList", + "parameters": [], + "src": "194:0:39" + }, + "scope": 11124, + "src": "128:73:39", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10867, + "nodeType": "Block", + "src": "281:191:39", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10839, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "291:12:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10841, + "indexExpression": { + "argumentTypes": null, + "id": 10840, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10836, + "src": "304:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "291:18:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10842, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "291:30:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10843, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "324:12:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10845, + "indexExpression": { + "argumentTypes": null, + "id": 10844, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10836, + "src": "337:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "324:18:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10846, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "324:30:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10847, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "357:12:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10849, + "indexExpression": { + "argumentTypes": null, + "id": 10848, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10836, + "src": "370:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "357:18:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10850, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "357:26:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 10852, + "indexExpression": { + "argumentTypes": null, + "id": 10851, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10832, + "src": "384:12:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "357:40:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "324:73:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 10854, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10834, + "src": "400:6:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "324:82:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "291:115:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10857, + "nodeType": "ExpressionStatement", + "src": "291:115:39" + }, + { + "expression": { + "argumentTypes": null, + "id": 10865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10858, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "416:12:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10860, + "indexExpression": { + "argumentTypes": null, + "id": 10859, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10836, + "src": "429:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "416:18:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10861, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "416:26:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 10863, + "indexExpression": { + "argumentTypes": null, + "id": 10862, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10832, + "src": "443:12:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "416:40:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 10864, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10834, + "src": "459:6:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "416:49:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10866, + "nodeType": "ExpressionStatement", + "src": "416:49:39" + } + ] + }, + "documentation": null, + "id": 10868, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setQP", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10837, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10832, + "name": "_participant", + "nodeType": "VariableDeclaration", + "scope": 10868, + "src": "222:20:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10831, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "222:7:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10834, + "name": "_point", + "nodeType": "VariableDeclaration", + "scope": 10868, + "src": "244:14:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10833, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "244:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10836, + "name": "_qId", + "nodeType": "VariableDeclaration", + "scope": 10868, + "src": "260:12:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10835, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "260:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "221:52:39" + }, + "payable": false, + "returnParameters": { + "id": 10838, + "nodeType": "ParameterList", + "parameters": [], + "src": "281:0:39" + }, + "scope": 11124, + "src": "207:265:39", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10905, + "nodeType": "Block", + "src": "561:227:39", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10877, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "571:21:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10879, + "indexExpression": { + "argumentTypes": null, + "id": 10878, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10874, + "src": "593:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "571:27:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10880, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "571:39:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10881, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "613:21:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10883, + "indexExpression": { + "argumentTypes": null, + "id": 10882, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10874, + "src": "635:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "613:27:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10884, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "613:39:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10885, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "655:21:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10887, + "indexExpression": { + "argumentTypes": null, + "id": 10886, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10874, + "src": "677:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "655:27:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10888, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "655:35:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 10890, + "indexExpression": { + "argumentTypes": null, + "id": 10889, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10870, + "src": "691:12:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "655:49:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "613:91:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 10892, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10872, + "src": "707:6:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "613:100:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "571:142:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10895, + "nodeType": "ExpressionStatement", + "src": "571:142:39" + }, + { + "expression": { + "argumentTypes": null, + "id": 10903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10896, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "723:21:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10898, + "indexExpression": { + "argumentTypes": null, + "id": 10897, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10874, + "src": "745:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "723:27:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10899, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "723:35:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 10901, + "indexExpression": { + "argumentTypes": null, + "id": 10900, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10870, + "src": "759:12:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "723:49:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 10902, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10872, + "src": "775:6:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "723:58:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10904, + "nodeType": "ExpressionStatement", + "src": "723:58:39" + } + ] + }, + "documentation": null, + "id": 10906, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setModeratorQP", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10875, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10870, + "name": "_participant", + "nodeType": "VariableDeclaration", + "scope": 10906, + "src": "502:20:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10869, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "502:7:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10872, + "name": "_point", + "nodeType": "VariableDeclaration", + "scope": 10906, + "src": "524:14:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10871, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "524:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10874, + "name": "_qId", + "nodeType": "VariableDeclaration", + "scope": 10906, + "src": "540:12:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10873, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "540:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "501:52:39" + }, + "payable": false, + "returnParameters": { + "id": 10876, + "nodeType": "ParameterList", + "parameters": [], + "src": "561:0:39" + }, + "scope": 11124, + "src": "478:310:39", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10935, + "nodeType": "Block", + "src": "854:179:39", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10913, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "864:15:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10915, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "864:27:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10916, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "894:15:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10917, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "894:27:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10918, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "924:15:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10919, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "924:23:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 10921, + "indexExpression": { + "argumentTypes": null, + "id": 10920, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10908, + "src": "948:12:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "924:37:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "894:67:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 10923, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10910, + "src": "964:6:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "894:76:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "864:106:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10926, + "nodeType": "ExpressionStatement", + "src": "864:106:39" + }, + { + "expression": { + "argumentTypes": null, + "id": 10933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10927, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "980:15:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10930, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "980:23:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 10931, + "indexExpression": { + "argumentTypes": null, + "id": 10929, + "name": "_participant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10908, + "src": "1004:12:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "980:37:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 10932, + "name": "_point", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10910, + "src": "1020:6:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "980:46:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10934, + "nodeType": "ExpressionStatement", + "src": "980:46:39" + } + ] + }, + "documentation": null, + "id": 10936, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "setRP", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10911, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10908, + "name": "_participant", + "nodeType": "VariableDeclaration", + "scope": 10936, + "src": "809:20:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10907, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "809:7:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10910, + "name": "_point", + "nodeType": "VariableDeclaration", + "scope": 10936, + "src": "831:14:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10909, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "831:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "808:38:39" + }, + "payable": false, + "returnParameters": { + "id": 10912, + "nodeType": "ParameterList", + "parameters": [], + "src": "854:0:39" + }, + "scope": 11124, + "src": "794:239:39", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11000, + "nodeType": "Block", + "src": "1125:311:39", + "statements": [ + { + "assignments": [ + 10948 + ], + "declarations": [ + { + "constant": false, + "id": 10948, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 11001, + "src": "1135:10:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10947, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1135:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10951, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10949, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10939, + "src": "1148:13:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 10950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1148:20:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1135:33:39" + }, + { + "body": { + "id": 10998, + "nodeType": "Block", + "src": "1211:219:39", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10962, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "1225:12:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10964, + "indexExpression": { + "argumentTypes": null, + "id": 10963, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10944, + "src": "1238:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1225:18:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10965, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "1225:30:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10966, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "1258:12:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10968, + "indexExpression": { + "argumentTypes": null, + "id": 10967, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10944, + "src": "1271:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1258:18:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10969, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "1258:30:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10970, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "1291:12:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10972, + "indexExpression": { + "argumentTypes": null, + "id": 10971, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10944, + "src": "1304:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1291:18:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10973, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "1291:26:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 10977, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10974, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10939, + "src": "1318:13:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 10976, + "indexExpression": { + "argumentTypes": null, + "id": 10975, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10953, + "src": "1332:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1318:16:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1291:44:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1258:77:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10979, + "name": "_points", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10942, + "src": "1338:7:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 10981, + "indexExpression": { + "argumentTypes": null, + "id": 10980, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10953, + "src": "1346:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1338:10:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1258:90:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1225:123:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10984, + "nodeType": "ExpressionStatement", + "src": "1225:123:39" + }, + { + "expression": { + "argumentTypes": null, + "id": 10996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10985, + "name": "quarterPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14534, + "src": "1362:12:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 10987, + "indexExpression": { + "argumentTypes": null, + "id": 10986, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10944, + "src": "1375:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1362:18:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 10988, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "1362:26:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 10992, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10989, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10939, + "src": "1389:13:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 10991, + "indexExpression": { + "argumentTypes": null, + "id": 10990, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10953, + "src": "1403:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1389:16:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1362:44:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10993, + "name": "_points", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10942, + "src": "1409:7:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 10995, + "indexExpression": { + "argumentTypes": null, + "id": 10994, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10953, + "src": "1417:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1409:10:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1362:57:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10997, + "nodeType": "ExpressionStatement", + "src": "1362:57:39" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10956, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10953, + "src": "1198:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 10957, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10948, + "src": "1202:2:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1198:6:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10999, + "initializationExpression": { + "assignments": [ + 10953 + ], + "declarations": [ + { + "constant": false, + "id": 10953, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 11001, + "src": "1183:9:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10952, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1183:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10955, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 10954, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1195:1:39", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1183:13:39" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 10960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1206:3:39", + "subExpression": { + "argumentTypes": null, + "id": 10959, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10953, + "src": "1206:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10961, + "nodeType": "ExpressionStatement", + "src": "1206:3:39" + }, + "nodeType": "ForStatement", + "src": "1178:252:39" + } + ] + }, + "documentation": null, + "id": 11001, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_qp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10945, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10939, + "name": "_participants", + "nodeType": "VariableDeclaration", + "scope": 11001, + "src": "1060:23:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 10937, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1060:7:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10938, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1060:9:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10942, + "name": "_points", + "nodeType": "VariableDeclaration", + "scope": 11001, + "src": "1085:17:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 10940, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1085:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10941, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1085:9:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10944, + "name": "_qId", + "nodeType": "VariableDeclaration", + "scope": 11001, + "src": "1104:12:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10943, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1104:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1059:58:39" + }, + "payable": false, + "returnParameters": { + "id": 10946, + "nodeType": "ParameterList", + "parameters": [], + "src": "1125:0:39" + }, + "scope": 11124, + "src": "1039:397:39", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11065, + "nodeType": "Block", + "src": "1538:347:39", + "statements": [ + { + "assignments": [ + 11013 + ], + "declarations": [ + { + "constant": false, + "id": 11013, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 11066, + "src": "1548:10:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11012, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1548:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11016, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11014, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11004, + "src": "1561:13:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1561:20:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1548:33:39" + }, + { + "body": { + "id": 11063, + "nodeType": "Block", + "src": "1624:255:39", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11027, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "1638:21:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 11029, + "indexExpression": { + "argumentTypes": null, + "id": 11028, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11009, + "src": "1660:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1638:27:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 11030, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "1638:39:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11031, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "1680:21:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 11033, + "indexExpression": { + "argumentTypes": null, + "id": 11032, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11009, + "src": "1702:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1680:27:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 11034, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "1680:39:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11035, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "1722:21:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 11037, + "indexExpression": { + "argumentTypes": null, + "id": 11036, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11009, + "src": "1744:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1722:27:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 11038, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "1722:35:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11042, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11039, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11004, + "src": "1758:13:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11041, + "indexExpression": { + "argumentTypes": null, + "id": 11040, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11018, + "src": "1772:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1758:16:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1722:53:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1680:95:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11044, + "name": "_points", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11007, + "src": "1778:7:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11046, + "indexExpression": { + "argumentTypes": null, + "id": 11045, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11018, + "src": "1786:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1778:10:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1680:108:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1638:150:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11049, + "nodeType": "ExpressionStatement", + "src": "1638:150:39" + }, + { + "expression": { + "argumentTypes": null, + "id": 11061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11050, + "name": "quarterModeratorPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14538, + "src": "1802:21:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Token_$14528_storage_$", + "typeString": "mapping(uint256 => struct DaoPointsStorage.Token storage ref)" + } + }, + "id": 11052, + "indexExpression": { + "argumentTypes": null, + "id": 11051, + "name": "_qId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11009, + "src": "1824:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1802:27:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 11053, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "1802:35:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11057, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11054, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11004, + "src": "1838:13:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11056, + "indexExpression": { + "argumentTypes": null, + "id": 11055, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11018, + "src": "1852:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1838:16:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1802:53:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11058, + "name": "_points", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11007, + "src": "1858:7:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11060, + "indexExpression": { + "argumentTypes": null, + "id": 11059, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11018, + "src": "1866:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1858:10:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1802:66:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11062, + "nodeType": "ExpressionStatement", + "src": "1802:66:39" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 11021, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11018, + "src": "1611:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 11022, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11013, + "src": "1615:2:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1611:6:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11064, + "initializationExpression": { + "assignments": [ + 11018 + ], + "declarations": [ + { + "constant": false, + "id": 11018, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 11066, + "src": "1596:9:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11017, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1596:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11020, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 11019, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1608:1:39", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1596:13:39" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 11025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1619:3:39", + "subExpression": { + "argumentTypes": null, + "id": 11024, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11018, + "src": "1619:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11026, + "nodeType": "ExpressionStatement", + "src": "1619:3:39" + }, + "nodeType": "ForStatement", + "src": "1591:288:39" + } + ] + }, + "documentation": null, + "id": 11066, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_moderator_qp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11010, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11004, + "name": "_participants", + "nodeType": "VariableDeclaration", + "scope": 11066, + "src": "1473:23:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 11002, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1473:7:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 11003, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1473:9:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11007, + "name": "_points", + "nodeType": "VariableDeclaration", + "scope": 11066, + "src": "1498:17:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 11005, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1498:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11006, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1498:9:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11009, + "name": "_qId", + "nodeType": "VariableDeclaration", + "scope": 11066, + "src": "1517:12:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11008, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1517:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1472:58:39" + }, + "payable": false, + "returnParameters": { + "id": 11011, + "nodeType": "ParameterList", + "parameters": [], + "src": "1538:0:39" + }, + "scope": 11124, + "src": "1442:443:39", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11122, + "nodeType": "Block", + "src": "1963:299:39", + "statements": [ + { + "assignments": [ + 11076 + ], + "declarations": [ + { + "constant": false, + "id": 11076, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 11123, + "src": "1973:10:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11075, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1973:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11079, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11077, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11069, + "src": "1986:13:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1986:20:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1973:33:39" + }, + { + "body": { + "id": 11120, + "nodeType": "Block", + "src": "2049:207:39", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11090, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "2063:15:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 11092, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "2063:27:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11093, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "2093:15:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 11094, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "totalSupply", + "nodeType": "MemberAccess", + "referencedDeclaration": 14523, + "src": "2093:27:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11095, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "2123:15:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 11096, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "2123:23:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11100, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11097, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11069, + "src": "2147:13:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11099, + "indexExpression": { + "argumentTypes": null, + "id": 11098, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11081, + "src": "2161:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2147:16:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2123:41:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2093:71:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11102, + "name": "_points", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11072, + "src": "2167:7:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11104, + "indexExpression": { + "argumentTypes": null, + "id": 11103, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11081, + "src": "2175:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2167:10:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2093:84:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2063:114:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11107, + "nodeType": "ExpressionStatement", + "src": "2063:114:39" + }, + { + "expression": { + "argumentTypes": null, + "id": 11118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11108, + "name": "reputationPoint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14530, + "src": "2191:15:39", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Token_$14528_storage", + "typeString": "struct DaoPointsStorage.Token storage ref" + } + }, + "id": 11113, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 14527, + "src": "2191:23:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11114, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11110, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11069, + "src": "2215:13:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11112, + "indexExpression": { + "argumentTypes": null, + "id": 11111, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11081, + "src": "2229:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2215:16:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2191:41:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11115, + "name": "_points", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11072, + "src": "2235:7:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11117, + "indexExpression": { + "argumentTypes": null, + "id": 11116, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11081, + "src": "2243:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2235:10:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2191:54:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11119, + "nodeType": "ExpressionStatement", + "src": "2191:54:39" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 11084, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11081, + "src": "2036:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 11085, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11076, + "src": "2040:2:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2036:6:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11121, + "initializationExpression": { + "assignments": [ + 11081 + ], + "declarations": [ + { + "constant": false, + "id": 11081, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 11123, + "src": "2021:9:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11080, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2021:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11083, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 11082, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2033:1:39", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2021:13:39" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 11088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2044:3:39", + "subExpression": { + "argumentTypes": null, + "id": 11087, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11081, + "src": "2044:1:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11089, + "nodeType": "ExpressionStatement", + "src": "2044:3:39" + }, + "nodeType": "ForStatement", + "src": "2016:240:39" + } + ] + }, + "documentation": null, + "id": 11123, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_rp", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11073, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11069, + "name": "_participants", + "nodeType": "VariableDeclaration", + "scope": 11123, + "src": "1912:23:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 11067, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1912:7:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 11068, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1912:9:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11072, + "name": "_points", + "nodeType": "VariableDeclaration", + "scope": 11123, + "src": "1937:17:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 11070, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1937:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11071, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1937:9:39", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1911:44:39" + }, + "payable": false, + "returnParameters": { + "id": 11074, + "nodeType": "ParameterList", + "parameters": [], + "src": "1963:0:39" + }, + "scope": 11124, + "src": "1891:371:39", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 11125, + "src": "72:2192:39" + } + ], + "src": "0:2265:39" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.872Z" +} \ No newline at end of file diff --git a/build/contracts/MockDaoProposalCounterStorage.json b/build/contracts/MockDaoProposalCounterStorage.json new file mode 100644 index 0000000..419efe3 --- /dev/null +++ b/build/contracts/MockDaoProposalCounterStorage.json @@ -0,0 +1,809 @@ +{ + "contractName": "MockDaoProposalCounterStorage", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "proposalCountByQuarter", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "addNonDigixProposalCountInQuarter", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + }, + { + "name": "_count", + "type": "uint256" + } + ], + "name": "mock_set_proposal_count", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f9060001916905534801561113357600080fd5b506040516020806119a4833981018060405281019080805190602001909291905050508061117260265482611184640100000000026401000000009004565b151561117d57600080fd5b505061140c565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156111eb57600080fd5b505af11580156111ff573d6000803e3d6000fd5b505050506040513d602081101561121557600080fd5b810190808051906020019092919050505090506000151581151514156114005730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156113b157600080fd5b505af11580156113c5573d6000803e3d6000fd5b505050506040513d60208110156113db57600080fd5b810190808051906020019092919050505015156113f757600080fd5b60019150611405565b600091505b5092915050565b6105898061141b6000396000f300608060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec14610088578063198c6e24146100df57806320091787146101205780633943380c146101575780633f83acff1461018a5780635552f200146101fb578063db4ecbc114610228575b600080fd5b34801561009457600080fd5b5061009d61027f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100eb57600080fd5b5061010a600480360381019080803590602001909291905050506102a4565b6040518082815260200191505060405180910390f35b34801561012c57600080fd5b5061015560048036038101908080359060200190929190803590602001909291905050506102bc565b005b34801561016357600080fd5b5061016c6102d8565b60405180826000191660001916815260200191505060405180910390f35b34801561019657600080fd5b506101b960048036038101908080356000191690602001909291905050506102de565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020757600080fd5b50610226600480360381019080803590602001909291905050506103ba565b005b34801561023457600080fd5b5061023d610411565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60706020528060005260406000206000915090505481565b8060706000848152602001908152602001600020819055505050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561037857600080fd5b505af115801561038c573d6000803e3d6000fd5b505050506040513d60208110156103a257600080fd5b81019080805190602001909291905050509050919050565b6103c5601854610437565b15156103d057600080fd5b6103f76001607060008481526020019081526020016000205461054190919063ffffffff16565b607060008381526020019081526020016000208190555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156104d157600080fd5b505af11580156104e5573d6000803e3d6000fd5b505050506040513d60208110156104fb57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b6000818301905082811015151561055457fe5b809050929150505600a165627a7a7230582090cb27ad77cbd0cdabc73130742a7220ec18e7b2cd67f02db6faa87bc66eb2c30029", + "deployedBytecode": "0x608060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec14610088578063198c6e24146100df57806320091787146101205780633943380c146101575780633f83acff1461018a5780635552f200146101fb578063db4ecbc114610228575b600080fd5b34801561009457600080fd5b5061009d61027f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100eb57600080fd5b5061010a600480360381019080803590602001909291905050506102a4565b6040518082815260200191505060405180910390f35b34801561012c57600080fd5b5061015560048036038101908080359060200190929190803590602001909291905050506102bc565b005b34801561016357600080fd5b5061016c6102d8565b60405180826000191660001916815260200191505060405180910390f35b34801561019657600080fd5b506101b960048036038101908080356000191690602001909291905050506102de565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020757600080fd5b50610226600480360381019080803590602001909291905050506103ba565b005b34801561023457600080fd5b5061023d610411565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60706020528060005260406000206000915090505481565b8060706000848152602001908152602001600020819055505050565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561037857600080fd5b505af115801561038c573d6000803e3d6000fd5b505050506040513d60208110156103a257600080fd5b81019080805190602001909291905050509050919050565b6103c5601854610437565b15156103d057600080fd5b6103f76001607060008481526020019081526020016000205461054190919063ffffffff16565b607060008381526020019081526020016000208190555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156104d157600080fd5b505af11580156104e5573d6000803e3d6000fd5b505050506040513d60208110156104fb57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b6000818301905082811015151561055457fe5b809050929150505600a165627a7a7230582090cb27ad77cbd0cdabc73130742a7220ec18e7b2cd67f02db6faa87bc66eb2c30029", + "sourceMap": "81:321:40:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;156:82:40;8:9:-1;5:2;;;30:1;27;20:12;5:2;156:82:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;220:9;259:45:56;264:28;;294:9;259:4;;;:45;;;:::i;:::-;251:54;;;;;;;;203:109;156:82:40;81:321;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;81:321:40:-;;;;;;;", + "deployedSourceMap": "81:321:40:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;495:58:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;495:58:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;244:156:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;244:156:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;560:245:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;560:245:56;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23;;;;;;;;;;;;;:::o;495:58:56:-;;;;;;;;;;;;;;;;;:::o;244:156:40:-;387:6;346:22;:38;369:14;346:38;;;;;;;;;;;:47;;;;244:156;;:::o;264:18:67:-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;560:245:56:-;664:37;674:26;;664:9;:37::i;:::-;656:46;;;;;;;;753:45;796:1;753:22;:38;776:14;753:38;;;;;;;;;;;;:42;;:45;;;;:::i;:::-;712:22;:38;735:14;712:38;;;;;;;;;;;:86;;;;560:245;:::o;344:31:67:-;;;;;;;;;;;;;:::o;610:160::-;671:12;732:8;;;;;;;;;;;715:39;;;755:9;715:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;715:50:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;715:50:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;715:50:67;;;;;;;;;;;;;;;;701:64;;:10;:64;;;691:74;;610:160;;;:::o;1238:128:84:-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"../../storage/DaoProposalCounterStorage.sol\";\n\ncontract MockDaoProposalCounterStorage is DaoProposalCounterStorage {\n\n constructor(address _resolver) public DaoProposalCounterStorage(_resolver) {\n }\n\n function mock_set_proposal_count(uint256 _quarterNumber, uint256 _count)\n public\n {\n proposalCountByQuarter[_quarterNumber] = _count;\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/mock/storage/MockDaoProposalCounterStorage.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/storage/MockDaoProposalCounterStorage.sol", + "exportedSymbols": { + "MockDaoProposalCounterStorage": [ + 11153 + ] + }, + "id": 11154, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 11126, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:40" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoProposalCounterStorage.sol", + "file": "../../storage/DaoProposalCounterStorage.sol", + "id": 11127, + "nodeType": "ImportDirective", + "scope": 11154, + "sourceUnit": 14976, + "src": "26:53:40", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 11128, + "name": "DaoProposalCounterStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14975, + "src": "123:25:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoProposalCounterStorage_$14975", + "typeString": "contract DaoProposalCounterStorage" + } + }, + "id": 11129, + "nodeType": "InheritanceSpecifier", + "src": "123:25:40" + } + ], + "contractDependencies": [ + 1580, + 14975, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 11153, + "linearizedBaseContracts": [ + 11153, + 14975, + 1580, + 19058 + ], + "name": "MockDaoProposalCounterStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 11137, + "nodeType": "Block", + "src": "231:7:40", + "statements": [] + }, + "documentation": null, + "id": 11138, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 11134, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11131, + "src": "220:9:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 11135, + "modifierName": { + "argumentTypes": null, + "id": 11133, + "name": "DaoProposalCounterStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14975, + "src": "194:25:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoProposalCounterStorage_$14975_$", + "typeString": "type(contract DaoProposalCounterStorage)" + } + }, + "nodeType": "ModifierInvocation", + "src": "194:36:40" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11132, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11131, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 11138, + "src": "168:17:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11130, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "168:7:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "167:19:40" + }, + "payable": false, + "returnParameters": { + "id": 11136, + "nodeType": "ParameterList", + "parameters": [], + "src": "231:0:40" + }, + "scope": 11153, + "src": "156:82:40", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11151, + "nodeType": "Block", + "src": "336:64:40", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11145, + "name": "proposalCountByQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14951, + "src": "346:22:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 11147, + "indexExpression": { + "argumentTypes": null, + "id": 11146, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11140, + "src": "369:14:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "346:38:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11148, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11142, + "src": "387:6:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "346:47:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11150, + "nodeType": "ExpressionStatement", + "src": "346:47:40" + } + ] + }, + "documentation": null, + "id": 11152, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_proposal_count", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11143, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11140, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 11152, + "src": "277:22:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11139, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "277:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11142, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 11152, + "src": "301:14:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11141, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "301:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "276:40:40" + }, + "payable": false, + "returnParameters": { + "id": 11144, + "nodeType": "ParameterList", + "parameters": [], + "src": "336:0:40" + }, + "scope": 11153, + "src": "244:156:40", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 11154, + "src": "81:321:40" + } + ], + "src": "0:403:40" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/storage/MockDaoProposalCounterStorage.sol", + "exportedSymbols": { + "MockDaoProposalCounterStorage": [ + 11153 + ] + }, + "id": 11154, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 11126, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:40" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoProposalCounterStorage.sol", + "file": "../../storage/DaoProposalCounterStorage.sol", + "id": 11127, + "nodeType": "ImportDirective", + "scope": 11154, + "sourceUnit": 14976, + "src": "26:53:40", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 11128, + "name": "DaoProposalCounterStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 14975, + "src": "123:25:40", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoProposalCounterStorage_$14975", + "typeString": "contract DaoProposalCounterStorage" + } + }, + "id": 11129, + "nodeType": "InheritanceSpecifier", + "src": "123:25:40" + } + ], + "contractDependencies": [ + 1580, + 14975, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 11153, + "linearizedBaseContracts": [ + 11153, + 14975, + 1580, + 19058 + ], + "name": "MockDaoProposalCounterStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 11137, + "nodeType": "Block", + "src": "231:7:40", + "statements": [] + }, + "documentation": null, + "id": 11138, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 11134, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11131, + "src": "220:9:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 11135, + "modifierName": { + "argumentTypes": null, + "id": 11133, + "name": "DaoProposalCounterStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14975, + "src": "194:25:40", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoProposalCounterStorage_$14975_$", + "typeString": "type(contract DaoProposalCounterStorage)" + } + }, + "nodeType": "ModifierInvocation", + "src": "194:36:40" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11132, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11131, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 11138, + "src": "168:17:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11130, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "168:7:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "167:19:40" + }, + "payable": false, + "returnParameters": { + "id": 11136, + "nodeType": "ParameterList", + "parameters": [], + "src": "231:0:40" + }, + "scope": 11153, + "src": "156:82:40", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11151, + "nodeType": "Block", + "src": "336:64:40", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11145, + "name": "proposalCountByQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14951, + "src": "346:22:40", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 11147, + "indexExpression": { + "argumentTypes": null, + "id": 11146, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11140, + "src": "369:14:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "346:38:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11148, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11142, + "src": "387:6:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "346:47:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11150, + "nodeType": "ExpressionStatement", + "src": "346:47:40" + } + ] + }, + "documentation": null, + "id": 11152, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_proposal_count", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11143, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11140, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 11152, + "src": "277:22:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11139, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "277:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11142, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 11152, + "src": "301:14:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11141, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "301:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "276:40:40" + }, + "payable": false, + "returnParameters": { + "id": 11144, + "nodeType": "ParameterList", + "parameters": [], + "src": "336:0:40" + }, + "scope": 11153, + "src": "244:156:40", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 11154, + "src": "81:321:40" + } + ], + "src": "0:403:40" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.883Z" +} \ No newline at end of file diff --git a/build/contracts/MockDaoRewardsStorage.json b/build/contracts/MockDaoRewardsStorage.json new file mode 100644 index 0000000..07e1c42 --- /dev/null +++ b/build/contracts/MockDaoRewardsStorage.json @@ -0,0 +1,2876 @@ +{ + "contractName": "MockDaoRewardsStorage", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "readTotalEffectiveModeratorDGDLastQuarter", + "outputs": [ + { + "name": "_totalEffectiveModeratorDGDLastQuarter", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_lastQuarter", + "type": "uint256" + } + ], + "name": "updateLastQuarterThatReputationWasUpdated", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "lastQuarterThatRewardsWasUpdated", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + }, + { + "name": "_minimalParticipationPoint", + "type": "uint256" + }, + { + "name": "_quarterPointScalingFactor", + "type": "uint256" + }, + { + "name": "_reputationPointScalingFactor", + "type": "uint256" + }, + { + "name": "_totalEffectiveDGDPreviousQuarter", + "type": "uint256" + }, + { + "name": "_moderatorMinimalQuarterPoint", + "type": "uint256" + }, + { + "name": "_moderatorQuarterPointScalingFactor", + "type": "uint256" + }, + { + "name": "_moderatorReputationPointScalingFactor", + "type": "uint256" + }, + { + "name": "_totalEffectiveModeratorDGDLastQuarter", + "type": "uint256" + }, + { + "name": "_dgxDistributionDay", + "type": "uint256" + }, + { + "name": "_dgxRewardsPoolLastQuarter", + "type": "uint256" + }, + { + "name": "_sumRewardsFromBeginning", + "type": "uint256" + } + ], + "name": "updateQuarterInfo", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "readQuarterInfo", + "outputs": [ + { + "name": "_minimalParticipationPoint", + "type": "uint256" + }, + { + "name": "_quarterPointScalingFactor", + "type": "uint256" + }, + { + "name": "_reputationPointScalingFactor", + "type": "uint256" + }, + { + "name": "_totalEffectiveDGDPreviousQuarter", + "type": "uint256" + }, + { + "name": "_moderatorMinimalQuarterPoint", + "type": "uint256" + }, + { + "name": "_moderatorQuarterPointScalingFactor", + "type": "uint256" + }, + { + "name": "_moderatorReputationPointScalingFactor", + "type": "uint256" + }, + { + "name": "_totalEffectiveModeratorDGDLastQuarter", + "type": "uint256" + }, + { + "name": "_dgxDistributionDay", + "type": "uint256" + }, + { + "name": "_dgxRewardsPoolLastQuarter", + "type": "uint256" + }, + { + "name": "_sumRewardsFromBeginning", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "readQuarterParticipantInfo", + "outputs": [ + { + "name": "_minimalParticipationPoint", + "type": "uint256" + }, + { + "name": "_quarterPointScalingFactor", + "type": "uint256" + }, + { + "name": "_reputationPointScalingFactor", + "type": "uint256" + }, + { + "name": "_totalEffectiveDGDPreviousQuarter", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_newClaimableDGX", + "type": "uint256" + } + ], + "name": "updateClaimableDGX", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "claimableDGXs", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_lastQuarter", + "type": "uint256" + } + ], + "name": "updatePreviousLastParticipatedQuarter", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_lastQuarter", + "type": "uint256" + } + ], + "name": "updateLastParticipatedQuarter", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "readQuarterModeratorInfo", + "outputs": [ + { + "name": "_moderatorMinimalQuarterPoint", + "type": "uint256" + }, + { + "name": "_moderatorQuarterPointScalingFactor", + "type": "uint256" + }, + { + "name": "_moderatorReputationPointScalingFactor", + "type": "uint256" + }, + { + "name": "_totalEffectiveModeratorDGDLastQuarter", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "readDgxDistributionDay", + "outputs": [ + { + "name": "_distributionDay", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "readRewardsPoolOfLastQuarter", + "outputs": [ + { + "name": "_rewardsPool", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "previousLastParticipatedQuarter", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "lastQuarterThatReputationWasUpdated", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "lastParticipatedQuarter", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "readQuarterGeneralInfo", + "outputs": [ + { + "name": "_dgxDistributionDay", + "type": "uint256" + }, + { + "name": "_dgxRewardsPoolLastQuarter", + "type": "uint256" + }, + { + "name": "_sumRewardsFromBeginning", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_dgxClaimed", + "type": "uint256" + } + ], + "name": "addToTotalDgxClaimed", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_lastQuarter", + "type": "uint256" + } + ], + "name": "updateLastQuarterThatRewardsWasUpdated", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalDGXsClaimed", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "allQuartersInfo", + "outputs": [ + { + "name": "minimalParticipationPoint", + "type": "uint256" + }, + { + "name": "quarterPointScalingFactor", + "type": "uint256" + }, + { + "name": "reputationPointScalingFactor", + "type": "uint256" + }, + { + "name": "totalEffectiveDGDPreviousQuarter", + "type": "uint256" + }, + { + "name": "moderatorMinimalParticipationPoint", + "type": "uint256" + }, + { + "name": "moderatorQuarterPointScalingFactor", + "type": "uint256" + }, + { + "name": "moderatorReputationPointScalingFactor", + "type": "uint256" + }, + { + "name": "totalEffectiveModeratorDGDLastQuarter", + "type": "uint256" + }, + { + "name": "dgxDistributionDay", + "type": "uint256" + }, + { + "name": "dgxRewardsPoolLastQuarter", + "type": "uint256" + }, + { + "name": "sumRewardsFromBeginning", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "readTotalEffectiveDGDLastQuarter", + "outputs": [ + { + "name": "_totalEffectiveDGDPreviousQuarter", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "mock_set_last_participated_quarter", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_users", + "type": "address[]" + }, + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "mock_bulk_set_last_participated_quarter", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "name": "mock_set_last_quarter_that_rewards_was_updated", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + }, + { + "name": "_dgxDistributionDay", + "type": "uint256" + } + ], + "name": "mock_set_dgx_distribution_day", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b5060405160208062002c27833981018060405281019080805190602001909291905050508062001176602d54826200118a640100000000026401000000009004565b15156200118257600080fd5b50506200141b565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f257600080fd5b505af115801562001207573d6000803e3d6000fd5b505050506040513d60208110156200121e57600080fd5b810190808051906020019092919050505090506000151581151514156200140f5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013bc57600080fd5b505af1158015620013d1573d6000803e3d6000fd5b505050506040513d6020811015620013e857600080fd5b810190808051906020019092919050505015156200140557600080fd5b6001915062001414565b600091505b5092915050565b6117fc806200142b6000396000f300608060405260043610610180576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146101855780630a76be54146101dc5780630f491b11146102295780630f596e2d1461026a57806312d9b939146102da57806327ddd3ae146103275780633943380c1461037e5780633f83acff146103b1578063521fcb661461042257806356dfd2b7146104bd57806362961de9146105445780636a8cfd091461059a57806378af89ac146105e757806384dbe99e1461063e578063863eb74a14610675578063927bb668146106c2578063a301c0d21461070f578063a4eeadee14610765578063a78e00d6146107b2578063bb80203e146107f3578063bcda642414610834578063bd695d211461088b578063cefc2bff146108e2578063cf542aa914610939578063d715d6f514610988578063d8048c9d146109b5578063db4ecbc114610a02578063f03222f014610a59578063f1dfda7814610a84578063fedf945314610b0b575b600080fd5b34801561019157600080fd5b5061019a610b4c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101e857600080fd5b50610227600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b71565b005b34801561023557600080fd5b5061025460048036038101908080359060200190929190505050610bb9565b6040518082815260200191505060405180910390f35b34801561027657600080fd5b506102d86004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050610bd9565b005b3480156102e657600080fd5b50610325600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c5b565b005b34801561033357600080fd5b50610368600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cf0565b6040518082815260200191505060405180910390f35b34801561038a57600080fd5b50610393610d08565b60405180826000191660001916815260200191505060405180910390f35b3480156103bd57600080fd5b506103e06004803603810190808035600019169060200190929190505050610d0e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561042e57600080fd5b506104bb600480360381019080803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050610dea565b005b3480156104c957600080fd5b506104e860048036038101908080359060200190929190505050610f37565b604051808c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019b50505050505050505050505060405180910390f35b34801561055057600080fd5b5061056f6004803603810190808035906020019092919050505061106a565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b3480156105a657600080fd5b506105e5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110db565b005b3480156105f357600080fd5b50610628600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611139565b6040518082815260200191505060405180910390f35b34801561064a57600080fd5b506106736004803603810190808035906020019092919080359060200190929190505050611151565b005b34801561068157600080fd5b506106c0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611170565b005b3480156106ce57600080fd5b5061070d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111ce565b005b34801561071b57600080fd5b5061073a6004803603810190808035906020019092919050505061122c565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b34801561077157600080fd5b506107b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061129d565b005b3480156107be57600080fd5b506107dd600480360381019080803590602001909291905050506112e5565b6040518082815260200191505060405180910390f35b3480156107ff57600080fd5b5061081e60048036038101908080359060200190929190505050611305565b6040518082815260200191505060405180910390f35b34801561084057600080fd5b50610875600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611325565b6040518082815260200191505060405180910390f35b34801561089757600080fd5b506108cc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061133d565b6040518082815260200191505060405180910390f35b3480156108ee57600080fd5b50610923600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611355565b6040518082815260200191505060405180910390f35b34801561094557600080fd5b506109646004803603810190808035906020019092919050505061136d565b60405180848152602001838152602001828152602001935050505060405180910390f35b34801561099457600080fd5b506109b3600480360381019080803590602001909291905050506113c4565b005b3480156109c157600080fd5b50610a00600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113f8565b005b348015610a0e57600080fd5b50610a1761148d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a6557600080fd5b50610a6e6114b3565b6040518082815260200191505060405180910390f35b348015610a9057600080fd5b50610aaf600480360381019080803590602001909291905050506114b9565b604051808c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019b50505050505050505050505060405180910390f35b348015610b1757600080fd5b50610b3660048036038101908080359060200190929190505050611513565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80607560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600060706000838152602001908152602001600020600701549050919050565b60008083519150600090505b81811015610c555782607360008684815181101515610c0057fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080600101915050610be5565b50505050565b610c9d606060405190810160405280601b5460001916600019168152602001601654600019166000191681526020016003546000191660001916815250611533565b1515610ca857600080fd5b80607660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60756020528060005260406000206000915090505481565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610da857600080fd5b505af1158015610dbc573d6000803e3d6000fd5b505050506040513d6020811015610dd257600080fd5b81019080805190602001909291905050509050919050565b610df5601b546116aa565b1515610e0057600080fd5b8a607060008e81526020019081526020016000206000018190555089607060008e81526020019081526020016000206001018190555088607060008e81526020019081526020016000206002018190555087607060008e81526020019081526020016000206003018190555086607060008e81526020019081526020016000206004018190555085607060008e81526020019081526020016000206005018190555084607060008e81526020019081526020016000206006018190555083607060008e81526020019081526020016000206007018190555082607060008e81526020019081526020016000206008018190555081607060008e81526020019081526020016000206009018190555080607060008e8152602001908152602001600020600a0181905550505050505050505050505050565b6000806000806000806000806000806000607060008d8152602001908152602001600020600001549a50607060008d8152602001908152602001600020600101549950607060008d8152602001908152602001600020600201549850607060008d8152602001908152602001600020600301549750607060008d8152602001908152602001600020600401549650607060008d8152602001908152602001600020600501549550607060008d8152602001908152602001600020600601549450607060008d8152602001908152602001600020600701549350607060008d8152602001908152602001600020600801549250607060008d8152602001908152602001600020600901549150607060008d8152602001908152602001600020600a0154905091939597999b90929496989a50565b600080600080607060008681526020019081526020016000206000015493506070600086815260200190815260200160002060010154925060706000868152602001908152602001600020600201549150607060008681526020019081526020016000206003015490509193509193565b6110e6601b546116aa565b15156110f157600080fd5b80607160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60716020528060005260406000206000915090505481565b8060706000848152602001908152602001600020600801819055505050565b61117b6016546116aa565b151561118657600080fd5b80607460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6111d96016546116aa565b15156111e457600080fd5b80607360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600080600080607060008681526020019081526020016000206004015493506070600086815260200190815260200160002060050154925060706000868152602001908152602001600020600601549150607060008681526020019081526020016000206007015490509193509193565b80607360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600060706000838152602001908152602001600020600801549050919050565b600060706000838152602001908152602001600020600901549050919050565b60746020528060005260406000206000915090505481565b60766020528060005260406000206000915090505481565b60736020528060005260406000206000915090505481565b6000806000607060008581526020019081526020016000206008015492506070600085815260200190815260200160002060090154915060706000858152602001908152602001600020600a015490509193909250565b6113cf601b546116aa565b15156113da57600080fd5b6113ef816072546117b490919063ffffffff16565b60728190555050565b61143a606060405190810160405280601b5460001916600019168152602001601654600019166000191681526020016003546000191660001916815250611533565b151561144557600080fd5b80607560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60725481565b607060205280600052604060002060009150905080600001549080600101549080600201549080600301549080600401549080600501549080600601549080600701549080600801549080600901549080600a015490508b565b600060706000838152602001908152602001600020600301549050919050565b600080600060039150600090505b818110156116a357600060010260001916848260038110151561156057fe5b602002015160001916141561157457611696565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff85836003811015156115bf57fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561161e57600080fd5b505af1158015611632573d6000803e3d6000fd5b505050506040513d602081101561164857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561169557600192506116a3565b5b8080600101915050611541565b5050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561174457600080fd5b505af1158015611758573d6000803e3d6000fd5b505050506040513d602081101561176e57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b600081830190508281101515156117c757fe5b809050929150505600a165627a7a72305820cf4eb6e5202d73156e0b2c08c345420ad31b31fa70e360648c876466c68647f60029", + "deployedBytecode": "0x608060405260043610610180576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146101855780630a76be54146101dc5780630f491b11146102295780630f596e2d1461026a57806312d9b939146102da57806327ddd3ae146103275780633943380c1461037e5780633f83acff146103b1578063521fcb661461042257806356dfd2b7146104bd57806362961de9146105445780636a8cfd091461059a57806378af89ac146105e757806384dbe99e1461063e578063863eb74a14610675578063927bb668146106c2578063a301c0d21461070f578063a4eeadee14610765578063a78e00d6146107b2578063bb80203e146107f3578063bcda642414610834578063bd695d211461088b578063cefc2bff146108e2578063cf542aa914610939578063d715d6f514610988578063d8048c9d146109b5578063db4ecbc114610a02578063f03222f014610a59578063f1dfda7814610a84578063fedf945314610b0b575b600080fd5b34801561019157600080fd5b5061019a610b4c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101e857600080fd5b50610227600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b71565b005b34801561023557600080fd5b5061025460048036038101908080359060200190929190505050610bb9565b6040518082815260200191505060405180910390f35b34801561027657600080fd5b506102d86004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050610bd9565b005b3480156102e657600080fd5b50610325600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c5b565b005b34801561033357600080fd5b50610368600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cf0565b6040518082815260200191505060405180910390f35b34801561038a57600080fd5b50610393610d08565b60405180826000191660001916815260200191505060405180910390f35b3480156103bd57600080fd5b506103e06004803603810190808035600019169060200190929190505050610d0e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561042e57600080fd5b506104bb600480360381019080803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050610dea565b005b3480156104c957600080fd5b506104e860048036038101908080359060200190929190505050610f37565b604051808c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019b50505050505050505050505060405180910390f35b34801561055057600080fd5b5061056f6004803603810190808035906020019092919050505061106a565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b3480156105a657600080fd5b506105e5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110db565b005b3480156105f357600080fd5b50610628600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611139565b6040518082815260200191505060405180910390f35b34801561064a57600080fd5b506106736004803603810190808035906020019092919080359060200190929190505050611151565b005b34801561068157600080fd5b506106c0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611170565b005b3480156106ce57600080fd5b5061070d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111ce565b005b34801561071b57600080fd5b5061073a6004803603810190808035906020019092919050505061122c565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b34801561077157600080fd5b506107b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061129d565b005b3480156107be57600080fd5b506107dd600480360381019080803590602001909291905050506112e5565b6040518082815260200191505060405180910390f35b3480156107ff57600080fd5b5061081e60048036038101908080359060200190929190505050611305565b6040518082815260200191505060405180910390f35b34801561084057600080fd5b50610875600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611325565b6040518082815260200191505060405180910390f35b34801561089757600080fd5b506108cc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061133d565b6040518082815260200191505060405180910390f35b3480156108ee57600080fd5b50610923600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611355565b6040518082815260200191505060405180910390f35b34801561094557600080fd5b506109646004803603810190808035906020019092919050505061136d565b60405180848152602001838152602001828152602001935050505060405180910390f35b34801561099457600080fd5b506109b3600480360381019080803590602001909291905050506113c4565b005b3480156109c157600080fd5b50610a00600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113f8565b005b348015610a0e57600080fd5b50610a1761148d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a6557600080fd5b50610a6e6114b3565b6040518082815260200191505060405180910390f35b348015610a9057600080fd5b50610aaf600480360381019080803590602001909291905050506114b9565b604051808c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019b50505050505050505050505060405180910390f35b348015610b1757600080fd5b50610b3660048036038101908080359060200190929190505050611513565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80607560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600060706000838152602001908152602001600020600701549050919050565b60008083519150600090505b81811015610c555782607360008684815181101515610c0057fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080600101915050610be5565b50505050565b610c9d606060405190810160405280601b5460001916600019168152602001601654600019166000191681526020016003546000191660001916815250611533565b1515610ca857600080fd5b80607660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60756020528060005260406000206000915090505481565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610da857600080fd5b505af1158015610dbc573d6000803e3d6000fd5b505050506040513d6020811015610dd257600080fd5b81019080805190602001909291905050509050919050565b610df5601b546116aa565b1515610e0057600080fd5b8a607060008e81526020019081526020016000206000018190555089607060008e81526020019081526020016000206001018190555088607060008e81526020019081526020016000206002018190555087607060008e81526020019081526020016000206003018190555086607060008e81526020019081526020016000206004018190555085607060008e81526020019081526020016000206005018190555084607060008e81526020019081526020016000206006018190555083607060008e81526020019081526020016000206007018190555082607060008e81526020019081526020016000206008018190555081607060008e81526020019081526020016000206009018190555080607060008e8152602001908152602001600020600a0181905550505050505050505050505050565b6000806000806000806000806000806000607060008d8152602001908152602001600020600001549a50607060008d8152602001908152602001600020600101549950607060008d8152602001908152602001600020600201549850607060008d8152602001908152602001600020600301549750607060008d8152602001908152602001600020600401549650607060008d8152602001908152602001600020600501549550607060008d8152602001908152602001600020600601549450607060008d8152602001908152602001600020600701549350607060008d8152602001908152602001600020600801549250607060008d8152602001908152602001600020600901549150607060008d8152602001908152602001600020600a0154905091939597999b90929496989a50565b600080600080607060008681526020019081526020016000206000015493506070600086815260200190815260200160002060010154925060706000868152602001908152602001600020600201549150607060008681526020019081526020016000206003015490509193509193565b6110e6601b546116aa565b15156110f157600080fd5b80607160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60716020528060005260406000206000915090505481565b8060706000848152602001908152602001600020600801819055505050565b61117b6016546116aa565b151561118657600080fd5b80607460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6111d96016546116aa565b15156111e457600080fd5b80607360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600080600080607060008681526020019081526020016000206004015493506070600086815260200190815260200160002060050154925060706000868152602001908152602001600020600601549150607060008681526020019081526020016000206007015490509193509193565b80607360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600060706000838152602001908152602001600020600801549050919050565b600060706000838152602001908152602001600020600901549050919050565b60746020528060005260406000206000915090505481565b60766020528060005260406000206000915090505481565b60736020528060005260406000206000915090505481565b6000806000607060008581526020019081526020016000206008015492506070600085815260200190815260200160002060090154915060706000858152602001908152602001600020600a015490509193909250565b6113cf601b546116aa565b15156113da57600080fd5b6113ef816072546117b490919063ffffffff16565b60728190555050565b61143a606060405190810160405280601b5460001916600019168152602001601654600019166000191681526020016003546000191660001916815250611533565b151561144557600080fd5b80607560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60725481565b607060205280600052604060002060009150905080600001549080600101549080600201549080600301549080600401549080600501549080600601549080600701549080600801549080600901549080600a015490508b565b600060706000838152602001908152602001600020600301549050919050565b600080600060039150600090505b818110156116a357600060010260001916848260038110151561156057fe5b602002015160001916141561157457611696565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff85836003811015156115bf57fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561161e57600080fd5b505af1158015611632573d6000803e3d6000fd5b505050506040513d602081101561164857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561169557600192506116a3565b5b8080600101915050611541565b5050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561174457600080fd5b505af1158015611758573d6000803e3d6000fd5b505050506040513d602081101561176e57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b600081830190508281101515156117c757fe5b809050929150505600a165627a7a72305820cf4eb6e5202d73156e0b2c08c345420ad31b31fa70e360648c876466c68647f60029", + "sourceMap": "73:978:41:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;132:69:41;8:9:-1;5:2;;;30:1;27;20:12;5:2;132:69:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;188:9;2915:45:57;2920:28;;2950:9;2915:4;;;:45;;;:::i;:::-;2907:54;;;;;;;;2844:124;132:69:41;73:978;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;73:978:41:-;;;;;;;", + "deployedSourceMap": "73:978:41:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;656:187:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;656:187:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10654:299:57;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10654:299:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;379:271:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;379:271:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5739:287:57;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5739:287:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2363:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2363:68:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2974:1810:57;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2974:1810:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6235:1818;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6235:1818:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9412:732;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9412:732:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4790:202;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4790:202:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;723:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;723:48:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;849:200:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;849:200:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5217:229:57;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5217:229:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4998:213;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4998:213:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8592:814;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8592:814:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;207:166:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;207:166:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10150:217:57;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10150:217:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10959:222;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10959:222:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1910:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1910:67:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2766:71;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2766:71:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1643:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1643:59:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8059:527;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8059:527:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6032:197;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6032:197:57;;;;;;;;;;;;;;;;;;;;;;;;;;5452:281;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5452:281:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;1189::57;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1189:31:57;;;;;;;;;;;;;;;;;;;;;;;533:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;533:68:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10373:275;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10373:275:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;656:187:41:-;822:14;780:32;:39;813:5;780:39;;;;;;;;;;;;;;;:56;;;;656:187;;:::o;10654:299:57:-;10774:46;10877:15;:31;10893:14;10877:31;;;;;;;;;;;:69;;;10836:110;;10654:299;;;:::o;379:271:41:-;499:10;540:9;512:6;:13;499:26;;552:1;540:13;;535:109;559:2;555:1;:6;535:109;;;619:14;582:23;:34;606:6;613:1;606:9;;;;;;;;;;;;;;;;;;582:34;;;;;;;;;;;;;;;:51;;;;563:3;;;;;;;535:109;;;379:271;;;;:::o;5739:287:57:-;5864:87;;;;;;;;;;5880:28;;5864:87;;;;;;;;;;5910:26;;5864:87;;;;;;;;;;5938:11;;5864:87;;;;;;;;;:14;:87::i;:::-;5856:96;;;;;;;;6007:12;5962:35;:42;5998:5;5962:42;;;;;;;;;;;;;;;:57;;;;5739:287;;:::o;2363:68::-;;;;;;;;;;;;;;;;;:::o;264:18:67:-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;2974:1810:57:-;3599:39;3609:28;;3599:9;:39::i;:::-;3591:48;;;;;;;;3709:26;3649:15;:31;3665:14;3649:31;;;;;;;;;;;:57;;:86;;;;3805:26;3745:15;:31;3761:14;3745:31;;;;;;;;;;;:57;;:86;;;;3904:29;3841:15;:31;3857:14;3841:31;;;;;;;;;;;:60;;:92;;;;4010:33;3943:15;:31;3959:14;3943:31;;;;;;;;;;;:64;;:100;;;;4123:29;4054:15;:31;4070:14;4054:31;;;;;;;;;;;:66;;:98;;;;4231:35;4162:15;:31;4178:14;4162:31;;;;;;;;;;;:66;;:104;;;;4348:38;4276:15;:31;4292:14;4276:31;;;;;;;;;;;:69;;:110;;;;4468:38;4396:15;:31;4412:14;4396:31;;;;;;;;;;;:69;;:110;;;;4570:19;4517:15;:31;4533:14;4517:31;;;;;;;;;;;:50;;:72;;;;4659:26;4599:15;:31;4615:14;4599:31;;;;;;;;;;;:57;;:86;;;;4753:24;4695:15;:31;4711:14;4695:31;;;;;;;;;;;:55;;:82;;;;2974:1810;;;;;;;;;;;;:::o;6235:1818::-;6342:34;6390;6438:37;6489:41;6545:37;6596:43;6653:46;6713;6774:27;6815:34;6863:32;6949:15;:31;6965:14;6949:31;;;;;;;;;;;:57;;;6920:86;;7045:15;:31;7061:14;7045:31;;;;;;;;;;;:57;;;7016:86;;7144:15;:31;7160:14;7144:31;;;;;;;;;;;:60;;;7112:92;;7250:15;:31;7266:14;7250:31;;;;;;;;;;;:64;;;7214:100;;7356:15;:31;7372:14;7356:31;;;;;;;;;;;:66;;;7324:98;;7470:15;:31;7486:14;7470:31;;;;;;;;;;;:66;;;7432:104;;7587:15;:31;7603:14;7587:31;;;;;;;;;;;:69;;;7546:110;;7707:15;:31;7723:14;7707:31;;;;;;;;;;;:69;;;7666:110;;7808:15;:31;7824:14;7808:31;;;;;;;;;;;:50;;;7786:72;;7897:15;:31;7913:14;7897:31;;;;;;;;;;;:57;;;7868:86;;7991:15;:31;8007:14;7991:31;;;;;;;;;;;:55;;;7964:82;;6235:1818;;;;;;;;;;;;;:::o;9412:732::-;9530:34;9578;9626:37;9677:41;9772:15;:31;9788:14;9772:31;;;;;;;;;;;:57;;;9743:86;;9868:15;:31;9884:14;9868:31;;;;;;;;;;;:57;;;9839:86;;9967:15;:31;9983:14;9967:31;;;;;;;;;;;:60;;;9935:92;;10073:15;:31;10089:14;10073:31;;;;;;;;;;;:64;;;10037:100;;9412:732;;;;;:::o;4790:202::-;4896:39;4906:28;;4896:9;:39::i;:::-;4888:48;;;;;;;;4969:16;4946:13;:20;4960:5;4946:20;;;;;;;;;;;;;;;:39;;;;4790:202;;:::o;723:48::-;;;;;;;;;;;;;;;;;:::o;849:200:41:-;1023:19;970:15;:31;986:14;970:31;;;;;;;;;;;:50;;:72;;;;849:200;;:::o;5217:229:57:-;5338:37;5348:26;;5338:9;:37::i;:::-;5330:46;;;;;;;;5427:12;5386:31;:38;5418:5;5386:38;;;;;;;;;;;;;;;:53;;;;5217:229;;:::o;4998:213::-;5111:37;5121:26;;5111:9;:37::i;:::-;5103:46;;;;;;;;5192:12;5159:23;:30;5183:5;5159:30;;;;;;;;;;;;;;;:45;;;;4998:213;;:::o;8592:814::-;8708:37;8759:43;8816:46;8876;8979:15;:31;8995:14;8979:31;;;;;;;;;;;:66;;;8947:98;;9093:15;:31;9109:14;9093:31;;;;;;;;;;;:66;;;9055:104;;9210:15;:31;9226:14;9210:31;;;;;;;;;;;:69;;;9169:110;;9330:15;:31;9346:14;9330:31;;;;;;;;;;;:69;;;9289:110;;8592:814;;;;;:::o;207:166:41:-;352:14;319:23;:30;343:5;319:30;;;;;;;;;;;;;;;:47;;;;207:166;;:::o;10150:217:57:-;10251:24;10310:15;:31;10326:14;10310:31;;;;;;;;;;;:50;;;10291:69;;10150:217;;;:::o;10959:222::-;11066:20;11117:15;:31;11133:14;11117:31;;;;;;;;;;;:57;;;11102:72;;10959:222;;;:::o;1910:67::-;;;;;;;;;;;;;;;;;:::o;2766:71::-;;;;;;;;;;;;;;;;;:::o;1643:59::-;;;;;;;;;;;;;;;;;:::o;8059:527::-;8173:27;8214:34;8262:32;8341:15;:31;8357:14;8341:31;;;;;;;;;;;:50;;;8319:72;;8430:15;:31;8446:14;8430:31;;;;;;;;;;;:57;;;8401:86;;8524:15;:31;8540:14;8524:31;;;;;;;;;;;:55;;;8497:82;;8059:527;;;;;:::o;6032:197::-;6120:39;6130:28;;6120:9;:39::i;:::-;6112:48;;;;;;;;6189:33;6210:11;6189:16;;:20;;:33;;;;:::i;:::-;6170:16;:52;;;;6032:197;:::o;5452:281::-;5574:87;;;;;;;;;;5590:28;;5574:87;;;;;;;;;;5620:26;;5574:87;;;;;;;;;;5648:11;;5574:87;;;;;;;;;:14;:87::i;:::-;5566:96;;;;;;;;5714:12;5672:32;:39;5705:5;5672:39;;;;;;;;;;;;;;;:54;;;;5452:281;;:::o;344:31:67:-;;;;;;;;;;;;;:::o;1189::57:-;;;;:::o;533:68::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10373:275::-;10484:41;10577:15;:31;10593:14;10577:31;;;;;;;;;;;:64;;;10541:100;;10373:275;;;:::o;881:350:67:-;951:12;971:10;1012:9;984:17;971:30;;1024:1;1012:13;;1007:220;1031:2;1027:1;:6;1007:220;;;1077:3;1069:12;;1052:29;;;:10;1063:1;1052:13;;;;;;;;;;;;;:29;;;;1048:43;;;1083:8;;1048:43;1134:8;;;;;;;;;;;1117:39;;;1157:10;1168:1;1157:13;;;;;;;;;;;;;1117:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1117:54:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1117:54:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1117:54:67;;;;;;;;;;;;;;;;1103:68;;:10;:68;;;1099:122;;;1193:4;1183:14;;1207:5;;1099:122;1007:220;1035:3;;;;;;;1007:220;;;881:350;;;;;:::o;610:160::-;671:12;732:8;;;;;;;;;;;715:39;;;755:9;715:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;715:50:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;715:50:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;715:50:67;;;;;;;;;;;;;;;;701:64;;:10;:64;;;691:74;;610:160;;;:::o;1238:128:84:-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"../../storage/DaoRewardsStorage.sol\";\n\ncontract MockDaoRewardsStorage is DaoRewardsStorage {\n\n constructor(address _resolver) public DaoRewardsStorage(_resolver) {}\n\n function mock_set_last_participated_quarter(address _user, uint256 _quarterNumber)\n public\n {\n lastParticipatedQuarter[_user] = _quarterNumber;\n }\n\n function mock_bulk_set_last_participated_quarter(address[] _users, uint256 _quarterNumber)\n public\n {\n uint256 _n = _users.length;\n for (uint256 i = 0; i < _n; i++) {\n lastParticipatedQuarter[_users[i]] = _quarterNumber;\n }\n }\n\n function mock_set_last_quarter_that_rewards_was_updated(address _user, uint256 _quarterNumber)\n public\n {\n lastQuarterThatRewardsWasUpdated[_user] = _quarterNumber;\n }\n\n function mock_set_dgx_distribution_day(uint256 _quarterNumber, uint256 _dgxDistributionDay)\n public\n {\n allQuartersInfo[_quarterNumber].dgxDistributionDay = _dgxDistributionDay;\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/mock/storage/MockDaoRewardsStorage.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/storage/MockDaoRewardsStorage.sol", + "exportedSymbols": { + "MockDaoRewardsStorage": [ + 11245 + ] + }, + "id": 11246, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 11155, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:41" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoRewardsStorage.sol", + "file": "../../storage/DaoRewardsStorage.sol", + "id": 11156, + "nodeType": "ImportDirective", + "scope": 11246, + "sourceUnit": 15546, + "src": "26:45:41", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 11157, + "name": "DaoRewardsStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 15545, + "src": "107:17:41", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 11158, + "nodeType": "InheritanceSpecifier", + "src": "107:17:41" + } + ], + "contractDependencies": [ + 1580, + 15545, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 11245, + "linearizedBaseContracts": [ + 11245, + 15545, + 1580, + 19058 + ], + "name": "MockDaoRewardsStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 11166, + "nodeType": "Block", + "src": "199:2:41", + "statements": [] + }, + "documentation": null, + "id": 11167, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 11163, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11160, + "src": "188:9:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 11164, + "modifierName": { + "argumentTypes": null, + "id": 11162, + "name": "DaoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15545, + "src": "170:17:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "type(contract DaoRewardsStorage)" + } + }, + "nodeType": "ModifierInvocation", + "src": "170:28:41" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11161, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11160, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 11167, + "src": "144:17:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11159, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "144:7:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "143:19:41" + }, + "payable": false, + "returnParameters": { + "id": 11165, + "nodeType": "ParameterList", + "parameters": [], + "src": "199:0:41" + }, + "scope": 11245, + "src": "132:69:41", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11180, + "nodeType": "Block", + "src": "309:64:41", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11174, + "name": "lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15001, + "src": "319:23:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11176, + "indexExpression": { + "argumentTypes": null, + "id": 11175, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11169, + "src": "343:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "319:30:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11177, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11171, + "src": "352:14:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "319:47:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11179, + "nodeType": "ExpressionStatement", + "src": "319:47:41" + } + ] + }, + "documentation": null, + "id": 11181, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_last_participated_quarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11172, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11169, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 11181, + "src": "251:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11168, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "251:7:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11171, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 11181, + "src": "266:22:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11170, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "266:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "250:39:41" + }, + "payable": false, + "returnParameters": { + "id": 11173, + "nodeType": "ParameterList", + "parameters": [], + "src": "309:0:41" + }, + "scope": 11245, + "src": "207:166:41", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11214, + "nodeType": "Block", + "src": "489:161:41", + "statements": [ + { + "assignments": [ + 11190 + ], + "declarations": [ + { + "constant": false, + "id": 11190, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 11215, + "src": "499:10:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "499:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11193, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11191, + "name": "_users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11184, + "src": "512:6:41", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "512:13:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "499:26:41" + }, + { + "body": { + "id": 11212, + "nodeType": "Block", + "src": "568:76:41", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11204, + "name": "lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15001, + "src": "582:23:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11208, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11205, + "name": "_users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11184, + "src": "606:6:41", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11207, + "indexExpression": { + "argumentTypes": null, + "id": 11206, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11195, + "src": "613:1:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "606:9:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "582:34:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11209, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11186, + "src": "619:14:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "582:51:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11211, + "nodeType": "ExpressionStatement", + "src": "582:51:41" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 11198, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11195, + "src": "555:1:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 11199, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11190, + "src": "559:2:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "555:6:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11213, + "initializationExpression": { + "assignments": [ + 11195 + ], + "declarations": [ + { + "constant": false, + "id": 11195, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 11215, + "src": "540:9:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11194, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "540:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11197, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 11196, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "552:1:41", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "540:13:41" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 11202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "563:3:41", + "subExpression": { + "argumentTypes": null, + "id": 11201, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11195, + "src": "563:1:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11203, + "nodeType": "ExpressionStatement", + "src": "563:3:41" + }, + "nodeType": "ForStatement", + "src": "535:109:41" + } + ] + }, + "documentation": null, + "id": 11215, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_bulk_set_last_participated_quarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11187, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11184, + "name": "_users", + "nodeType": "VariableDeclaration", + "scope": 11215, + "src": "428:16:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 11182, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "428:7:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 11183, + "length": null, + "nodeType": "ArrayTypeName", + "src": "428:9:41", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11186, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 11215, + "src": "446:22:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11185, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "446:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "427:42:41" + }, + "payable": false, + "returnParameters": { + "id": 11188, + "nodeType": "ParameterList", + "parameters": [], + "src": "489:0:41" + }, + "scope": 11245, + "src": "379:271:41", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11228, + "nodeType": "Block", + "src": "770:73:41", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11222, + "name": "lastQuarterThatRewardsWasUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15009, + "src": "780:32:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11224, + "indexExpression": { + "argumentTypes": null, + "id": 11223, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11217, + "src": "813:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "780:39:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11225, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11219, + "src": "822:14:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "780:56:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11227, + "nodeType": "ExpressionStatement", + "src": "780:56:41" + } + ] + }, + "documentation": null, + "id": 11229, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_last_quarter_that_rewards_was_updated", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11220, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11217, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 11229, + "src": "712:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11216, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "712:7:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11219, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 11229, + "src": "727:22:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11218, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "727:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "711:39:41" + }, + "payable": false, + "returnParameters": { + "id": 11221, + "nodeType": "ParameterList", + "parameters": [], + "src": "770:0:41" + }, + "scope": 11245, + "src": "656:187:41", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11243, + "nodeType": "Block", + "src": "960:89:41", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11236, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "970:15:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 11238, + "indexExpression": { + "argumentTypes": null, + "id": 11237, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11231, + "src": "986:14:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "970:31:41", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 11239, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "dgxDistributionDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 8476, + "src": "970:50:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11240, + "name": "_dgxDistributionDay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11233, + "src": "1023:19:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "970:72:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11242, + "nodeType": "ExpressionStatement", + "src": "970:72:41" + } + ] + }, + "documentation": null, + "id": 11244, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_dgx_distribution_day", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11234, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11231, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 11244, + "src": "888:22:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11230, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "888:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11233, + "name": "_dgxDistributionDay", + "nodeType": "VariableDeclaration", + "scope": 11244, + "src": "912:27:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11232, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "912:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "887:53:41" + }, + "payable": false, + "returnParameters": { + "id": 11235, + "nodeType": "ParameterList", + "parameters": [], + "src": "960:0:41" + }, + "scope": 11245, + "src": "849:200:41", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 11246, + "src": "73:978:41" + } + ], + "src": "0:1052:41" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/storage/MockDaoRewardsStorage.sol", + "exportedSymbols": { + "MockDaoRewardsStorage": [ + 11245 + ] + }, + "id": 11246, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 11155, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:41" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoRewardsStorage.sol", + "file": "../../storage/DaoRewardsStorage.sol", + "id": 11156, + "nodeType": "ImportDirective", + "scope": 11246, + "sourceUnit": 15546, + "src": "26:45:41", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 11157, + "name": "DaoRewardsStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 15545, + "src": "107:17:41", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoRewardsStorage_$15545", + "typeString": "contract DaoRewardsStorage" + } + }, + "id": 11158, + "nodeType": "InheritanceSpecifier", + "src": "107:17:41" + } + ], + "contractDependencies": [ + 1580, + 15545, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 11245, + "linearizedBaseContracts": [ + 11245, + 15545, + 1580, + 19058 + ], + "name": "MockDaoRewardsStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 11166, + "nodeType": "Block", + "src": "199:2:41", + "statements": [] + }, + "documentation": null, + "id": 11167, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 11163, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11160, + "src": "188:9:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 11164, + "modifierName": { + "argumentTypes": null, + "id": 11162, + "name": "DaoRewardsStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15545, + "src": "170:17:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoRewardsStorage_$15545_$", + "typeString": "type(contract DaoRewardsStorage)" + } + }, + "nodeType": "ModifierInvocation", + "src": "170:28:41" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11161, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11160, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 11167, + "src": "144:17:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11159, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "144:7:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "143:19:41" + }, + "payable": false, + "returnParameters": { + "id": 11165, + "nodeType": "ParameterList", + "parameters": [], + "src": "199:0:41" + }, + "scope": 11245, + "src": "132:69:41", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11180, + "nodeType": "Block", + "src": "309:64:41", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11174, + "name": "lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15001, + "src": "319:23:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11176, + "indexExpression": { + "argumentTypes": null, + "id": 11175, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11169, + "src": "343:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "319:30:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11177, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11171, + "src": "352:14:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "319:47:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11179, + "nodeType": "ExpressionStatement", + "src": "319:47:41" + } + ] + }, + "documentation": null, + "id": 11181, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_last_participated_quarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11172, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11169, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 11181, + "src": "251:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11168, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "251:7:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11171, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 11181, + "src": "266:22:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11170, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "266:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "250:39:41" + }, + "payable": false, + "returnParameters": { + "id": 11173, + "nodeType": "ParameterList", + "parameters": [], + "src": "309:0:41" + }, + "scope": 11245, + "src": "207:166:41", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11214, + "nodeType": "Block", + "src": "489:161:41", + "statements": [ + { + "assignments": [ + 11190 + ], + "declarations": [ + { + "constant": false, + "id": 11190, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 11215, + "src": "499:10:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "499:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11193, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11191, + "name": "_users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11184, + "src": "512:6:41", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "512:13:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "499:26:41" + }, + { + "body": { + "id": 11212, + "nodeType": "Block", + "src": "568:76:41", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11204, + "name": "lastParticipatedQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15001, + "src": "582:23:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11208, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11205, + "name": "_users", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11184, + "src": "606:6:41", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11207, + "indexExpression": { + "argumentTypes": null, + "id": 11206, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11195, + "src": "613:1:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "606:9:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "582:34:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11209, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11186, + "src": "619:14:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "582:51:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11211, + "nodeType": "ExpressionStatement", + "src": "582:51:41" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 11198, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11195, + "src": "555:1:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 11199, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11190, + "src": "559:2:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "555:6:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11213, + "initializationExpression": { + "assignments": [ + 11195 + ], + "declarations": [ + { + "constant": false, + "id": 11195, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 11215, + "src": "540:9:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11194, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "540:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11197, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 11196, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "552:1:41", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "540:13:41" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 11202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "563:3:41", + "subExpression": { + "argumentTypes": null, + "id": 11201, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11195, + "src": "563:1:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11203, + "nodeType": "ExpressionStatement", + "src": "563:3:41" + }, + "nodeType": "ForStatement", + "src": "535:109:41" + } + ] + }, + "documentation": null, + "id": 11215, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_bulk_set_last_participated_quarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11187, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11184, + "name": "_users", + "nodeType": "VariableDeclaration", + "scope": 11215, + "src": "428:16:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 11182, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "428:7:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 11183, + "length": null, + "nodeType": "ArrayTypeName", + "src": "428:9:41", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11186, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 11215, + "src": "446:22:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11185, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "446:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "427:42:41" + }, + "payable": false, + "returnParameters": { + "id": 11188, + "nodeType": "ParameterList", + "parameters": [], + "src": "489:0:41" + }, + "scope": 11245, + "src": "379:271:41", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11228, + "nodeType": "Block", + "src": "770:73:41", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11222, + "name": "lastQuarterThatRewardsWasUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15009, + "src": "780:32:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11224, + "indexExpression": { + "argumentTypes": null, + "id": 11223, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11217, + "src": "813:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "780:39:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11225, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11219, + "src": "822:14:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "780:56:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11227, + "nodeType": "ExpressionStatement", + "src": "780:56:41" + } + ] + }, + "documentation": null, + "id": 11229, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_last_quarter_that_rewards_was_updated", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11220, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11217, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 11229, + "src": "712:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11216, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "712:7:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11219, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 11229, + "src": "727:22:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11218, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "727:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "711:39:41" + }, + "payable": false, + "returnParameters": { + "id": 11221, + "nodeType": "ParameterList", + "parameters": [], + "src": "770:0:41" + }, + "scope": 11245, + "src": "656:187:41", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11243, + "nodeType": "Block", + "src": "960:89:41", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11236, + "name": "allQuartersInfo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 14991, + "src": "970:15:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_DaoQuarterInfo_$8481_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.DaoQuarterInfo storage ref)" + } + }, + "id": 11238, + "indexExpression": { + "argumentTypes": null, + "id": 11237, + "name": "_quarterNumber", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11231, + "src": "986:14:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "970:31:41", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DaoQuarterInfo_$8481_storage", + "typeString": "struct DaoStructs.DaoQuarterInfo storage ref" + } + }, + "id": 11239, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "dgxDistributionDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 8476, + "src": "970:50:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11240, + "name": "_dgxDistributionDay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11233, + "src": "1023:19:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "970:72:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11242, + "nodeType": "ExpressionStatement", + "src": "970:72:41" + } + ] + }, + "documentation": null, + "id": 11244, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_dgx_distribution_day", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11234, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11231, + "name": "_quarterNumber", + "nodeType": "VariableDeclaration", + "scope": 11244, + "src": "888:22:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11230, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "888:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11233, + "name": "_dgxDistributionDay", + "nodeType": "VariableDeclaration", + "scope": 11244, + "src": "912:27:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11232, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "912:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "887:53:41" + }, + "payable": false, + "returnParameters": { + "id": 11235, + "nodeType": "ParameterList", + "parameters": [], + "src": "960:0:41" + }, + "scope": 11245, + "src": "849:200:41", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 11246, + "src": "73:978:41" + } + ], + "src": "0:1052:41" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.883Z" +} \ No newline at end of file diff --git a/build/contracts/MockDaoSpecialStorage.json b/build/contracts/MockDaoSpecialStorage.json new file mode 100644 index 0000000..bebbda7 --- /dev/null +++ b/build/contracts/MockDaoSpecialStorage.json @@ -0,0 +1,4969 @@ +{ + "contractName": "MockDaoSpecialStorage", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_result", + "type": "bool" + } + ], + "name": "setPass", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_hash", + "type": "bytes32" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "commitVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_voter", + "type": "address" + }, + { + "name": "_vote", + "type": "bool" + }, + { + "name": "_weight", + "type": "uint256" + } + ], + "name": "revealVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readConfigs", + "outputs": [ + { + "name": "_uintConfigs", + "type": "uint256[]" + }, + { + "name": "_addressConfigs", + "type": "address[]" + }, + { + "name": "_bytesConfigs", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readProposalProposer", + "outputs": [ + { + "name": "_proposer", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_time", + "type": "uint256" + } + ], + "name": "setVotingTime", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_allUsers", + "type": "address[]" + } + ], + "name": "readVotingCount", + "outputs": [ + { + "name": "_for", + "type": "uint256" + }, + { + "name": "_against", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readVotingResult", + "outputs": [ + { + "name": "_result", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readVotingTime", + "outputs": [ + { + "name": "_start", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_proposer", + "type": "address" + }, + { + "name": "_uintConfigs", + "type": "uint256[]" + }, + { + "name": "_addressConfigs", + "type": "address[]" + }, + { + "name": "_bytesConfigs", + "type": "bytes32[]" + } + ], + "name": "addSpecialProposal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "isClaimed", + "outputs": [ + { + "name": "_claimed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_claimed", + "type": "bool" + } + ], + "name": "setVotingClaim", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readProposal", + "outputs": [ + { + "name": "_id", + "type": "bytes32" + }, + { + "name": "_proposer", + "type": "address" + }, + { + "name": "_timeCreated", + "type": "uint256" + }, + { + "name": "_timeVotingStarted", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "readVote", + "outputs": [ + { + "name": "_vote", + "type": "bool" + }, + { + "name": "_weight", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "readComittedVote", + "outputs": [ + { + "name": "_commitHash", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_specialProposalId", + "type": "bytes32" + }, + { + "name": "_founder", + "type": "address" + }, + { + "name": "_uintConfigs", + "type": "uint256[]" + }, + { + "name": "_addressConfigs", + "type": "address[]" + }, + { + "name": "_bytesConfigs", + "type": "bytes32[]" + }, + { + "name": "_startOfVoting", + "type": "uint256" + } + ], + "name": "mock_put_proposal_as", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_specialProposalId", + "type": "bytes32" + }, + { + "name": "_voters", + "type": "address[]" + }, + { + "name": "_commits", + "type": "bytes32[]" + }, + { + "name": "_length", + "type": "uint256" + } + ], + "name": "mock_put_commit_votes", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_specialProposalId", + "type": "bytes32" + }, + { + "name": "_voters", + "type": "address[]" + }, + { + "name": "_votes", + "type": "bool[]" + }, + { + "name": "_stakes", + "type": "uint256[]" + }, + { + "name": "_length", + "type": "uint256" + } + ], + "name": "mock_put_past_votes", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b50604051602080620034e6833981018060405281019080805190602001909291905050508062001176602a54826200118a640100000000026401000000009004565b15156200118257600080fd5b50506200141b565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f257600080fd5b505af115801562001207573d6000803e3d6000fd5b505050506040513d60208110156200121e57600080fd5b810190808051906020019092919050505090506000151581151514156200140f5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013bc57600080fd5b505af1158015620013d1573d6000803e3d6000fd5b505050506040513d6020811015620013e857600080fd5b810190808051906020019092919050505015156200140557600080fd5b6001915062001414565b600091505b5092915050565b6120bb806200142b6000396000f300608060405260043610610128576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec1461012d5780630d92dfb2146101845780631fae91f7146101c15780632e278bf9146102c55780633943380c146103245780633dd865b0146103575780633f83acff1461047b578063462d701f146104ec57806356ecd657146105535780635b712eb6146106695780636999b93f146106da57806373758c221461071557806379e4ce9d146107795780638839a29d146107c25780638b8a759314610807578063a00d964c14610921578063b89c3952146109e2578063d6ae87bf14610a2b578063d8d5017914610a68578063db4ecbc114610af6578063e5c2654e14610b4d578063f31a1ba214610bbd575b600080fd5b34801561013957600080fd5b50610142610c2a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561019057600080fd5b506101bf6004803603810190808035600019169060200190929190803515159060200190929190505050610c4f565b005b3480156101cd57600080fd5b506102c3600480360381019080803560001916906020019092919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050610ca2565b005b3480156102d157600080fd5b5061032260048036038101908080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610df4565b005b34801561033057600080fd5b50610339610e76565b60405180826000191660001916815260200191505060405180910390f35b34801561036357600080fd5b506104796004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050610e7c565b005b34801561048757600080fd5b506104aa60048036038101908080356000191690602001909291905050506110b7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104f857600080fd5b506105516004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919080359060200190929190505050611193565b005b34801561055f57600080fd5b506105826004803603810190808035600019169060200190929190505050611299565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156105cd5780820151818401526020810190506105b2565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561060f5780820151818401526020810190506105f4565b50505050905001848103825285818151815260200191508051906020019060200280838360005b83811015610651578082015181840152602081019050610636565b50505050905001965050505050505060405180910390f35b34801561067557600080fd5b50610698600480360381019080803560001916906020019092919050505061142c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106e657600080fd5b50610713600480360381019080803560001916906020019092919080359060200190929190505050611474565b005b34801561072157600080fd5b5061075c60048036038101908080356000191690602001909291908035906020019082018035906020019190919293919293905050506114b4565b604051808381526020018281526020019250505060405180910390f35b34801561078557600080fd5b506107a860048036038101908080356000191690602001909291905050506115c9565b604051808215151515815260200191505060405180910390f35b3480156107ce57600080fd5b506107f16004803603810190808035600019169060200190929190505050611614565b6040518082815260200191505060405180910390f35b34801561081357600080fd5b5061091f6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611652565b005b34801561092d57600080fd5b506109e060048036038101908080356000191690602001909291908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001909291905050506118b5565b005b3480156109ee57600080fd5b50610a11600480360381019080803560001916906020019092919050505061196c565b604051808215151515815260200191505060405180910390f35b348015610a3757600080fd5b50610a6660048036038101908080356000191690602001909291908035151590602001909291905050506119b7565b005b348015610a7457600080fd5b50610a976004803603810190808035600019169060200190929190505050611a10565b6040518085600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390f35b348015610b0257600080fd5b50610b0b611ac4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b5957600080fd5b50610b9c6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aea565b60405180831515151581526020018281526020019250505060405180910390f35b348015610bc957600080fd5b50610c0c6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c0d565b60405180826000191660001916815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c5a601954611c89565b1515610c6557600080fd5b8060766000846000191660001916815260200190815260200160002060020160050160006101000a81548160ff0219169083151502179055505050565b60008090505b81811015610dec5760766000876000191660001916815260200190815260200160002060020173__DaoStructs____________________________631a14c51b90918784815181101515610cf857fe5b906020019060200201518785815181101515610d1057fe5b906020019060200201518786815181101515610d2857fe5b906020019060200201516040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018315151515815260200182815260200194505050505060006040518083038186803b158015610dc757600080fd5b505af4158015610ddb573d6000803e3d6000fd5b505050508080600101915050610ca8565b505050505050565b610dff601754611c89565b1515610e0a57600080fd5b8160766000856000191660001916815260200190815260200160002060020160020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208160001916905550505050565b60015481565b607073__DoublyLinkedList______________________63582f30b49091886040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015610efa57600080fd5b505af4158015610f0e573d6000803e3d6000fd5b505050506040513d6020811015610f2457600080fd5b81019080805190602001909291905050505085607660008860001916600019168152602001908152602001600020600001816000191690555084607660008860001916600019168152602001908152602001600020600b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610fce600182611d9390919063ffffffff16565b60766000886000191660001916815260200190815260200160002060010181905550836076600088600019166000191681526020019081526020016000206008019080519060200190611022929190611ed8565b50826076600088600019166000191681526020019081526020016000206009019080519060200190611055929190611f25565b5081607660008860001916600019168152602001908152602001600020600a019080519060200190611088929190611faf565b508060766000886000191660001916815260200190815260200160002060020160000181905550505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561115157600080fd5b505af1158015611165573d6000803e3d6000fd5b505050506040513d602081101561117b57600080fd5b81019080805190602001909291905050509050919050565b61119e601754611c89565b15156111a957600080fd5b60766000856000191660001916815260200190815260200160002060020173__DaoStructs____________________________631a14c51b90918585856040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018315151515815260200182815260200194505050505060006040518083038186803b15801561127b57600080fd5b505af415801561128f573d6000803e3d6000fd5b5050505050505050565b606080606060766000856000191660001916815260200190815260200160002060080180548060200260200160405190810160405280929190818152602001828054801561130657602002820191906000526020600020905b8154815260200190600101908083116112f2575b505050505092506076600085600019166000191681526020019081526020016000206009018054806020026020016040519081016040528092919081815260200182805480156113ab57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611361575b50505050509150607660008560001916600019168152602001908152602001600020600a0180548060200260200160405190810160405280929190818152602001828054801561141e57602002820191906000526020600020905b81546000191681526020019060010190808311611406575b505050505090509193909250565b6000607660008360001916600019168152602001908152602001600020600b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61147f601554611c89565b151561148a57600080fd5b80607660008460001916600019168152602001908152602001600020600201600001819055505050565b6000806114bf611dac565b15156114ca57600080fd5b60766000866000191660001916815260200190815260200160002060020173__DaoStructs____________________________63b31ee28c909186866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018060200182810382528484828181526020019250602002808284378201915050945050505050604080518083038186803b15801561157857600080fd5b505af415801561158c573d6000803e3d6000fd5b505050506040513d60408110156115a257600080fd5b81019080805190602001909291908051906020019092919050505091509150935093915050565b60006115d3611dac565b15156115de57600080fd5b60766000836000191660001916815260200190815260200160002060020160050160009054906101000a900460ff169050919050565b600061161e611dac565b151561162957600080fd5b607660008360001916600019168152602001908152602001600020600201600001549050919050565b61165d601554611c89565b151561166857600080fd5b6003546000191660766000876000191660001916815260200190815260200160002060000154600019161480156116a9575060035460001916856000191614155b15156116b457600080fd5b607073__DoublyLinkedList______________________63582f30b49091876040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561173257600080fd5b505af4158015611746573d6000803e3d6000fd5b505050506040513d602081101561175c57600080fd5b81019080805190602001909291905050505084607660008760001916600019168152602001908152602001600020600001816000191690555083607660008760001916600019168152602001908152602001600020600b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504260766000876000191660001916815260200190815260200160002060010181905550826076600087600019166000191681526020019081526020016000206008019080519060200190611847929190611ed8565b5081607660008760001916600019168152602001908152602001600020600901908051906020019061187a929190611f25565b5080607660008760001916600019168152602001908152602001600020600a0190805190602001906118ad929190611faf565b505050505050565b60008090505b818110156119655782818151811015156118d157fe5b906020019060200201516076600087600019166000191681526020019081526020016000206002016002016000868481518110151561190c57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020816000191690555080806001019150506118bb565b5050505050565b6000611976611dac565b151561198157600080fd5b60766000836000191660001916815260200190815260200160002060020160050160019054906101000a900460ff169050919050565b60006119c4601954611c89565b15156119cf57600080fd5b6076600084600019166000191681526020019081526020016000209050818160020160050160016101000a81548160ff021916908315150217905550505050565b600080600080607660008660001916600019168152602001908152602001600020600001549350607660008660001916600019168152602001908152602001600020600b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692506076600086600019166000191681526020019081526020016000206001015491506076600086600019166000191681526020019081526020016000206002016000015490509193509193565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080611af5611dac565b1515611b0057600080fd5b60766000856000191660001916815260200190815260200160002060020173__DaoStructs____________________________634bf150b99091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050604080518083038186803b158015611bbd57600080fd5b505af4158015611bd1573d6000803e3d6000fd5b505050506040513d6040811015611be757600080fd5b810190808051906020019092919080519060200190929190505050915091509250929050565b6000611c17611dac565b1515611c2257600080fd5b60766000846000191660001916815260200190815260200160002060020160020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611d2357600080fd5b505af1158015611d37573d6000803e3d6000fd5b505050506040513d6020811015611d4d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b6000828211151515611da157fe5b818303905092915050565b60003273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611ec15750611deb611ec6565b73ffffffffffffffffffffffffffffffffffffffff16639b19251a336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611e8557600080fd5b505af1158015611e99573d6000803e3d6000fd5b505050506040513d6020811015611eaf57600080fd5b81019080805190602001909291905050505b905090565b6000611ed3602e546110b7565b905090565b828054828255906000526020600020908101928215611f14579160200282015b82811115611f13578251825591602001919060010190611ef8565b5b509050611f219190612002565b5090565b828054828255906000526020600020908101928215611f9e579160200282015b82811115611f9d5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190611f45565b5b509050611fab9190612027565b5090565b828054828255906000526020600020908101928215611ff1579160200282015b82811115611ff0578251829060001916905591602001919060010190611fcf565b5b509050611ffe919061206a565b5090565b61202491905b80821115612020576000816000905550600101612008565b5090565b90565b61206791905b8082111561206357600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555060010161202d565b5090565b90565b61208c91905b80821115612088576000816000905550600101612070565b5090565b905600a165627a7a7230582034b9ed8122024cdd5dab3a06ecc5ea6648a55dae5f561b84aaeaf01cbb25faed0029", + "deployedBytecode": "0x608060405260043610610128576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec1461012d5780630d92dfb2146101845780631fae91f7146101c15780632e278bf9146102c55780633943380c146103245780633dd865b0146103575780633f83acff1461047b578063462d701f146104ec57806356ecd657146105535780635b712eb6146106695780636999b93f146106da57806373758c221461071557806379e4ce9d146107795780638839a29d146107c25780638b8a759314610807578063a00d964c14610921578063b89c3952146109e2578063d6ae87bf14610a2b578063d8d5017914610a68578063db4ecbc114610af6578063e5c2654e14610b4d578063f31a1ba214610bbd575b600080fd5b34801561013957600080fd5b50610142610c2a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561019057600080fd5b506101bf6004803603810190808035600019169060200190929190803515159060200190929190505050610c4f565b005b3480156101cd57600080fd5b506102c3600480360381019080803560001916906020019092919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050610ca2565b005b3480156102d157600080fd5b5061032260048036038101908080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610df4565b005b34801561033057600080fd5b50610339610e76565b60405180826000191660001916815260200191505060405180910390f35b34801561036357600080fd5b506104796004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050610e7c565b005b34801561048757600080fd5b506104aa60048036038101908080356000191690602001909291905050506110b7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104f857600080fd5b506105516004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919080359060200190929190505050611193565b005b34801561055f57600080fd5b506105826004803603810190808035600019169060200190929190505050611299565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156105cd5780820151818401526020810190506105b2565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561060f5780820151818401526020810190506105f4565b50505050905001848103825285818151815260200191508051906020019060200280838360005b83811015610651578082015181840152602081019050610636565b50505050905001965050505050505060405180910390f35b34801561067557600080fd5b50610698600480360381019080803560001916906020019092919050505061142c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106e657600080fd5b50610713600480360381019080803560001916906020019092919080359060200190929190505050611474565b005b34801561072157600080fd5b5061075c60048036038101908080356000191690602001909291908035906020019082018035906020019190919293919293905050506114b4565b604051808381526020018281526020019250505060405180910390f35b34801561078557600080fd5b506107a860048036038101908080356000191690602001909291905050506115c9565b604051808215151515815260200191505060405180910390f35b3480156107ce57600080fd5b506107f16004803603810190808035600019169060200190929190505050611614565b6040518082815260200191505060405180910390f35b34801561081357600080fd5b5061091f6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611652565b005b34801561092d57600080fd5b506109e060048036038101908080356000191690602001909291908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001909291905050506118b5565b005b3480156109ee57600080fd5b50610a11600480360381019080803560001916906020019092919050505061196c565b604051808215151515815260200191505060405180910390f35b348015610a3757600080fd5b50610a6660048036038101908080356000191690602001909291908035151590602001909291905050506119b7565b005b348015610a7457600080fd5b50610a976004803603810190808035600019169060200190929190505050611a10565b6040518085600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390f35b348015610b0257600080fd5b50610b0b611ac4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b5957600080fd5b50610b9c6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aea565b60405180831515151581526020018281526020019250505060405180910390f35b348015610bc957600080fd5b50610c0c6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c0d565b60405180826000191660001916815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c5a601954611c89565b1515610c6557600080fd5b8060766000846000191660001916815260200190815260200160002060020160050160006101000a81548160ff0219169083151502179055505050565b60008090505b81811015610dec5760766000876000191660001916815260200190815260200160002060020173__DaoStructs____________________________631a14c51b90918784815181101515610cf857fe5b906020019060200201518785815181101515610d1057fe5b906020019060200201518786815181101515610d2857fe5b906020019060200201516040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018315151515815260200182815260200194505050505060006040518083038186803b158015610dc757600080fd5b505af4158015610ddb573d6000803e3d6000fd5b505050508080600101915050610ca8565b505050505050565b610dff601754611c89565b1515610e0a57600080fd5b8160766000856000191660001916815260200190815260200160002060020160020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208160001916905550505050565b60015481565b607073__DoublyLinkedList______________________63582f30b49091886040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015610efa57600080fd5b505af4158015610f0e573d6000803e3d6000fd5b505050506040513d6020811015610f2457600080fd5b81019080805190602001909291905050505085607660008860001916600019168152602001908152602001600020600001816000191690555084607660008860001916600019168152602001908152602001600020600b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610fce600182611d9390919063ffffffff16565b60766000886000191660001916815260200190815260200160002060010181905550836076600088600019166000191681526020019081526020016000206008019080519060200190611022929190611ed8565b50826076600088600019166000191681526020019081526020016000206009019080519060200190611055929190611f25565b5081607660008860001916600019168152602001908152602001600020600a019080519060200190611088929190611faf565b508060766000886000191660001916815260200190815260200160002060020160000181905550505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561115157600080fd5b505af1158015611165573d6000803e3d6000fd5b505050506040513d602081101561117b57600080fd5b81019080805190602001909291905050509050919050565b61119e601754611c89565b15156111a957600080fd5b60766000856000191660001916815260200190815260200160002060020173__DaoStructs____________________________631a14c51b90918585856040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018315151515815260200182815260200194505050505060006040518083038186803b15801561127b57600080fd5b505af415801561128f573d6000803e3d6000fd5b5050505050505050565b606080606060766000856000191660001916815260200190815260200160002060080180548060200260200160405190810160405280929190818152602001828054801561130657602002820191906000526020600020905b8154815260200190600101908083116112f2575b505050505092506076600085600019166000191681526020019081526020016000206009018054806020026020016040519081016040528092919081815260200182805480156113ab57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611361575b50505050509150607660008560001916600019168152602001908152602001600020600a0180548060200260200160405190810160405280929190818152602001828054801561141e57602002820191906000526020600020905b81546000191681526020019060010190808311611406575b505050505090509193909250565b6000607660008360001916600019168152602001908152602001600020600b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61147f601554611c89565b151561148a57600080fd5b80607660008460001916600019168152602001908152602001600020600201600001819055505050565b6000806114bf611dac565b15156114ca57600080fd5b60766000866000191660001916815260200190815260200160002060020173__DaoStructs____________________________63b31ee28c909186866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018060200182810382528484828181526020019250602002808284378201915050945050505050604080518083038186803b15801561157857600080fd5b505af415801561158c573d6000803e3d6000fd5b505050506040513d60408110156115a257600080fd5b81019080805190602001909291908051906020019092919050505091509150935093915050565b60006115d3611dac565b15156115de57600080fd5b60766000836000191660001916815260200190815260200160002060020160050160009054906101000a900460ff169050919050565b600061161e611dac565b151561162957600080fd5b607660008360001916600019168152602001908152602001600020600201600001549050919050565b61165d601554611c89565b151561166857600080fd5b6003546000191660766000876000191660001916815260200190815260200160002060000154600019161480156116a9575060035460001916856000191614155b15156116b457600080fd5b607073__DoublyLinkedList______________________63582f30b49091876040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561173257600080fd5b505af4158015611746573d6000803e3d6000fd5b505050506040513d602081101561175c57600080fd5b81019080805190602001909291905050505084607660008760001916600019168152602001908152602001600020600001816000191690555083607660008760001916600019168152602001908152602001600020600b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504260766000876000191660001916815260200190815260200160002060010181905550826076600087600019166000191681526020019081526020016000206008019080519060200190611847929190611ed8565b5081607660008760001916600019168152602001908152602001600020600901908051906020019061187a929190611f25565b5080607660008760001916600019168152602001908152602001600020600a0190805190602001906118ad929190611faf565b505050505050565b60008090505b818110156119655782818151811015156118d157fe5b906020019060200201516076600087600019166000191681526020019081526020016000206002016002016000868481518110151561190c57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020816000191690555080806001019150506118bb565b5050505050565b6000611976611dac565b151561198157600080fd5b60766000836000191660001916815260200190815260200160002060020160050160019054906101000a900460ff169050919050565b60006119c4601954611c89565b15156119cf57600080fd5b6076600084600019166000191681526020019081526020016000209050818160020160050160016101000a81548160ff021916908315150217905550505050565b600080600080607660008660001916600019168152602001908152602001600020600001549350607660008660001916600019168152602001908152602001600020600b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692506076600086600019166000191681526020019081526020016000206001015491506076600086600019166000191681526020019081526020016000206002016000015490509193509193565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080611af5611dac565b1515611b0057600080fd5b60766000856000191660001916815260200190815260200160002060020173__DaoStructs____________________________634bf150b99091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050604080518083038186803b158015611bbd57600080fd5b505af4158015611bd1573d6000803e3d6000fd5b505050506040513d6040811015611be757600080fd5b810190808051906020019092919080519060200190929190505050915091509250929050565b6000611c17611dac565b1515611c2257600080fd5b60766000846000191660001916815260200190815260200160002060020160020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611d2357600080fd5b505af1158015611d37573d6000803e3d6000fd5b505050506040513d6020811015611d4d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b6000828211151515611da157fe5b818303905092915050565b60003273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611ec15750611deb611ec6565b73ffffffffffffffffffffffffffffffffffffffff16639b19251a336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611e8557600080fd5b505af1158015611e99573d6000803e3d6000fd5b505050506040513d6020811015611eaf57600080fd5b81019080805190602001909291905050505b905090565b6000611ed3602e546110b7565b905090565b828054828255906000526020600020908101928215611f14579160200282015b82811115611f13578251825591602001919060010190611ef8565b5b509050611f219190612002565b5090565b828054828255906000526020600020908101928215611f9e579160200282015b82811115611f9d5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190611f45565b5b509050611fab9190612027565b5090565b828054828255906000526020600020908101928215611ff1579160200282015b82811115611ff0578251829060001916905591602001919060010190611fcf565b5b509050611ffe919061206a565b5090565b61202491905b80821115612020576000816000905550600101612008565b5090565b90565b61206791905b8082111561206357600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555060010161202d565b5090565b90565b61208c91905b80821115612088576000816000905550600101612070565b5090565b905600a165627a7a7230582034b9ed8122024cdd5dab3a06ecc5ea6648a55dae5f561b84aaeaf01cbb25faed0029", + "sourceMap": "72:1655:26:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;131:69:26;8:9:-1;5:2;;;30:1;27;20:12;5:2;131:69:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;187:9;764:45:58;769:28;;799:9;764:4;;;:45;;;:::i;:::-;756:54;;;;;;;;708:109;131:69:26;72:1655;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;72:1655:26:-;;;;;;;", + "deployedSourceMap": "72:1655:26:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;4223:202:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4223:202:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1362:363:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1362:363:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3276:244:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3276:244:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;206:814:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;206:814:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5191:277:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5191:277:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2328:438;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2328:438:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2328:438:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2328:438:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2328:438:58;;;;;;;;;;;;;;;;;;;;;2139:183;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2139:183:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3787:205;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3787:205:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2772:271;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2772:271:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3998:219;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3998:219:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3049:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3049:221:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;823:818;;8:9:-1;5:2;;;30:1;27;20:12;5:2;823:818:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1026:330:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1026:330:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4715:215:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4715:215:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4431:278;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4431:278:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1647:486;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1647:486:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;4936:249:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4936:249:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3526:255;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3526:255:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;4223:202:58:-;4312:45;4322:34;;4312:9;:45::i;:::-;4304:54;;;;;;;;4411:7;4368:13;:26;4382:11;4368:26;;;;;;;;;;;;;;;;;:33;;:40;;;:50;;;;;;;;;;;;;;;;;;4223:202;;:::o;1362:363:26:-;1569:10;1582:1;1569:14;;1564:155;1590:7;1585:2;:12;1564:155;;;1619:13;:33;1633:18;1619:33;;;;;;;;;;;;;;;;;:40;;:51;;;;1671:7;1679:2;1671:11;;;;;;;;;;;;;;;;;;1684:6;1691:2;1684:10;;;;;;;;;;;;;;;;;;1696:7;1704:2;1696:11;;;;;;;;;;;;;;;;;;1619:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1619:89:26;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1619:89:26;;;;1599:4;;;;;;;1564:155;;;1362:363;;;;;;:::o;3276:244:58:-;3415:30;3425:19;;3415:9;:30::i;:::-;3407:39;;;;;;;;3508:5;3456:13;:26;3470:11;3456:26;;;;;;;;;;;;;;;;;:33;;:41;;:49;3498:6;3456:49;;;;;;;;;;;;;;;:57;;;;;;;3276:244;;;:::o;264:18:67:-;;;;:::o;206:814:26:-;465:9;:16;;;;482:18;465:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;465:36:26;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;465:36:26;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;465:36:26;;;;;;;;;;;;;;;;;558:18;511:13;:33;525:18;511:33;;;;;;;;;;;;;;;;;:44;;:65;;;;;;;631:8;586:13;:33;600:18;586:33;;;;;;;;;;;;;;;;;:42;;;:53;;;;;;;;;;;;;;;;;;697:21;716:1;697:14;:18;;:21;;;;:::i;:::-;649:13;:33;663:18;649:33;;;;;;;;;;;;;;;;;:45;;:69;;;;776:12;728:13;:33;742:18;728:33;;;;;;;;;;;;;;;;;:45;;:60;;;;;;;;;;;;:::i;:::-;;849:15;798:13;:33;812:18;798:33;;;;;;;;;;;;;;;;;:48;;:66;;;;;;;;;;;;:::i;:::-;;923:13;874;:33;888:18;874:33;;;;;;;;;;;;;;;;;:46;;:62;;;;;;;;;;;;:::i;:::-;;999:14;946:13;:33;960:18;946:33;;;;;;;;;;;;;;;;;:40;;:50;;:67;;;;206:814;;;;;;:::o;2380:179:67:-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;5191:277:58:-;5352:30;5362:19;;5352:9;:30::i;:::-;5344:39;;;;;;;;5393:13;:26;5407:11;5393:26;;;;;;;;;;;;;;;;;:33;;:44;;;;5438:6;5446:5;5453:7;5393:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5393:68:58;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5393:68:58;;;;5191:277;;;;:::o;2328:438::-;2428:29;2471:32;2517:30;2587:13;:26;2601:11;2587:26;;;;;;;;;;;;;;;;;:38;;2572:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2653:13;:26;2667:11;2653:26;;;;;;;;;;;;;;;;;:41;;2635:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2720:13;:26;2734:11;2720:26;;;;;;;;;;;;;;;;;:39;;2704:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2328:438;;;;;:::o;2139:183::-;2235:17;2280:13;:26;2294:11;2280:26;;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;2268:47;;2139:183;;;:::o;3787:205::-;3883:40;3893:29;;3883:9;:40::i;:::-;3875:49;;;;;;;;3980:5;3934:13;:26;3948:11;3934:26;;;;;;;;;;;;;;;;;:33;;:43;;:51;;;;3787:205;;:::o;2772:271::-;2886:12;2900:16;2940:23;:21;:23::i;:::-;2932:32;;;;;;;;2981:13;:26;2995:11;2981:26;;;;;;;;;;;;;;;;;:33;;:44;;;;3026:9;;2981:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2981:55:58;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2981:55:58;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2981:55:58;;;;;;;;;;;;;;;;;;;;;;;;;2974:62;;;;2772:271;;;;;;:::o;3998:219::-;4090:12;4126:23;:21;:23::i;:::-;4118:32;;;;;;;;4170:13;:26;4184:11;4170:26;;;;;;;;;;;;;;;;;:33;;:40;;;;;;;;;;;;4160:50;;3998:219;;;:::o;3049:221::-;3139:14;3177:23;:21;:23::i;:::-;3169:32;;;;;;;;3220:13;:26;3234:11;3220:26;;;;;;;;;;;;;;;;;:33;;:43;;;3211:52;;3049:221;;;:::o;823:818::-;1050:40;1060:29;;1050:9;:40::i;:::-;1042:49;;;;;;;;1162:11;;1121:52;;;:13;:26;1135:11;1121:26;;;;;;;;;;;;;;;;;:37;;;:52;;;;1120:96;;;;;1204:11;;1189:26;;;:11;:26;;;;;1120:96;1101:125;;;;;;;;1236:9;:16;;;;1253:11;1236:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1236:29:58;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1236:29:58;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1236:29:58;;;;;;;;;;;;;;;;;1315:11;1275:13;:26;1289:11;1275:26;;;;;;;;;;;;;;;;;:37;;:51;;;;;;;1374:9;1336:13;:26;1350:11;1336:26;;;;;;;;;;;;;;;;;:35;;;:47;;;;;;;;;;;;;;;;;;1434:3;1393:13;:26;1407:11;1393:26;;;;;;;;;;;;;;;;;:38;;:44;;;;1488:12;1447:13;:26;1461:11;1447:26;;;;;;;;;;;;;;;;;:38;;:53;;;;;;;;;;;;:::i;:::-;;1554:15;1510:13;:26;1524:11;1510:26;;;;;;;;;;;;;;;;;:41;;:59;;;;;;;;;;;;:::i;:::-;;1621:13;1579;:26;1593:11;1579:26;;;;;;;;;;;;;;;;;:39;;:55;;;;;;;;;;;;:::i;:::-;;823:818;;;;;:::o;1026:330:26:-;1213:10;1226:1;1213:14;;1208:142;1234:7;1229:2;:12;1208:142;;;1327:8;1336:2;1327:12;;;;;;;;;;;;;;;;;;1263:13;:33;1277:18;1263:33;;;;;;;;;;;;;;;;;:40;;:48;;:61;1312:7;1320:2;1312:11;;;;;;;;;;;;;;;;;;1263:61;;;;;;;;;;;;;;;:76;;;;;;;1243:4;;;;;;;1208:142;;;1026:330;;;;;:::o;4715:215:58:-;4800:13;4837:23;:21;:23::i;:::-;4829:32;;;;;;;;4882:13;:26;4896:11;4882:26;;;;;;;;;;;;;;;;;:33;;:41;;;;;;;;;;;;4871:52;;4715:215;;;:::o;4431:278::-;4584:44;4528:45;4538:34;;4528:9;:45::i;:::-;4520:54;;;;;;;;4631:13;:26;4645:11;4631:26;;;;;;;;;;;;;;;;;4584:73;;4694:8;4667:9;:16;;:24;;;:35;;;;;;;;;;;;;;;;;;4431:278;;;:::o;1647:486::-;1748:11;1773:17;1804:20;1838:26;1895:13;:26;1909:11;1895:26;;;;;;;;;;;;;;;;;:37;;;1889:43;;1954:13;:26;1968:11;1954:26;;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;1942:47;;2014:13;:26;2028:11;2014:26;;;;;;;;;;;;;;;;;:38;;;1999:53;;2083:13;:26;2097:11;2083:26;;;;;;;;;;;;;;;;;:33;;:43;;;2062:64;;1647:486;;;;;:::o;344:31:67:-;;;;;;;;;;;;;:::o;4936:249:58:-;5036:10;5048:15;5087:23;:21;:23::i;:::-;5079:32;;;;;;;;5128:13;:26;5142:11;5128:26;;;;;;;;;;;;;;;;;:33;;:42;;;;5171:6;5128:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5128:50:58;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5128:50:58;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5128:50:58;;;;;;;;;;;;;;;;;;;;;;;;;5121:57;;;;4936:249;;;;;:::o;3526:255::-;3634:19;3677:23;:21;:23::i;:::-;3669:32;;;;;;;;3725:13;:26;3739:11;3725:26;;;;;;;;;;;;;;;;;:33;;:41;;:49;3767:6;3725:49;;;;;;;;;;;;;;;;3711:63;;3526:255;;;;:::o;610:160:67:-;671:12;732:8;;;;;;;;;;;715:39;;;755:9;715:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;715:50:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;715:50:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;715:50:67;;;;;;;;;;;;;;;;701:64;;:10;:64;;;691:74;;610:160;;;:::o;1060:116:84:-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;707:316:6:-;787:27;956:9;942:23;;:10;:23;;;941:75;;;;970:24;:22;:24::i;:::-;:34;;;1005:10;970:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;970:46:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;970:46:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;970:46:6;;;;;;;;;;;;;;;;941:75;916:100;;707:316;:::o;240:219::-;321:32;404:47;417:33;;404:12;:47::i;:::-;369:83;;240:219;:::o;72:1655:26:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"./../storage/DaoSpecialStorage.sol\";\n\ncontract MockDaoSpecialStorage is DaoSpecialStorage {\n\n constructor(address _resolver) public DaoSpecialStorage(_resolver) {}\n\n function mock_put_proposal_as(\n bytes32 _specialProposalId,\n address _founder,\n uint256[] _uintConfigs,\n address[] _addressConfigs,\n bytes32[] _bytesConfigs,\n uint256 _startOfVoting\n )\n public\n {\n proposals.append(_specialProposalId);\n proposalsById[_specialProposalId].proposalId = _specialProposalId;\n proposalsById[_specialProposalId].proposer = _founder;\n proposalsById[_specialProposalId].timeCreated = _startOfVoting.sub(1);\n proposalsById[_specialProposalId].uintConfigs = _uintConfigs;\n proposalsById[_specialProposalId].addressConfigs = _addressConfigs;\n proposalsById[_specialProposalId].bytesConfigs = _bytesConfigs;\n proposalsById[_specialProposalId].voting.startTime = _startOfVoting;\n }\n\n function mock_put_commit_votes(\n bytes32 _specialProposalId,\n address[] _voters,\n bytes32[] _commits,\n uint256 _length\n )\n public\n {\n for (uint256 _i = 0; _i < _length; _i++) {\n proposalsById[_specialProposalId].voting.commits[_voters[_i]] = _commits[_i];\n }\n }\n\n function mock_put_past_votes(\n bytes32 _specialProposalId,\n address[] _voters,\n bool[] _votes,\n uint256[] _stakes,\n uint256 _length\n )\n public\n {\n for (uint256 _i = 0; _i < _length; _i++) {\n proposalsById[_specialProposalId].voting.revealVote(_voters[_i], _votes[_i], _stakes[_i]);\n }\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/mock/MockDaoSpecialStorage.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/MockDaoSpecialStorage.sol", + "exportedSymbols": { + "MockDaoSpecialStorage": [ + 8802 + ] + }, + "id": 8803, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 8626, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:26" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoSpecialStorage.sol", + "file": "./../storage/DaoSpecialStorage.sol", + "id": 8627, + "nodeType": "ImportDirective", + "scope": 8803, + "sourceUnit": 16030, + "src": "26:44:26", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 8628, + "name": "DaoSpecialStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 16029, + "src": "106:17:26", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 8629, + "nodeType": "InheritanceSpecifier", + "src": "106:17:26" + } + ], + "contractDependencies": [ + 1580, + 1819, + 16029, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 8802, + "linearizedBaseContracts": [ + 8802, + 16029, + 1819, + 1580, + 19058 + ], + "name": "MockDaoSpecialStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 8637, + "nodeType": "Block", + "src": "198:2:26", + "statements": [] + }, + "documentation": null, + "id": 8638, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 8634, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8631, + "src": "187:9:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 8635, + "modifierName": { + "argumentTypes": null, + "id": 8633, + "name": "DaoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16029, + "src": "169:17:26", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "type(contract DaoSpecialStorage)" + } + }, + "nodeType": "ModifierInvocation", + "src": "169:28:26" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8632, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8631, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 8638, + "src": "143:17:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8630, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "143:7:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "142:19:26" + }, + "payable": false, + "returnParameters": { + "id": 8636, + "nodeType": "ParameterList", + "parameters": [], + "src": "198:0:26" + }, + "scope": 8802, + "src": "131:69:26", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 8715, + "nodeType": "Block", + "src": "455:565:26", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 8659, + "name": "_specialProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8640, + "src": "482:18:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 8656, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15564, + "src": "465:9:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 8658, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "465:16:26", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 8660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "465:36:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8661, + "nodeType": "ExpressionStatement", + "src": "465:36:26" + }, + { + "expression": { + "argumentTypes": null, + "id": 8667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8662, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "511:13:26", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 8664, + "indexExpression": { + "argumentTypes": null, + "id": 8663, + "name": "_specialProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8640, + "src": "525:18:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "511:33:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 8665, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "proposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 8442, + "src": "511:44:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8666, + "name": "_specialProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8640, + "src": "558:18:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "511:65:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 8668, + "nodeType": "ExpressionStatement", + "src": "511:65:26" + }, + { + "expression": { + "argumentTypes": null, + "id": 8674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8669, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "586:13:26", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 8671, + "indexExpression": { + "argumentTypes": null, + "id": 8670, + "name": "_specialProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8640, + "src": "600:18:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "586:33:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 8672, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "proposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 8457, + "src": "586:42:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8673, + "name": "_founder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8642, + "src": "631:8:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "586:53:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8675, + "nodeType": "ExpressionStatement", + "src": "586:53:26" + }, + { + "expression": { + "argumentTypes": null, + "id": 8684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8676, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "649:13:26", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 8678, + "indexExpression": { + "argumentTypes": null, + "id": 8677, + "name": "_specialProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8640, + "src": "663:18:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "649:33:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 8679, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "timeCreated", + "nodeType": "MemberAccess", + "referencedDeclaration": 8444, + "src": "649:45:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 8682, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "716:1:26", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 8680, + "name": "_startOfVoting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8653, + "src": "697:14:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "697:18:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 8683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "697:21:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "649:69:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8685, + "nodeType": "ExpressionStatement", + "src": "649:69:26" + }, + { + "expression": { + "argumentTypes": null, + "id": 8691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8686, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "728:13:26", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 8688, + "indexExpression": { + "argumentTypes": null, + "id": 8687, + "name": "_specialProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8640, + "src": "742:18:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "728:33:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 8689, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "uintConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 8449, + "src": "728:45:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8690, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8645, + "src": "776:12:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "728:60:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 8692, + "nodeType": "ExpressionStatement", + "src": "728:60:26" + }, + { + "expression": { + "argumentTypes": null, + "id": 8698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8693, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "798:13:26", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 8695, + "indexExpression": { + "argumentTypes": null, + "id": 8694, + "name": "_specialProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8640, + "src": "812:18:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "798:33:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 8696, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "addressConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 8452, + "src": "798:48:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8697, + "name": "_addressConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8648, + "src": "849:15:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "798:66:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 8699, + "nodeType": "ExpressionStatement", + "src": "798:66:26" + }, + { + "expression": { + "argumentTypes": null, + "id": 8705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8700, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "874:13:26", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 8702, + "indexExpression": { + "argumentTypes": null, + "id": 8701, + "name": "_specialProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8640, + "src": "888:18:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "874:33:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 8703, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "bytesConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 8455, + "src": "874:46:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8704, + "name": "_bytesConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8651, + "src": "923:13:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "874:62:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "id": 8706, + "nodeType": "ExpressionStatement", + "src": "874:62:26" + }, + { + "expression": { + "argumentTypes": null, + "id": 8713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8707, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "946:13:26", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 8709, + "indexExpression": { + "argumentTypes": null, + "id": 8708, + "name": "_specialProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8640, + "src": "960:18:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "946:33:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 8710, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "946:40:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 8711, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "946:50:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8712, + "name": "_startOfVoting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8653, + "src": "999:14:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "946:67:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8714, + "nodeType": "ExpressionStatement", + "src": "946:67:26" + } + ] + }, + "documentation": null, + "id": 8716, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_put_proposal_as", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8654, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8640, + "name": "_specialProposalId", + "nodeType": "VariableDeclaration", + "scope": 8716, + "src": "245:26:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8639, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "245:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8642, + "name": "_founder", + "nodeType": "VariableDeclaration", + "scope": 8716, + "src": "281:16:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8641, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "281:7:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8645, + "name": "_uintConfigs", + "nodeType": "VariableDeclaration", + "scope": 8716, + "src": "307:22:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 8643, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "307:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8644, + "length": null, + "nodeType": "ArrayTypeName", + "src": "307:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8648, + "name": "_addressConfigs", + "nodeType": "VariableDeclaration", + "scope": 8716, + "src": "339:25:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 8646, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "339:7:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8647, + "length": null, + "nodeType": "ArrayTypeName", + "src": "339:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8651, + "name": "_bytesConfigs", + "nodeType": "VariableDeclaration", + "scope": 8716, + "src": "374:23:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 8649, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "374:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 8650, + "length": null, + "nodeType": "ArrayTypeName", + "src": "374:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8653, + "name": "_startOfVoting", + "nodeType": "VariableDeclaration", + "scope": 8716, + "src": "407:22:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8652, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "407:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "235:200:26" + }, + "payable": false, + "returnParameters": { + "id": 8655, + "nodeType": "ParameterList", + "parameters": [], + "src": "455:0:26" + }, + "scope": 8802, + "src": "206:814:26", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 8755, + "nodeType": "Block", + "src": "1198:158:26", + "statements": [ + { + "body": { + "id": 8753, + "nodeType": "Block", + "src": "1249:101:26", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8739, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "1263:13:26", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 8741, + "indexExpression": { + "argumentTypes": null, + "id": 8740, + "name": "_specialProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8718, + "src": "1277:18:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1263:33:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 8742, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "1263:40:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 8743, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "commits", + "nodeType": "MemberAccess", + "referencedDeclaration": 7955, + "src": "1263:48:26", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$", + "typeString": "mapping(address => bytes32)" + } + }, + "id": 8747, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8744, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8721, + "src": "1312:7:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 8746, + "indexExpression": { + "argumentTypes": null, + "id": 8745, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8730, + "src": "1320:2:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1312:11:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1263:61:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8748, + "name": "_commits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8724, + "src": "1327:8:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 8750, + "indexExpression": { + "argumentTypes": null, + "id": 8749, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8730, + "src": "1336:2:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1327:12:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1263:76:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 8752, + "nodeType": "ExpressionStatement", + "src": "1263:76:26" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8733, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8730, + "src": "1229:2:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 8734, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8726, + "src": "1234:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1229:12:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8754, + "initializationExpression": { + "assignments": [ + 8730 + ], + "declarations": [ + { + "constant": false, + "id": 8730, + "name": "_i", + "nodeType": "VariableDeclaration", + "scope": 8756, + "src": "1213:10:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8729, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1213:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8732, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 8731, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1226:1:26", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1213:14:26" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 8737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1243:4:26", + "subExpression": { + "argumentTypes": null, + "id": 8736, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8730, + "src": "1243:2:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8738, + "nodeType": "ExpressionStatement", + "src": "1243:4:26" + }, + "nodeType": "ForStatement", + "src": "1208:142:26" + } + ] + }, + "documentation": null, + "id": 8756, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_put_commit_votes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8727, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8718, + "name": "_specialProposalId", + "nodeType": "VariableDeclaration", + "scope": 8756, + "src": "1066:26:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8717, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1066:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8721, + "name": "_voters", + "nodeType": "VariableDeclaration", + "scope": 8756, + "src": "1102:17:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 8719, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1102:7:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8720, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1102:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8724, + "name": "_commits", + "nodeType": "VariableDeclaration", + "scope": 8756, + "src": "1129:18:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 8722, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1129:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 8723, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1129:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8726, + "name": "_length", + "nodeType": "VariableDeclaration", + "scope": 8756, + "src": "1157:15:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8725, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1157:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1056:122:26" + }, + "payable": false, + "returnParameters": { + "id": 8728, + "nodeType": "ParameterList", + "parameters": [], + "src": "1198:0:26" + }, + "scope": 8802, + "src": "1026:330:26", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 8800, + "nodeType": "Block", + "src": "1554:171:26", + "statements": [ + { + "body": { + "id": 8798, + "nodeType": "Block", + "src": "1605:114:26", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8787, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8761, + "src": "1671:7:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 8789, + "indexExpression": { + "argumentTypes": null, + "id": 8788, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8773, + "src": "1679:2:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1671:11:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8790, + "name": "_votes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8764, + "src": "1684:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + "id": 8792, + "indexExpression": { + "argumentTypes": null, + "id": 8791, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8773, + "src": "1691:2:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1684:10:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8793, + "name": "_stakes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8767, + "src": "1696:7:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 8795, + "indexExpression": { + "argumentTypes": null, + "id": 8794, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8773, + "src": "1704:2:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1696:11:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8782, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "1619:13:26", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 8784, + "indexExpression": { + "argumentTypes": null, + "id": 8783, + "name": "_specialProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8758, + "src": "1633:18:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1619:33:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 8785, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "1619:40:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 8786, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 8278, + "src": "1619:51:26", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Voting_$7970_storage_ptr_$_t_address_$_t_bool_$_t_uint256_$returns$__$bound_to$_t_struct$_Voting_$7970_storage_ptr_$", + "typeString": "function (struct DaoStructs.Voting storage pointer,address,bool,uint256)" + } + }, + "id": 8796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1619:89:26", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8797, + "nodeType": "ExpressionStatement", + "src": "1619:89:26" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8776, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8773, + "src": "1585:2:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 8777, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8769, + "src": "1590:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1585:12:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8799, + "initializationExpression": { + "assignments": [ + 8773 + ], + "declarations": [ + { + "constant": false, + "id": 8773, + "name": "_i", + "nodeType": "VariableDeclaration", + "scope": 8801, + "src": "1569:10:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8772, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1569:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8775, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 8774, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1582:1:26", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1569:14:26" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 8780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1599:4:26", + "subExpression": { + "argumentTypes": null, + "id": 8779, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8773, + "src": "1599:2:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8781, + "nodeType": "ExpressionStatement", + "src": "1599:4:26" + }, + "nodeType": "ForStatement", + "src": "1564:155:26" + } + ] + }, + "documentation": null, + "id": 8801, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_put_past_votes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8770, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8758, + "name": "_specialProposalId", + "nodeType": "VariableDeclaration", + "scope": 8801, + "src": "1400:26:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8757, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1400:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8761, + "name": "_voters", + "nodeType": "VariableDeclaration", + "scope": 8801, + "src": "1436:17:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 8759, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1436:7:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8760, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1436:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8764, + "name": "_votes", + "nodeType": "VariableDeclaration", + "scope": 8801, + "src": "1463:13:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 8762, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1463:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8763, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1463:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8767, + "name": "_stakes", + "nodeType": "VariableDeclaration", + "scope": 8801, + "src": "1486:17:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 8765, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1486:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8766, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1486:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8769, + "name": "_length", + "nodeType": "VariableDeclaration", + "scope": 8801, + "src": "1513:15:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8768, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1513:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1390:144:26" + }, + "payable": false, + "returnParameters": { + "id": 8771, + "nodeType": "ParameterList", + "parameters": [], + "src": "1554:0:26" + }, + "scope": 8802, + "src": "1362:363:26", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 8803, + "src": "72:1655:26" + } + ], + "src": "0:1728:26" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/MockDaoSpecialStorage.sol", + "exportedSymbols": { + "MockDaoSpecialStorage": [ + 8802 + ] + }, + "id": 8803, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 8626, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:26" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoSpecialStorage.sol", + "file": "./../storage/DaoSpecialStorage.sol", + "id": 8627, + "nodeType": "ImportDirective", + "scope": 8803, + "sourceUnit": 16030, + "src": "26:44:26", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 8628, + "name": "DaoSpecialStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 16029, + "src": "106:17:26", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorage_$16029", + "typeString": "contract DaoSpecialStorage" + } + }, + "id": 8629, + "nodeType": "InheritanceSpecifier", + "src": "106:17:26" + } + ], + "contractDependencies": [ + 1580, + 1819, + 16029, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 8802, + "linearizedBaseContracts": [ + 8802, + 16029, + 1819, + 1580, + 19058 + ], + "name": "MockDaoSpecialStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 8637, + "nodeType": "Block", + "src": "198:2:26", + "statements": [] + }, + "documentation": null, + "id": 8638, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 8634, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8631, + "src": "187:9:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 8635, + "modifierName": { + "argumentTypes": null, + "id": 8633, + "name": "DaoSpecialStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16029, + "src": "169:17:26", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoSpecialStorage_$16029_$", + "typeString": "type(contract DaoSpecialStorage)" + } + }, + "nodeType": "ModifierInvocation", + "src": "169:28:26" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8632, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8631, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 8638, + "src": "143:17:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8630, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "143:7:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "142:19:26" + }, + "payable": false, + "returnParameters": { + "id": 8636, + "nodeType": "ParameterList", + "parameters": [], + "src": "198:0:26" + }, + "scope": 8802, + "src": "131:69:26", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 8715, + "nodeType": "Block", + "src": "455:565:26", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 8659, + "name": "_specialProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8640, + "src": "482:18:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 8656, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15564, + "src": "465:9:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 8658, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "465:16:26", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 8660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "465:36:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8661, + "nodeType": "ExpressionStatement", + "src": "465:36:26" + }, + { + "expression": { + "argumentTypes": null, + "id": 8667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8662, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "511:13:26", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 8664, + "indexExpression": { + "argumentTypes": null, + "id": 8663, + "name": "_specialProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8640, + "src": "525:18:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "511:33:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 8665, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "proposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 8442, + "src": "511:44:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8666, + "name": "_specialProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8640, + "src": "558:18:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "511:65:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 8668, + "nodeType": "ExpressionStatement", + "src": "511:65:26" + }, + { + "expression": { + "argumentTypes": null, + "id": 8674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8669, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "586:13:26", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 8671, + "indexExpression": { + "argumentTypes": null, + "id": 8670, + "name": "_specialProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8640, + "src": "600:18:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "586:33:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 8672, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "proposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 8457, + "src": "586:42:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8673, + "name": "_founder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8642, + "src": "631:8:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "586:53:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8675, + "nodeType": "ExpressionStatement", + "src": "586:53:26" + }, + { + "expression": { + "argumentTypes": null, + "id": 8684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8676, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "649:13:26", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 8678, + "indexExpression": { + "argumentTypes": null, + "id": 8677, + "name": "_specialProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8640, + "src": "663:18:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "649:33:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 8679, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "timeCreated", + "nodeType": "MemberAccess", + "referencedDeclaration": 8444, + "src": "649:45:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 8682, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "716:1:26", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "expression": { + "argumentTypes": null, + "id": 8680, + "name": "_startOfVoting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8653, + "src": "697:14:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "697:18:26", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 8683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "697:21:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "649:69:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8685, + "nodeType": "ExpressionStatement", + "src": "649:69:26" + }, + { + "expression": { + "argumentTypes": null, + "id": 8691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8686, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "728:13:26", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 8688, + "indexExpression": { + "argumentTypes": null, + "id": 8687, + "name": "_specialProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8640, + "src": "742:18:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "728:33:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 8689, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "uintConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 8449, + "src": "728:45:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8690, + "name": "_uintConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8645, + "src": "776:12:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "728:60:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 8692, + "nodeType": "ExpressionStatement", + "src": "728:60:26" + }, + { + "expression": { + "argumentTypes": null, + "id": 8698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8693, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "798:13:26", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 8695, + "indexExpression": { + "argumentTypes": null, + "id": 8694, + "name": "_specialProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8640, + "src": "812:18:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "798:33:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 8696, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "addressConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 8452, + "src": "798:48:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8697, + "name": "_addressConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8648, + "src": "849:15:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "798:66:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 8699, + "nodeType": "ExpressionStatement", + "src": "798:66:26" + }, + { + "expression": { + "argumentTypes": null, + "id": 8705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8700, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "874:13:26", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 8702, + "indexExpression": { + "argumentTypes": null, + "id": 8701, + "name": "_specialProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8640, + "src": "888:18:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "874:33:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 8703, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "bytesConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 8455, + "src": "874:46:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8704, + "name": "_bytesConfigs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8651, + "src": "923:13:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "src": "874:62:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "id": 8706, + "nodeType": "ExpressionStatement", + "src": "874:62:26" + }, + { + "expression": { + "argumentTypes": null, + "id": 8713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8707, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "946:13:26", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 8709, + "indexExpression": { + "argumentTypes": null, + "id": 8708, + "name": "_specialProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8640, + "src": "960:18:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "946:33:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 8710, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "946:40:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 8711, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "946:50:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8712, + "name": "_startOfVoting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8653, + "src": "999:14:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "946:67:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8714, + "nodeType": "ExpressionStatement", + "src": "946:67:26" + } + ] + }, + "documentation": null, + "id": 8716, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_put_proposal_as", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8654, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8640, + "name": "_specialProposalId", + "nodeType": "VariableDeclaration", + "scope": 8716, + "src": "245:26:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8639, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "245:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8642, + "name": "_founder", + "nodeType": "VariableDeclaration", + "scope": 8716, + "src": "281:16:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8641, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "281:7:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8645, + "name": "_uintConfigs", + "nodeType": "VariableDeclaration", + "scope": 8716, + "src": "307:22:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 8643, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "307:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8644, + "length": null, + "nodeType": "ArrayTypeName", + "src": "307:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8648, + "name": "_addressConfigs", + "nodeType": "VariableDeclaration", + "scope": 8716, + "src": "339:25:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 8646, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "339:7:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8647, + "length": null, + "nodeType": "ArrayTypeName", + "src": "339:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8651, + "name": "_bytesConfigs", + "nodeType": "VariableDeclaration", + "scope": 8716, + "src": "374:23:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 8649, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "374:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 8650, + "length": null, + "nodeType": "ArrayTypeName", + "src": "374:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8653, + "name": "_startOfVoting", + "nodeType": "VariableDeclaration", + "scope": 8716, + "src": "407:22:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8652, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "407:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "235:200:26" + }, + "payable": false, + "returnParameters": { + "id": 8655, + "nodeType": "ParameterList", + "parameters": [], + "src": "455:0:26" + }, + "scope": 8802, + "src": "206:814:26", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 8755, + "nodeType": "Block", + "src": "1198:158:26", + "statements": [ + { + "body": { + "id": 8753, + "nodeType": "Block", + "src": "1249:101:26", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8739, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "1263:13:26", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 8741, + "indexExpression": { + "argumentTypes": null, + "id": 8740, + "name": "_specialProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8718, + "src": "1277:18:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1263:33:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 8742, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "1263:40:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 8743, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "commits", + "nodeType": "MemberAccess", + "referencedDeclaration": 7955, + "src": "1263:48:26", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$", + "typeString": "mapping(address => bytes32)" + } + }, + "id": 8747, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8744, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8721, + "src": "1312:7:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 8746, + "indexExpression": { + "argumentTypes": null, + "id": 8745, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8730, + "src": "1320:2:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1312:11:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1263:61:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8748, + "name": "_commits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8724, + "src": "1327:8:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + }, + "id": 8750, + "indexExpression": { + "argumentTypes": null, + "id": 8749, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8730, + "src": "1336:2:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1327:12:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1263:76:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 8752, + "nodeType": "ExpressionStatement", + "src": "1263:76:26" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8733, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8730, + "src": "1229:2:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 8734, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8726, + "src": "1234:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1229:12:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8754, + "initializationExpression": { + "assignments": [ + 8730 + ], + "declarations": [ + { + "constant": false, + "id": 8730, + "name": "_i", + "nodeType": "VariableDeclaration", + "scope": 8756, + "src": "1213:10:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8729, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1213:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8732, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 8731, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1226:1:26", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1213:14:26" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 8737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1243:4:26", + "subExpression": { + "argumentTypes": null, + "id": 8736, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8730, + "src": "1243:2:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8738, + "nodeType": "ExpressionStatement", + "src": "1243:4:26" + }, + "nodeType": "ForStatement", + "src": "1208:142:26" + } + ] + }, + "documentation": null, + "id": 8756, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_put_commit_votes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8727, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8718, + "name": "_specialProposalId", + "nodeType": "VariableDeclaration", + "scope": 8756, + "src": "1066:26:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8717, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1066:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8721, + "name": "_voters", + "nodeType": "VariableDeclaration", + "scope": 8756, + "src": "1102:17:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 8719, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1102:7:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8720, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1102:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8724, + "name": "_commits", + "nodeType": "VariableDeclaration", + "scope": 8756, + "src": "1129:18:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 8722, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1129:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 8723, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1129:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8726, + "name": "_length", + "nodeType": "VariableDeclaration", + "scope": 8756, + "src": "1157:15:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8725, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1157:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1056:122:26" + }, + "payable": false, + "returnParameters": { + "id": 8728, + "nodeType": "ParameterList", + "parameters": [], + "src": "1198:0:26" + }, + "scope": 8802, + "src": "1026:330:26", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 8800, + "nodeType": "Block", + "src": "1554:171:26", + "statements": [ + { + "body": { + "id": 8798, + "nodeType": "Block", + "src": "1605:114:26", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8787, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8761, + "src": "1671:7:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 8789, + "indexExpression": { + "argumentTypes": null, + "id": 8788, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8773, + "src": "1679:2:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1671:11:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8790, + "name": "_votes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8764, + "src": "1684:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + "id": 8792, + "indexExpression": { + "argumentTypes": null, + "id": 8791, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8773, + "src": "1691:2:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1684:10:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8793, + "name": "_stakes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8767, + "src": "1696:7:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 8795, + "indexExpression": { + "argumentTypes": null, + "id": 8794, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8773, + "src": "1704:2:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1696:11:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 8782, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15568, + "src": "1619:13:26", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_SpecialProposal_$8458_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.SpecialProposal storage ref)" + } + }, + "id": 8784, + "indexExpression": { + "argumentTypes": null, + "id": 8783, + "name": "_specialProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8758, + "src": "1633:18:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1619:33:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_SpecialProposal_$8458_storage", + "typeString": "struct DaoStructs.SpecialProposal storage ref" + } + }, + "id": 8785, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "voting", + "nodeType": "MemberAccess", + "referencedDeclaration": 8446, + "src": "1619:40:26", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 8786, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "revealVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 8278, + "src": "1619:51:26", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Voting_$7970_storage_ptr_$_t_address_$_t_bool_$_t_uint256_$returns$__$bound_to$_t_struct$_Voting_$7970_storage_ptr_$", + "typeString": "function (struct DaoStructs.Voting storage pointer,address,bool,uint256)" + } + }, + "id": 8796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1619:89:26", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8797, + "nodeType": "ExpressionStatement", + "src": "1619:89:26" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8776, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8773, + "src": "1585:2:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 8777, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8769, + "src": "1590:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1585:12:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8799, + "initializationExpression": { + "assignments": [ + 8773 + ], + "declarations": [ + { + "constant": false, + "id": 8773, + "name": "_i", + "nodeType": "VariableDeclaration", + "scope": 8801, + "src": "1569:10:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8772, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1569:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8775, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 8774, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1582:1:26", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1569:14:26" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 8780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1599:4:26", + "subExpression": { + "argumentTypes": null, + "id": 8779, + "name": "_i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8773, + "src": "1599:2:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8781, + "nodeType": "ExpressionStatement", + "src": "1599:4:26" + }, + "nodeType": "ForStatement", + "src": "1564:155:26" + } + ] + }, + "documentation": null, + "id": 8801, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_put_past_votes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8770, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8758, + "name": "_specialProposalId", + "nodeType": "VariableDeclaration", + "scope": 8801, + "src": "1400:26:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8757, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1400:7:26", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8761, + "name": "_voters", + "nodeType": "VariableDeclaration", + "scope": 8801, + "src": "1436:17:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 8759, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1436:7:26", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8760, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1436:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8764, + "name": "_votes", + "nodeType": "VariableDeclaration", + "scope": 8801, + "src": "1463:13:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 8762, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1463:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 8763, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1463:6:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8767, + "name": "_stakes", + "nodeType": "VariableDeclaration", + "scope": 8801, + "src": "1486:17:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 8765, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1486:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8766, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1486:9:26", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8769, + "name": "_length", + "nodeType": "VariableDeclaration", + "scope": 8801, + "src": "1513:15:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8768, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1513:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1390:144:26" + }, + "payable": false, + "returnParameters": { + "id": 8771, + "nodeType": "ParameterList", + "parameters": [], + "src": "1554:0:26" + }, + "scope": 8802, + "src": "1362:363:26", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 8803, + "src": "72:1655:26" + } + ], + "src": "0:1728:26" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.861Z" +} \ No newline at end of file diff --git a/build/contracts/MockDaoStakeStorage.json b/build/contracts/MockDaoStakeStorage.json new file mode 100644 index 0000000..fec6c95 --- /dev/null +++ b/build/contracts/MockDaoStakeStorage.json @@ -0,0 +1,4065 @@ +{ + "contractName": "MockDaoStakeStorage", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "addToModeratorList", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "redeemBadge", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isInParticipantList", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_totalLockedDGDStake", + "type": "uint256" + } + ], + "name": "updateTotalLockedDGDStake", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_current_item", + "type": "address" + } + ], + "name": "readNextParticipant", + "outputs": [ + { + "name": "_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "removeFromParticipantList", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_current_item", + "type": "address" + } + ], + "name": "readNextModerator", + "outputs": [ + { + "name": "_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "setCarbonVoteBonusClaimed", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "readFirstModerator", + "outputs": [ + { + "name": "_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "readUserDGDStake", + "outputs": [ + { + "name": "_actualLockedDGD", + "type": "uint256" + }, + { + "name": "_lockedDGDStake", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_current_item", + "type": "address" + } + ], + "name": "readPreviousModerator", + "outputs": [ + { + "name": "_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "carbonVoteBonusClaimed", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_current_item", + "type": "address" + } + ], + "name": "readPreviousParticipant", + "outputs": [ + { + "name": "_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "readLastParticipant", + "outputs": [ + { + "name": "_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isInModeratorsList", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_totalLockedDGDStake", + "type": "uint256" + } + ], + "name": "updateTotalModeratorLockedDGDs", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "actualLockedDGD", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalLockedDGDStake", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_actualLockedDGD", + "type": "uint256" + }, + { + "name": "_lockedDGDStake", + "type": "uint256" + } + ], + "name": "updateUserDGDStake", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "readTotalParticipant", + "outputs": [ + { + "name": "_total_count", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "readLastModerator", + "outputs": [ + { + "name": "_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalModeratorLockedDGDStake", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "lockedDGDStake", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "readTotalModerators", + "outputs": [ + { + "name": "_total_count", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "readFirstParticipant", + "outputs": [ + { + "name": "_item", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "addToParticipantList", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "redeemedBadge", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "removeFromModeratorList", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_moderators", + "type": "address[]" + }, + { + "name": "_dgdStake", + "type": "uint256[]" + } + ], + "name": "mock_add_moderators", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_participants", + "type": "address[]" + }, + { + "name": "_dgdStake", + "type": "uint256[]" + } + ], + "name": "mock_add_participants", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b5060405160208062003773833981018060405281019080805190602001909291905050508062001176602c54826200118a640100000000026401000000009004565b15156200118257600080fd5b50506200141b565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f257600080fd5b505af115801562001207573d6000803e3d6000fd5b505050506040513d60208110156200121e57600080fd5b810190808051906020019092919050505090506000151581151514156200140f5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013bc57600080fd5b505af1158015620013d1573d6000803e3d6000fd5b505050506040513d6020811015620013e857600080fd5b810190808051906020019092919050505015156200140557600080fd5b6001915062001414565b600091505b5092915050565b612348806200142b6000396000f3006080604052600436106101ac576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303a996a1146101b157806303cc89b41461020c57806304f3bcec1461024f5780630c30a1d5146102a65780631538e68c146103015780633943380c1461032e5780633e0fd265146103615780633f83acff146103e457806344d9bfe61461045557806344e518a3146104b05780635515eb2c14610533578063583fd501146105765780635bdd2743146105cd57806363a640671461062b5780636d080338146106ae5780637bbad0b81461070957806382624a2e1461078c57806388954a6c146107e35780638b650aec1461083e57806391baa144146108e7578063abe8168c14610914578063abed029a1461096b578063ad5c464714610996578063b5830a4c146109ed578063bbb03dc214610a18578063bf448a8714610a6f578063c6e1408314610a9a578063cd094a2714610b43578063db4ecbc114610b9a578063e3bc96ba14610bf1578063e3bd970e14610c1c578063e41b4c5c14610c73578063f01a13e114610cce578063f2388b4214610d29575b600080fd5b3480156101bd57600080fd5b506101f2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d84565b604051808215151515815260200191505060405180910390f35b34801561021857600080fd5b5061024d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e80565b005b34801561025b57600080fd5b50610264610ef1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102b257600080fd5b506102e7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f16565b604051808215151515815260200191505060405180910390f35b34801561030d57600080fd5b5061032c60048036038101908080359060200190929190505050610fff565b005b34801561033a57600080fd5b50610343611056565b60405180826000191660001916815260200191505060405180910390f35b34801561036d57600080fd5b506103a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061105c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103f057600080fd5b506104136004803603810190808035600019169060200190929190505050611070565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561046157600080fd5b50610496600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061114c565b604051808215151515815260200191505060405180910390f35b3480156104bc57600080fd5b506104f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611248565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561053f57600080fd5b50610574600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061125c565b005b34801561058257600080fd5b5061058b6112cd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105d957600080fd5b5061060e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112de565b604051808381526020018281526020019250505060405180910390f35b34801561063757600080fd5b5061066c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061136a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106ba57600080fd5b506106ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061137e565b604051808215151515815260200191505060405180910390f35b34801561071557600080fd5b5061074a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061139e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561079857600080fd5b506107a16113b2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107ef57600080fd5b50610824600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113c3565b604051808215151515815260200191505060405180910390f35b34801561084a57600080fd5b506108e560048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506114ac565b005b3480156108f357600080fd5b50610912600480360381019080803590602001909291905050506116d3565b005b34801561092057600080fd5b50610955600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061172a565b6040518082815260200191505060405180910390f35b34801561097757600080fd5b50610980611742565b6040518082815260200191505060405180910390f35b3480156109a257600080fd5b506109eb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050611748565b005b3480156109f957600080fd5b50610a026117eb565b6040518082815260200191505060405180910390f35b348015610a2457600080fd5b50610a2d6117fc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a7b57600080fd5b50610a8461180d565b6040518082815260200191505060405180910390f35b348015610aa657600080fd5b50610b416004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611813565b005b348015610b4f57600080fd5b50610b84600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a44565b6040518082815260200191505060405180910390f35b348015610ba657600080fd5b50610baf611a5c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610bfd57600080fd5b50610c06611a82565b6040518082815260200191505060405180910390f35b348015610c2857600080fd5b50610c31611a93565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c7f57600080fd5b50610cb4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aa4565b604051808215151515815260200191505060405180910390f35b348015610cda57600080fd5b50610d0f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ba0565b604051808215151515815260200191505060405180910390f35b348015610d3557600080fd5b50610d6a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bc0565b604051808215151515815260200191505060405180910390f35b6000610d91601654611cbc565b1515610d9c57600080fd5b607a73__DoublyLinkedList______________________63bf8a2ac69091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610e3e57600080fd5b505af4158015610e52573d6000803e3d6000fd5b505050506040513d6020811015610e6857600080fd5b81019080805190602001909291905050509050919050565b610e8b601654611cbc565b1515610e9657600080fd5b6001608060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080607473__DoublyLinkedList______________________637ee0a5839091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610fbb57600080fd5b505af4158015610fcf573d6000803e3d6000fd5b505050506040513d6020811015610fe557600080fd5b810190808051906020019092919050505014159050919050565b61104160606040519081016040528060165460001916600019168152602001601b54600019166000191681526020016003546000191660001916815250611dc6565b151561104c57600080fd5b8060728190555050565b60015481565b6000611069607483611f3d565b9050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561110a57600080fd5b505af115801561111e573d6000803e3d6000fd5b505050506040513d602081101561113457600080fd5b81019080805190602001909291905050509050919050565b6000611159601654611cbc565b151561116457600080fd5b607473__DoublyLinkedList______________________638dc8bc2b9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561120657600080fd5b505af415801561121a573d6000803e3d6000fd5b505050506040513d602081101561123057600080fd5b81019080805190602001909291905050509050919050565b6000611255607a83611f3d565b9050919050565b611267601654611cbc565b151561127257600080fd5b6001608160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006112d9607a612023565b905090565b600080607160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150607060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050915091565b6000611377607a836120d4565b9050919050565b60816020528060005260406000206000915054906101000a900460ff1681565b60006113ab6074836120d4565b9050919050565b60006113be60746121ba565b905090565b600080607a73__DoublyLinkedList______________________637ee0a5839091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561146857600080fd5b505af415801561147c573d6000803e3d6000fd5b505050506040513d602081101561149257600080fd5b810190808051906020019092919050505014159050919050565b60008083519150600090505b818110156116cd57607473__DoublyLinkedList______________________63bf8a2ac6909186848151811015156114ec57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561157957600080fd5b505af415801561158d573d6000803e3d6000fd5b505050506040513d60208110156115a357600080fd5b81019080805190602001909291905050505082818151811015156115c357fe5b906020019060200201516071600086848151811015156115df57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550828181518110151561163557fe5b9060200190602002015160706000868481518110151561165157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082818151811015156116a757fe5b9060200190602002015160726000828254019250508190555080806001019150506114b8565b50505050565b61171560606040519081016040528060165460001916600019168152602001601b54600019166000191681526020016003546000191660001916815250611dc6565b151561172057600080fd5b8060738190555050565b60716020528060005260406000206000915090505481565b60725481565b611753601654611cbc565b151561175e57600080fd5b81607160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080607060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b60006117f7607461226b565b905090565b6000611808607a6121ba565b905090565b60735481565b60008083519150600090505b81811015611a3457607a73__DoublyLinkedList______________________63bf8a2ac69091868481518110151561185357fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156118e057600080fd5b505af41580156118f4573d6000803e3d6000fd5b505050506040513d602081101561190a57600080fd5b810190808051906020019092919050505050828181518110151561192a57fe5b9060200190602002015160716000868481518110151561194657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550828181518110151561199c57fe5b906020019060200201516070600086848151811015156119b857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508281815181101515611a0e57fe5b90602001906020020151607360008282540192505081905550808060010191505061181f565b611a3e84846114ac565b50505050565b60706020528060005260406000206000915090505481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611a8e607a61226b565b905090565b6000611a9f6074612023565b905090565b6000611ab1601654611cbc565b1515611abc57600080fd5b607473__DoublyLinkedList______________________63bf8a2ac69091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611b5e57600080fd5b505af4158015611b72573d6000803e3d6000fd5b505050506040513d6020811015611b8857600080fd5b81019080805190602001909291905050509050919050565b60806020528060005260406000206000915054906101000a900460ff1681565b6000611bcd601654611cbc565b1515611bd857600080fd5b607a73__DoublyLinkedList______________________638dc8bc2b9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611c7a57600080fd5b505af4158015611c8e573d6000803e3d6000fd5b505050506040513d6020811015611ca457600080fd5b81019080805190602001909291905050509050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611d5657600080fd5b505af1158015611d6a573d6000803e3d6000fd5b505050506040513d6020811015611d8057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b600080600060039150600090505b81811015611f36576000600102600019168482600381101515611df357fe5b6020020151600019161415611e0757611f29565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff8583600381101515611e5257fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611eb157600080fd5b505af1158015611ec5573d6000803e3d6000fd5b505050506040513d6020811015611edb57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611f285760019250611f36565b5b8080600101915050611dd4565b5050919050565b60008273__DoublyLinkedList______________________63a7b9777c9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611fe057600080fd5b505af4158015611ff4573d6000803e3d6000fd5b505050506040513d602081101561200a57600080fd5b8101908080519060200190929190505050905092915050565b60008173__DoublyLinkedList______________________63c333848890916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b15801561209257600080fd5b505af41580156120a6573d6000803e3d6000fd5b505050506040513d60208110156120bc57600080fd5b81019080805190602001909291905050509050919050565b60008273__DoublyLinkedList______________________6387fca8a69091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561217757600080fd5b505af415801561218b573d6000803e3d6000fd5b505050506040513d60208110156121a157600080fd5b8101908080519060200190929190505050905092915050565b60008173__DoublyLinkedList______________________63f46574aa90916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b15801561222957600080fd5b505af415801561223d573d6000803e3d6000fd5b505050506040513d602081101561225357600080fd5b81019080805190602001909291905050509050919050565b60008173__DoublyLinkedList______________________6312e3853d90916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b1580156122da57600080fd5b505af41580156122ee573d6000803e3d6000fd5b505050506040513d602081101561230457600080fd5b810190808051906020019092919050505090509190505600a165627a7a72305820f5aabcbbdcb7906c5fee2f4ccd324f6d2b48a01c3cec0e830d210ab0147e4b9d0029", + "deployedBytecode": "0x6080604052600436106101ac576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303a996a1146101b157806303cc89b41461020c57806304f3bcec1461024f5780630c30a1d5146102a65780631538e68c146103015780633943380c1461032e5780633e0fd265146103615780633f83acff146103e457806344d9bfe61461045557806344e518a3146104b05780635515eb2c14610533578063583fd501146105765780635bdd2743146105cd57806363a640671461062b5780636d080338146106ae5780637bbad0b81461070957806382624a2e1461078c57806388954a6c146107e35780638b650aec1461083e57806391baa144146108e7578063abe8168c14610914578063abed029a1461096b578063ad5c464714610996578063b5830a4c146109ed578063bbb03dc214610a18578063bf448a8714610a6f578063c6e1408314610a9a578063cd094a2714610b43578063db4ecbc114610b9a578063e3bc96ba14610bf1578063e3bd970e14610c1c578063e41b4c5c14610c73578063f01a13e114610cce578063f2388b4214610d29575b600080fd5b3480156101bd57600080fd5b506101f2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d84565b604051808215151515815260200191505060405180910390f35b34801561021857600080fd5b5061024d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e80565b005b34801561025b57600080fd5b50610264610ef1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102b257600080fd5b506102e7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f16565b604051808215151515815260200191505060405180910390f35b34801561030d57600080fd5b5061032c60048036038101908080359060200190929190505050610fff565b005b34801561033a57600080fd5b50610343611056565b60405180826000191660001916815260200191505060405180910390f35b34801561036d57600080fd5b506103a2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061105c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103f057600080fd5b506104136004803603810190808035600019169060200190929190505050611070565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561046157600080fd5b50610496600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061114c565b604051808215151515815260200191505060405180910390f35b3480156104bc57600080fd5b506104f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611248565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561053f57600080fd5b50610574600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061125c565b005b34801561058257600080fd5b5061058b6112cd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105d957600080fd5b5061060e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112de565b604051808381526020018281526020019250505060405180910390f35b34801561063757600080fd5b5061066c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061136a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106ba57600080fd5b506106ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061137e565b604051808215151515815260200191505060405180910390f35b34801561071557600080fd5b5061074a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061139e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561079857600080fd5b506107a16113b2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107ef57600080fd5b50610824600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113c3565b604051808215151515815260200191505060405180910390f35b34801561084a57600080fd5b506108e560048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506114ac565b005b3480156108f357600080fd5b50610912600480360381019080803590602001909291905050506116d3565b005b34801561092057600080fd5b50610955600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061172a565b6040518082815260200191505060405180910390f35b34801561097757600080fd5b50610980611742565b6040518082815260200191505060405180910390f35b3480156109a257600080fd5b506109eb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050611748565b005b3480156109f957600080fd5b50610a026117eb565b6040518082815260200191505060405180910390f35b348015610a2457600080fd5b50610a2d6117fc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a7b57600080fd5b50610a8461180d565b6040518082815260200191505060405180910390f35b348015610aa657600080fd5b50610b416004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611813565b005b348015610b4f57600080fd5b50610b84600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a44565b6040518082815260200191505060405180910390f35b348015610ba657600080fd5b50610baf611a5c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610bfd57600080fd5b50610c06611a82565b6040518082815260200191505060405180910390f35b348015610c2857600080fd5b50610c31611a93565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c7f57600080fd5b50610cb4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aa4565b604051808215151515815260200191505060405180910390f35b348015610cda57600080fd5b50610d0f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ba0565b604051808215151515815260200191505060405180910390f35b348015610d3557600080fd5b50610d6a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bc0565b604051808215151515815260200191505060405180910390f35b6000610d91601654611cbc565b1515610d9c57600080fd5b607a73__DoublyLinkedList______________________63bf8a2ac69091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610e3e57600080fd5b505af4158015610e52573d6000803e3d6000fd5b505050506040513d6020811015610e6857600080fd5b81019080805190602001909291905050509050919050565b610e8b601654611cbc565b1515610e9657600080fd5b6001608060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080607473__DoublyLinkedList______________________637ee0a5839091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610fbb57600080fd5b505af4158015610fcf573d6000803e3d6000fd5b505050506040513d6020811015610fe557600080fd5b810190808051906020019092919050505014159050919050565b61104160606040519081016040528060165460001916600019168152602001601b54600019166000191681526020016003546000191660001916815250611dc6565b151561104c57600080fd5b8060728190555050565b60015481565b6000611069607483611f3d565b9050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561110a57600080fd5b505af115801561111e573d6000803e3d6000fd5b505050506040513d602081101561113457600080fd5b81019080805190602001909291905050509050919050565b6000611159601654611cbc565b151561116457600080fd5b607473__DoublyLinkedList______________________638dc8bc2b9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561120657600080fd5b505af415801561121a573d6000803e3d6000fd5b505050506040513d602081101561123057600080fd5b81019080805190602001909291905050509050919050565b6000611255607a83611f3d565b9050919050565b611267601654611cbc565b151561127257600080fd5b6001608160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006112d9607a612023565b905090565b600080607160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150607060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050915091565b6000611377607a836120d4565b9050919050565b60816020528060005260406000206000915054906101000a900460ff1681565b60006113ab6074836120d4565b9050919050565b60006113be60746121ba565b905090565b600080607a73__DoublyLinkedList______________________637ee0a5839091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561146857600080fd5b505af415801561147c573d6000803e3d6000fd5b505050506040513d602081101561149257600080fd5b810190808051906020019092919050505014159050919050565b60008083519150600090505b818110156116cd57607473__DoublyLinkedList______________________63bf8a2ac6909186848151811015156114ec57fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561157957600080fd5b505af415801561158d573d6000803e3d6000fd5b505050506040513d60208110156115a357600080fd5b81019080805190602001909291905050505082818151811015156115c357fe5b906020019060200201516071600086848151811015156115df57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550828181518110151561163557fe5b9060200190602002015160706000868481518110151561165157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082818151811015156116a757fe5b9060200190602002015160726000828254019250508190555080806001019150506114b8565b50505050565b61171560606040519081016040528060165460001916600019168152602001601b54600019166000191681526020016003546000191660001916815250611dc6565b151561172057600080fd5b8060738190555050565b60716020528060005260406000206000915090505481565b60725481565b611753601654611cbc565b151561175e57600080fd5b81607160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080607060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b60006117f7607461226b565b905090565b6000611808607a6121ba565b905090565b60735481565b60008083519150600090505b81811015611a3457607a73__DoublyLinkedList______________________63bf8a2ac69091868481518110151561185357fe5b906020019060200201516040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156118e057600080fd5b505af41580156118f4573d6000803e3d6000fd5b505050506040513d602081101561190a57600080fd5b810190808051906020019092919050505050828181518110151561192a57fe5b9060200190602002015160716000868481518110151561194657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550828181518110151561199c57fe5b906020019060200201516070600086848151811015156119b857fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508281815181101515611a0e57fe5b90602001906020020151607360008282540192505081905550808060010191505061181f565b611a3e84846114ac565b50505050565b60706020528060005260406000206000915090505481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611a8e607a61226b565b905090565b6000611a9f6074612023565b905090565b6000611ab1601654611cbc565b1515611abc57600080fd5b607473__DoublyLinkedList______________________63bf8a2ac69091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611b5e57600080fd5b505af4158015611b72573d6000803e3d6000fd5b505050506040513d6020811015611b8857600080fd5b81019080805190602001909291905050509050919050565b60806020528060005260406000206000915054906101000a900460ff1681565b6000611bcd601654611cbc565b1515611bd857600080fd5b607a73__DoublyLinkedList______________________638dc8bc2b9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611c7a57600080fd5b505af4158015611c8e573d6000803e3d6000fd5b505050506040513d6020811015611ca457600080fd5b81019080805190602001909291905050509050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611d5657600080fd5b505af1158015611d6a573d6000803e3d6000fd5b505050506040513d6020811015611d8057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b600080600060039150600090505b81811015611f36576000600102600019168482600381101515611df357fe5b6020020151600019161415611e0757611f29565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff8583600381101515611e5257fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611eb157600080fd5b505af1158015611ec5573d6000803e3d6000fd5b505050506040513d6020811015611edb57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611f285760019250611f36565b5b8080600101915050611dd4565b5050919050565b60008273__DoublyLinkedList______________________63a7b9777c9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611fe057600080fd5b505af4158015611ff4573d6000803e3d6000fd5b505050506040513d602081101561200a57600080fd5b8101908080519060200190929190505050905092915050565b60008173__DoublyLinkedList______________________63c333848890916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b15801561209257600080fd5b505af41580156120a6573d6000803e3d6000fd5b505050506040513d60208110156120bc57600080fd5b81019080805190602001909291905050509050919050565b60008273__DoublyLinkedList______________________6387fca8a69091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561217757600080fd5b505af415801561218b573d6000803e3d6000fd5b505050506040513d60208110156121a157600080fd5b8101908080519060200190929190505050905092915050565b60008173__DoublyLinkedList______________________63f46574aa90916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b15801561222957600080fd5b505af415801561223d573d6000803e3d6000fd5b505050506040513d602081101561225357600080fd5b81019080805190602001909291905050509050919050565b60008173__DoublyLinkedList______________________6312e3853d90916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b1580156122da57600080fd5b505af41580156122ee573d6000803e3d6000fd5b505050506040513d602081101561230457600080fd5b810190808051906020019092919050505090509190505600a165627a7a72305820f5aabcbbdcb7906c5fee2f4ccd324f6d2b48a01c3cec0e830d210ab0147e4b9d0029", + "sourceMap": "71:1036:42:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;126:67:42;8:9:-1;5:2;;;30:1;27;20:12;5:2;126:67:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;173:9;1629:43:59;1634:26;;1662:9;1629:4;;;:43;;;:::i;:::-;1621:52;;;;;;;;1573:107;126:67:42;71:1036;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;71:1036:42:-;;;;;;;", + "deployedSourceMap": "71:1036:42:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3565:205:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3565:205:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1686:155;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1686:155:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;3997:158:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3997:158:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2031:249;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2031:249:59;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5567:197:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5567:197:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3340:219:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3340:219:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4650:193;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4650:193:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1847:178;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1847:178:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;4322:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4322:159:59;;;;;;;;;;;;;;;;;;;;;;;;;;;2837:282;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2837:282:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4849:201;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4849:201:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1511:55;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1511:55:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5770:205;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5770:205:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5400:161;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5400:161:59;;;;;;;;;;;;;;;;;;;;;;;;;;;4161:155;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4161:155:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;680:425:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;680:425:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2286:263:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2286:263:59;;;;;;;;;;;;;;;;;;;;;;;;;;711:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;711:51:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;839:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;839:34:59;;;;;;;;;;;;;;;;;;;;;;;2555:276;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2555:276:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5981:172;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5981:172:59;;;;;;;;;;;;;;;;;;;;;;;4487:157;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4487:157:59;;;;;;;;;;;;;;;;;;;;;;;;;;;923:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;923:43:59;;;;;;;;;;;;;;;;;;;;;;;199:475:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;199:475:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;506:50:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;506:50:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;5056:169:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5056:169:59;;;;;;;;;;;;;;;;;;;;;;;5231:163;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5231:163:59;;;;;;;;;;;;;;;;;;;;;;;;;;;3125:209;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3125:209:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1344:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1344:46:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3776:215;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3776:215:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3565:205;3640:13;3677:37;3687:26;;3677:9;:37::i;:::-;3669:46;;;;;;;;3736:13;:20;;;;3757:5;3736:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3736:27:59;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3736:27:59;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3736:27:59;;;;;;;;;;;;;;;;3725:38;;3565:205;;;:::o;1686:155::-;1759:37;1769:26;;1759:9;:37::i;:::-;1751:46;;;;;;;;1830:4;1807:13;:20;1821:5;1807:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;1686:155;:::o;237:23:67:-;;;;;;;;;;;;;:::o;3997:158:59:-;4086:8;4147:1;4116:15;:20;;;;4137:5;4116:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4116:27:59;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4116:27:59;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4116:27:59;;;;;;;;;;;;;;;;:32;;4110:38;;3997:158;;;:::o;2031:249::-;2133:87;;;;;;;;;;2149:26;;2133:87;;;;;;;;;;2177:28;;2133:87;;;;;;;;;;2207:11;;2133:87;;;;;;;;;:14;:87::i;:::-;2125:96;;;;;;;;2253:20;2231:19;:42;;;;2031:249;:::o;264:18:67:-;;;;:::o;5567:197:59:-;5664:13;5701:56;5726:15;5743:13;5701:24;:56::i;:::-;5693:64;;5567:197;;;:::o;2380:179:67:-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;3340:219:59:-;3422:13;3459:37;3469:26;;3459:9;:37::i;:::-;3451:46;;;;;;;;3518:15;:27;;;;3546:5;3518:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3518:34:59;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3518:34:59;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3518:34:59;;;;;;;;;;;;;;;;3507:45;;3340:219;;;:::o;4650:193::-;4745:13;4782:54;4807:13;4822;4782:24;:54::i;:::-;4774:62;;4650:193;;;:::o;1847:178::-;1934:37;1944:26;;1934:9;:37::i;:::-;1926:46;;;;;;;;2014:4;1982:22;:29;2005:5;1982:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;1847:178;:::o;4322:159::-;4397:13;4434:40;4460:13;4434:25;:40::i;:::-;4426:48;;4322:159;:::o;2837:282::-;2936:24;2974:23;3041:15;:22;3057:5;3041:22;;;;;;;;;;;;;;;;3022:41;;3091:14;:21;3106:5;3091:21;;;;;;;;;;;;;;;;3073:39;;2837:282;;;:::o;4849:201::-;4948:13;4985:58;5014:13;5029;4985:28;:58::i;:::-;4977:66;;4849:201;;;:::o;1511:55::-;;;;;;;;;;;;;;;;;;;;;;:::o;5770:205::-;5871:13;5908:60;5937:15;5954:13;5908:28;:60::i;:::-;5900:68;;5770:205;;;:::o;5400:161::-;5476:13;5513:41;5538:15;5513:24;:41::i;:::-;5505:49;;5400:161;:::o;4161:155::-;4249:8;4308:1;4279:13;:18;;;;4298:5;4279:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4279:25:59;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4279:25:59;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4279:25:59;;;;;;;;;;;;;;;;:30;;4273:36;;4161:155;;;:::o;680:425:42:-;786:10;834:9;799:13;:20;786:33;;846:1;834:13;;829:270;853:2;849:1;:6;829:270;;;876:15;:22;;;;899:13;913:1;899:16;;;;;;;;;;;;;;;;;;876:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;876:40:42;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;876:40:42;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;876:40:42;;;;;;;;;;;;;;;;;966:9;976:1;966:12;;;;;;;;;;;;;;;;;;930:15;:33;946:13;960:1;946:16;;;;;;;;;;;;;;;;;;930:33;;;;;;;;;;;;;;;:48;;;;1027:9;1037:1;1027:12;;;;;;;;;;;;;;;;;;992:14;:32;1007:13;1021:1;1007:16;;;;;;;;;;;;;;;;;;992:32;;;;;;;;;;;;;;;:47;;;;1076:9;1086:1;1076:12;;;;;;;;;;;;;;;;;;1053:19;;:35;;;;;;;;;;;857:3;;;;;;;829:270;;;680:425;;;;:::o;2286:263:59:-;2393:87;;;;;;;;;;2409:26;;2393:87;;;;;;;;;;2437:28;;2393:87;;;;;;;;;;2467:11;;2393:87;;;;;;;;;:14;:87::i;:::-;2385:96;;;;;;;;2522:20;2491:28;:51;;;;2286:263;:::o;711:51::-;;;;;;;;;;;;;;;;;:::o;839:34::-;;;;:::o;2555:276::-;2686:37;2696:26;;2686:9;:37::i;:::-;2678:46;;;;;;;;2759:16;2734:15;:22;2750:5;2734:22;;;;;;;;;;;;;;;:41;;;;2809:15;2785:14;:21;2800:5;2785:21;;;;;;;;;;;;;;;:39;;;;2555:276;;;:::o;5981:172::-;6058:20;6109:37;6130:15;6109:20;:37::i;:::-;6094:52;;5981:172;:::o;4487:157::-;4561:13;4598:39;4623:13;4598:24;:39::i;:::-;4590:47;;4487:157;:::o;923:43::-;;;;:::o;199:475:42:-;301:10;347:9;314:11;:18;301:31;;359:1;347:13;;342:271;366:2;362:1;:6;342:271;;;389:13;:20;;;;410:11;422:1;410:14;;;;;;;;;;;;;;;;;;389:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;389:36:42;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;389:36:42;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;389:36:42;;;;;;;;;;;;;;;;;473:9;483:1;473:12;;;;;;;;;;;;;;;;;;439:15;:31;455:11;467:1;455:14;;;;;;;;;;;;;;;;;;439:31;;;;;;;;;;;;;;;:46;;;;532:9;542:1;532:12;;;;;;;;;;;;;;;;;;499:14;:30;514:11;526:1;514:14;;;;;;;;;;;;;;;;;;499:30;;;;;;;;;;;;;;;:45;;;;590:9;600:1;590:12;;;;;;;;;;;;;;;;;;558:28;;:44;;;;;;;;;;;370:3;;;;;;;342:271;;;622:45;644:11;657:9;622:21;:45::i;:::-;199:475;;;;:::o;506:50:59:-;;;;;;;;;;;;;;;;;:::o;344:31:67:-;;;;;;;;;;;;;:::o;5056:169:59:-;5132:20;5183:35;5204:13;5183:20;:35::i;:::-;5168:50;;5056:169;:::o;5231:163::-;5308:13;5345:42;5371:15;5345:25;:42::i;:::-;5337:50;;5231:163;:::o;3125:209::-;3202:13;3239:37;3249:26;;3239:9;:37::i;:::-;3231:46;;;;;;;;3298:15;:22;;;;3321:5;3298:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3298:29:59;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3298:29:59;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3298:29:59;;;;;;;;;;;;;;;;3287:40;;3125:209;;;:::o;1344:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;3776:215::-;3856:13;3893:37;3903:26;;3893:9;:37::i;:::-;3885:46;;;;;;;;3952:13;:25;;;;3978:5;3952:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3952:32:59;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3952:32:59;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3952:32:59;;;;;;;;;;;;;;;;3941:43;;3776:215;;;:::o;610:160:67:-;671:12;732:8;;;;;;;;;;;715:39;;;755:9;715:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;715:50:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;715:50:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;715:50:67;;;;;;;;;;;;;;;;701:64;;:10;:64;;;691:74;;610:160;;;:::o;881:350::-;951:12;971:10;1012:9;984:17;971:30;;1024:1;1012:13;;1007:220;1031:2;1027:1;:6;1007:220;;;1077:3;1069:12;;1052:29;;;:10;1063:1;1052:13;;;;;;;;;;;;;:29;;;;1048:43;;;1083:8;;1048:43;1134:8;;;;;;;;;;;1117:39;;;1157:10;1168:1;1157:13;;;;;;;;;;;;;1117:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1117:54:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1117:54:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1117:54:67;;;;;;;;;;;;;;;;1103:68;;:10;:68;;;1099:122;;;1193:4;1183:14;;1207:5;;1099:122;1007:220;1035:3;;;;;;;1007:220;;;881:350;;;;;:::o;1283:223:75:-;1440:13;1471:5;:15;;;;1487:13;1471:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1471:30:75;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1471:30:75;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1471:30:75;;;;;;;;;;;;;;;;1463:38;;1283:223;;;;:::o;487:189::-;622:13;653:5;:16;;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;653:18:75;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;653:18:75;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;653:18:75;;;;;;;;;;;;;;;;645:26;;487:189;;;:::o;1775:231::-;1936:13;1967:5;:19;;;;1987:13;1967:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1967:34:75;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1967:34:75;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1967:34:75;;;;;;;;;;;;;;;;1959:42;;1775:231;;;;:::o;836:186::-;970:13;1001:5;:14;;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1001:16:75;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1001:16:75;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1001:16:75;;;;;;;;;;;;;;;;993:24;;836:186;;;:::o;2176:181::-;2306:14;2339:5;:11;;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2339:13:75;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2339:13:75;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2339:13:75;;;;;;;;;;;;;;;;2330:22;;2176:181;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"../../storage/DaoStakeStorage.sol\";\n\ncontract MockDaoStakeStorage is DaoStakeStorage {\n\n constructor(address _resolver) DaoStakeStorage(_resolver) public {}\n\n function mock_add_moderators(address[] _moderators, uint256[] _dgdStake)\n public\n {\n uint256 _n = _moderators.length;\n for (uint256 i = 0; i < _n; i++) {\n allModerators.append(_moderators[i]);\n actualLockedDGD[_moderators[i]] = _dgdStake[i];\n lockedDGDStake[_moderators[i]] = _dgdStake[i];\n totalModeratorLockedDGDStake += _dgdStake[i];\n }\n mock_add_participants(_moderators, _dgdStake);\n }\n\n function mock_add_participants(address[] _participants, uint256[] _dgdStake)\n public\n {\n uint256 _n = _participants.length;\n for (uint256 i = 0; i < _n; i++) {\n allParticipants.append(_participants[i]);\n actualLockedDGD[_participants[i]] = _dgdStake[i];\n lockedDGDStake[_participants[i]] = _dgdStake[i];\n totalLockedDGDStake += _dgdStake[i];\n }\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/mock/storage/MockDaoStakeStorage.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/storage/MockDaoStakeStorage.sol", + "exportedSymbols": { + "MockDaoStakeStorage": [ + 11387 + ] + }, + "id": 11388, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 11247, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:42" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStakeStorage.sol", + "file": "../../storage/DaoStakeStorage.sol", + "id": 11248, + "nodeType": "ImportDirective", + "scope": 11388, + "sourceUnit": 16457, + "src": "26:43:42", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 11249, + "name": "DaoStakeStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 16456, + "src": "103:15:42", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 11250, + "nodeType": "InheritanceSpecifier", + "src": "103:15:42" + } + ], + "contractDependencies": [ + 1580, + 16456, + 19058, + 22101 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 11387, + "linearizedBaseContracts": [ + 11387, + 16456, + 22101, + 1580, + 19058 + ], + "name": "MockDaoStakeStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 11258, + "nodeType": "Block", + "src": "191:2:42", + "statements": [] + }, + "documentation": null, + "id": 11259, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 11255, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11252, + "src": "173:9:42", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 11256, + "modifierName": { + "argumentTypes": null, + "id": 11254, + "name": "DaoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16456, + "src": "157:15:42", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "type(contract DaoStakeStorage)" + } + }, + "nodeType": "ModifierInvocation", + "src": "157:26:42" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11253, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11252, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 11259, + "src": "138:17:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11251, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "138:7:42", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "137:19:42" + }, + "payable": false, + "returnParameters": { + "id": 11257, + "nodeType": "ParameterList", + "parameters": [], + "src": "191:0:42" + }, + "scope": 11387, + "src": "126:67:42", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11324, + "nodeType": "Block", + "src": "291:383:42", + "statements": [ + { + "assignments": [ + 11269 + ], + "declarations": [ + { + "constant": false, + "id": 11269, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 11325, + "src": "301:10:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "301:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11272, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11270, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11262, + "src": "314:11:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "314:18:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "301:31:42" + }, + { + "body": { + "id": 11317, + "nodeType": "Block", + "src": "375:238:42", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11286, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11262, + "src": "410:11:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11288, + "indexExpression": { + "argumentTypes": null, + "id": 11287, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11274, + "src": "422:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "410:14:42", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 11283, + "name": "allModerators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16060, + "src": "389:13:42", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + "id": 11285, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 24415, + "src": "389:20:42", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) returns (bool)" + } + }, + "id": 11289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "389:36:42", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11290, + "nodeType": "ExpressionStatement", + "src": "389:36:42" + }, + { + "expression": { + "argumentTypes": null, + "id": 11299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11291, + "name": "actualLockedDGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16052, + "src": "439:15:42", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11295, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11292, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11262, + "src": "455:11:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11294, + "indexExpression": { + "argumentTypes": null, + "id": 11293, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11274, + "src": "467:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "455:14:42", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "439:31:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11296, + "name": "_dgdStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11265, + "src": "473:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11298, + "indexExpression": { + "argumentTypes": null, + "id": 11297, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11274, + "src": "483:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "473:12:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "439:46:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11300, + "nodeType": "ExpressionStatement", + "src": "439:46:42" + }, + { + "expression": { + "argumentTypes": null, + "id": 11309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11301, + "name": "lockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16048, + "src": "499:14:42", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11305, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11302, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11262, + "src": "514:11:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11304, + "indexExpression": { + "argumentTypes": null, + "id": 11303, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11274, + "src": "526:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "514:14:42", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "499:30:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11306, + "name": "_dgdStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11265, + "src": "532:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11308, + "indexExpression": { + "argumentTypes": null, + "id": 11307, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11274, + "src": "542:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "532:12:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "499:45:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11310, + "nodeType": "ExpressionStatement", + "src": "499:45:42" + }, + { + "expression": { + "argumentTypes": null, + "id": 11315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 11311, + "name": "totalModeratorLockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16056, + "src": "558:28:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11312, + "name": "_dgdStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11265, + "src": "590:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11314, + "indexExpression": { + "argumentTypes": null, + "id": 11313, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11274, + "src": "600:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "590:12:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "558:44:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11316, + "nodeType": "ExpressionStatement", + "src": "558:44:42" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 11277, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11274, + "src": "362:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 11278, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11269, + "src": "366:2:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "362:6:42", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11318, + "initializationExpression": { + "assignments": [ + 11274 + ], + "declarations": [ + { + "constant": false, + "id": 11274, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 11325, + "src": "347:9:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11273, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "347:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11276, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 11275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "359:1:42", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "347:13:42" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 11281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "370:3:42", + "subExpression": { + "argumentTypes": null, + "id": 11280, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11274, + "src": "370:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11282, + "nodeType": "ExpressionStatement", + "src": "370:3:42" + }, + "nodeType": "ForStatement", + "src": "342:271:42" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 11320, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11262, + "src": "644:11:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + { + "argumentTypes": null, + "id": 11321, + "name": "_dgdStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11265, + "src": "657:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 11319, + "name": "mock_add_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11386, + "src": "622:21:42", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (address[] memory,uint256[] memory)" + } + }, + "id": 11322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "622:45:42", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11323, + "nodeType": "ExpressionStatement", + "src": "622:45:42" + } + ] + }, + "documentation": null, + "id": 11325, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_add_moderators", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11266, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11262, + "name": "_moderators", + "nodeType": "VariableDeclaration", + "scope": 11325, + "src": "228:21:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 11260, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "228:7:42", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 11261, + "length": null, + "nodeType": "ArrayTypeName", + "src": "228:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11265, + "name": "_dgdStake", + "nodeType": "VariableDeclaration", + "scope": 11325, + "src": "251:19:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 11263, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "251:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11264, + "length": null, + "nodeType": "ArrayTypeName", + "src": "251:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "227:44:42" + }, + "payable": false, + "returnParameters": { + "id": 11267, + "nodeType": "ParameterList", + "parameters": [], + "src": "291:0:42" + }, + "scope": 11387, + "src": "199:475:42", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11385, + "nodeType": "Block", + "src": "776:329:42", + "statements": [ + { + "assignments": [ + 11335 + ], + "declarations": [ + { + "constant": false, + "id": 11335, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 11386, + "src": "786:10:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11334, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "786:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11338, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11336, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11328, + "src": "799:13:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "799:20:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "786:33:42" + }, + { + "body": { + "id": 11383, + "nodeType": "Block", + "src": "862:237:42", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11352, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11328, + "src": "899:13:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11354, + "indexExpression": { + "argumentTypes": null, + "id": 11353, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11340, + "src": "913:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "899:16:42", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 11349, + "name": "allParticipants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16058, + "src": "876:15:42", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + "id": 11351, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 24415, + "src": "876:22:42", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) returns (bool)" + } + }, + "id": 11355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "876:40:42", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11356, + "nodeType": "ExpressionStatement", + "src": "876:40:42" + }, + { + "expression": { + "argumentTypes": null, + "id": 11365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11357, + "name": "actualLockedDGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16052, + "src": "930:15:42", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11361, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11358, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11328, + "src": "946:13:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11360, + "indexExpression": { + "argumentTypes": null, + "id": 11359, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11340, + "src": "960:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "946:16:42", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "930:33:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11362, + "name": "_dgdStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11331, + "src": "966:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11364, + "indexExpression": { + "argumentTypes": null, + "id": 11363, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11340, + "src": "976:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "966:12:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "930:48:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11366, + "nodeType": "ExpressionStatement", + "src": "930:48:42" + }, + { + "expression": { + "argumentTypes": null, + "id": 11375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11367, + "name": "lockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16048, + "src": "992:14:42", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11371, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11368, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11328, + "src": "1007:13:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11370, + "indexExpression": { + "argumentTypes": null, + "id": 11369, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11340, + "src": "1021:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1007:16:42", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "992:32:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11372, + "name": "_dgdStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11331, + "src": "1027:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11374, + "indexExpression": { + "argumentTypes": null, + "id": 11373, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11340, + "src": "1037:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1027:12:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "992:47:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11376, + "nodeType": "ExpressionStatement", + "src": "992:47:42" + }, + { + "expression": { + "argumentTypes": null, + "id": 11381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 11377, + "name": "totalLockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16054, + "src": "1053:19:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11378, + "name": "_dgdStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11331, + "src": "1076:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11380, + "indexExpression": { + "argumentTypes": null, + "id": 11379, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11340, + "src": "1086:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1076:12:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1053:35:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11382, + "nodeType": "ExpressionStatement", + "src": "1053:35:42" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 11343, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11340, + "src": "849:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 11344, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11335, + "src": "853:2:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "849:6:42", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11384, + "initializationExpression": { + "assignments": [ + 11340 + ], + "declarations": [ + { + "constant": false, + "id": 11340, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 11386, + "src": "834:9:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11339, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "834:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11342, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 11341, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "846:1:42", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "834:13:42" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 11347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "857:3:42", + "subExpression": { + "argumentTypes": null, + "id": 11346, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11340, + "src": "857:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11348, + "nodeType": "ExpressionStatement", + "src": "857:3:42" + }, + "nodeType": "ForStatement", + "src": "829:270:42" + } + ] + }, + "documentation": null, + "id": 11386, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_add_participants", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11332, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11328, + "name": "_participants", + "nodeType": "VariableDeclaration", + "scope": 11386, + "src": "711:23:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 11326, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "711:7:42", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 11327, + "length": null, + "nodeType": "ArrayTypeName", + "src": "711:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11331, + "name": "_dgdStake", + "nodeType": "VariableDeclaration", + "scope": 11386, + "src": "736:19:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 11329, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "736:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11330, + "length": null, + "nodeType": "ArrayTypeName", + "src": "736:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "710:46:42" + }, + "payable": false, + "returnParameters": { + "id": 11333, + "nodeType": "ParameterList", + "parameters": [], + "src": "776:0:42" + }, + "scope": 11387, + "src": "680:425:42", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 11388, + "src": "71:1036:42" + } + ], + "src": "0:1108:42" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/storage/MockDaoStakeStorage.sol", + "exportedSymbols": { + "MockDaoStakeStorage": [ + 11387 + ] + }, + "id": 11388, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 11247, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:42" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStakeStorage.sol", + "file": "../../storage/DaoStakeStorage.sol", + "id": 11248, + "nodeType": "ImportDirective", + "scope": 11388, + "sourceUnit": 16457, + "src": "26:43:42", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 11249, + "name": "DaoStakeStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 16456, + "src": "103:15:42", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStakeStorage_$16456", + "typeString": "contract DaoStakeStorage" + } + }, + "id": 11250, + "nodeType": "InheritanceSpecifier", + "src": "103:15:42" + } + ], + "contractDependencies": [ + 1580, + 16456, + 19058, + 22101 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 11387, + "linearizedBaseContracts": [ + 11387, + 16456, + 22101, + 1580, + 19058 + ], + "name": "MockDaoStakeStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 11258, + "nodeType": "Block", + "src": "191:2:42", + "statements": [] + }, + "documentation": null, + "id": 11259, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 11255, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11252, + "src": "173:9:42", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 11256, + "modifierName": { + "argumentTypes": null, + "id": 11254, + "name": "DaoStakeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16456, + "src": "157:15:42", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStakeStorage_$16456_$", + "typeString": "type(contract DaoStakeStorage)" + } + }, + "nodeType": "ModifierInvocation", + "src": "157:26:42" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11253, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11252, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 11259, + "src": "138:17:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11251, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "138:7:42", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "137:19:42" + }, + "payable": false, + "returnParameters": { + "id": 11257, + "nodeType": "ParameterList", + "parameters": [], + "src": "191:0:42" + }, + "scope": 11387, + "src": "126:67:42", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11324, + "nodeType": "Block", + "src": "291:383:42", + "statements": [ + { + "assignments": [ + 11269 + ], + "declarations": [ + { + "constant": false, + "id": 11269, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 11325, + "src": "301:10:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "301:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11272, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11270, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11262, + "src": "314:11:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "314:18:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "301:31:42" + }, + { + "body": { + "id": 11317, + "nodeType": "Block", + "src": "375:238:42", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11286, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11262, + "src": "410:11:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11288, + "indexExpression": { + "argumentTypes": null, + "id": 11287, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11274, + "src": "422:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "410:14:42", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 11283, + "name": "allModerators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16060, + "src": "389:13:42", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + "id": 11285, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 24415, + "src": "389:20:42", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) returns (bool)" + } + }, + "id": 11289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "389:36:42", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11290, + "nodeType": "ExpressionStatement", + "src": "389:36:42" + }, + { + "expression": { + "argumentTypes": null, + "id": 11299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11291, + "name": "actualLockedDGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16052, + "src": "439:15:42", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11295, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11292, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11262, + "src": "455:11:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11294, + "indexExpression": { + "argumentTypes": null, + "id": 11293, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11274, + "src": "467:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "455:14:42", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "439:31:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11296, + "name": "_dgdStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11265, + "src": "473:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11298, + "indexExpression": { + "argumentTypes": null, + "id": 11297, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11274, + "src": "483:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "473:12:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "439:46:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11300, + "nodeType": "ExpressionStatement", + "src": "439:46:42" + }, + { + "expression": { + "argumentTypes": null, + "id": 11309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11301, + "name": "lockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16048, + "src": "499:14:42", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11305, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11302, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11262, + "src": "514:11:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11304, + "indexExpression": { + "argumentTypes": null, + "id": 11303, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11274, + "src": "526:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "514:14:42", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "499:30:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11306, + "name": "_dgdStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11265, + "src": "532:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11308, + "indexExpression": { + "argumentTypes": null, + "id": 11307, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11274, + "src": "542:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "532:12:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "499:45:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11310, + "nodeType": "ExpressionStatement", + "src": "499:45:42" + }, + { + "expression": { + "argumentTypes": null, + "id": 11315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 11311, + "name": "totalModeratorLockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16056, + "src": "558:28:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11312, + "name": "_dgdStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11265, + "src": "590:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11314, + "indexExpression": { + "argumentTypes": null, + "id": 11313, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11274, + "src": "600:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "590:12:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "558:44:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11316, + "nodeType": "ExpressionStatement", + "src": "558:44:42" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 11277, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11274, + "src": "362:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 11278, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11269, + "src": "366:2:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "362:6:42", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11318, + "initializationExpression": { + "assignments": [ + 11274 + ], + "declarations": [ + { + "constant": false, + "id": 11274, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 11325, + "src": "347:9:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11273, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "347:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11276, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 11275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "359:1:42", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "347:13:42" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 11281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "370:3:42", + "subExpression": { + "argumentTypes": null, + "id": 11280, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11274, + "src": "370:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11282, + "nodeType": "ExpressionStatement", + "src": "370:3:42" + }, + "nodeType": "ForStatement", + "src": "342:271:42" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 11320, + "name": "_moderators", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11262, + "src": "644:11:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + { + "argumentTypes": null, + "id": 11321, + "name": "_dgdStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11265, + "src": "657:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 11319, + "name": "mock_add_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11386, + "src": "622:21:42", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (address[] memory,uint256[] memory)" + } + }, + "id": 11322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "622:45:42", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11323, + "nodeType": "ExpressionStatement", + "src": "622:45:42" + } + ] + }, + "documentation": null, + "id": 11325, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_add_moderators", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11266, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11262, + "name": "_moderators", + "nodeType": "VariableDeclaration", + "scope": 11325, + "src": "228:21:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 11260, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "228:7:42", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 11261, + "length": null, + "nodeType": "ArrayTypeName", + "src": "228:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11265, + "name": "_dgdStake", + "nodeType": "VariableDeclaration", + "scope": 11325, + "src": "251:19:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 11263, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "251:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11264, + "length": null, + "nodeType": "ArrayTypeName", + "src": "251:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "227:44:42" + }, + "payable": false, + "returnParameters": { + "id": 11267, + "nodeType": "ParameterList", + "parameters": [], + "src": "291:0:42" + }, + "scope": 11387, + "src": "199:475:42", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11385, + "nodeType": "Block", + "src": "776:329:42", + "statements": [ + { + "assignments": [ + 11335 + ], + "declarations": [ + { + "constant": false, + "id": 11335, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 11386, + "src": "786:10:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11334, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "786:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11338, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11336, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11328, + "src": "799:13:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "799:20:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "786:33:42" + }, + { + "body": { + "id": 11383, + "nodeType": "Block", + "src": "862:237:42", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11352, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11328, + "src": "899:13:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11354, + "indexExpression": { + "argumentTypes": null, + "id": 11353, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11340, + "src": "913:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "899:16:42", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 11349, + "name": "allParticipants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16058, + "src": "876:15:42", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Address_$23032_storage", + "typeString": "struct DoublyLinkedList.Address storage ref" + } + }, + "id": 11351, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 24415, + "src": "876:22:42", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Address_$23032_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Address_$23032_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Address storage pointer,address) returns (bool)" + } + }, + "id": 11355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "876:40:42", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11356, + "nodeType": "ExpressionStatement", + "src": "876:40:42" + }, + { + "expression": { + "argumentTypes": null, + "id": 11365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11357, + "name": "actualLockedDGD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16052, + "src": "930:15:42", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11361, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11358, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11328, + "src": "946:13:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11360, + "indexExpression": { + "argumentTypes": null, + "id": 11359, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11340, + "src": "960:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "946:16:42", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "930:33:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11362, + "name": "_dgdStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11331, + "src": "966:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11364, + "indexExpression": { + "argumentTypes": null, + "id": 11363, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11340, + "src": "976:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "966:12:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "930:48:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11366, + "nodeType": "ExpressionStatement", + "src": "930:48:42" + }, + { + "expression": { + "argumentTypes": null, + "id": 11375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11367, + "name": "lockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16048, + "src": "992:14:42", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11371, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11368, + "name": "_participants", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11328, + "src": "1007:13:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11370, + "indexExpression": { + "argumentTypes": null, + "id": 11369, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11340, + "src": "1021:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1007:16:42", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "992:32:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11372, + "name": "_dgdStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11331, + "src": "1027:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11374, + "indexExpression": { + "argumentTypes": null, + "id": 11373, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11340, + "src": "1037:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1027:12:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "992:47:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11376, + "nodeType": "ExpressionStatement", + "src": "992:47:42" + }, + { + "expression": { + "argumentTypes": null, + "id": 11381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 11377, + "name": "totalLockedDGDStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16054, + "src": "1053:19:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11378, + "name": "_dgdStake", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11331, + "src": "1076:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11380, + "indexExpression": { + "argumentTypes": null, + "id": 11379, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11340, + "src": "1086:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1076:12:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1053:35:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11382, + "nodeType": "ExpressionStatement", + "src": "1053:35:42" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 11343, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11340, + "src": "849:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 11344, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11335, + "src": "853:2:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "849:6:42", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11384, + "initializationExpression": { + "assignments": [ + 11340 + ], + "declarations": [ + { + "constant": false, + "id": 11340, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 11386, + "src": "834:9:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11339, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "834:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11342, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 11341, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "846:1:42", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "834:13:42" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 11347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "857:3:42", + "subExpression": { + "argumentTypes": null, + "id": 11346, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11340, + "src": "857:1:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11348, + "nodeType": "ExpressionStatement", + "src": "857:3:42" + }, + "nodeType": "ForStatement", + "src": "829:270:42" + } + ] + }, + "documentation": null, + "id": 11386, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_add_participants", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11332, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11328, + "name": "_participants", + "nodeType": "VariableDeclaration", + "scope": 11386, + "src": "711:23:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 11326, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "711:7:42", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 11327, + "length": null, + "nodeType": "ArrayTypeName", + "src": "711:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11331, + "name": "_dgdStake", + "nodeType": "VariableDeclaration", + "scope": 11386, + "src": "736:19:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 11329, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "736:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11330, + "length": null, + "nodeType": "ArrayTypeName", + "src": "736:9:42", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "710:46:42" + }, + "payable": false, + "returnParameters": { + "id": 11333, + "nodeType": "ParameterList", + "parameters": [], + "src": "776:0:42" + }, + "scope": 11387, + "src": "680:425:42", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 11388, + "src": "71:1036:42" + } + ], + "src": "0:1108:42" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.884Z" +} \ No newline at end of file diff --git a/build/contracts/MockDaoStorage.json b/build/contracts/MockDaoStorage.json new file mode 100644 index 0000000..e19f2ce --- /dev/null +++ b/build/contracts/MockDaoStorage.json @@ -0,0 +1,13641 @@ +{ + "contractName": "MockDaoStorage", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_version", + "type": "bytes32" + } + ], + "name": "readProposalVersion", + "outputs": [ + { + "name": "_doc", + "type": "bytes32" + }, + { + "name": "_created", + "type": "uint256" + }, + { + "name": "_milestoneFundings", + "type": "uint256[]" + }, + { + "name": "_finalReward", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "closeProposal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + } + ], + "name": "readProposalVotingResult", + "outputs": [ + { + "name": "_result", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "getLastProposalVersion", + "outputs": [ + { + "name": "_version", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readProposalDraftVotingResult", + "outputs": [ + { + "name": "_result", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_stateId", + "type": "bytes32" + }, + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "getPreviousProposalInState", + "outputs": [ + { + "name": "_id", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "readVote", + "outputs": [ + { + "name": "_vote", + "type": "bool" + }, + { + "name": "_weight", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_stateId", + "type": "bytes32" + } + ], + "name": "getLastProposalInState", + "outputs": [ + { + "name": "_id", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + }, + { + "name": "_result", + "type": "bool" + } + ], + "name": "setProposalPass", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "getNextProposal", + "outputs": [ + { + "name": "_id", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_claimed", + "type": "bool" + } + ], + "name": "setDraftVotingClaim", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_milestoneId", + "type": "uint256" + } + ], + "name": "setMilestoneFunded", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_voter", + "type": "address" + }, + { + "name": "_vote", + "type": "bool" + }, + { + "name": "_weight", + "type": "uint256" + } + ], + "name": "addDraftVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + }, + { + "name": "_time", + "type": "uint256" + } + ], + "name": "setProposalVotingTime", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "isDraftClaimed", + "outputs": [ + { + "name": "_claimed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + } + ], + "name": "readProposalMilestone", + "outputs": [ + { + "name": "_funding", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readProposalCollateralStatus", + "outputs": [ + { + "name": "_status", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + }, + { + "name": "_claimed", + "type": "bool" + } + ], + "name": "setVotingClaim", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_milestoneId", + "type": "uint256" + } + ], + "name": "readIfMilestoneFunded", + "outputs": [ + { + "name": "_funded", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "finalizeProposal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_version", + "type": "bytes32" + } + ], + "name": "getNextProposalVersion", + "outputs": [ + { + "name": "_nextVersion", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readProposalDraftVotingTime", + "outputs": [ + { + "name": "_start", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readTotalPrlActions", + "outputs": [ + { + "name": "_length", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_version", + "type": "bytes32" + } + ], + "name": "getPreviousProposalVersion", + "outputs": [ + { + "name": "_previousVersion", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_hash", + "type": "bytes32" + }, + { + "name": "_voter", + "type": "address" + }, + { + "name": "_index", + "type": "uint256" + } + ], + "name": "commitVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "readComittedVote", + "outputs": [ + { + "name": "_commitHash", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readProposalProposer", + "outputs": [ + { + "name": "_proposer", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "getPreviousProposal", + "outputs": [ + { + "name": "_id", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readProposalFunding", + "outputs": [ + { + "name": "_fundings", + "type": "uint256[]" + }, + { + "name": "_finalReward", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + } + ], + "name": "readPrlAction", + "outputs": [ + { + "name": "_actionId", + "type": "uint256" + }, + { + "name": "_time", + "type": "uint256" + }, + { + "name": "_doc", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_result", + "type": "bool" + } + ], + "name": "setProposalDraftPass", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + } + ], + "name": "isClaimed", + "outputs": [ + { + "name": "_claimed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "setProposalCollateralAmount", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "archiveProposal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_doc", + "type": "bytes32" + }, + { + "name": "_proposer", + "type": "address" + }, + { + "name": "_milestoneFundings", + "type": "uint256[]" + }, + { + "name": "_finalReward", + "type": "uint256" + }, + { + "name": "_isFounder", + "type": "bool" + } + ], + "name": "addProposal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + }, + { + "name": "_allUsers", + "type": "address[]" + } + ], + "name": "readVotingCount", + "outputs": [ + { + "name": "_for", + "type": "uint256" + }, + { + "name": "_against", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_voter", + "type": "address" + }, + { + "name": "_vote", + "type": "bool" + }, + { + "name": "_weight", + "type": "uint256" + }, + { + "name": "_index", + "type": "uint256" + } + ], + "name": "revealVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_stateId", + "type": "bytes32" + }, + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "getNextProposalInState", + "outputs": [ + { + "name": "_id", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_endorser", + "type": "address" + } + ], + "name": "updateProposalEndorse", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + } + ], + "name": "readProposalVotingTime", + "outputs": [ + { + "name": "_start", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_allUsers", + "type": "address[]" + } + ], + "name": "readDraftVotingCount", + "outputs": [ + { + "name": "_for", + "type": "uint256" + }, + { + "name": "_against", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_action", + "type": "uint256" + }, + { + "name": "_doc", + "type": "bytes32" + }, + { + "name": "_time", + "type": "uint256" + } + ], + "name": "updateProposalPRL", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_newMilestoneFundings", + "type": "uint256[]" + }, + { + "name": "_finalReward", + "type": "uint256" + } + ], + "name": "changeFundings", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_status", + "type": "uint256" + } + ], + "name": "setProposalCollateralStatus", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getFirstProposal", + "outputs": [ + { + "name": "_id", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readProposal", + "outputs": [ + { + "name": "_doc", + "type": "bytes32" + }, + { + "name": "_proposer", + "type": "address" + }, + { + "name": "_endorser", + "type": "address" + }, + { + "name": "_state", + "type": "bytes32" + }, + { + "name": "_timeCreated", + "type": "uint256" + }, + { + "name": "_nVersions", + "type": "uint256" + }, + { + "name": "_latestVersionDoc", + "type": "bytes32" + }, + { + "name": "_finalVersion", + "type": "bytes32" + }, + { + "name": "_pausedOrStopped", + "type": "bool" + }, + { + "name": "_isDigixProposal", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readProposalDocs", + "outputs": [ + { + "name": "_moreDocs", + "type": "bytes32[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "readDraftVote", + "outputs": [ + { + "name": "_vote", + "type": "bool" + }, + { + "name": "_weight", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_time", + "type": "uint256" + } + ], + "name": "setProposalDraftVotingTime", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "getFirstProposalVersion", + "outputs": [ + { + "name": "_version", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_stateId", + "type": "bytes32" + } + ], + "name": "getFirstProposalInState", + "outputs": [ + { + "name": "_id", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + }, + { + "name": "_allUsers", + "type": "address[]" + }, + { + "name": "_vote", + "type": "bool" + } + ], + "name": "readVotingRoundVotes", + "outputs": [ + { + "name": "_voters", + "type": "address[]" + }, + { + "name": "_length", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "readProposalCollateralAmount", + "outputs": [ + { + "name": "_amount", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_newDoc", + "type": "bytes32" + } + ], + "name": "addProposalDoc", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getLastProposal", + "outputs": [ + { + "name": "_id", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_newDoc", + "type": "bytes32" + }, + { + "name": "_newMilestoneFundings", + "type": "uint256[]" + }, + { + "name": "_finalReward", + "type": "uint256" + } + ], + "name": "editProposal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_roundIndex", + "type": "uint256" + }, + { + "name": "_isDraftPhase", + "type": "bool" + }, + { + "name": "_proposer", + "type": "address" + }, + { + "name": "_endorser", + "type": "address" + }, + { + "name": "_milestonesFundings", + "type": "uint256[]" + }, + { + "name": "_finalReward", + "type": "uint256" + } + ], + "name": "mock_put_proposal_as", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_milestoneId", + "type": "uint256" + }, + { + "name": "_proposer", + "type": "address" + }, + { + "name": "_endorser", + "type": "address" + }, + { + "name": "_milestonesFundings", + "type": "uint256[]" + }, + { + "name": "_finalReward", + "type": "uint256" + }, + { + "name": "_previousVotingStart", + "type": "uint256" + } + ], + "name": "mock_put_proposal_in_milestone", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_roundIndex", + "type": "uint256" + }, + { + "name": "_isDraftPhase", + "type": "bool" + }, + { + "name": "_voters", + "type": "address[]" + }, + { + "name": "_votes", + "type": "bool[]" + }, + { + "name": "_weights", + "type": "uint256[]" + }, + { + "name": "_length", + "type": "uint256" + }, + { + "name": "_startOfVotingRound", + "type": "uint256" + } + ], + "name": "mock_put_past_votes", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b50604051602080620072ca833981018060405281019080805190602001909291905050508062001176602554826200118a640100000000026401000000009004565b15156200118257600080fd5b50506200141b565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f257600080fd5b505af115801562001207573d6000803e3d6000fd5b505050506040513d60208110156200121e57600080fd5b810190808051906020019092919050505090506000151581151514156200140f5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013bc57600080fd5b505af1158015620013d1573d6000803e3d6000fd5b505050506040513d6020811015620013e857600080fd5b810190808051906020019092919050505015156200140557600080fd5b6001915062001414565b600091505b5092915050565b615e9f806200142b6000396000f3006080604052600436106102eb576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303020ea9146102f057806304f3bcec146103a1578063078f872c146103f85780630bcaa451146104295780630c012e591461047c5780630ec8f125146104c95780631478fff1146105125780631d2103d11461056d5780631d47c3d3146105e75780631ea5d62f14610634578063237286e91461067b57806327618ad9146106c857806327a9bb0e146107055780632fd010da14610740578063344e436e146107a75780633943380c146107ec578063395ddde91461081f5780633a85b822146108685780633be88369146108b75780633e020d2f146108fc5780633f83acff1461094357806341a71589146109b457806347d0da1414610a0757806347d621a314610a3857806349a428d014610a935780634c5b318a14610ad857806356674c9f14610b1d57806358cec13914610b78578063598f0eaf14610be15780635b712eb614610c58578063689e699914610cc957806370a6f59114610ded5780637246d5a714610e3a5780637aafacae14610ec757806382e445c614610f2c57806385f5276f14610f695780638a2d659714610fbc57806395ecdf9e14610ff7578063a1d444a414611028578063a1e55acf146110a7578063a6129f8c14611115578063a692e0ef14611186578063ac443d9f146111e1578063afe2da7a14611232578063baf4266014611304578063bb3b5f6d14611353578063c004b7de146113b7578063c3093bb11461140a578063c362c7901461145d578063cfd5917214611498578063d8d50179146114cb578063db4ecbc1146115cf578063de233e4214611626578063e14b2c26146116ac578063e2cf05d41461171c578063e3f3f7a2146117f0578063e41566751461182b578063e7853aac14611878578063e81362fe146118c5578063eb82718a14611980578063eef7b8f5146119c5578063f0ab3dd914611a04578063ffec1b2114611a37575b600080fd5b3480156102fc57600080fd5b5061032d60048036038101908080356000191690602001909291908035600019169060200190929190505050611a98565b60405180856000191660001916815260200184815260200180602001838152602001828103825284818151815260200191508051906020019060200280838360005b8381101561038a57808201518184015260208101905061036f565b505050509050019550505050505060405180910390f35b3480156103ad57600080fd5b506103b6611c05565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561040457600080fd5b506104276004803603810190808035600019169060200190929190505050611c2a565b005b34801561043557600080fd5b50610462600480360381019080803560001916906020019092919080359060200190929190505050611c4c565b604051808215151515815260200191505060405180910390f35b34801561048857600080fd5b506104ab6004803603810190808035600019169060200190929190505050611ca9565b60405180826000191660001916815260200191505060405180910390f35b3480156104d557600080fd5b506104f86004803603810190808035600019169060200190929190505050611cdd565b604051808215151515815260200191505060405180910390f35b34801561051e57600080fd5b5061054f60048036038101908080356000191690602001909291908035600019169060200190929190505050611d28565b60405180826000191660001916815260200191505060405180910390f35b34801561057957600080fd5b506105c6600480360381019080803560001916906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d69565b60405180831515151581526020018281526020019250505060405180910390f35b3480156105f357600080fd5b506106166004803603810190808035600019169060200190929190505050611e9e565b60405180826000191660001916815260200191505060405180910390f35b34801561064057600080fd5b50610679600480360381019080803560001916906020019092919080359060200190929190803515159060200190929190505050611edd565b005b34801561068757600080fd5b506106aa6004803603810190808035600019169060200190929190505050612135565b60405180826000191660001916815260200191505060405180910390f35b3480156106d457600080fd5b506107036004803603810190808035600019169060200190929190803515159060200190929190505050612149565b005b34801561071157600080fd5b5061073e60048036038101908080356000191690602001909291908035906020019092919050505061219c565b005b34801561074c57600080fd5b506107a56004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919080359060200190929190505050612201565b005b3480156107b357600080fd5b506107ea6004803603810190808035600019169060200190929190803590602001909291908035906020019092919050505061240b565b005b3480156107f857600080fd5b50610801612494565b60405180826000191660001916815260200191505060405180910390f35b34801561082b57600080fd5b5061084e600480360381019080803560001916906020019092919050505061249a565b604051808215151515815260200191505060405180910390f35b34801561087457600080fd5b506108a16004803603810190808035600019169060200190929190803590602001909291905050506124d2565b6040518082815260200191505060405180910390f35b3480156108c357600080fd5b506108e660048036038101908080356000191690602001909291905050506125b9565b6040518082815260200191505060405180910390f35b34801561090857600080fd5b506109416004803603810190808035600019169060200190929190803590602001909291908035151590602001909291905050506125f4565b005b34801561094f57600080fd5b506109726004803603810190808035600019169060200190929190505050612659565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109c057600080fd5b506109ed600480360381019080803560001916906020019092919080359060200190929190505050612735565b604051808215151515815260200191505060405180910390f35b348015610a1357600080fd5b50610a366004803603810190808035600019169060200190929190505050612792565b005b348015610a4457600080fd5b50610a75600480360381019080803560001916906020019092919080356000191690602001909291905050506127da565b60405180826000191660001916815260200191505060405180910390f35b348015610a9f57600080fd5b50610ac26004803603810190808035600019169060200190929190505050612810565b6040518082815260200191505060405180910390f35b348015610ae457600080fd5b50610b07600480360381019080803560001916906020019092919050505061284e565b6040518082815260200191505060405180910390f35b348015610b2957600080fd5b50610b5a60048036038101908080356000191690602001909291908035600019169060200190929190505050612879565b60405180826000191660001916815260200191505060405180910390f35b348015610b8457600080fd5b50610bdf60048036038101908080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506128af565b005b348015610bed57600080fd5b50610c3a600480360381019080803560001916906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612943565b60405180826000191660001916815260200191505060405180910390f35b348015610c6457600080fd5b50610c8760048036038101908080356000191690602001909291905050506129d1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610cd557600080fd5b50610deb6004803603810190808035600019169060200190929190803590602001909291908035151590602001909291908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019092919080359060200190929190505050612a19565b005b348015610df957600080fd5b50610e1c6004803603810190808035600019169060200190929190505050612be8565b60405180826000191660001916815260200191505060405180910390f35b348015610e4657600080fd5b50610e696004803603810190808035600019169060200190929190505050612bfc565b6040518080602001838152602001828103825284818151815260200191508051906020019060200280838360005b83811015610eb2578082015181840152602081019050610e97565b50505050905001935050505060405180910390f35b348015610ed357600080fd5b50610f00600480360381019080803560001916906020019092919080359060200190929190505050612d1c565b604051808481526020018381526020018260001916600019168152602001935050505060405180910390f35b348015610f3857600080fd5b50610f676004803603810190808035600019169060200190929190803515159060200190929190505050612e31565b005b348015610f7557600080fd5b50610fa260048036038101908080356000191690602001909291908035906020019092919050505061306c565b604051808215151515815260200191505060405180910390f35b348015610fc857600080fd5b50610ff56004803603810190808035600019169060200190929190803590602001909291905050506130b6565b005b34801561100357600080fd5b5061102660048036038101908080356000191690602001909291905050506130f3565b005b34801561103457600080fd5b506110a56004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190820180359060200191909192939192939080359060200190929190803515159060200190929190505050613301565b005b3480156110b357600080fd5b506110f86004803603810190808035600019169060200190929190803590602001909291908035906020019082018035906020019190919293919293905050506136dc565b604051808381526020018281526020019250505060405180910390f35b34801561112157600080fd5b506111846004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291908035906020019092919080359060200190929190505050613803565b005b34801561119257600080fd5b506111c36004803603810190808035600019169060200190929190803560001916906020019092919050505061391b565b60405180826000191660001916815260200191505060405180910390f35b3480156111ed57600080fd5b506112306004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061395c565b005b34801561123e57600080fd5b50611302600480360381019080803560001916906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019092919080359060200190929190505050613b92565b005b34801561131057600080fd5b5061133d6004803603810190808035600019169060200190929190803590602001909291905050506140c2565b6040518082815260200191505060405180910390f35b34801561135f57600080fd5b5061139a6004803603810190808035600019169060200190929190803590602001908201803590602001919091929391929390505050614112565b604051808381526020018281526020019250505060405180910390f35b3480156113c357600080fd5b50611408600480360381019080803560001916906020019092919080359060200190929190803560001916906020019092919080359060200190929190505050614227565b005b34801561141657600080fd5b5061145b6004803603810190808035600019169060200190929190803590602001908201803590602001919091929391929390803590602001909291905050506143ea565b005b34801561146957600080fd5b506114966004803603810190808035600019169060200190929190803590602001909291905050506144cc565b005b3480156114a457600080fd5b506114ad614540565b60405180826000191660001916815260200191505060405180910390f35b3480156114d757600080fd5b506114fa6004803603810190808035600019169060200190929190505050614551565b604051808b600019166000191681526020018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200188600019166000191681526020018781526020018681526020018560001916600019168152602001846000191660001916815260200183151515158152602001821515151581526020019a505050505050505050505060405180910390f35b3480156115db57600080fd5b506115e461464e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561163257600080fd5b506116556004803603810190808035600019169060200190929190505050614674565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561169857808201518184015260208101905061167d565b505050509050019250505060405180910390f35b3480156116b857600080fd5b506116fb6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614747565b60405180831515151581526020018281526020019250505060405180910390f35b34801561172857600080fd5b506117ee600480360381019080803560001916906020019092919080359060200190929190803515159060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019092919050505061486a565b005b3480156117fc57600080fd5b5061182960048036038101908080356000191690602001909291908035906020019092919050505061501e565b005b34801561183757600080fd5b5061185a600480360381019080803560001916906020019092919050505061505e565b60405180826000191660001916815260200191505060405180910390f35b34801561188457600080fd5b506118a76004803603810190808035600019169060200190929190505050615092565b60405180826000191660001916815260200191505060405180910390f35b3480156118d157600080fd5b506119226004803603810190808035600019169060200190929190803590602001909291908035906020019082018035906020019190919293919293908035151590602001909291905050506150d1565b6040518080602001838152602001828103825284818151815260200191508051906020019060200280838360005b8381101561196b578082015181840152602081019050611950565b50505050905001935050505060405180910390f35b34801561198c57600080fd5b506119af6004803603810190808035600019169060200190929190505050615260565b6040518082815260200191505060405180910390f35b3480156119d157600080fd5b50611a0260048036038101908080356000191690602001909291908035600019169060200190929190505050615288565b005b348015611a1057600080fd5b50611a19615349565b60405180826000191660001916815260200191505060405180910390f35b348015611a4357600080fd5b50611a96600480360381019080803560001916906020019092919080356000191690602001909291908035906020019082018035906020019190919293919293908035906020019092919050505061535a565b005b600080606060006076600087600019166000191681526020019081526020016000206009016000866000191660001916815260200190815260200160002073__DaoStructs____________________________6310d31f6490916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060006040518083038186803b158015611b4257600080fd5b505af4158015611b56573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506080811015611b8057600080fd5b8101908080519060200190929190805190602001909291908051640100000000811115611bac57600080fd5b82810190506020810184811115611bc257600080fd5b8151856020820283011164010000000082111715611bdf57600080fd5b505092919060200180519060200190929190505050935093509350935092959194509250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611c35601454615453565b1515611c4057600080fd5b611c498161555d565b50565b6000611c56615755565b1515611c6157600080fd5b607660008460001916600019168152602001908152602001600020601001600083815260200190815260200160002060050160009054906101000a900460ff16905092915050565b6000806076600084600019166000191681526020019081526020016000209050611cd58160030161586f565b915050919050565b6000611ce7615755565b1515611cf257600080fd5b607660008360001916600019168152602001908152602001600020600a0160050160009054906101000a900460ff169050919050565b6000611d32615755565b1515611d3d57600080fd5b611d6160776000856000191660001916815260200190815260200160002083615920565b905092915050565b600080611d74615755565b1515611d7f57600080fd5b607660008660001916600019168152602001908152602001600020601001600085815260200190815260200160002073__DaoStructs____________________________634bf150b99091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050604080518083038186803b158015611e4d57600080fd5b505af4158015611e61573d6000803e3d6000fd5b505050506040513d6040811015611e7757600080fd5b81019080805190602001909291908051906020019092919050505091509150935093915050565b6000611ea8615755565b1515611eb357600080fd5b611ed660776000846000191660001916815260200190815260200160002061586f565b9050919050565b611ee8601854615453565b1515611ef357600080fd5b801515611f0857611f038361555d565b6120e6565b60008214156120e557607760006007546000191660001916815260200190815260200160002073__DoublyLinkedList______________________6352c6bbf49091856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015611faa57600080fd5b505af4158015611fbe573d6000803e3d6000fd5b505050506040513d6020811015611fd457600080fd5b810190808051906020019092919050505050607760006008546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561207f57600080fd5b505af4158015612093573d6000803e3d6000fd5b505050506040513d60208110156120a957600080fd5b81019080805190602001909291905050505060085460766000856000191660001916815260200190815260200160002060010181600019169055505b5b80607660008560001916600019168152602001908152602001600020601001600084815260200190815260200160002060050160006101000a81548160ff021916908315150217905550505050565b60006121426070836159e2565b9050919050565b612154601854615453565b151561215f57600080fd5b80607660008460001916600019168152602001908152602001600020600a0160050160016101000a81548160ff0219169083151502179055505050565b6121a7601e54615453565b15156121b257600080fd5b6001607660008460001916600019168152602001908152602001600020601001600083815260200190815260200160002060050160026101000a81548160ff0219169083151502179055505050565b600061220e601754615453565b151561221957600080fd5b60766000866000191660001916815260200190815260200160002090508215612322578181600a0160030160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600081600a0160040160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561231d57600081600a0160040160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b612404565b8181600a0160040160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600081600a0160030160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561240357600081600a0160030160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b5050505050565b61244d60606040519081016040528060145460001916600019168152602001601854600019166000191681526020016003546000191660001916815250615aa4565b151561245857600080fd5b80607660008560001916600019168152602001908152602001600020601001600084815260200190815260200160002060000181905550505050565b60015481565b6000607660008360001916600019168152602001908152602001600020600a0160050160019054906101000a900460ff169050919050565b60006124dc615755565b15156124e757600080fd5b60766000846000191660001916815260200190815260200160002073__DaoStructs____________________________631728cc369091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561257657600080fd5b505af415801561258a573d6000803e3d6000fd5b505050506040513d60208110156125a057600080fd5b8101908080519060200190929190505050905092915050565b60006125c3615755565b15156125ce57600080fd5b607660008360001916600019168152602001908152602001600020601101549050919050565b6125ff601854615453565b151561260a57600080fd5b80607660008560001916600019168152602001908152602001600020601001600084815260200190815260200160002060050160016101000a81548160ff021916908315150217905550505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156126f357600080fd5b505af1158015612707573d6000803e3d6000fd5b505050506040513d602081101561271d57600080fd5b81019080805190602001909291905050509050919050565b600061273f615755565b151561274a57600080fd5b607660008460001916600019168152602001908152602001600020601001600083815260200190815260200160002060050160029054906101000a900460ff16905092915050565b61279d601454615453565b15156127a857600080fd5b6127b181611ca9565b607660008360001916600019168152602001908152602001600020601301816000191690555050565b600080607660008560001916600019168152602001908152602001600020905061280781600301846159e2565b91505092915050565b600061281a615755565b151561282557600080fd5b607660008360001916600019168152602001908152602001600020600a01600001549050919050565b6000607660008360001916600019168152602001908152602001600020601401805490509050919050565b60008060766000856000191660001916815260200190815260200160002090506128a68160030184615920565b91505092915050565b6128ba601754615453565b15156128c557600080fd5b82607660008660001916600019168152602001908152602001600020601001600083815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020816000191690555050505050565b600061294d615755565b151561295857600080fd5b607660008560001916600019168152602001908152602001600020601001600084815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490509392505050565b600060766000836000191660001916815260200190815260200160002060150160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600080607660008b6000191660001916815260200190815260200160002060100160008a815260200190815260200160002091508715612a7857607660008b60001916600019168152602001908152602001600020600a019150612ab0565b82607660008c6000191660001916815260200190815260200160002060100160008b8152602001908152602001600020600001819055505b600090505b83811015612bdc57600115158682815181101515612acf57fe5b9060200190602002015115151415612b5a578481815181101515612aef57fe5b906020019060200201518260030160008984815181101515612b0d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612bcf565b8481815181101515612b6857fe5b906020019060200201518260040160008984815181101515612b8657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8080600101915050612ab5565b50505050505050505050565b6000612bf5607083615920565b9050919050565b6060600080612c09615755565b1515612c1457600080fd5b60766000856000191660001916815260200190815260200160002060130154905060035460001916816000191614151515612c4e57600080fd5b60766000856000191660001916815260200190815260200160002060090160008260001916600019168152602001908152602001600020600401805480602002602001604051908101604052809291908181526020018280548015612cd257602002820191906000526020600020905b815481526020019060010190808311612cbe575b505050505092506076600085600019166000191681526020019081526020016000206009016000826000191660001916815260200190815260200160002060030154915050915091565b60008060006060607660008760001916600019168152602001908152602001600020601401805480602002602001604051908101604052809291908181526020016000905b82821015612dba5783829060005260206000209060030201606060405190810160405290816000820154815260200160018201546000191660001916815260200160028201548152505081526020019060010190612d61565b505050509050805185101515612dcf57600080fd5b8085815181101515612ddd57fe5b906020019060200201516040015193508085815181101515612dfb57fe5b906020019060200201516000015192508085815181101515612e1957fe5b90602001906020020151602001519150509250925092565b612e3c601854615453565b1515612e4757600080fd5b80607660008460001916600019168152602001908152602001600020600a0160050160006101000a81548160ff021916908315150217905550801561305e57607760006006546000191660001916815260200190815260200160002073__DoublyLinkedList______________________6352c6bbf49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015612f1f57600080fd5b505af4158015612f33573d6000803e3d6000fd5b505050506040513d6020811015612f4957600080fd5b810190808051906020019092919050505050607760006007546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015612ff457600080fd5b505af4158015613008573d6000803e3d6000fd5b505050506040513d602081101561301e57600080fd5b8101908080519060200190929190505050506007546076600084600019166000191681526020019081526020016000206001018160001916905550613068565b6130678261555d565b5b5050565b6000607660008460001916600019168152602001908152602001600020601001600083815260200190815260200160002060050160019054906101000a900460ff16905092915050565b6130c1601454615453565b15156130cc57600080fd5b80607660008460001916600019168152602001908152602001600020601201819055505050565b6000613100601854615453565b151561310b57600080fd5b60766000836000191660001916815260200190815260200160002060010154905060776000826000191660001916815260200190815260200160002073__DoublyLinkedList______________________6352c6bbf49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b1580156131c357600080fd5b505af41580156131d7573d6000803e3d6000fd5b505050506040513d60208110156131ed57600080fd5b81019080805190602001909291905050505060776000600a546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561329857600080fd5b505af41580156132ac573d6000803e3d6000fd5b505050506040513d60208110156132c257600080fd5b810190808051906020019092919050505050600a5460766000846000191660001916815260200190815260200160002060010181600019169055505050565b61330c601454615453565b151561331757600080fd5b600354600019166076600088600019166000191681526020019081526020016000206000015460001916148015613358575060035460001916866000191614155b151561336357600080fd5b607073__DoublyLinkedList______________________63582f30b49091886040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b1580156133e157600080fd5b505af41580156133f5573d6000803e3d6000fd5b505050506040513d602081101561340b57600080fd5b810190808051906020019092919050505050607760006005546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091886040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b1580156134b657600080fd5b505af41580156134ca573d6000803e3d6000fd5b505050506040513d60208110156134e057600080fd5b8101908080519060200190929190505050508560766000886000191660001916815260200190815260200160002060000181600019169055508460766000886000191660001916815260200190815260200160002060150160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600554607660008860001916600019168152602001908152602001600020600101816000191690555042607660008860001916600019168152602001908152602001600020600201819055508060766000886000191660001916815260200190815260200160002060160160156101000a81548160ff02191690831515021790555060766000876000191660001916815260200190815260200160002073__DaoStructs____________________________63ea496bc99091888787876040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086815260200185600019166000191681526020018060200183815260200182810382528585828181526020019250602002808284378201915050965050505050505060006040518083038186803b1580156136bc57600080fd5b505af41580156136d0573d6000803e3d6000fd5b50505050505050505050565b6000806136e7615755565b15156136f257600080fd5b607660008760001916600019168152602001908152602001600020601001600086815260200190815260200160002073__DaoStructs____________________________63b31ee28c909186866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018060200182810382528484828181526020019250602002808284378201915050945050505050604080518083038186803b1580156137b157600080fd5b505af41580156137c5573d6000803e3d6000fd5b505050506040513d60408110156137db57600080fd5b8101908080519060200190929190805190602001909291905050509150915094509492505050565b61380e601754615453565b151561381957600080fd5b607660008660001916600019168152602001908152602001600020601001600082815260200190815260200160002073__DaoStructs____________________________631a14c51b90918686866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018315151515815260200182815260200194505050505060006040518083038186803b1580156138fc57600080fd5b505af4158015613910573d6000803e3d6000fd5b505050505050505050565b6000613925615755565b151561393057600080fd5b613954607760008560001916600019168152602001908152602001600020836159e2565b905092915050565b6000613969601454615453565b151561397457600080fd5b6076600084600019166000191681526020019081526020016000209050818160160160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654816001018160001916905550607760006005546000191660001916815260200190815260200160002073__DoublyLinkedList______________________6352c6bbf49091856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015613a7c57600080fd5b505af4158015613a90573d6000803e3d6000fd5b505050506040513d6020811015613aa657600080fd5b810190808051906020019092919050505050607760006006546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015613b5157600080fd5b505af4158015613b65573d6000803e3d6000fd5b505050506040513d6020811015613b7b57600080fd5b810190808051906020019092919050505050505050565b607073__DoublyLinkedList______________________63582f30b49091896040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015613c1057600080fd5b505af4158015613c24573d6000803e3d6000fd5b505050506040513d6020811015613c3a57600080fd5b8101908080519060200190929190505050508660766000896000191660001916815260200190815260200160002060000181600019169055508460766000896000191660001916815260200190815260200160002060150160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061012c42036076600089600019166000191681526020019081526020016000206002018190555060766000886000191660001916815260200190815260200160002060030173__DoublyLinkedList______________________63582f30b49091896040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015613d9157600080fd5b505af4158015613da5573d6000803e3d6000fd5b505050506040513d6020811015613dbb57600080fd5b810190808051906020019092919050505050866076600089600019166000191681526020019081526020016000206009016000896000191660001916815260200190815260200160002060000181600019169055504260766000896000191660001916815260200190815260200160002060090160008960001916600019168152602001908152602001600020600101819055508251607660008960001916600019168152602001908152602001600020600901600089600019166000191681526020019081526020016000206002018190555082607660008960001916600019168152602001908152602001600020600901600089600019166000191681526020019081526020016000206004019080519060200190613edd929190615d8f565b508160766000896000191660001916815260200190815260200160002060090160008960001916600019168152602001908152602001600020600301819055508360766000896000191660001916815260200190815260200160002060160160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550866076600089600019166000191681526020019081526020016000206013018160001916905550806076600089600019166000191681526020019081526020016000206010016000888152602001908152602001600020600001819055506001607660008960001916600019168152602001908152602001600020601001600088815260200190815260200160002060050160016101000a81548160ff0219169083151502179055506001607660008960001916600019168152602001908152602001600020601001600088815260200190815260200160002060050160006101000a81548160ff0219169083151502179055506001607660008960001916600019168152602001908152602001600020601001600088815260200190815260200160002060050160026101000a81548160ff02191690831515021790555050505050505050565b60006140cc615755565b15156140d757600080fd5b607660008460001916600019168152602001908152602001600020601001600083815260200190815260200160002060000154905092915050565b60008061411d615755565b151561412857600080fd5b607660008660001916600019168152602001908152602001600020600a0173__DaoStructs____________________________63b31ee28c909186866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018060200182810382528484828181526020019250602002808284378201915050945050505050604080518083038186803b1580156141d657600080fd5b505af41580156141ea573d6000803e3d6000fd5b505050506040513d604081101561420057600080fd5b81019080805190602001909291908051906020019092919050505091509150935093915050565b61422f615ddc565b61423a601454615453565b151561424557600080fd5b6009546000191660766000876000191660001916815260200190815260200160002060010154600019161415151561427c57600080fd5b818160000181815250508281602001906000191690816000191681525050838160400181815250506076600086600019166000191681526020019081526020016000206014018190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001019060001916905560408201518160020155505050600c5484141561435b57600160766000876000191660001916815260200190815260200160002060160160146101000a81548160ff0219169083151502179055506143e3565b600d548414156143a157600060766000876000191660001916815260200190815260200160002060160160146101000a81548160ff0219169083151502179055506143e2565b600160766000876000191660001916815260200190815260200160002060160160146101000a81548160ff0219169083151502179055506143e18561555d565b5b5b5050505050565b60006143f7601454615453565b151561440257600080fd5b6076600086600019166000191681526020019081526020016000206013015490506003546000191681600019161415151561443c57600080fd5b8383607660008860001916600019168152602001908152602001600020600901600084600019166000191681526020019081526020016000206004019190614485929190615e01565b508160766000876000191660001916815260200190815260200160002060090160008360001916600019168152602001908152602001600020600301819055505050505050565b61450e60606040519081016040528060185460001916600019168152602001601e54600019166000191681526020016014546000191660001916815250615aa4565b151561451957600080fd5b80607660008460001916600019168152602001908152602001600020601101819055505050565b600061454c6070615c1b565b905090565b600080600080600080600080600080600061456a615755565b151561457557600080fd5b607660008d60001916600019168152602001908152602001600020905080600001549a508060150160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1699508060160160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169850806001015497508060020154965061460181600301615ccc565b955061460f8160030161586f565b9450806013015493508060160160149054906101000a900460ff1692508060160160159054906101000a900460ff169150509193959799509193959799565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606000607660008460001916600019168152602001908152602001600020601301549050600354600019168160001916141515156146b257600080fd5b6076600084600019166000191681526020019081526020016000206009016000826000191660001916815260200190815260200160002060050180548060200260200160405190810160405280929190818152602001828054801561473a57602002820191906000526020600020905b81546000191681526020019060010190808311614722575b5050505050915050919050565b600080614752615755565b151561475d57600080fd5b607660008560001916600019168152602001908152602001600020600a0173__DaoStructs____________________________634bf150b99091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050604080518083038186803b15801561481a57600080fd5b505af415801561482e573d6000803e3d6000fd5b505050506040513d604081101561484457600080fd5b810190808051906020019092919080519060200190929190505050915091509250929050565b607073__DoublyLinkedList______________________63582f30b49091896040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b1580156148e857600080fd5b505af41580156148fc573d6000803e3d6000fd5b505050506040513d602081101561491257600080fd5b8101908080519060200190929190505050508660766000896000191660001916815260200190815260200160002060000181600019169055508360766000896000191660001916815260200190815260200160002060150160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550603c42036076600089600019166000191681526020019081526020016000206002018190555060766000886000191660001916815260200190815260200160002060030173__DoublyLinkedList______________________63582f30b49091896040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015614a6857600080fd5b505af4158015614a7c573d6000803e3d6000fd5b505050506040513d6020811015614a9257600080fd5b810190808051906020019092919050505050866076600089600019166000191681526020019081526020016000206009016000896000191660001916815260200190815260200160002060000181600019169055504260766000896000191660001916815260200190815260200160002060090160008960001916600019168152602001908152602001600020600101819055508151607660008960001916600019168152602001908152602001600020600901600089600019166000191681526020019081526020016000206002018190555081607660008960001916600019168152602001908152602001600020600901600089600019166000191681526020019081526020016000206004019080519060200190614bb4929190615d8f565b508060766000896000191660001916815260200190815260200160002060090160008960001916600019168152602001908152602001600020600301819055508260766000896000191660001916815260200190815260200160002060160160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550866076600089600019166000191681526020019081526020016000206013018160001916905550671bc16d674ec80000607660008960001916600019168152602001908152602001600020601201819055508415614dd257607760006006546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091896040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015614d4257600080fd5b505af4158015614d56573d6000803e3d6000fd5b505050506040513d6020811015614d6c57600080fd5b810190808051906020019092919050505050600654607660008960001916600019168152602001908152602001600020600101816000191690555042607660008960001916600019168152602001908152602001600020600a0160000181905550615015565b6000861415614ede57607760006007546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091896040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015614e7457600080fd5b505af4158015614e88573d6000803e3d6000fd5b505050506040513d6020811015614e9e57600080fd5b8101908080519060200190929190505050506007546076600089600019166000191681526020019081526020016000206001018160001916905550614fdd565b607760006008546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091896040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015614f7757600080fd5b505af4158015614f8b573d6000803e3d6000fd5b505050506040513d6020811015614fa157600080fd5b81019080805190602001909291905050505060085460766000896000191660001916815260200190815260200160002060010181600019169055505b426076600089600019166000191681526020019081526020016000206010016000888152602001908152602001600020600001819055505b50505050505050565b615029601454615453565b151561503457600080fd5b80607660008460001916600019168152602001908152602001600020600a01600001819055505050565b600080607660008460001916600019168152602001908152602001600020905061508a81600301615c1b565b915050919050565b600061509c615755565b15156150a757600080fd5b6150ca607760008460001916600019168152602001908152602001600020615c1b565b9050919050565b606060006150dd615755565b15156150e857600080fd5b607660008860001916600019168152602001908152602001600020601001600087815260200190815260200160002073__DaoStructs____________________________63f53380cf90918787876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018060200183151515158152602001828103825285858281815260200192506020028082843782019150509550505050505060006040518083038186803b1580156151b457600080fd5b505af41580156151c8573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060408110156151f257600080fd5b81019080805164010000000081111561520a57600080fd5b8281019050602081018481111561522057600080fd5b815185602082028301116401000000008211171561523d57600080fd5b505092919060200180519060200190929190505050915091509550959350505050565b6000607660008360001916600019168152602001908152602001600020601201549050919050565b6000615295601454615453565b15156152a057600080fd5b607660008460001916600019168152602001908152602001600020601301549050600354600019168160001916141515156152da57600080fd5b60766000846000191660001916815260200190815260200160002060090160008260001916600019168152602001908152602001600020600501829080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550505050565b6000615355607061586f565b905090565b615365601454615453565b151561537057600080fd5b60766000866000191660001916815260200190815260200160002073__DaoStructs____________________________63ea496bc99091868686866040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086815260200185600019166000191681526020018060200183815260200182810382528585828181526020019250602002808284378201915050965050505050505060006040518083038186803b15801561543457600080fd5b505af4158015615448573d6000803e3d6000fd5b505050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156154ed57600080fd5b505af1158015615501573d6000803e3d6000fd5b505050506040513d602081101561551757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b600060766000836000191660001916815260200190815260200160002060010154905060776000826000191660001916815260200190815260200160002073__DoublyLinkedList______________________6352c6bbf49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561561757600080fd5b505af415801561562b573d6000803e3d6000fd5b505050506040513d602081101561564157600080fd5b810190808051906020019092919050505050607760006009546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b1580156156ec57600080fd5b505af4158015615700573d6000803e3d6000fd5b505050506040513d602081101561571657600080fd5b81019080805190602001909291905050505060095460766000846000191660001916815260200190815260200160002060010181600019169055505050565b60003273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061586a5750615794615d7d565b73ffffffffffffffffffffffffffffffffffffffff16639b19251a336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561582e57600080fd5b505af1158015615842573d6000803e3d6000fd5b505050506040513d602081101561585857600080fd5b81019080805190602001909291905050505b905090565b60008173__DoublyLinkedList______________________632553148290916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b1580156158de57600080fd5b505af41580156158f2573d6000803e3d6000fd5b505050506040513d602081101561590857600080fd5b81019080805190602001909291905050509050919050565b60008273__DoublyLinkedList______________________632a1441789091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561599f57600080fd5b505af41580156159b3573d6000803e3d6000fd5b505050506040513d60208110156159c957600080fd5b8101908080519060200190929190505050905092915050565b60008273__DoublyLinkedList______________________63cf06689d9091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015615a6157600080fd5b505af4158015615a75573d6000803e3d6000fd5b505050506040513d6020811015615a8b57600080fd5b8101908080519060200190929190505050905092915050565b600080600060039150600090505b81811015615c14576000600102600019168482600381101515615ad157fe5b6020020151600019161415615ae557615c07565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff8583600381101515615b3057fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015615b8f57600080fd5b505af1158015615ba3573d6000803e3d6000fd5b505050506040513d6020811015615bb957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415615c065760019250615c14565b5b8080600101915050615ab2565b5050919050565b60008173__DoublyLinkedList______________________6356717c7990916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b158015615c8a57600080fd5b505af4158015615c9e573d6000803e3d6000fd5b505050506040513d6020811015615cb457600080fd5b81019080805190602001909291905050509050919050565b60008173__DoublyLinkedList______________________630f77955290916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b158015615d3b57600080fd5b505af4158015615d4f573d6000803e3d6000fd5b505050506040513d6020811015615d6557600080fd5b81019080805190602001909291905050509050919050565b6000615d8a602e54612659565b905090565b828054828255906000526020600020908101928215615dcb579160200282015b82811115615dca578251825591602001919060010190615daf565b5b509050615dd89190615e4e565b5090565b6060604051908101604052806000815260200160008019168152602001600081525090565b828054828255906000526020600020908101928215615e3d579160200282015b82811115615e3c578235825591602001919060010190615e21565b5b509050615e4a9190615e4e565b5090565b615e7091905b80821115615e6c576000816000905550600101615e54565b5090565b905600a165627a7a723058202b130b552a2df3bd8184925f452a5af9f3bc9d61f0271ad894ff0b7f73af0c130029", + "deployedBytecode": "0x6080604052600436106102eb576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303020ea9146102f057806304f3bcec146103a1578063078f872c146103f85780630bcaa451146104295780630c012e591461047c5780630ec8f125146104c95780631478fff1146105125780631d2103d11461056d5780631d47c3d3146105e75780631ea5d62f14610634578063237286e91461067b57806327618ad9146106c857806327a9bb0e146107055780632fd010da14610740578063344e436e146107a75780633943380c146107ec578063395ddde91461081f5780633a85b822146108685780633be88369146108b75780633e020d2f146108fc5780633f83acff1461094357806341a71589146109b457806347d0da1414610a0757806347d621a314610a3857806349a428d014610a935780634c5b318a14610ad857806356674c9f14610b1d57806358cec13914610b78578063598f0eaf14610be15780635b712eb614610c58578063689e699914610cc957806370a6f59114610ded5780637246d5a714610e3a5780637aafacae14610ec757806382e445c614610f2c57806385f5276f14610f695780638a2d659714610fbc57806395ecdf9e14610ff7578063a1d444a414611028578063a1e55acf146110a7578063a6129f8c14611115578063a692e0ef14611186578063ac443d9f146111e1578063afe2da7a14611232578063baf4266014611304578063bb3b5f6d14611353578063c004b7de146113b7578063c3093bb11461140a578063c362c7901461145d578063cfd5917214611498578063d8d50179146114cb578063db4ecbc1146115cf578063de233e4214611626578063e14b2c26146116ac578063e2cf05d41461171c578063e3f3f7a2146117f0578063e41566751461182b578063e7853aac14611878578063e81362fe146118c5578063eb82718a14611980578063eef7b8f5146119c5578063f0ab3dd914611a04578063ffec1b2114611a37575b600080fd5b3480156102fc57600080fd5b5061032d60048036038101908080356000191690602001909291908035600019169060200190929190505050611a98565b60405180856000191660001916815260200184815260200180602001838152602001828103825284818151815260200191508051906020019060200280838360005b8381101561038a57808201518184015260208101905061036f565b505050509050019550505050505060405180910390f35b3480156103ad57600080fd5b506103b6611c05565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561040457600080fd5b506104276004803603810190808035600019169060200190929190505050611c2a565b005b34801561043557600080fd5b50610462600480360381019080803560001916906020019092919080359060200190929190505050611c4c565b604051808215151515815260200191505060405180910390f35b34801561048857600080fd5b506104ab6004803603810190808035600019169060200190929190505050611ca9565b60405180826000191660001916815260200191505060405180910390f35b3480156104d557600080fd5b506104f86004803603810190808035600019169060200190929190505050611cdd565b604051808215151515815260200191505060405180910390f35b34801561051e57600080fd5b5061054f60048036038101908080356000191690602001909291908035600019169060200190929190505050611d28565b60405180826000191660001916815260200191505060405180910390f35b34801561057957600080fd5b506105c6600480360381019080803560001916906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d69565b60405180831515151581526020018281526020019250505060405180910390f35b3480156105f357600080fd5b506106166004803603810190808035600019169060200190929190505050611e9e565b60405180826000191660001916815260200191505060405180910390f35b34801561064057600080fd5b50610679600480360381019080803560001916906020019092919080359060200190929190803515159060200190929190505050611edd565b005b34801561068757600080fd5b506106aa6004803603810190808035600019169060200190929190505050612135565b60405180826000191660001916815260200191505060405180910390f35b3480156106d457600080fd5b506107036004803603810190808035600019169060200190929190803515159060200190929190505050612149565b005b34801561071157600080fd5b5061073e60048036038101908080356000191690602001909291908035906020019092919050505061219c565b005b34801561074c57600080fd5b506107a56004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919080359060200190929190505050612201565b005b3480156107b357600080fd5b506107ea6004803603810190808035600019169060200190929190803590602001909291908035906020019092919050505061240b565b005b3480156107f857600080fd5b50610801612494565b60405180826000191660001916815260200191505060405180910390f35b34801561082b57600080fd5b5061084e600480360381019080803560001916906020019092919050505061249a565b604051808215151515815260200191505060405180910390f35b34801561087457600080fd5b506108a16004803603810190808035600019169060200190929190803590602001909291905050506124d2565b6040518082815260200191505060405180910390f35b3480156108c357600080fd5b506108e660048036038101908080356000191690602001909291905050506125b9565b6040518082815260200191505060405180910390f35b34801561090857600080fd5b506109416004803603810190808035600019169060200190929190803590602001909291908035151590602001909291905050506125f4565b005b34801561094f57600080fd5b506109726004803603810190808035600019169060200190929190505050612659565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109c057600080fd5b506109ed600480360381019080803560001916906020019092919080359060200190929190505050612735565b604051808215151515815260200191505060405180910390f35b348015610a1357600080fd5b50610a366004803603810190808035600019169060200190929190505050612792565b005b348015610a4457600080fd5b50610a75600480360381019080803560001916906020019092919080356000191690602001909291905050506127da565b60405180826000191660001916815260200191505060405180910390f35b348015610a9f57600080fd5b50610ac26004803603810190808035600019169060200190929190505050612810565b6040518082815260200191505060405180910390f35b348015610ae457600080fd5b50610b07600480360381019080803560001916906020019092919050505061284e565b6040518082815260200191505060405180910390f35b348015610b2957600080fd5b50610b5a60048036038101908080356000191690602001909291908035600019169060200190929190505050612879565b60405180826000191660001916815260200191505060405180910390f35b348015610b8457600080fd5b50610bdf60048036038101908080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506128af565b005b348015610bed57600080fd5b50610c3a600480360381019080803560001916906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612943565b60405180826000191660001916815260200191505060405180910390f35b348015610c6457600080fd5b50610c8760048036038101908080356000191690602001909291905050506129d1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610cd557600080fd5b50610deb6004803603810190808035600019169060200190929190803590602001909291908035151590602001909291908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019092919080359060200190929190505050612a19565b005b348015610df957600080fd5b50610e1c6004803603810190808035600019169060200190929190505050612be8565b60405180826000191660001916815260200191505060405180910390f35b348015610e4657600080fd5b50610e696004803603810190808035600019169060200190929190505050612bfc565b6040518080602001838152602001828103825284818151815260200191508051906020019060200280838360005b83811015610eb2578082015181840152602081019050610e97565b50505050905001935050505060405180910390f35b348015610ed357600080fd5b50610f00600480360381019080803560001916906020019092919080359060200190929190505050612d1c565b604051808481526020018381526020018260001916600019168152602001935050505060405180910390f35b348015610f3857600080fd5b50610f676004803603810190808035600019169060200190929190803515159060200190929190505050612e31565b005b348015610f7557600080fd5b50610fa260048036038101908080356000191690602001909291908035906020019092919050505061306c565b604051808215151515815260200191505060405180910390f35b348015610fc857600080fd5b50610ff56004803603810190808035600019169060200190929190803590602001909291905050506130b6565b005b34801561100357600080fd5b5061102660048036038101908080356000191690602001909291905050506130f3565b005b34801561103457600080fd5b506110a56004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190820180359060200191909192939192939080359060200190929190803515159060200190929190505050613301565b005b3480156110b357600080fd5b506110f86004803603810190808035600019169060200190929190803590602001909291908035906020019082018035906020019190919293919293905050506136dc565b604051808381526020018281526020019250505060405180910390f35b34801561112157600080fd5b506111846004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291908035906020019092919080359060200190929190505050613803565b005b34801561119257600080fd5b506111c36004803603810190808035600019169060200190929190803560001916906020019092919050505061391b565b60405180826000191660001916815260200191505060405180910390f35b3480156111ed57600080fd5b506112306004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061395c565b005b34801561123e57600080fd5b50611302600480360381019080803560001916906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019092919080359060200190929190505050613b92565b005b34801561131057600080fd5b5061133d6004803603810190808035600019169060200190929190803590602001909291905050506140c2565b6040518082815260200191505060405180910390f35b34801561135f57600080fd5b5061139a6004803603810190808035600019169060200190929190803590602001908201803590602001919091929391929390505050614112565b604051808381526020018281526020019250505060405180910390f35b3480156113c357600080fd5b50611408600480360381019080803560001916906020019092919080359060200190929190803560001916906020019092919080359060200190929190505050614227565b005b34801561141657600080fd5b5061145b6004803603810190808035600019169060200190929190803590602001908201803590602001919091929391929390803590602001909291905050506143ea565b005b34801561146957600080fd5b506114966004803603810190808035600019169060200190929190803590602001909291905050506144cc565b005b3480156114a457600080fd5b506114ad614540565b60405180826000191660001916815260200191505060405180910390f35b3480156114d757600080fd5b506114fa6004803603810190808035600019169060200190929190505050614551565b604051808b600019166000191681526020018a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200188600019166000191681526020018781526020018681526020018560001916600019168152602001846000191660001916815260200183151515158152602001821515151581526020019a505050505050505050505060405180910390f35b3480156115db57600080fd5b506115e461464e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561163257600080fd5b506116556004803603810190808035600019169060200190929190505050614674565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561169857808201518184015260208101905061167d565b505050509050019250505060405180910390f35b3480156116b857600080fd5b506116fb6004803603810190808035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614747565b60405180831515151581526020018281526020019250505060405180910390f35b34801561172857600080fd5b506117ee600480360381019080803560001916906020019092919080359060200190929190803515159060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019092919050505061486a565b005b3480156117fc57600080fd5b5061182960048036038101908080356000191690602001909291908035906020019092919050505061501e565b005b34801561183757600080fd5b5061185a600480360381019080803560001916906020019092919050505061505e565b60405180826000191660001916815260200191505060405180910390f35b34801561188457600080fd5b506118a76004803603810190808035600019169060200190929190505050615092565b60405180826000191660001916815260200191505060405180910390f35b3480156118d157600080fd5b506119226004803603810190808035600019169060200190929190803590602001909291908035906020019082018035906020019190919293919293908035151590602001909291905050506150d1565b6040518080602001838152602001828103825284818151815260200191508051906020019060200280838360005b8381101561196b578082015181840152602081019050611950565b50505050905001935050505060405180910390f35b34801561198c57600080fd5b506119af6004803603810190808035600019169060200190929190505050615260565b6040518082815260200191505060405180910390f35b3480156119d157600080fd5b50611a0260048036038101908080356000191690602001909291908035600019169060200190929190505050615288565b005b348015611a1057600080fd5b50611a19615349565b60405180826000191660001916815260200191505060405180910390f35b348015611a4357600080fd5b50611a96600480360381019080803560001916906020019092919080356000191690602001909291908035906020019082018035906020019190919293919293908035906020019092919050505061535a565b005b600080606060006076600087600019166000191681526020019081526020016000206009016000866000191660001916815260200190815260200160002073__DaoStructs____________________________6310d31f6490916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060006040518083038186803b158015611b4257600080fd5b505af4158015611b56573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506080811015611b8057600080fd5b8101908080519060200190929190805190602001909291908051640100000000811115611bac57600080fd5b82810190506020810184811115611bc257600080fd5b8151856020820283011164010000000082111715611bdf57600080fd5b505092919060200180519060200190929190505050935093509350935092959194509250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611c35601454615453565b1515611c4057600080fd5b611c498161555d565b50565b6000611c56615755565b1515611c6157600080fd5b607660008460001916600019168152602001908152602001600020601001600083815260200190815260200160002060050160009054906101000a900460ff16905092915050565b6000806076600084600019166000191681526020019081526020016000209050611cd58160030161586f565b915050919050565b6000611ce7615755565b1515611cf257600080fd5b607660008360001916600019168152602001908152602001600020600a0160050160009054906101000a900460ff169050919050565b6000611d32615755565b1515611d3d57600080fd5b611d6160776000856000191660001916815260200190815260200160002083615920565b905092915050565b600080611d74615755565b1515611d7f57600080fd5b607660008660001916600019168152602001908152602001600020601001600085815260200190815260200160002073__DaoStructs____________________________634bf150b99091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050604080518083038186803b158015611e4d57600080fd5b505af4158015611e61573d6000803e3d6000fd5b505050506040513d6040811015611e7757600080fd5b81019080805190602001909291908051906020019092919050505091509150935093915050565b6000611ea8615755565b1515611eb357600080fd5b611ed660776000846000191660001916815260200190815260200160002061586f565b9050919050565b611ee8601854615453565b1515611ef357600080fd5b801515611f0857611f038361555d565b6120e6565b60008214156120e557607760006007546000191660001916815260200190815260200160002073__DoublyLinkedList______________________6352c6bbf49091856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015611faa57600080fd5b505af4158015611fbe573d6000803e3d6000fd5b505050506040513d6020811015611fd457600080fd5b810190808051906020019092919050505050607760006008546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561207f57600080fd5b505af4158015612093573d6000803e3d6000fd5b505050506040513d60208110156120a957600080fd5b81019080805190602001909291905050505060085460766000856000191660001916815260200190815260200160002060010181600019169055505b5b80607660008560001916600019168152602001908152602001600020601001600084815260200190815260200160002060050160006101000a81548160ff021916908315150217905550505050565b60006121426070836159e2565b9050919050565b612154601854615453565b151561215f57600080fd5b80607660008460001916600019168152602001908152602001600020600a0160050160016101000a81548160ff0219169083151502179055505050565b6121a7601e54615453565b15156121b257600080fd5b6001607660008460001916600019168152602001908152602001600020601001600083815260200190815260200160002060050160026101000a81548160ff0219169083151502179055505050565b600061220e601754615453565b151561221957600080fd5b60766000866000191660001916815260200190815260200160002090508215612322578181600a0160030160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600081600a0160040160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561231d57600081600a0160040160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b612404565b8181600a0160040160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600081600a0160030160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561240357600081600a0160030160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b5050505050565b61244d60606040519081016040528060145460001916600019168152602001601854600019166000191681526020016003546000191660001916815250615aa4565b151561245857600080fd5b80607660008560001916600019168152602001908152602001600020601001600084815260200190815260200160002060000181905550505050565b60015481565b6000607660008360001916600019168152602001908152602001600020600a0160050160019054906101000a900460ff169050919050565b60006124dc615755565b15156124e757600080fd5b60766000846000191660001916815260200190815260200160002073__DaoStructs____________________________631728cc369091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15801561257657600080fd5b505af415801561258a573d6000803e3d6000fd5b505050506040513d60208110156125a057600080fd5b8101908080519060200190929190505050905092915050565b60006125c3615755565b15156125ce57600080fd5b607660008360001916600019168152602001908152602001600020601101549050919050565b6125ff601854615453565b151561260a57600080fd5b80607660008560001916600019168152602001908152602001600020601001600084815260200190815260200160002060050160016101000a81548160ff021916908315150217905550505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156126f357600080fd5b505af1158015612707573d6000803e3d6000fd5b505050506040513d602081101561271d57600080fd5b81019080805190602001909291905050509050919050565b600061273f615755565b151561274a57600080fd5b607660008460001916600019168152602001908152602001600020601001600083815260200190815260200160002060050160029054906101000a900460ff16905092915050565b61279d601454615453565b15156127a857600080fd5b6127b181611ca9565b607660008360001916600019168152602001908152602001600020601301816000191690555050565b600080607660008560001916600019168152602001908152602001600020905061280781600301846159e2565b91505092915050565b600061281a615755565b151561282557600080fd5b607660008360001916600019168152602001908152602001600020600a01600001549050919050565b6000607660008360001916600019168152602001908152602001600020601401805490509050919050565b60008060766000856000191660001916815260200190815260200160002090506128a68160030184615920565b91505092915050565b6128ba601754615453565b15156128c557600080fd5b82607660008660001916600019168152602001908152602001600020601001600083815260200190815260200160002060020160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020816000191690555050505050565b600061294d615755565b151561295857600080fd5b607660008560001916600019168152602001908152602001600020601001600084815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490509392505050565b600060766000836000191660001916815260200190815260200160002060150160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600080607660008b6000191660001916815260200190815260200160002060100160008a815260200190815260200160002091508715612a7857607660008b60001916600019168152602001908152602001600020600a019150612ab0565b82607660008c6000191660001916815260200190815260200160002060100160008b8152602001908152602001600020600001819055505b600090505b83811015612bdc57600115158682815181101515612acf57fe5b9060200190602002015115151415612b5a578481815181101515612aef57fe5b906020019060200201518260030160008984815181101515612b0d57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612bcf565b8481815181101515612b6857fe5b906020019060200201518260040160008984815181101515612b8657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8080600101915050612ab5565b50505050505050505050565b6000612bf5607083615920565b9050919050565b6060600080612c09615755565b1515612c1457600080fd5b60766000856000191660001916815260200190815260200160002060130154905060035460001916816000191614151515612c4e57600080fd5b60766000856000191660001916815260200190815260200160002060090160008260001916600019168152602001908152602001600020600401805480602002602001604051908101604052809291908181526020018280548015612cd257602002820191906000526020600020905b815481526020019060010190808311612cbe575b505050505092506076600085600019166000191681526020019081526020016000206009016000826000191660001916815260200190815260200160002060030154915050915091565b60008060006060607660008760001916600019168152602001908152602001600020601401805480602002602001604051908101604052809291908181526020016000905b82821015612dba5783829060005260206000209060030201606060405190810160405290816000820154815260200160018201546000191660001916815260200160028201548152505081526020019060010190612d61565b505050509050805185101515612dcf57600080fd5b8085815181101515612ddd57fe5b906020019060200201516040015193508085815181101515612dfb57fe5b906020019060200201516000015192508085815181101515612e1957fe5b90602001906020020151602001519150509250925092565b612e3c601854615453565b1515612e4757600080fd5b80607660008460001916600019168152602001908152602001600020600a0160050160006101000a81548160ff021916908315150217905550801561305e57607760006006546000191660001916815260200190815260200160002073__DoublyLinkedList______________________6352c6bbf49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015612f1f57600080fd5b505af4158015612f33573d6000803e3d6000fd5b505050506040513d6020811015612f4957600080fd5b810190808051906020019092919050505050607760006007546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015612ff457600080fd5b505af4158015613008573d6000803e3d6000fd5b505050506040513d602081101561301e57600080fd5b8101908080519060200190929190505050506007546076600084600019166000191681526020019081526020016000206001018160001916905550613068565b6130678261555d565b5b5050565b6000607660008460001916600019168152602001908152602001600020601001600083815260200190815260200160002060050160019054906101000a900460ff16905092915050565b6130c1601454615453565b15156130cc57600080fd5b80607660008460001916600019168152602001908152602001600020601201819055505050565b6000613100601854615453565b151561310b57600080fd5b60766000836000191660001916815260200190815260200160002060010154905060776000826000191660001916815260200190815260200160002073__DoublyLinkedList______________________6352c6bbf49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b1580156131c357600080fd5b505af41580156131d7573d6000803e3d6000fd5b505050506040513d60208110156131ed57600080fd5b81019080805190602001909291905050505060776000600a546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561329857600080fd5b505af41580156132ac573d6000803e3d6000fd5b505050506040513d60208110156132c257600080fd5b810190808051906020019092919050505050600a5460766000846000191660001916815260200190815260200160002060010181600019169055505050565b61330c601454615453565b151561331757600080fd5b600354600019166076600088600019166000191681526020019081526020016000206000015460001916148015613358575060035460001916866000191614155b151561336357600080fd5b607073__DoublyLinkedList______________________63582f30b49091886040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b1580156133e157600080fd5b505af41580156133f5573d6000803e3d6000fd5b505050506040513d602081101561340b57600080fd5b810190808051906020019092919050505050607760006005546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091886040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b1580156134b657600080fd5b505af41580156134ca573d6000803e3d6000fd5b505050506040513d60208110156134e057600080fd5b8101908080519060200190929190505050508560766000886000191660001916815260200190815260200160002060000181600019169055508460766000886000191660001916815260200190815260200160002060150160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600554607660008860001916600019168152602001908152602001600020600101816000191690555042607660008860001916600019168152602001908152602001600020600201819055508060766000886000191660001916815260200190815260200160002060160160156101000a81548160ff02191690831515021790555060766000876000191660001916815260200190815260200160002073__DaoStructs____________________________63ea496bc99091888787876040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086815260200185600019166000191681526020018060200183815260200182810382528585828181526020019250602002808284378201915050965050505050505060006040518083038186803b1580156136bc57600080fd5b505af41580156136d0573d6000803e3d6000fd5b50505050505050505050565b6000806136e7615755565b15156136f257600080fd5b607660008760001916600019168152602001908152602001600020601001600086815260200190815260200160002073__DaoStructs____________________________63b31ee28c909186866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018060200182810382528484828181526020019250602002808284378201915050945050505050604080518083038186803b1580156137b157600080fd5b505af41580156137c5573d6000803e3d6000fd5b505050506040513d60408110156137db57600080fd5b8101908080519060200190929190805190602001909291905050509150915094509492505050565b61380e601754615453565b151561381957600080fd5b607660008660001916600019168152602001908152602001600020601001600082815260200190815260200160002073__DaoStructs____________________________631a14c51b90918686866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018315151515815260200182815260200194505050505060006040518083038186803b1580156138fc57600080fd5b505af4158015613910573d6000803e3d6000fd5b505050505050505050565b6000613925615755565b151561393057600080fd5b613954607760008560001916600019168152602001908152602001600020836159e2565b905092915050565b6000613969601454615453565b151561397457600080fd5b6076600084600019166000191681526020019081526020016000209050818160160160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654816001018160001916905550607760006005546000191660001916815260200190815260200160002073__DoublyLinkedList______________________6352c6bbf49091856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015613a7c57600080fd5b505af4158015613a90573d6000803e3d6000fd5b505050506040513d6020811015613aa657600080fd5b810190808051906020019092919050505050607760006006546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091856040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015613b5157600080fd5b505af4158015613b65573d6000803e3d6000fd5b505050506040513d6020811015613b7b57600080fd5b810190808051906020019092919050505050505050565b607073__DoublyLinkedList______________________63582f30b49091896040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015613c1057600080fd5b505af4158015613c24573d6000803e3d6000fd5b505050506040513d6020811015613c3a57600080fd5b8101908080519060200190929190505050508660766000896000191660001916815260200190815260200160002060000181600019169055508460766000896000191660001916815260200190815260200160002060150160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061012c42036076600089600019166000191681526020019081526020016000206002018190555060766000886000191660001916815260200190815260200160002060030173__DoublyLinkedList______________________63582f30b49091896040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015613d9157600080fd5b505af4158015613da5573d6000803e3d6000fd5b505050506040513d6020811015613dbb57600080fd5b810190808051906020019092919050505050866076600089600019166000191681526020019081526020016000206009016000896000191660001916815260200190815260200160002060000181600019169055504260766000896000191660001916815260200190815260200160002060090160008960001916600019168152602001908152602001600020600101819055508251607660008960001916600019168152602001908152602001600020600901600089600019166000191681526020019081526020016000206002018190555082607660008960001916600019168152602001908152602001600020600901600089600019166000191681526020019081526020016000206004019080519060200190613edd929190615d8f565b508160766000896000191660001916815260200190815260200160002060090160008960001916600019168152602001908152602001600020600301819055508360766000896000191660001916815260200190815260200160002060160160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550866076600089600019166000191681526020019081526020016000206013018160001916905550806076600089600019166000191681526020019081526020016000206010016000888152602001908152602001600020600001819055506001607660008960001916600019168152602001908152602001600020601001600088815260200190815260200160002060050160016101000a81548160ff0219169083151502179055506001607660008960001916600019168152602001908152602001600020601001600088815260200190815260200160002060050160006101000a81548160ff0219169083151502179055506001607660008960001916600019168152602001908152602001600020601001600088815260200190815260200160002060050160026101000a81548160ff02191690831515021790555050505050505050565b60006140cc615755565b15156140d757600080fd5b607660008460001916600019168152602001908152602001600020601001600083815260200190815260200160002060000154905092915050565b60008061411d615755565b151561412857600080fd5b607660008660001916600019168152602001908152602001600020600a0173__DaoStructs____________________________63b31ee28c909186866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018060200182810382528484828181526020019250602002808284378201915050945050505050604080518083038186803b1580156141d657600080fd5b505af41580156141ea573d6000803e3d6000fd5b505050506040513d604081101561420057600080fd5b81019080805190602001909291908051906020019092919050505091509150935093915050565b61422f615ddc565b61423a601454615453565b151561424557600080fd5b6009546000191660766000876000191660001916815260200190815260200160002060010154600019161415151561427c57600080fd5b818160000181815250508281602001906000191690816000191681525050838160400181815250506076600086600019166000191681526020019081526020016000206014018190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001019060001916905560408201518160020155505050600c5484141561435b57600160766000876000191660001916815260200190815260200160002060160160146101000a81548160ff0219169083151502179055506143e3565b600d548414156143a157600060766000876000191660001916815260200190815260200160002060160160146101000a81548160ff0219169083151502179055506143e2565b600160766000876000191660001916815260200190815260200160002060160160146101000a81548160ff0219169083151502179055506143e18561555d565b5b5b5050505050565b60006143f7601454615453565b151561440257600080fd5b6076600086600019166000191681526020019081526020016000206013015490506003546000191681600019161415151561443c57600080fd5b8383607660008860001916600019168152602001908152602001600020600901600084600019166000191681526020019081526020016000206004019190614485929190615e01565b508160766000876000191660001916815260200190815260200160002060090160008360001916600019168152602001908152602001600020600301819055505050505050565b61450e60606040519081016040528060185460001916600019168152602001601e54600019166000191681526020016014546000191660001916815250615aa4565b151561451957600080fd5b80607660008460001916600019168152602001908152602001600020601101819055505050565b600061454c6070615c1b565b905090565b600080600080600080600080600080600061456a615755565b151561457557600080fd5b607660008d60001916600019168152602001908152602001600020905080600001549a508060150160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1699508060160160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169850806001015497508060020154965061460181600301615ccc565b955061460f8160030161586f565b9450806013015493508060160160149054906101000a900460ff1692508060160160159054906101000a900460ff169150509193959799509193959799565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606000607660008460001916600019168152602001908152602001600020601301549050600354600019168160001916141515156146b257600080fd5b6076600084600019166000191681526020019081526020016000206009016000826000191660001916815260200190815260200160002060050180548060200260200160405190810160405280929190818152602001828054801561473a57602002820191906000526020600020905b81546000191681526020019060010190808311614722575b5050505050915050919050565b600080614752615755565b151561475d57600080fd5b607660008560001916600019168152602001908152602001600020600a0173__DaoStructs____________________________634bf150b99091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050604080518083038186803b15801561481a57600080fd5b505af415801561482e573d6000803e3d6000fd5b505050506040513d604081101561484457600080fd5b810190808051906020019092919080519060200190929190505050915091509250929050565b607073__DoublyLinkedList______________________63582f30b49091896040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b1580156148e857600080fd5b505af41580156148fc573d6000803e3d6000fd5b505050506040513d602081101561491257600080fd5b8101908080519060200190929190505050508660766000896000191660001916815260200190815260200160002060000181600019169055508360766000896000191660001916815260200190815260200160002060150160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550603c42036076600089600019166000191681526020019081526020016000206002018190555060766000886000191660001916815260200190815260200160002060030173__DoublyLinkedList______________________63582f30b49091896040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015614a6857600080fd5b505af4158015614a7c573d6000803e3d6000fd5b505050506040513d6020811015614a9257600080fd5b810190808051906020019092919050505050866076600089600019166000191681526020019081526020016000206009016000896000191660001916815260200190815260200160002060000181600019169055504260766000896000191660001916815260200190815260200160002060090160008960001916600019168152602001908152602001600020600101819055508151607660008960001916600019168152602001908152602001600020600901600089600019166000191681526020019081526020016000206002018190555081607660008960001916600019168152602001908152602001600020600901600089600019166000191681526020019081526020016000206004019080519060200190614bb4929190615d8f565b508060766000896000191660001916815260200190815260200160002060090160008960001916600019168152602001908152602001600020600301819055508260766000896000191660001916815260200190815260200160002060160160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550866076600089600019166000191681526020019081526020016000206013018160001916905550671bc16d674ec80000607660008960001916600019168152602001908152602001600020601201819055508415614dd257607760006006546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091896040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015614d4257600080fd5b505af4158015614d56573d6000803e3d6000fd5b505050506040513d6020811015614d6c57600080fd5b810190808051906020019092919050505050600654607660008960001916600019168152602001908152602001600020600101816000191690555042607660008960001916600019168152602001908152602001600020600a0160000181905550615015565b6000861415614ede57607760006007546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091896040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015614e7457600080fd5b505af4158015614e88573d6000803e3d6000fd5b505050506040513d6020811015614e9e57600080fd5b8101908080519060200190929190505050506007546076600089600019166000191681526020019081526020016000206001018160001916905550614fdd565b607760006008546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091896040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015614f7757600080fd5b505af4158015614f8b573d6000803e3d6000fd5b505050506040513d6020811015614fa157600080fd5b81019080805190602001909291905050505060085460766000896000191660001916815260200190815260200160002060010181600019169055505b426076600089600019166000191681526020019081526020016000206010016000888152602001908152602001600020600001819055505b50505050505050565b615029601454615453565b151561503457600080fd5b80607660008460001916600019168152602001908152602001600020600a01600001819055505050565b600080607660008460001916600019168152602001908152602001600020905061508a81600301615c1b565b915050919050565b600061509c615755565b15156150a757600080fd5b6150ca607760008460001916600019168152602001908152602001600020615c1b565b9050919050565b606060006150dd615755565b15156150e857600080fd5b607660008860001916600019168152602001908152602001600020601001600087815260200190815260200160002073__DaoStructs____________________________63f53380cf90918787876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808581526020018060200183151515158152602001828103825285858281815260200192506020028082843782019150509550505050505060006040518083038186803b1580156151b457600080fd5b505af41580156151c8573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060408110156151f257600080fd5b81019080805164010000000081111561520a57600080fd5b8281019050602081018481111561522057600080fd5b815185602082028301116401000000008211171561523d57600080fd5b505092919060200180519060200190929190505050915091509550959350505050565b6000607660008360001916600019168152602001908152602001600020601201549050919050565b6000615295601454615453565b15156152a057600080fd5b607660008460001916600019168152602001908152602001600020601301549050600354600019168160001916141515156152da57600080fd5b60766000846000191660001916815260200190815260200160002060090160008260001916600019168152602001908152602001600020600501829080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550505050565b6000615355607061586f565b905090565b615365601454615453565b151561537057600080fd5b60766000866000191660001916815260200190815260200160002073__DaoStructs____________________________63ea496bc99091868686866040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086815260200185600019166000191681526020018060200183815260200182810382528585828181526020019250602002808284378201915050965050505050505060006040518083038186803b15801561543457600080fd5b505af4158015615448573d6000803e3d6000fd5b505050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156154ed57600080fd5b505af1158015615501573d6000803e3d6000fd5b505050506040513d602081101561551757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b600060766000836000191660001916815260200190815260200160002060010154905060776000826000191660001916815260200190815260200160002073__DoublyLinkedList______________________6352c6bbf49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561561757600080fd5b505af415801561562b573d6000803e3d6000fd5b505050506040513d602081101561564157600080fd5b810190808051906020019092919050505050607760006009546000191660001916815260200190815260200160002073__DoublyLinkedList______________________63582f30b49091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b1580156156ec57600080fd5b505af4158015615700573d6000803e3d6000fd5b505050506040513d602081101561571657600080fd5b81019080805190602001909291905050505060095460766000846000191660001916815260200190815260200160002060010181600019169055505050565b60003273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061586a5750615794615d7d565b73ffffffffffffffffffffffffffffffffffffffff16639b19251a336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561582e57600080fd5b505af1158015615842573d6000803e3d6000fd5b505050506040513d602081101561585857600080fd5b81019080805190602001909291905050505b905090565b60008173__DoublyLinkedList______________________632553148290916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b1580156158de57600080fd5b505af41580156158f2573d6000803e3d6000fd5b505050506040513d602081101561590857600080fd5b81019080805190602001909291905050509050919050565b60008273__DoublyLinkedList______________________632a1441789091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b15801561599f57600080fd5b505af41580156159b3573d6000803e3d6000fd5b505050506040513d60208110156159c957600080fd5b8101908080519060200190929190505050905092915050565b60008273__DoublyLinkedList______________________63cf06689d9091846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600019166000191681526020019250505060206040518083038186803b158015615a6157600080fd5b505af4158015615a75573d6000803e3d6000fd5b505050506040513d6020811015615a8b57600080fd5b8101908080519060200190929190505050905092915050565b600080600060039150600090505b81811015615c14576000600102600019168482600381101515615ad157fe5b6020020151600019161415615ae557615c07565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff8583600381101515615b3057fe5b60200201516040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015615b8f57600080fd5b505af1158015615ba3573d6000803e3d6000fd5b505050506040513d6020811015615bb957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415615c065760019250615c14565b5b8080600101915050615ab2565b5050919050565b60008173__DoublyLinkedList______________________6356717c7990916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b158015615c8a57600080fd5b505af4158015615c9e573d6000803e3d6000fd5b505050506040513d6020811015615cb457600080fd5b81019080805190602001909291905050509050919050565b60008173__DoublyLinkedList______________________630f77955290916040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b158015615d3b57600080fd5b505af4158015615d4f573d6000803e3d6000fd5b505050506040513d6020811015615d6557600080fd5b81019080805190602001909291905050509050919050565b6000615d8a602e54612659565b905090565b828054828255906000526020600020908101928215615dcb579160200282015b82811115615dca578251825591602001919060010190615daf565b5b509050615dd89190615e4e565b5090565b6060604051908101604052806000815260200160008019168152602001600081525090565b828054828255906000526020600020908101928215615e3d579160200282015b82811115615e3c578235825591602001919060010190615e21565b5b509050615e4a9190615e4e565b5090565b615e7091905b80821115615e6c576000816000905550600101615e54565b5090565b905600a165627a7a723058202b130b552a2df3bd8184925f452a5af9f3bc9d61f0271ad894ff0b7f73af0c130029", + "sourceMap": "66:5755:43:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;166:62:43;8:9:-1;5:2;;;30:1;27;20:12;5:2;166:62:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;215:9;1204:37:60;1209:20;;1231:9;1204:4;;;:37;;;:::i;:::-;1196:46;;;;;;;;1148:101;166:62:43;66:5755;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;66:5755:43:-;;;;;;;", + "deployedSourceMap": "66:5755:43:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10694:350:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10694:350:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;10694:350:60;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;24051:156:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24051:156:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4361:257;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4361:257:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12667:280;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12667:280:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4118:237;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4118:237:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10053:306;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10053:306:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6838:279;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6838:279:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9113:230;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9113:230:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19321:582;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19321:582:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7861:217;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7861:217:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20455:214;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20455:214:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24632:232;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24632:232:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22636:798;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22636:798:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20144:305;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20144:305:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14169:183:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14169:183:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11751:261;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11751:261:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14567:237;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14567:237:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20675:234;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20675:234:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15498:266:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15498:266:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18076:203;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18076:203:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13193:350;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13193:350:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4624:239;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4624:239:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3503:187;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3503:187:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13797:366;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13797:366:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23440:283;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23440:283:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6547:285;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6547:285:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3314:183;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3314:183:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4968:851:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4968:851:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8277:225:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8277:225:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11234:511;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11234:511:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;11234:511:60;;;;;;;;;;;;;;;;;;3696:416;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3696:416:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18771:544;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18771:544:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14358:203;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14358:203:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21192:206;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21192:206:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24213:413;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24213:413:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15853:816;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15853:816:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5421:301;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5421:301:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23729:316;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23729:316:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9547:298;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9547:298:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18285:480;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18285:480:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2806:1525:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2806:1525:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4869:259:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4869:259:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5134:281;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5134:281:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21404:859;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21404:859:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17113:496;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17113:496:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20915:271;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20915:271:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7240:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7240:153:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2240:1068;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2240:1068:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;15159:333:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15159:333:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;15159:333:60;;;;;;;;;;;;;;;;;6069:259;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6069:259:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;812:1988:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;812:1988:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19909:229:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19909:229:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12199:282;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12199:282:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8692:232;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8692:232:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5728:335;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5728:335:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;5728:335:60;;;;;;;;;;;;;;;;;;14810:195;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14810:195:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17676:394;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17676:394:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7515:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7515:151:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16675:325;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16675:325:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10694:350;10820:12;10846:16;10876:28;10918:20;10970:13;:26;10984:11;10970:26;;;;;;;;;;;;;;;;;:43;;:53;11014:8;10970:53;;;;;;;;;;;;;;;;;:65;;;;:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10970:67:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10970:67:60;;;;;;39:16:-1;36:1;17:17;2:54;10970:67:60;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:3;8;5:12;2:2;;;30:1;27;20:12;2:2;10970:67:60;;;;;;;;;;;;;;;;;;;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;10970:67:60;;;;;;;;;;;;;;;;;10963:74;;;;;;;;10694:350;;;;;;;:::o;237:23:67:-;;;;;;;;;;;;;:::o;24051:156:60:-;24132:23;24142:12;;24132:9;:23::i;:::-;24124:32;;;;;;;;24166:34;24188:11;24166:21;:34::i;:::-;24051:156;:::o;4361:257::-;4477:12;4513:23;:21;:23::i;:::-;4505:32;;;;;;;;4557:13;:26;4571:11;4557:26;;;;;;;;;;;;;;;;;:39;;:47;4597:6;4557:47;;;;;;;;;;;:54;;;;;;;;;;;;4547:64;;4361:257;;;;:::o;12667:280::-;12765:16;12797:37;12837:13;:26;12851:11;12837:26;;;;;;;;;;;;;;;;;12797:66;;12884:56;12910:9;:29;;12884:25;:56::i;:::-;12873:67;;12667:280;;;;:::o;4118:237::-;4223:12;4259:23;:21;:23::i;:::-;4251:32;;;;;;;;4303:13;:26;4317:11;4303:26;;;;;;;;;;;;;;;;;:38;;:45;;;;;;;;;;;;4293:55;;4118:237;;;:::o;10053:306::-;10173:11;10208:23;:21;:23::i;:::-;10200:32;;;;;;;;10248:104;10291:16;:26;10308:8;10291:26;;;;;;;;;;;;;;;;;10331:11;10248:29;:104::i;:::-;10242:110;;10053:306;;;;:::o;6838:279::-;6954:10;6966:15;7005:23;:21;:23::i;:::-;6997:32;;;;;;;;7046:13;:26;7060:11;7046:26;;;;;;;;;;;;;;;;;:39;;:47;7086:6;7046:47;;;;;;;;;;;:56;;;;7103:6;7046:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7046:64:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7046:64:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7046:64:60;;;;;;;;;;;;;;;;;;;;;;;;;7039:71;;;;6838:279;;;;;;:::o;9113:230::-;9208:11;9243:23;:21;:23::i;:::-;9235:32;;;;;;;;9283:53;9309:16;:26;9326:8;9309:26;;;;;;;;;;;;;;;;;9283:25;:53::i;:::-;9277:59;;9113:230;;;:::o;19321:582::-;19434:37;19444:26;;19434:9;:37::i;:::-;19426:46;;;;;;;;19488:7;19487:8;19483:340;;;19511:34;19533:11;19511:21;:34::i;:::-;19483:340;;;19576:1;19566:6;:11;19562:261;;;19593:16;:42;19610:24;;19593:42;;;;;;;;;;;;;;;;;:54;;;;19648:11;19593:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19593:67:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19593:67:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19593:67:60;;;;;;;;;;;;;;;;;19674:16;:40;19691:22;;19674:40;;;;;;;;;;;;;;;;;:47;;;;19722:11;19674:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19674:60:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19674:60:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19674:60:60;;;;;;;;;;;;;;;;;19790:22;;19748:13;:26;19762:11;19748:26;;;;;;;;;;;;;;;;;:39;;:64;;;;;;;19562:261;19483:340;19889:7;19832:13;:26;19846:11;19832:26;;;;;;;;;;;;;;;;;:39;;:47;19872:6;19832:47;;;;;;;;;;;:54;;;:64;;;;;;;;;;;;;;;;;;19321:582;;;:::o;7861:217::-;7952:11;7985:86;8024:12;8050:11;7985:25;:86::i;:::-;7979:92;;7861:217;;;:::o;20455:214::-;20557:37;20567:26;;20557:9;:37::i;:::-;20549:46;;;;;;;;20654:8;20605:13;:26;20619:11;20605:26;;;;;;;;;;;;;;;;;:38;;:46;;;:57;;;;;;;;;;;;;;;;;;20455:214;;:::o;24632:232::-;24740:39;24750:28;;24740:9;:39::i;:::-;24732:48;;;;;;;;24853:4;24790:13;:26;24804:11;24790:26;;;;;;;;;;;;;;;;;:39;;:53;24830:12;24790:53;;;;;;;;;;;:60;;;:67;;;;;;;;;;;;;;;;;;24632:232;;:::o;22636:798::-;22841:37;22799:30;22809:19;;22799:9;:30::i;:::-;22791:39;;;;;;;;22881:13;:26;22895:11;22881:26;;;;;;;;;;;;;;;;;22841:66;;22921:5;22917:511;;;22983:7;22942:9;:21;;:30;;:38;22973:6;22942:38;;;;;;;;;;;;;;;:48;;;;23048:1;23008:9;:21;;:29;;:37;23038:6;23008:37;;;;;;;;;;;;;;;;:41;23004:200;;;23188:1;23148:9;:21;;:29;;:37;23178:6;23148:37;;;;;;;;;;;;;;;:41;;;;23004:200;22917:511;;;23274:7;23234:9;:21;;:29;;:37;23264:6;23234:37;;;;;;;;;;;;;;;:47;;;;23340:1;23299:9;:21;;:30;;:38;23330:6;23299:38;;;;;;;;;;;;;;;;:42;23295:123;;;23402:1;23361:9;:21;;:30;;:38;23392:6;23361:38;;;;;;;;;;;;;;;:42;;;;23295:123;22917:511;22636:798;;;;;:::o;20144:305::-;20294:71;;;;;;;;;;20310:12;;20294:71;;;;;;;;;;20324:26;;20294:71;;;;;;;;;;20352:11;;20294:71;;;;;;;;;:14;:71::i;:::-;20286:80;;;;;;;;20437:5;20377:13;:26;20391:11;20377:26;;;;;;;;;;;;;;;;;:39;;:47;20417:6;20377:47;;;;;;;;;;;:57;;:65;;;;20144:305;;;:::o;264:18:67:-;;;;:::o;14169:183:60:-;14259:13;14299;:26;14313:11;14299:26;;;;;;;;;;;;;;;;;:38;;:46;;;;;;;;;;;;14288:57;;14169:183;;;:::o;11751:261::-;11864:16;11904:23;:21;:23::i;:::-;11896:32;;;;;;;;11949:13;:26;11963:11;11949:26;;;;;;;;;;;;;;;;;:48;;;;11998:6;11949:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11949:56:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11949:56:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11949:56:60;;;;;;;;;;;;;;;;11938:67;;11751:261;;;;:::o;14567:237::-;14671:15;14710:23;:21;:23::i;:::-;14702:32;;;;;;;;14754:13;:26;14768:11;14754:26;;;;;;;;;;;;;;;;;:43;;;14744:53;;14567:237;;;:::o;20675:234::-;20788:37;20798:26;;20788:9;:37::i;:::-;20780:46;;;;;;;;20894:8;20836:13;:26;20850:11;20836:26;;;;;;;;;;;;;;;;;:39;;:47;20876:6;20836:47;;;;;;;;;;;:55;;;:66;;;;;;;;;;;;;;;;;;20675:234;;;:::o;2380:179:67:-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;15498:266:60:-;15617:12;15653:23;:21;:23::i;:::-;15645:32;;;;;;;;15697:13;:26;15711:11;15697:26;;;;;;;;;;;;;;;;;:39;;:53;15737:12;15697:53;;;;;;;;;;;:60;;;;;;;;;;;;15687:70;;15498:266;;;;:::o;18076:203::-;18160:23;18170:12;;18160:9;:23::i;:::-;18152:32;;;;;;;;18237:35;18260:11;18237:22;:35::i;:::-;18195:13;:26;18209:11;18195:26;;;;;;;;;;;;;;;;;:39;;:77;;;;;;;18076:203;:::o;13193:350::-;13309:20;13345:37;13385:13;:26;13399:11;13385:26;;;;;;;;;;;;;;;;;13345:66;;13436:100;13475:9;:29;;13518:8;13436:25;:100::i;:::-;13421:115;;13193:350;;;;;:::o;4624:239::-;4727:14;4765:23;:21;:23::i;:::-;4757:32;;;;;;;;4808:13;:26;4822:11;4808:26;;;;;;;;;;;;;;;;;:38;;:48;;;4799:57;;4624:239;;;:::o;3503:187::-;3598:15;3639:13;:26;3653:11;3639:26;;;;;;;;;;;;;;;;;:37;;:44;;;;3629:54;;3503:187;;;:::o;13797:366::-;13917:24;13957:37;13997:13;:26;14011:11;13997:26;;;;;;;;;;;;;;;;;13957:66;;14052:104;14095:9;:29;;14138:8;14052:29;:104::i;:::-;14033:123;;13797:366;;;;;:::o;23440:283::-;23603:30;23613:19;;23603:9;:30::i;:::-;23595:39;;;;;;;;23711:5;23645:13;:26;23659:11;23645:26;;;;;;;;;;;;;;;;;:39;;:47;23685:6;23645:47;;;;;;;;;;;:55;;:63;23701:6;23645:63;;;;;;;;;;;;;;;:71;;;;;;;23440:283;;;;:::o;6547:285::-;6671:19;6714:23;:21;:23::i;:::-;6706:32;;;;;;;;6762:13;:26;6776:11;6762:26;;;;;;;;;;;;;;;;;:39;;:47;6802:6;6762:47;;;;;;;;;;;:55;;:63;6818:6;6762:63;;;;;;;;;;;;;;;;6748:77;;6547:285;;;;;:::o;3314:183::-;3410:17;3455:13;:26;3469:11;3455:26;;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;3443:47;;3314:183;;;:::o;4968:851:43:-;5258:33;5578:9;5294:13;:26;5308:11;5294:26;;;;;;;;;;;;;;;;;:39;;:52;5334:11;5294:52;;;;;;;;;;;5258:88;;5360:13;5356:207;;;5399:13;:26;5413:11;5399:26;;;;;;;;;;;;;;;;;:38;;5389:48;;5356:207;;;5533:19;5468:13;:26;5482:11;5468:26;;;;;;;;;;;;;;;;;:39;;:52;5508:11;5468:52;;;;;;;;;;;:62;;:84;;;;5356:207;5590:1;5578:13;;5573:240;5597:7;5593:1;:11;5573:240;;;5642:4;5629:17;;:6;5636:1;5629:9;;;;;;;;;;;;;;;;;;:17;;;5625:178;;;5697:8;5706:1;5697:11;;;;;;;;;;;;;;;;;;5666:7;:16;;:28;5683:7;5691:1;5683:10;;;;;;;;;;;;;;;;;;5666:28;;;;;;;;;;;;;;;:42;;;;5625:178;;;5777:8;5786:1;5777:11;;;;;;;;;;;;;;;;;;5747:7;:15;;:27;5763:7;5771:1;5763:10;;;;;;;;;;;;;;;;;;5747:27;;;;;;;;;;;;;;;:41;;;;5625:178;5606:3;;;;;;;5573:240;;;4968:851;;;;;;;;;;:::o;8277:225:60:-;8372:11;8405:90;8448:12;8474:11;8405:29;:90::i;:::-;8399:96;;8277:225;;;:::o;11234:511::-;11329:26;11357:20;11435:21;11401:23;:21;:23::i;:::-;11393:32;;;;;;;;11459:13;:26;11473:11;11459:26;;;;;;;;;;;;;;;;;:39;;;11435:63;;11533:11;;11516:28;;;:13;:28;;;;;11508:37;;;;;;;;11567:13;:26;11581:11;11567:26;;;;;;;;;;;;;;;;;:43;;:58;11611:13;11567:58;;;;;;;;;;;;;;;;;:76;;11555:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11668:13;:26;11682:11;11668:26;;;;;;;;;;;;;;;;;:43;;:58;11712:13;11668:58;;;;;;;;;;;;;;;;;:70;;;11653:85;;11234:511;;;;:::o;3696:416::-;3801:17;3820:13;3835:12;3863:38;3904:13;:26;3918:11;3904:26;;;;;;;;;;;;;;;;;:37;;3863:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3968:8;:15;3959:6;:24;3951:33;;;;;;;;4006:8;4015:6;4006:16;;;;;;;;;;;;;;;;;;:25;;;3994:37;;4049:8;4058:6;4049:16;;;;;;;;;;;;;;;;;;:19;;;4041:27;;4085:8;4094:6;4085:16;;;;;;;;;;;;;;;;;;:20;;;4078:27;;3696:416;;;;;;:::o;18771:544::-;18873:37;18883:26;;18873:9;:37::i;:::-;18865:46;;;;;;;;18970:7;18922:13;:26;18936:11;18922:26;;;;;;;;;;;;;;;;;:38;;:45;;;:55;;;;;;;;;;;;;;;;;;18991:7;18987:322;;;19014:16;:38;19031:20;;19014:38;;;;;;;;;;;;;;;;;:50;;;;19065:11;19014:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19014:63:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19014:63:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19014:63:60;;;;;;;;;;;;;;;;;19091:16;:42;19108:24;;19091:42;;;;;;;;;;;;;;;;;:49;;;;19141:11;19091:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19091:62:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19091:62:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19091:62:60;;;;;;;;;;;;;;;;;19209:24;;19167:13;:26;19181:11;19167:26;;;;;;;;;;;;;;;;;:39;;:66;;;;;;;18987:322;;;19264:34;19286:11;19264:21;:34::i;:::-;18987:322;18771:544;;:::o;14358:203::-;14459:13;14499;:26;14513:11;14499:26;;;;;;;;;;;;;;;;;:39;;:47;14539:6;14499:47;;;;;;;;;;;:55;;;;;;;;;;;;14488:66;;14358:203;;;;:::o;21192:206::-;21304:23;21314:12;;21304:9;:23::i;:::-;21296:32;;;;;;;;21384:7;21338:13;:26;21352:11;21338:26;;;;;;;;;;;;;;;;;:43;;:53;;;;21192:206;;:::o;24213:413::-;24344:21;24296:37;24306:26;;24296:9;:37::i;:::-;24288:46;;;;;;;;24368:13;:26;24382:11;24368:26;;;;;;;;;;;;;;;;;:39;;;24344:63;;24417:16;:31;24434:13;24417:31;;;;;;;;;;;;;;;;;:43;;;;24461:11;24417:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24417:56:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;24417:56:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;24417:56:60;;;;;;;;;;;;;;;;;24483:16;:41;24500:23;;24483:41;;;;;;;;;;;;;;;;;:48;;;;24532:11;24483:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24483:61:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;24483:61:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;24483:61:60;;;;;;;;;;;;;;;;;24596:23;;24554:13;:26;24568:11;24554:26;;;;;;;;;;;;;;;;;:39;;:65;;;;;;;24213:413;;:::o;15853:816::-;16061:23;16071:12;;16061:9;:23::i;:::-;16053:32;;;;;;;;16149:11;;16115:45;;;:13;:19;16129:4;16115:19;;;;;;;;;;;;;;;;;:30;;;:45;;;;16114:82;;;;;16184:11;;16176:19;;;:4;:19;;;;;16114:82;16095:111;;;;;;;;16217:12;:19;;;;16237:4;16217:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16217:25:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16217:25:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16217:25:60;;;;;;;;;;;;;;;;;16252:16;:44;16269:26;;16252:44;;;;;;;;;;;;;;;;;:51;;;;16304:4;16252:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16252:57:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16252:57:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16252:57:60;;;;;;;;;;;;;;;;;16352:4;16319:13;:19;16333:4;16319:19;;;;;;;;;;;;;;;;;:30;;:37;;;;;;;16397:9;16366:13;:19;16380:4;16366:19;;;;;;;;;;;;;;;;;:28;;;:40;;;;;;;;;;;;;;;;;;16451:26;;16416:13;:19;16430:4;16416:19;;;;;;;;;;;;;;;;;:32;;:61;;;;;;;16521:3;16487:13;:19;16501:4;16487:19;;;;;;;;;;;;;;;;;:31;;:37;;;;16564:10;16534:13;:19;16548:4;16534:19;;;;;;;;;;;;;;;;;:27;;;:40;;;;;;;;;;;;;;;;;;16584:13;:19;16598:4;16584:19;;;;;;;;;;;;;;;;;:38;;;;16623:4;16629:18;;16649:12;16584:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16584:78:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16584:78:60;;;;15853:816;;;;;;:::o;5421:301::-;5551:12;5565:16;5605:23;:21;:23::i;:::-;5597:32;;;;;;;;5646:13;:26;5660:11;5646:26;;;;;;;;;;;;;;;;;:39;;:47;5686:6;5646:47;;;;;;;;;;;:58;;;;5705:9;;5646:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5646:69:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5646:69:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5646:69:60;;;;;;;;;;;;;;;;;;;;;;;;;5639:76;;;;5421:301;;;;;;;:::o;23729:316::-;23914:30;23924:19;;23914:9;:30::i;:::-;23906:39;;;;;;;;23956:13;:26;23970:11;23956:26;;;;;;;;;;;;;;;;;:39;;:47;23996:6;23956:47;;;;;;;;;;;:58;;;;24015:6;24023:5;24030:7;23956:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23956:82:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23956:82:60;;;;23729:316;;;;;:::o;9547:298::-;9663:11;9698:23;:21;:23::i;:::-;9690:32;;;;;;;;9738:100;9777:16;:26;9794:8;9777:26;;;;;;;;;;;;;;;;;9817:11;9738:25;:100::i;:::-;9732:106;;9547:298;;;;:::o;18285:480::-;18450:37;18415:23;18425:12;;18415:9;:23::i;:::-;18407:32;;;;;;;;18490:13;:26;18504:11;18490:26;;;;;;;;;;;;;;;;;18450:66;;18547:9;18526;:18;;;:30;;;;;;;;;;;;;;;;;;18591:20;;18566:9;:22;;:45;;;;;;;18621:16;:44;18638:26;;18621:44;;;;;;;;;;;;;;;;;:56;;;;18678:11;18621:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18621:69:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18621:69:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18621:69:60;;;;;;;;;;;;;;;;;18700:16;:38;18717:20;;18700:38;;;;;;;;;;;;;;;;;:45;;;;18746:11;18700:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18700:58:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18700:58:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18700:58:60;;;;;;;;;;;;;;;;;18285:480;;;:::o;2806:1525:43:-;3101:12;:19;;;;3121:11;3101:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3101:32:43;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3101:32:43;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3101:32:43;;;;;;;;;;;;;;;;;3183:11;3143:13;:26;3157:11;3143:26;;;;;;;;;;;;;;;;;:37;;:51;;;;;;;3242:9;3204:13;:26;3218:11;3204:26;;;;;;;;;;;;;;;;;:35;;;:47;;;;;;;;;;;;;;;;;;3309:9;3302:3;:17;3261:13;:26;3275:11;3261:26;;;;;;;;;;;;;;;;;:38;;:58;;;;3329:13;:26;3343:11;3329:26;;;;;;;;;;;;;;;;;:46;;:53;;;;3383:11;3329:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3329:66:43;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3329:66:43;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3329:66:43;;;;;;;;;;;;;;;;;3476:11;3405:13;:26;3419:11;3405:26;;;;;;;;;;;;;;;;;:43;;:56;3449:11;3405:56;;;;;;;;;;;;;;;;;:68;;:82;;;;;;;3564:3;3497:13;:26;3511:11;3497:26;;;;;;;;;;;;;;;;;:43;;:56;3541:11;3497:56;;;;;;;;;;;;;;;;;:64;;:70;;;;3651:19;:26;3577:13;:26;3591:11;3577:26;;;;;;;;;;;;;;;;;:43;;:56;3621:11;3577:56;;;;;;;;;;;;;;;;;:71;;:100;;;;3764:19;3687:13;:26;3701:11;3687:26;;;;;;;;;;;;;;;;;:43;;:56;3731:11;3687:56;;;;;;;;;;;;;;;;;:74;;:96;;;;;;;;;;;;:::i;:::-;;3864:12;3793:13;:26;3807:11;3793:26;;;;;;;;;;;;;;;;;:43;;:56;3837:11;3793:56;;;;;;;;;;;;;;;;;:68;;:83;;;;3924:9;3886:13;:26;3900:11;3886:26;;;;;;;;;;;;;;;;;:35;;;:47;;;;;;;;;;;;;;;;;;3985:11;3943:13;:26;3957:11;3943:26;;;;;;;;;;;;;;;;;:39;;:53;;;;;;;4072:20;4006:13;:26;4020:11;4006:26;;;;;;;;;;;;;;;;;:39;;:53;4046:12;4006:53;;;;;;;;;;;:63;;:86;;;;4166:4;4102:13;:26;4116:11;4102:26;;;;;;;;;;;;;;;;;:39;;:53;4142:12;4102:53;;;;;;;;;;;:61;;;:68;;;;;;;;;;;;;;;;;;4243:4;4180:13;:26;4194:11;4180:26;;;;;;;;;;;;;;;;;:39;;:53;4220:12;4180:53;;;;;;;;;;;:60;;;:67;;;;;;;;;;;;;;;;;;4320:4;4257:13;:26;4271:11;4257:26;;;;;;;;;;;;;;;;;:39;;:53;4297:12;4257:53;;;;;;;;;;;:60;;;:67;;;;;;;;;;;;;;;;;;2806:1525;;;;;;;:::o;4869:259:60:-;4983:14;5021:23;:21;:23::i;:::-;5013:32;;;;;;;;5064:13;:26;5078:11;5064:26;;;;;;;;;;;;;;;;;:39;;:47;5104:6;5064:47;;;;;;;;;;;:57;;;5055:66;;4869:259;;;;:::o;5134:281::-;5253:12;5267:16;5307:23;:21;:23::i;:::-;5299:32;;;;;;;;5348:13;:26;5362:11;5348:26;;;;;;;;;;;;;;;;;:38;;:49;;;;5398:9;;5348:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5348:60:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5348:60:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5348:60:60;;;;;;;;;;;;;;;;;;;;;;;;;5341:67;;;;5134:281;;;;;;:::o;21404:859::-;21691:37;;:::i;:::-;21573:23;21583:12;;21573:9;:23::i;:::-;21565:32;;;;;;;;21658:21;;21615:64;;;:13;:26;21629:11;21615:26;;;;;;;;;;;;;;;;;:39;;;:64;;;;;21607:73;;;;;;;;21753:5;21738:9;:12;;:20;;;;;21784:4;21768:9;:13;;:20;;;;;;;;;;;;;21819:7;21798:9;:18;;:28;;;;;21836:13;:26;21850:11;21836:26;;;;;;;;;;;;;;;;;:37;;21879:9;21836:53;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;21836:53:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21915:16;;21904:7;:27;21900:357;;;21992:4;21945:13;:26;21959:11;21945:26;;;;;;;;;;;;;;;;;:44;;;:51;;;;;;;;;;;;;;;;;;21900:357;;;22028:18;;22017:7;:29;22013:244;;;22107:5;22060:13;:26;22074:11;22060:26;;;;;;;;;;;;;;;;;:44;;;:52;;;;;;;;;;;;;;;;;;22013:244;;;22196:4;22149:13;:26;22163:11;22149:26;;;;;;;;;;;;;;;;;:44;;;:51;;;;;;;;;;;;;;;;;;22212:34;22234:11;22212:21;:34::i;:::-;22013:244;21900:357;21404:859;;;;;:::o;17113:496::-;17287:21;17252:23;17262:12;;17252:9;:23::i;:::-;17244:32;;;;;;;;17311:13;:26;17325:11;17311:26;;;;;;;;;;;;;;;;;:39;;;17287:63;;17385:11;;17368:28;;;:13;:28;;;;;17360:37;;;;;;;;17486:21;;17407:13;:26;17421:11;17407:26;;;;;;;;;;;;;;;;;:43;;:58;17451:13;17407:58;;;;;;;;;;;;;;;;;:76;;:100;;;;;;;:::i;:::-;;17590:12;17517:13;:26;17531:11;17517:26;;;;;;;;;;;;;;;;;:43;;:58;17561:13;17517:58;;;;;;;;;;;;;;;;;:70;;:85;;;;17113:496;;;;;:::o;20915:271::-;21027:88;;;;;;;;;;21043:26;;21027:88;;;;;;;;;;21071:28;;21027:88;;;;;;;;;;21101:12;;21027:88;;;;;;;;;:14;:88::i;:::-;21019:97;;;;;;;;21172:7;21126:13;:26;21140:11;21126:26;;;;;;;;;;;;;;;;;:43;;:53;;;;20915:271;;:::o;7240:153::-;7313:11;7346:40;7373:12;7346:26;:40::i;:::-;7340:46;;7240:153;:::o;2240:1068::-;2341:12;2367:17;2398;2429:14;2457:20;2491:18;2523:25;2562:21;2597;2632;2720:37;2686:23;:21;:23::i;:::-;2678:32;;;;;;;;2760:13;:26;2774:11;2760:26;;;;;;;;;;;;;;;;;2720:66;;2803:9;:20;;;2796:27;;2845:9;:18;;;;;;;;;;;;2833:30;;2885:9;:18;;;;;;;;;;;;2873:30;;2922:9;:22;;;2913:31;;2969:9;:21;;;2954:36;;3013:52;3035:9;:29;;3013:21;:52::i;:::-;3000:65;;3095:56;3121:9;:29;;3095:25;:56::i;:::-;3075:76;;3177:9;:22;;;3161:38;;3228:9;:27;;;;;;;;;;;;3209:46;;3284:9;:17;;;;;;;;;;;;3265:36;;2240:1068;;;;;;;;;;;;:::o;344:31:67:-;;;;;;;;;;;;;:::o;15159:333:60:-;15251:19;15286:21;15310:13;:26;15324:11;15310:26;;;;;;;;;;;;;;;;;:39;;;15286:63;;15384:11;;15367:28;;;:13;:28;;;;;15359:37;;;;;;;;15418:13;:26;15432:11;15418:26;;;;;;;;;;;;;;;;;:43;;:58;15462:13;15418:58;;;;;;;;;;;;;;;;;:67;;15406:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15159:333;;;;:::o;6069:259::-;6174:10;6186:15;6225:23;:21;:23::i;:::-;6217:32;;;;;;;;6266:13;:26;6280:11;6266:26;;;;;;;;;;;;;;;;;:38;;:47;;;;6314:6;6266:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6266:55:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6266:55:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6266:55:60;;;;;;;;;;;;;;;;;;;;;;;;;6259:62;;;;6069:259;;;;;:::o;812:1988:43:-;1086:12;:19;;;;1106:11;1086:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1086:32:43;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1086:32:43;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1086:32:43;;;;;;;;;;;;;;;;;1168:11;1128:13;:26;1142:11;1128:26;;;;;;;;;;;;;;;;;:37;;:51;;;;;;;1227:9;1189:13;:26;1203:11;1189:26;;;;;;;;;;;;;;;;;:35;;;:47;;;;;;;;;;;;;;;;;;1294:9;1287:3;:17;1246:13;:26;1260:11;1246:26;;;;;;;;;;;;;;;;;:38;;:58;;;;1314:13;:26;1328:11;1314:26;;;;;;;;;;;;;;;;;:46;;:53;;;;1368:11;1314:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1314:66:43;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1314:66:43;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1314:66:43;;;;;;;;;;;;;;;;;1461:11;1390:13;:26;1404:11;1390:26;;;;;;;;;;;;;;;;;:43;;:56;1434:11;1390:56;;;;;;;;;;;;;;;;;:68;;:82;;;;;;;1549:3;1482:13;:26;1496:11;1482:26;;;;;;;;;;;;;;;;;:43;;:56;1526:11;1482:56;;;;;;;;;;;;;;;;;:64;;:70;;;;1636:19;:26;1562:13;:26;1576:11;1562:26;;;;;;;;;;;;;;;;;:43;;:56;1606:11;1562:56;;;;;;;;;;;;;;;;;:71;;:100;;;;1749:19;1672:13;:26;1686:11;1672:26;;;;;;;;;;;;;;;;;:43;;:56;1716:11;1672:56;;;;;;;;;;;;;;;;;:74;;:96;;;;;;;;;;;;:::i;:::-;;1849:12;1778:13;:26;1792:11;1778:26;;;;;;;;;;;;;;;;;:43;;:56;1822:11;1778:56;;;;;;;;;;;;;;;;;:68;;:83;;;;1909:9;1871:13;:26;1885:11;1871:26;;;;;;;;;;;;;;;;;:35;;;:47;;;;;;;;;;;;;;;;;;1970:11;1928:13;:26;1942:11;1928:26;;;;;;;;;;;;;;;;;:39;;:53;;;;;;;2037:7;1991:13;:26;2005:11;1991:26;;;;;;;;;;;;;;;;;:43;;:53;;;;2058:13;2054:740;;;2087:16;:38;2104:20;;2087:38;;;;;;;;;;;;;;;;;:45;;;;2133:11;2087:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2087:58:43;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2087:58:43;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2087:58:43;;;;;;;;;;;;;;;;;2201:20;;2159:13;:26;2173:11;2159:26;;;;;;;;;;;;;;;;;:39;;:62;;;;;;;2286:3;2235:13;:26;2249:11;2235:26;;;;;;;;;;;;;;;;;:38;;:48;;:54;;;;2054:740;;;2339:1;2324:11;:16;2320:382;;;2360:16;:42;2377:24;;2360:42;;;;;;;;;;;;;;;;;:49;;;;2410:11;2360:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2360:62:43;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2360:62:43;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2360:62:43;;;;;;;;;;;;;;;;;2482:24;;2440:13;:26;2454:11;2440:26;;;;;;;;;;;;;;;;;:39;;:66;;;;;;;2320:382;;;2545:16;:40;2562:22;;2545:40;;;;;;;;;;;;;;;;;:47;;;;2593:11;2545:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2545:60:43;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2545:60:43;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2545:60:43;;;;;;;;;;;;;;;;;2665:22;;2623:13;:26;2637:11;2623:26;;;;;;;;;;;;;;;;;:39;;:64;;;;;;;2320:382;2780:3;2715:13;:26;2729:11;2715:26;;;;;;;;;;;;;;;;;:39;;:52;2755:11;2715:52;;;;;;;;;;;:62;;:68;;;;2054:740;812:1988;;;;;;;:::o;19909:229:60:-;20040:23;20050:12;;20040:9;:23::i;:::-;20032:32;;;;;;;;20126:5;20075:13;:26;20089:11;20075:26;;;;;;;;;;;;;;;;;:38;;:48;;:56;;;;19909:229;;:::o;12199:282::-;12298:16;12330:37;12370:13;:26;12384:11;12370:26;;;;;;;;;;;;;;;;;12330:66;;12417:57;12444:9;:29;;12417:26;:57::i;:::-;12406:68;;12199:282;;;;:::o;8692:232::-;8788:11;8823:23;:21;:23::i;:::-;8815:32;;;;;;;;8863:54;8890:16;:26;8907:8;8890:26;;;;;;;;;;;;;;;;;8863;:54::i;:::-;8857:60;;8692:232;;;:::o;5728:335::-;5875:24;5901:15;5940:23;:21;:23::i;:::-;5932:32;;;;;;;;5981:13;:26;5995:11;5981:26;;;;;;;;;;;;;;;;;:39;;:47;6021:6;5981:47;;;;;;;;;;;:57;;;;6039:9;;6050:5;5981:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5981:75:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5981:75:60;;;;;;39:16:-1;36:1;17:17;2:54;5981:75:60;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5981:75:60;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;5981:75:60;;;;;;;;;;;;;;;;;5974:82;;;;5728:335;;;;;;;;:::o;14810:195::-;14914:15;14955:13;:26;14969:11;14955:26;;;;;;;;;;;;;;;;;:43;;;14945:53;;14810:195;;;:::o;17676:394::-;17810:21;17775:23;17785:12;;17775:9;:23::i;:::-;17767:32;;;;;;;;17834:13;:26;17848:11;17834:26;;;;;;;;;;;;;;;;;:39;;;17810:63;;17908:11;;17891:28;;;:13;:28;;;;;17883:37;;;;;;;;17982:13;:26;17996:11;17982:26;;;;;;;;;;;;;;;;;:43;;:58;18026:13;17982:58;;;;;;;;;;;;;;;;;:67;;18055:7;17982:81;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;17982:81:60;;;;;;;;;;;;;;;;;;;;;;;;;;;17676:394;;;:::o;7515:151::-;7587:11;7620:39;7646:12;7620:25;:39::i;:::-;7614:45;;7515:151;:::o;16675:325::-;16867:23;16877:12;;16867:9;:23::i;:::-;16859:32;;;;;;;;16902:13;:26;16916:11;16902:26;;;;;;;;;;;;;;;;;:45;;;;16948:7;16957:21;;16980:12;16902:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16902:91:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16902:91:60;;;;16675:325;;;;;:::o;610:160:67:-;671:12;732:8;;;;;;;;;;;715:39;;;755:9;715:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;715:50:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;715:50:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;715:50:67;;;;;;;;;;;;;;;;701:64;;:10;:64;;;691:74;;610:160;;;:::o;22269:361:60:-;22352:21;22376:13;:26;22390:11;22376:26;;;;;;;;;;;;;;;;;:39;;;22352:63;;22425:16;:31;22442:13;22425:31;;;;;;;;;;;;;;;;;:43;;;;22469:11;22425:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22425:56:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22425:56:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22425:56:60;;;;;;;;;;;;;;;;;22491:16;:39;22508:21;;22491:39;;;;;;;;;;;;;;;;;:46;;;;22538:11;22491:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22491:59:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22491:59:60;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22491:59:60;;;;;;;;;;;;;;;;;22602:21;;22560:13;:26;22574:11;22560:26;;;;;;;;;;;;;;;;;:39;;:63;;;;;;;22269:361;;:::o;707:316:6:-;787:27;956:9;942:23;;:10;:23;;;941:75;;;;970:24;:22;:24::i;:::-;:34;;;1005:10;970:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;970:46:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;970:46:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;970:46:6;;;;;;;;;;;;;;;;941:75;916:100;;707:316;:::o;766:185:77:-;899:13;930:5;:14;;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;930:16:77;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;930:16:77;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;930:16:77;;;;;;;;;;;;;;;;922:24;;766:185;;;:::o;1902:230::-;2062:13;2093:5;:19;;;;2113:13;2093:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2093:34:77;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2093:34:77;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2093:34:77;;;;;;;;;;;;;;;;2085:42;;1902:230;;;;:::o;1311:222::-;1467:13;1498:5;:15;;;;1514:13;1498:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1498:30:77;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1498:30:77;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1498:30:77;;;;;;;;;;;;;;;;1490:38;;1311:222;;;;:::o;881:350:67:-;951:12;971:10;1012:9;984:17;971:30;;1024:1;1012:13;;1007:220;1031:2;1027:1;:6;1007:220;;;1077:3;1069:12;;1052:29;;;:10;1063:1;1052:13;;;;;;;;;;;;;:29;;;;1048:43;;;1083:8;;1048:43;1134:8;;;;;;;;;;;1117:39;;;1157:10;1168:1;1157:13;;;;;;;;;;;;;1117:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1117:54:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1117:54:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1117:54:67;;;;;;;;;;;;;;;;1103:68;;:10;:68;;;1099:122;;;1193:4;1183:14;;1207:5;;1099:122;1007:220;1035:3;;;;;;;1007:220;;;881:350;;;;;:::o;422:188:77:-;556:13;587:5;:16;;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;587:18:77;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;587:18:77;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;587:18:77;;;;;;;;;;;;;;;;579:26;;422:188;;;:::o;2310:180::-;2439:14;2472:5;:11;;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2472:13:77;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2472:13:77;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2472:13:77;;;;;;;;;;;;;;;;2463:22;;2310:180;;;:::o;240:219:6:-;321:32;404:47;417:33;;404:12;:47::i;:::-;369:83;;240:219;:::o;66:5755:43:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"../../storage/DaoStorage.sol\";\n\ncontract MockDaoStorage is DaoStorage {\n using DoublyLinkedList for DoublyLinkedList.Bytes;\n\n constructor(address _resolver) public DaoStorage(_resolver) {}\n\n /**\n @notice Function to mock add new proposal in pre-defined state\n @dev Note that this function will only be called during the tests\n @param _proposalId ID of the proposal, i.e. IPFS doc hash\n @param _roundIndex Index of the voting round, if not draft phase\n @param _proposer Address of the proposer\n @param _endorser Address of the endorser\n @param _milestonesFundings Uint Array of the milestone fundings\n @param _isDraftPhase Boolean, true if adding proposal in draft phase\n @param _finalReward Final rewards on completion of proposal\n */\n function mock_put_proposal_as(\n bytes32 _proposalId,\n uint256 _roundIndex,\n bool _isDraftPhase,\n address _proposer,\n address _endorser,\n uint256[] _milestonesFundings,\n uint256 _finalReward\n )\n public\n {\n allProposals.append(_proposalId);\n proposalsById[_proposalId].proposalId = _proposalId;\n proposalsById[_proposalId].proposer = _proposer;\n proposalsById[_proposalId].timeCreated = now - (1 minutes);\n proposalsById[_proposalId].proposalVersionDocs.append(_proposalId);\n proposalsById[_proposalId].proposalVersions[_proposalId].docIpfsHash = _proposalId;\n proposalsById[_proposalId].proposalVersions[_proposalId].created = now;\n proposalsById[_proposalId].proposalVersions[_proposalId].milestoneCount = _milestonesFundings.length;\n proposalsById[_proposalId].proposalVersions[_proposalId].milestoneFundings = _milestonesFundings;\n proposalsById[_proposalId].proposalVersions[_proposalId].finalReward = _finalReward;\n proposalsById[_proposalId].endorser = _endorser;\n proposalsById[_proposalId].finalVersion = _proposalId;\n proposalsById[_proposalId].collateralAmount = 2 ether;\n if (_isDraftPhase) {\n proposalsByState[PROPOSAL_STATE_DRAFT].append(_proposalId);\n proposalsById[_proposalId].currentState = PROPOSAL_STATE_DRAFT;\n proposalsById[_proposalId].draftVoting.startTime = now;\n } else {\n if (_roundIndex == 0) {\n proposalsByState[PROPOSAL_STATE_MODERATED].append(_proposalId);\n proposalsById[_proposalId].currentState = PROPOSAL_STATE_MODERATED;\n } else {\n proposalsByState[PROPOSAL_STATE_ONGOING].append(_proposalId);\n proposalsById[_proposalId].currentState = PROPOSAL_STATE_ONGOING;\n }\n proposalsById[_proposalId].votingRounds[_roundIndex].startTime = now;\n }\n }\n\n function mock_put_proposal_in_milestone(\n bytes32 _proposalId,\n uint256 _milestoneId,\n address _proposer,\n address _endorser,\n uint256[] _milestonesFundings,\n uint256 _finalReward,\n uint256 _previousVotingStart\n )\n public\n {\n allProposals.append(_proposalId);\n proposalsById[_proposalId].proposalId = _proposalId;\n proposalsById[_proposalId].proposer = _proposer;\n proposalsById[_proposalId].timeCreated = now - (5 minutes);\n proposalsById[_proposalId].proposalVersionDocs.append(_proposalId);\n proposalsById[_proposalId].proposalVersions[_proposalId].docIpfsHash = _proposalId;\n proposalsById[_proposalId].proposalVersions[_proposalId].created = now;\n proposalsById[_proposalId].proposalVersions[_proposalId].milestoneCount = _milestonesFundings.length;\n proposalsById[_proposalId].proposalVersions[_proposalId].milestoneFundings = _milestonesFundings;\n proposalsById[_proposalId].proposalVersions[_proposalId].finalReward = _finalReward;\n proposalsById[_proposalId].endorser = _endorser;\n proposalsById[_proposalId].finalVersion = _proposalId;\n proposalsById[_proposalId].votingRounds[_milestoneId].startTime = _previousVotingStart;\n proposalsById[_proposalId].votingRounds[_milestoneId].claimed = true;\n proposalsById[_proposalId].votingRounds[_milestoneId].passed = true;\n proposalsById[_proposalId].votingRounds[_milestoneId].funded = true;\n }\n\n /**\n @notice Mock function to add fake votes in the past for a proposal\n @dev This will never be available in the deployment, only for test purposes\n @param _proposalId ID of the proposal\n @param _roundIndex Index of the voting round\n @param _isDraftPhase Boolean, whether updating the votes for draft phase or not\n @param _voters Array of addresses of the voters\n @param _votes Boolean array of the votes (for or against)\n @param _weights Uint array of the voting weights\n @param _length Length of the above arrays (number of voters)\n @param _startOfVotingRound start of this voting round\n */\n function mock_put_past_votes(\n bytes32 _proposalId,\n uint256 _roundIndex,\n bool _isDraftPhase,\n address[] _voters,\n bool[] _votes,\n uint256[] _weights,\n uint256 _length,\n uint256 _startOfVotingRound\n )\n public\n {\n DaoStructs.Voting storage _voting = proposalsById[_proposalId].votingRounds[_roundIndex];\n if (_isDraftPhase) {\n _voting = proposalsById[_proposalId].draftVoting;\n } else {\n proposalsById[_proposalId].votingRounds[_roundIndex].startTime = _startOfVotingRound;\n }\n\n for (uint256 i = 0; i < _length; i++) {\n if (_votes[i] == true) {\n _voting.yesVotes[_voters[i]] = _weights[i];\n } else {\n _voting.noVotes[_voters[i]] = _weights[i];\n }\n }\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/mock/storage/MockDaoStorage.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/storage/MockDaoStorage.sol", + "exportedSymbols": { + "MockDaoStorage": [ + 11865 + ] + }, + "id": 11866, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 11389, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:43" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStorage.sol", + "file": "../../storage/DaoStorage.sol", + "id": 11390, + "nodeType": "ImportDirective", + "scope": 11866, + "sourceUnit": 18305, + "src": "26:38:43", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 11391, + "name": "DaoStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18304, + "src": "93:10:43", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 11392, + "nodeType": "InheritanceSpecifier", + "src": "93:10:43" + } + ], + "contractDependencies": [ + 1580, + 1819, + 18304, + 19058, + 22479 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 11865, + "linearizedBaseContracts": [ + 11865, + 18304, + 22479, + 1819, + 1580, + 19058 + ], + "name": "MockDaoStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 11395, + "libraryName": { + "contractScope": null, + "id": 11393, + "name": "DoublyLinkedList", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25546, + "src": "116:16:43", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DoublyLinkedList_$25546", + "typeString": "library DoublyLinkedList" + } + }, + "nodeType": "UsingForDirective", + "src": "110:50:43", + "typeName": { + "contractScope": null, + "id": 11394, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "137:22:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + } + }, + { + "body": { + "id": 11403, + "nodeType": "Block", + "src": "226:2:43", + "statements": [] + }, + "documentation": null, + "id": 11404, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 11400, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11397, + "src": "215:9:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 11401, + "modifierName": { + "argumentTypes": null, + "id": 11399, + "name": "DaoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18304, + "src": "204:10:43", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStorage_$18304_$", + "typeString": "type(contract DaoStorage)" + } + }, + "nodeType": "ModifierInvocation", + "src": "204:21:43" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11398, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11397, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 11404, + "src": "178:17:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11396, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "178:7:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "177:19:43" + }, + "payable": false, + "returnParameters": { + "id": 11402, + "nodeType": "ParameterList", + "parameters": [], + "src": "226:0:43" + }, + "scope": 11865, + "src": "166:62:43", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11602, + "nodeType": "Block", + "src": "1076:1724:43", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 11425, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1106:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 11422, + "name": "allProposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16481, + "src": "1086:12:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 11424, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "1086:19:43", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 11426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1086:32:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11427, + "nodeType": "ExpressionStatement", + "src": "1086:32:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11428, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1128:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11430, + "indexExpression": { + "argumentTypes": null, + "id": 11429, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1142:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1128:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11431, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "proposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 7987, + "src": "1128:37:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11432, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1168:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1128:51:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 11434, + "nodeType": "ExpressionStatement", + "src": "1128:51:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11435, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1189:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11437, + "indexExpression": { + "argumentTypes": null, + "id": 11436, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1203:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1189:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11438, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "proposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 8014, + "src": "1189:35:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11439, + "name": "_proposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11412, + "src": "1227:9:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1189:47:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 11441, + "nodeType": "ExpressionStatement", + "src": "1189:47:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11442, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1246:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11444, + "indexExpression": { + "argumentTypes": null, + "id": 11443, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1260:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1246:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11445, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "timeCreated", + "nodeType": "MemberAccess", + "referencedDeclaration": 7991, + "src": "1246:38:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 11446, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "1287:3:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 11447, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1294:9:43", + "subdenomination": "minutes", + "typeDescriptions": { + "typeIdentifier": "t_rational_60_by_1", + "typeString": "int_const 60" + }, + "value": "1" + } + ], + "id": 11448, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1293:11:43", + "typeDescriptions": { + "typeIdentifier": "t_rational_60_by_1", + "typeString": "int_const 60" + } + }, + "src": "1287:17:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1246:58:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11451, + "nodeType": "ExpressionStatement", + "src": "1246:58:43" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 11457, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1368:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11452, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1314:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11454, + "indexExpression": { + "argumentTypes": null, + "id": 11453, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1328:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1314:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11455, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersionDocs", + "nodeType": "MemberAccess", + "referencedDeclaration": 7993, + "src": "1314:46:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 11456, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "1314:53:43", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 11458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1314:66:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11459, + "nodeType": "ExpressionStatement", + "src": "1314:66:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11460, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1390:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11462, + "indexExpression": { + "argumentTypes": null, + "id": 11461, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1404:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1390:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11463, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "1390:43:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 11465, + "indexExpression": { + "argumentTypes": null, + "id": 11464, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1434:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1390:56:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 11466, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "docIpfsHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 7972, + "src": "1390:68:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11467, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1461:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1390:82:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 11469, + "nodeType": "ExpressionStatement", + "src": "1390:82:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11470, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1482:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11472, + "indexExpression": { + "argumentTypes": null, + "id": 11471, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1496:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1482:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11473, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "1482:43:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 11475, + "indexExpression": { + "argumentTypes": null, + "id": 11474, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1526:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1482:56:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 11476, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "created", + "nodeType": "MemberAccess", + "referencedDeclaration": 7974, + "src": "1482:64:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11477, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "1549:3:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1482:70:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11479, + "nodeType": "ExpressionStatement", + "src": "1482:70:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11480, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1562:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11482, + "indexExpression": { + "argumentTypes": null, + "id": 11481, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1576:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1562:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11483, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "1562:43:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 11485, + "indexExpression": { + "argumentTypes": null, + "id": 11484, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1606:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1562:56:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 11486, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "milestoneCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7976, + "src": "1562:71:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11487, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11417, + "src": "1636:19:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1636:26:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1562:100:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11490, + "nodeType": "ExpressionStatement", + "src": "1562:100:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11491, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1672:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11493, + "indexExpression": { + "argumentTypes": null, + "id": 11492, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1686:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1672:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11494, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "1672:43:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 11496, + "indexExpression": { + "argumentTypes": null, + "id": 11495, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1716:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1672:56:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 11497, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "milestoneFundings", + "nodeType": "MemberAccess", + "referencedDeclaration": 7981, + "src": "1672:74:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11498, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11417, + "src": "1749:19:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "1672:96:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 11500, + "nodeType": "ExpressionStatement", + "src": "1672:96:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11501, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1778:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11503, + "indexExpression": { + "argumentTypes": null, + "id": 11502, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1792:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1778:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11504, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "1778:43:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 11506, + "indexExpression": { + "argumentTypes": null, + "id": 11505, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1822:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1778:56:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 11507, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "finalReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 7978, + "src": "1778:68:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11508, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11419, + "src": "1849:12:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1778:83:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11510, + "nodeType": "ExpressionStatement", + "src": "1778:83:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11511, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1871:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11513, + "indexExpression": { + "argumentTypes": null, + "id": 11512, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1885:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1871:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11514, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "endorser", + "nodeType": "MemberAccess", + "referencedDeclaration": 8016, + "src": "1871:35:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11515, + "name": "_endorser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11414, + "src": "1909:9:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1871:47:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 11517, + "nodeType": "ExpressionStatement", + "src": "1871:47:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11518, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1928:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11520, + "indexExpression": { + "argumentTypes": null, + "id": 11519, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1942:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1928:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11521, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "finalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8009, + "src": "1928:39:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11522, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1970:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1928:53:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 11524, + "nodeType": "ExpressionStatement", + "src": "1928:53:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11525, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1991:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11527, + "indexExpression": { + "argumentTypes": null, + "id": 11526, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "2005:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1991:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11528, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "collateralAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8007, + "src": "1991:43:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "32", + "id": 11529, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2037:7:43", + "subdenomination": "ether", + "typeDescriptions": { + "typeIdentifier": "t_rational_2000000000000000000_by_1", + "typeString": "int_const 2000000000000000000" + }, + "value": "2" + }, + "src": "1991:53:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11531, + "nodeType": "ExpressionStatement", + "src": "1991:53:43" + }, + { + "condition": { + "argumentTypes": null, + "id": 11532, + "name": "_isDraftPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11410, + "src": "2058:13:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 11600, + "nodeType": "Block", + "src": "2306:488:43", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 11556, + "name": "_roundIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11408, + "src": "2324:11:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 11557, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2339:1:43", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2324:16:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 11588, + "nodeType": "Block", + "src": "2527:175:43", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 11578, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "2593:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11574, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "2545:16:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 11576, + "indexExpression": { + "argumentTypes": null, + "id": 11575, + "name": "PROPOSAL_STATE_ONGOING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1261, + "src": "2562:22:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2545:40:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 11577, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "2545:47:43", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 11579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2545:60:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11580, + "nodeType": "ExpressionStatement", + "src": "2545:60:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11581, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "2623:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11583, + "indexExpression": { + "argumentTypes": null, + "id": 11582, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "2637:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2623:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11584, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "2623:39:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11585, + "name": "PROPOSAL_STATE_ONGOING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1261, + "src": "2665:22:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2623:64:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 11587, + "nodeType": "ExpressionStatement", + "src": "2623:64:43" + } + ] + }, + "id": 11589, + "nodeType": "IfStatement", + "src": "2320:382:43", + "trueBody": { + "id": 11573, + "nodeType": "Block", + "src": "2342:179:43", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 11563, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "2410:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11559, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "2360:16:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 11561, + "indexExpression": { + "argumentTypes": null, + "id": 11560, + "name": "PROPOSAL_STATE_MODERATED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1258, + "src": "2377:24:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2360:42:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 11562, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "2360:49:43", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 11564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2360:62:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11565, + "nodeType": "ExpressionStatement", + "src": "2360:62:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11566, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "2440:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11568, + "indexExpression": { + "argumentTypes": null, + "id": 11567, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "2454:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2440:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11569, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "2440:39:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11570, + "name": "PROPOSAL_STATE_MODERATED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1258, + "src": "2482:24:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2440:66:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 11572, + "nodeType": "ExpressionStatement", + "src": "2440:66:43" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 11598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11590, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "2715:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11592, + "indexExpression": { + "argumentTypes": null, + "id": 11591, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "2729:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2715:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11593, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "2715:39:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 11595, + "indexExpression": { + "argumentTypes": null, + "id": 11594, + "name": "_roundIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11408, + "src": "2755:11:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2715:52:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 11596, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "2715:62:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11597, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "2780:3:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2715:68:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11599, + "nodeType": "ExpressionStatement", + "src": "2715:68:43" + } + ] + }, + "id": 11601, + "nodeType": "IfStatement", + "src": "2054:740:43", + "trueBody": { + "id": 11555, + "nodeType": "Block", + "src": "2073:227:43", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 11537, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "2133:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11533, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "2087:16:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 11535, + "indexExpression": { + "argumentTypes": null, + "id": 11534, + "name": "PROPOSAL_STATE_DRAFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1255, + "src": "2104:20:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2087:38:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 11536, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "2087:45:43", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 11538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2087:58:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11539, + "nodeType": "ExpressionStatement", + "src": "2087:58:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11540, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "2159:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11542, + "indexExpression": { + "argumentTypes": null, + "id": 11541, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "2173:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2159:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11543, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "2159:39:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11544, + "name": "PROPOSAL_STATE_DRAFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1255, + "src": "2201:20:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2159:62:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 11546, + "nodeType": "ExpressionStatement", + "src": "2159:62:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11547, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "2235:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11549, + "indexExpression": { + "argumentTypes": null, + "id": 11548, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "2249:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2235:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11550, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "2235:38:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 11551, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "2235:48:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11552, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "2286:3:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2235:54:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11554, + "nodeType": "ExpressionStatement", + "src": "2235:54:43" + } + ] + } + } + ] + }, + "documentation": "@notice Function to mock add new proposal in pre-defined state\n@dev Note that this function will only be called during the tests\n@param _proposalId ID of the proposal, i.e. IPFS doc hash\n@param _roundIndex Index of the voting round, if not draft phase\n@param _proposer Address of the proposer\n@param _endorser Address of the endorser\n@param _milestonesFundings Uint Array of the milestone fundings\n@param _isDraftPhase Boolean, true if adding proposal in draft phase\n@param _finalReward Final rewards on completion of proposal", + "id": 11603, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_put_proposal_as", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11420, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11406, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 11603, + "src": "851:19:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 11405, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "851:7:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11408, + "name": "_roundIndex", + "nodeType": "VariableDeclaration", + "scope": 11603, + "src": "880:19:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11407, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "880:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11410, + "name": "_isDraftPhase", + "nodeType": "VariableDeclaration", + "scope": 11603, + "src": "909:18:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11409, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "909:4:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11412, + "name": "_proposer", + "nodeType": "VariableDeclaration", + "scope": 11603, + "src": "937:17:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11411, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "937:7:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11414, + "name": "_endorser", + "nodeType": "VariableDeclaration", + "scope": 11603, + "src": "964:17:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11413, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "964:7:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11417, + "name": "_milestonesFundings", + "nodeType": "VariableDeclaration", + "scope": 11603, + "src": "991:29:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 11415, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "991:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11416, + "length": null, + "nodeType": "ArrayTypeName", + "src": "991:9:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11419, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 11603, + "src": "1030:20:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11418, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1030:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "841:215:43" + }, + "payable": false, + "returnParameters": { + "id": 11421, + "nodeType": "ParameterList", + "parameters": [], + "src": "1076:0:43" + }, + "scope": 11865, + "src": "812:1988:43", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11764, + "nodeType": "Block", + "src": "3091:1240:43", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 11624, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3121:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 11621, + "name": "allProposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16481, + "src": "3101:12:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 11623, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "3101:19:43", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 11625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3101:32:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11626, + "nodeType": "ExpressionStatement", + "src": "3101:32:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11627, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3143:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11629, + "indexExpression": { + "argumentTypes": null, + "id": 11628, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3157:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3143:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11630, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "proposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 7987, + "src": "3143:37:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11631, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3183:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3143:51:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 11633, + "nodeType": "ExpressionStatement", + "src": "3143:51:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11634, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3204:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11636, + "indexExpression": { + "argumentTypes": null, + "id": 11635, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3218:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3204:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11637, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "proposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 8014, + "src": "3204:35:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11638, + "name": "_proposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11609, + "src": "3242:9:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3204:47:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 11640, + "nodeType": "ExpressionStatement", + "src": "3204:47:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11641, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3261:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11643, + "indexExpression": { + "argumentTypes": null, + "id": 11642, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3275:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3261:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11644, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "timeCreated", + "nodeType": "MemberAccess", + "referencedDeclaration": 7991, + "src": "3261:38:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 11645, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "3302:3:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "35", + "id": 11646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3309:9:43", + "subdenomination": "minutes", + "typeDescriptions": { + "typeIdentifier": "t_rational_300_by_1", + "typeString": "int_const 300" + }, + "value": "5" + } + ], + "id": 11647, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3308:11:43", + "typeDescriptions": { + "typeIdentifier": "t_rational_300_by_1", + "typeString": "int_const 300" + } + }, + "src": "3302:17:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3261:58:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11650, + "nodeType": "ExpressionStatement", + "src": "3261:58:43" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 11656, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3383:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11651, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3329:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11653, + "indexExpression": { + "argumentTypes": null, + "id": 11652, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3343:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3329:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11654, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersionDocs", + "nodeType": "MemberAccess", + "referencedDeclaration": 7993, + "src": "3329:46:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 11655, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "3329:53:43", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 11657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3329:66:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11658, + "nodeType": "ExpressionStatement", + "src": "3329:66:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11659, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3405:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11661, + "indexExpression": { + "argumentTypes": null, + "id": 11660, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3419:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3405:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11662, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "3405:43:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 11664, + "indexExpression": { + "argumentTypes": null, + "id": 11663, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3449:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3405:56:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 11665, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "docIpfsHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 7972, + "src": "3405:68:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11666, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3476:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3405:82:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 11668, + "nodeType": "ExpressionStatement", + "src": "3405:82:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11677, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11669, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3497:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11671, + "indexExpression": { + "argumentTypes": null, + "id": 11670, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3511:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3497:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11672, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "3497:43:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 11674, + "indexExpression": { + "argumentTypes": null, + "id": 11673, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3541:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3497:56:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 11675, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "created", + "nodeType": "MemberAccess", + "referencedDeclaration": 7974, + "src": "3497:64:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11676, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "3564:3:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3497:70:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11678, + "nodeType": "ExpressionStatement", + "src": "3497:70:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11679, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3577:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11681, + "indexExpression": { + "argumentTypes": null, + "id": 11680, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3591:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3577:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11682, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "3577:43:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 11684, + "indexExpression": { + "argumentTypes": null, + "id": 11683, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3621:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3577:56:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 11685, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "milestoneCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7976, + "src": "3577:71:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11686, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11614, + "src": "3651:19:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3651:26:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3577:100:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11689, + "nodeType": "ExpressionStatement", + "src": "3577:100:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11690, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3687:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11692, + "indexExpression": { + "argumentTypes": null, + "id": 11691, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3701:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3687:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11693, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "3687:43:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 11695, + "indexExpression": { + "argumentTypes": null, + "id": 11694, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3731:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3687:56:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 11696, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "milestoneFundings", + "nodeType": "MemberAccess", + "referencedDeclaration": 7981, + "src": "3687:74:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11697, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11614, + "src": "3764:19:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "3687:96:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 11699, + "nodeType": "ExpressionStatement", + "src": "3687:96:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11700, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3793:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11702, + "indexExpression": { + "argumentTypes": null, + "id": 11701, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3807:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3793:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11703, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "3793:43:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 11705, + "indexExpression": { + "argumentTypes": null, + "id": 11704, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3837:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3793:56:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 11706, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "finalReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 7978, + "src": "3793:68:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11707, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11616, + "src": "3864:12:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3793:83:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11709, + "nodeType": "ExpressionStatement", + "src": "3793:83:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11710, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3886:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11712, + "indexExpression": { + "argumentTypes": null, + "id": 11711, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3900:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3886:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11713, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "endorser", + "nodeType": "MemberAccess", + "referencedDeclaration": 8016, + "src": "3886:35:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11714, + "name": "_endorser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11611, + "src": "3924:9:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3886:47:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 11716, + "nodeType": "ExpressionStatement", + "src": "3886:47:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11717, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3943:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11719, + "indexExpression": { + "argumentTypes": null, + "id": 11718, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3957:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3943:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11720, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "finalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8009, + "src": "3943:39:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11721, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3985:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3943:53:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 11723, + "nodeType": "ExpressionStatement", + "src": "3943:53:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11724, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "4006:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11726, + "indexExpression": { + "argumentTypes": null, + "id": 11725, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "4020:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4006:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11727, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "4006:39:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 11729, + "indexExpression": { + "argumentTypes": null, + "id": 11728, + "name": "_milestoneId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11607, + "src": "4046:12:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4006:53:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 11730, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "4006:63:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11731, + "name": "_previousVotingStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11618, + "src": "4072:20:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4006:86:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11733, + "nodeType": "ExpressionStatement", + "src": "4006:86:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11734, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "4102:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11736, + "indexExpression": { + "argumentTypes": null, + "id": 11735, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "4116:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4102:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11737, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "4102:39:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 11739, + "indexExpression": { + "argumentTypes": null, + "id": 11738, + "name": "_milestoneId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11607, + "src": "4142:12:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4102:53:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 11740, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "claimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7967, + "src": "4102:61:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 11741, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4166:4:43", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4102:68:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11743, + "nodeType": "ExpressionStatement", + "src": "4102:68:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11744, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "4180:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11746, + "indexExpression": { + "argumentTypes": null, + "id": 11745, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "4194:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4180:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11747, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "4180:39:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 11749, + "indexExpression": { + "argumentTypes": null, + "id": 11748, + "name": "_milestoneId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11607, + "src": "4220:12:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4180:53:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 11750, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "passed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7965, + "src": "4180:60:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 11751, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4243:4:43", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4180:67:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11753, + "nodeType": "ExpressionStatement", + "src": "4180:67:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11754, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "4257:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11756, + "indexExpression": { + "argumentTypes": null, + "id": 11755, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "4271:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4257:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11757, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "4257:39:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 11759, + "indexExpression": { + "argumentTypes": null, + "id": 11758, + "name": "_milestoneId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11607, + "src": "4297:12:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4257:53:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 11760, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "funded", + "nodeType": "MemberAccess", + "referencedDeclaration": 7969, + "src": "4257:60:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 11761, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4320:4:43", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4257:67:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11763, + "nodeType": "ExpressionStatement", + "src": "4257:67:43" + } + ] + }, + "documentation": null, + "id": 11765, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_put_proposal_in_milestone", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11619, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11605, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 11765, + "src": "2855:19:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 11604, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2855:7:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11607, + "name": "_milestoneId", + "nodeType": "VariableDeclaration", + "scope": 11765, + "src": "2884:20:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11606, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2884:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11609, + "name": "_proposer", + "nodeType": "VariableDeclaration", + "scope": 11765, + "src": "2914:17:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11608, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2914:7:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11611, + "name": "_endorser", + "nodeType": "VariableDeclaration", + "scope": 11765, + "src": "2941:17:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11610, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2941:7:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11614, + "name": "_milestonesFundings", + "nodeType": "VariableDeclaration", + "scope": 11765, + "src": "2968:29:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 11612, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2968:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11613, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2968:9:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11616, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 11765, + "src": "3007:20:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11615, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3007:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11618, + "name": "_previousVotingStart", + "nodeType": "VariableDeclaration", + "scope": 11765, + "src": "3037:28:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11617, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3037:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2845:226:43" + }, + "payable": false, + "returnParameters": { + "id": 11620, + "nodeType": "ParameterList", + "parameters": [], + "src": "3091:0:43" + }, + "scope": 11865, + "src": "2806:1525:43", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11863, + "nodeType": "Block", + "src": "5248:571:43", + "statements": [ + { + "assignments": [ + 11790 + ], + "declarations": [ + { + "constant": false, + "id": 11790, + "name": "_voting", + "nodeType": "VariableDeclaration", + "scope": 11864, + "src": "5258:33:43", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + }, + "typeName": { + "contractScope": null, + "id": 11789, + "name": "DaoStructs.Voting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7970, + "src": "5258:17:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11797, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11791, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "5294:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11793, + "indexExpression": { + "argumentTypes": null, + "id": 11792, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11767, + "src": "5308:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5294:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11794, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "5294:39:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 11796, + "indexExpression": { + "argumentTypes": null, + "id": 11795, + "name": "_roundIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11769, + "src": "5334:11:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5294:52:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5258:88:43" + }, + { + "condition": { + "argumentTypes": null, + "id": 11798, + "name": "_isDraftPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11771, + "src": "5360:13:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 11817, + "nodeType": "Block", + "src": "5454:109:43", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11807, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "5468:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11809, + "indexExpression": { + "argumentTypes": null, + "id": 11808, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11767, + "src": "5482:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5468:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11810, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "5468:39:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 11812, + "indexExpression": { + "argumentTypes": null, + "id": 11811, + "name": "_roundIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11769, + "src": "5508:11:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5468:52:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 11813, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "5468:62:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11814, + "name": "_startOfVotingRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11784, + "src": "5533:19:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5468:84:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11816, + "nodeType": "ExpressionStatement", + "src": "5468:84:43" + } + ] + }, + "id": 11818, + "nodeType": "IfStatement", + "src": "5356:207:43", + "trueBody": { + "id": 11806, + "nodeType": "Block", + "src": "5375:73:43", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 11799, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11790, + "src": "5389:7:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11800, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "5399:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11802, + "indexExpression": { + "argumentTypes": null, + "id": 11801, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11767, + "src": "5413:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5399:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11803, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "5399:38:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "src": "5389:48:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 11805, + "nodeType": "ExpressionStatement", + "src": "5389:48:43" + } + ] + } + }, + { + "body": { + "id": 11861, + "nodeType": "Block", + "src": "5611:202:43", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 11833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11829, + "name": "_votes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11777, + "src": "5629:6:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + "id": 11831, + "indexExpression": { + "argumentTypes": null, + "id": 11830, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11820, + "src": "5636:1:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5629:9:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 11832, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5642:4:43", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "5629:17:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 11859, + "nodeType": "Block", + "src": "5729:74:43", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11847, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11790, + "src": "5747:7:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 11852, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "noVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7963, + "src": "5747:15:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11853, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11849, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11774, + "src": "5763:7:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11851, + "indexExpression": { + "argumentTypes": null, + "id": 11850, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11820, + "src": "5771:1:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5763:10:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5747:27:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11854, + "name": "_weights", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11780, + "src": "5777:8:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11856, + "indexExpression": { + "argumentTypes": null, + "id": 11855, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11820, + "src": "5786:1:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5777:11:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5747:41:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11858, + "nodeType": "ExpressionStatement", + "src": "5747:41:43" + } + ] + }, + "id": 11860, + "nodeType": "IfStatement", + "src": "5625:178:43", + "trueBody": { + "id": 11846, + "nodeType": "Block", + "src": "5648:75:43", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11834, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11790, + "src": "5666:7:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 11839, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "yesVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7959, + "src": "5666:16:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11840, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11836, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11774, + "src": "5683:7:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11838, + "indexExpression": { + "argumentTypes": null, + "id": 11837, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11820, + "src": "5691:1:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5683:10:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5666:28:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11841, + "name": "_weights", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11780, + "src": "5697:8:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11843, + "indexExpression": { + "argumentTypes": null, + "id": 11842, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11820, + "src": "5706:1:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5697:11:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5666:42:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11845, + "nodeType": "ExpressionStatement", + "src": "5666:42:43" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 11823, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11820, + "src": "5593:1:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 11824, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11782, + "src": "5597:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5593:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11862, + "initializationExpression": { + "assignments": [ + 11820 + ], + "declarations": [ + { + "constant": false, + "id": 11820, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 11864, + "src": "5578:9:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11819, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5578:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11822, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 11821, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5590:1:43", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5578:13:43" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 11827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5606:3:43", + "subExpression": { + "argumentTypes": null, + "id": 11826, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11820, + "src": "5606:1:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11828, + "nodeType": "ExpressionStatement", + "src": "5606:3:43" + }, + "nodeType": "ForStatement", + "src": "5573:240:43" + } + ] + }, + "documentation": "@notice Mock function to add fake votes in the past for a proposal\n@dev This will never be available in the deployment, only for test purposes\n@param _proposalId ID of the proposal\n@param _roundIndex Index of the voting round\n@param _isDraftPhase Boolean, whether updating the votes for draft phase or not\n@param _voters Array of addresses of the voters\n@param _votes Boolean array of the votes (for or against)\n@param _weights Uint array of the voting weights\n@param _length Length of the above arrays (number of voters)\n@param _startOfVotingRound start of this voting round", + "id": 11864, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_put_past_votes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11785, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11767, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 11864, + "src": "5006:19:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 11766, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5006:7:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11769, + "name": "_roundIndex", + "nodeType": "VariableDeclaration", + "scope": 11864, + "src": "5035:19:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11768, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5035:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11771, + "name": "_isDraftPhase", + "nodeType": "VariableDeclaration", + "scope": 11864, + "src": "5064:18:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11770, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5064:4:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11774, + "name": "_voters", + "nodeType": "VariableDeclaration", + "scope": 11864, + "src": "5092:17:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 11772, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5092:7:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 11773, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5092:9:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11777, + "name": "_votes", + "nodeType": "VariableDeclaration", + "scope": 11864, + "src": "5119:13:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 11775, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5119:4:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11776, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5119:6:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11780, + "name": "_weights", + "nodeType": "VariableDeclaration", + "scope": 11864, + "src": "5142:18:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 11778, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5142:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11779, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5142:9:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11782, + "name": "_length", + "nodeType": "VariableDeclaration", + "scope": 11864, + "src": "5170:15:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11781, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5170:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11784, + "name": "_startOfVotingRound", + "nodeType": "VariableDeclaration", + "scope": 11864, + "src": "5195:27:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11783, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5195:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4996:232:43" + }, + "payable": false, + "returnParameters": { + "id": 11786, + "nodeType": "ParameterList", + "parameters": [], + "src": "5248:0:43" + }, + "scope": 11865, + "src": "4968:851:43", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 11866, + "src": "66:5755:43" + } + ], + "src": "0:5822:43" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/storage/MockDaoStorage.sol", + "exportedSymbols": { + "MockDaoStorage": [ + 11865 + ] + }, + "id": 11866, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 11389, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:43" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoStorage.sol", + "file": "../../storage/DaoStorage.sol", + "id": 11390, + "nodeType": "ImportDirective", + "scope": 11866, + "sourceUnit": 18305, + "src": "26:38:43", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 11391, + "name": "DaoStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18304, + "src": "93:10:43", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorage_$18304", + "typeString": "contract DaoStorage" + } + }, + "id": 11392, + "nodeType": "InheritanceSpecifier", + "src": "93:10:43" + } + ], + "contractDependencies": [ + 1580, + 1819, + 18304, + 19058, + 22479 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 11865, + "linearizedBaseContracts": [ + 11865, + 18304, + 22479, + 1819, + 1580, + 19058 + ], + "name": "MockDaoStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 11395, + "libraryName": { + "contractScope": null, + "id": 11393, + "name": "DoublyLinkedList", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25546, + "src": "116:16:43", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DoublyLinkedList_$25546", + "typeString": "library DoublyLinkedList" + } + }, + "nodeType": "UsingForDirective", + "src": "110:50:43", + "typeName": { + "contractScope": null, + "id": 11394, + "name": "DoublyLinkedList.Bytes", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23035, + "src": "137:22:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage_ptr", + "typeString": "struct DoublyLinkedList.Bytes" + } + } + }, + { + "body": { + "id": 11403, + "nodeType": "Block", + "src": "226:2:43", + "statements": [] + }, + "documentation": null, + "id": 11404, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 11400, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11397, + "src": "215:9:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 11401, + "modifierName": { + "argumentTypes": null, + "id": 11399, + "name": "DaoStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18304, + "src": "204:10:43", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStorage_$18304_$", + "typeString": "type(contract DaoStorage)" + } + }, + "nodeType": "ModifierInvocation", + "src": "204:21:43" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11398, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11397, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 11404, + "src": "178:17:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11396, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "178:7:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "177:19:43" + }, + "payable": false, + "returnParameters": { + "id": 11402, + "nodeType": "ParameterList", + "parameters": [], + "src": "226:0:43" + }, + "scope": 11865, + "src": "166:62:43", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11602, + "nodeType": "Block", + "src": "1076:1724:43", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 11425, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1106:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 11422, + "name": "allProposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16481, + "src": "1086:12:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 11424, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "1086:19:43", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 11426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1086:32:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11427, + "nodeType": "ExpressionStatement", + "src": "1086:32:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11428, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1128:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11430, + "indexExpression": { + "argumentTypes": null, + "id": 11429, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1142:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1128:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11431, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "proposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 7987, + "src": "1128:37:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11432, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1168:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1128:51:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 11434, + "nodeType": "ExpressionStatement", + "src": "1128:51:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11435, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1189:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11437, + "indexExpression": { + "argumentTypes": null, + "id": 11436, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1203:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1189:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11438, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "proposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 8014, + "src": "1189:35:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11439, + "name": "_proposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11412, + "src": "1227:9:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1189:47:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 11441, + "nodeType": "ExpressionStatement", + "src": "1189:47:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11442, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1246:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11444, + "indexExpression": { + "argumentTypes": null, + "id": 11443, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1260:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1246:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11445, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "timeCreated", + "nodeType": "MemberAccess", + "referencedDeclaration": 7991, + "src": "1246:38:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 11446, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "1287:3:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "31", + "id": 11447, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1294:9:43", + "subdenomination": "minutes", + "typeDescriptions": { + "typeIdentifier": "t_rational_60_by_1", + "typeString": "int_const 60" + }, + "value": "1" + } + ], + "id": 11448, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1293:11:43", + "typeDescriptions": { + "typeIdentifier": "t_rational_60_by_1", + "typeString": "int_const 60" + } + }, + "src": "1287:17:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1246:58:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11451, + "nodeType": "ExpressionStatement", + "src": "1246:58:43" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 11457, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1368:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11452, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1314:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11454, + "indexExpression": { + "argumentTypes": null, + "id": 11453, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1328:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1314:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11455, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersionDocs", + "nodeType": "MemberAccess", + "referencedDeclaration": 7993, + "src": "1314:46:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 11456, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "1314:53:43", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 11458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1314:66:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11459, + "nodeType": "ExpressionStatement", + "src": "1314:66:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11460, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1390:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11462, + "indexExpression": { + "argumentTypes": null, + "id": 11461, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1404:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1390:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11463, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "1390:43:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 11465, + "indexExpression": { + "argumentTypes": null, + "id": 11464, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1434:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1390:56:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 11466, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "docIpfsHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 7972, + "src": "1390:68:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11467, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1461:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1390:82:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 11469, + "nodeType": "ExpressionStatement", + "src": "1390:82:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11470, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1482:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11472, + "indexExpression": { + "argumentTypes": null, + "id": 11471, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1496:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1482:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11473, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "1482:43:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 11475, + "indexExpression": { + "argumentTypes": null, + "id": 11474, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1526:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1482:56:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 11476, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "created", + "nodeType": "MemberAccess", + "referencedDeclaration": 7974, + "src": "1482:64:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11477, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "1549:3:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1482:70:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11479, + "nodeType": "ExpressionStatement", + "src": "1482:70:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11480, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1562:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11482, + "indexExpression": { + "argumentTypes": null, + "id": 11481, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1576:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1562:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11483, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "1562:43:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 11485, + "indexExpression": { + "argumentTypes": null, + "id": 11484, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1606:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1562:56:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 11486, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "milestoneCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7976, + "src": "1562:71:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11487, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11417, + "src": "1636:19:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1636:26:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1562:100:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11490, + "nodeType": "ExpressionStatement", + "src": "1562:100:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11491, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1672:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11493, + "indexExpression": { + "argumentTypes": null, + "id": 11492, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1686:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1672:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11494, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "1672:43:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 11496, + "indexExpression": { + "argumentTypes": null, + "id": 11495, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1716:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1672:56:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 11497, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "milestoneFundings", + "nodeType": "MemberAccess", + "referencedDeclaration": 7981, + "src": "1672:74:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11498, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11417, + "src": "1749:19:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "1672:96:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 11500, + "nodeType": "ExpressionStatement", + "src": "1672:96:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11501, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1778:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11503, + "indexExpression": { + "argumentTypes": null, + "id": 11502, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1792:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1778:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11504, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "1778:43:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 11506, + "indexExpression": { + "argumentTypes": null, + "id": 11505, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1822:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1778:56:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 11507, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "finalReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 7978, + "src": "1778:68:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11508, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11419, + "src": "1849:12:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1778:83:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11510, + "nodeType": "ExpressionStatement", + "src": "1778:83:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11511, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1871:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11513, + "indexExpression": { + "argumentTypes": null, + "id": 11512, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1885:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1871:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11514, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "endorser", + "nodeType": "MemberAccess", + "referencedDeclaration": 8016, + "src": "1871:35:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11515, + "name": "_endorser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11414, + "src": "1909:9:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1871:47:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 11517, + "nodeType": "ExpressionStatement", + "src": "1871:47:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11518, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1928:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11520, + "indexExpression": { + "argumentTypes": null, + "id": 11519, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1942:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1928:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11521, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "finalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8009, + "src": "1928:39:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11522, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "1970:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1928:53:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 11524, + "nodeType": "ExpressionStatement", + "src": "1928:53:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11525, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "1991:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11527, + "indexExpression": { + "argumentTypes": null, + "id": 11526, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "2005:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1991:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11528, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "collateralAmount", + "nodeType": "MemberAccess", + "referencedDeclaration": 8007, + "src": "1991:43:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "32", + "id": 11529, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2037:7:43", + "subdenomination": "ether", + "typeDescriptions": { + "typeIdentifier": "t_rational_2000000000000000000_by_1", + "typeString": "int_const 2000000000000000000" + }, + "value": "2" + }, + "src": "1991:53:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11531, + "nodeType": "ExpressionStatement", + "src": "1991:53:43" + }, + { + "condition": { + "argumentTypes": null, + "id": 11532, + "name": "_isDraftPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11410, + "src": "2058:13:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 11600, + "nodeType": "Block", + "src": "2306:488:43", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 11556, + "name": "_roundIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11408, + "src": "2324:11:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 11557, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2339:1:43", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2324:16:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 11588, + "nodeType": "Block", + "src": "2527:175:43", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 11578, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "2593:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11574, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "2545:16:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 11576, + "indexExpression": { + "argumentTypes": null, + "id": 11575, + "name": "PROPOSAL_STATE_ONGOING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1261, + "src": "2562:22:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2545:40:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 11577, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "2545:47:43", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 11579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2545:60:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11580, + "nodeType": "ExpressionStatement", + "src": "2545:60:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11581, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "2623:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11583, + "indexExpression": { + "argumentTypes": null, + "id": 11582, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "2637:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2623:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11584, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "2623:39:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11585, + "name": "PROPOSAL_STATE_ONGOING", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1261, + "src": "2665:22:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2623:64:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 11587, + "nodeType": "ExpressionStatement", + "src": "2623:64:43" + } + ] + }, + "id": 11589, + "nodeType": "IfStatement", + "src": "2320:382:43", + "trueBody": { + "id": 11573, + "nodeType": "Block", + "src": "2342:179:43", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 11563, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "2410:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11559, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "2360:16:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 11561, + "indexExpression": { + "argumentTypes": null, + "id": 11560, + "name": "PROPOSAL_STATE_MODERATED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1258, + "src": "2377:24:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2360:42:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 11562, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "2360:49:43", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 11564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2360:62:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11565, + "nodeType": "ExpressionStatement", + "src": "2360:62:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11566, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "2440:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11568, + "indexExpression": { + "argumentTypes": null, + "id": 11567, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "2454:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2440:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11569, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "2440:39:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11570, + "name": "PROPOSAL_STATE_MODERATED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1258, + "src": "2482:24:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2440:66:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 11572, + "nodeType": "ExpressionStatement", + "src": "2440:66:43" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 11598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11590, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "2715:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11592, + "indexExpression": { + "argumentTypes": null, + "id": 11591, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "2729:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2715:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11593, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "2715:39:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 11595, + "indexExpression": { + "argumentTypes": null, + "id": 11594, + "name": "_roundIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11408, + "src": "2755:11:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2715:52:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 11596, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "2715:62:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11597, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "2780:3:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2715:68:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11599, + "nodeType": "ExpressionStatement", + "src": "2715:68:43" + } + ] + }, + "id": 11601, + "nodeType": "IfStatement", + "src": "2054:740:43", + "trueBody": { + "id": 11555, + "nodeType": "Block", + "src": "2073:227:43", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 11537, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "2133:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11533, + "name": "proposalsByState", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16489, + "src": "2087:16:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Bytes_$23035_storage_$", + "typeString": "mapping(bytes32 => struct DoublyLinkedList.Bytes storage ref)" + } + }, + "id": 11535, + "indexExpression": { + "argumentTypes": null, + "id": 11534, + "name": "PROPOSAL_STATE_DRAFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1255, + "src": "2104:20:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2087:38:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 11536, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "2087:45:43", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 11538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2087:58:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11539, + "nodeType": "ExpressionStatement", + "src": "2087:58:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11540, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "2159:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11542, + "indexExpression": { + "argumentTypes": null, + "id": 11541, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "2173:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2159:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11543, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "currentState", + "nodeType": "MemberAccess", + "referencedDeclaration": 7989, + "src": "2159:39:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11544, + "name": "PROPOSAL_STATE_DRAFT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1255, + "src": "2201:20:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2159:62:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 11546, + "nodeType": "ExpressionStatement", + "src": "2159:62:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11547, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "2235:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11549, + "indexExpression": { + "argumentTypes": null, + "id": 11548, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11406, + "src": "2249:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2235:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11550, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "2235:38:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 11551, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "2235:48:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11552, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "2286:3:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2235:54:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11554, + "nodeType": "ExpressionStatement", + "src": "2235:54:43" + } + ] + } + } + ] + }, + "documentation": "@notice Function to mock add new proposal in pre-defined state\n@dev Note that this function will only be called during the tests\n@param _proposalId ID of the proposal, i.e. IPFS doc hash\n@param _roundIndex Index of the voting round, if not draft phase\n@param _proposer Address of the proposer\n@param _endorser Address of the endorser\n@param _milestonesFundings Uint Array of the milestone fundings\n@param _isDraftPhase Boolean, true if adding proposal in draft phase\n@param _finalReward Final rewards on completion of proposal", + "id": 11603, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_put_proposal_as", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11420, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11406, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 11603, + "src": "851:19:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 11405, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "851:7:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11408, + "name": "_roundIndex", + "nodeType": "VariableDeclaration", + "scope": 11603, + "src": "880:19:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11407, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "880:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11410, + "name": "_isDraftPhase", + "nodeType": "VariableDeclaration", + "scope": 11603, + "src": "909:18:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11409, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "909:4:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11412, + "name": "_proposer", + "nodeType": "VariableDeclaration", + "scope": 11603, + "src": "937:17:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11411, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "937:7:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11414, + "name": "_endorser", + "nodeType": "VariableDeclaration", + "scope": 11603, + "src": "964:17:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11413, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "964:7:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11417, + "name": "_milestonesFundings", + "nodeType": "VariableDeclaration", + "scope": 11603, + "src": "991:29:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 11415, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "991:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11416, + "length": null, + "nodeType": "ArrayTypeName", + "src": "991:9:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11419, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 11603, + "src": "1030:20:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11418, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1030:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "841:215:43" + }, + "payable": false, + "returnParameters": { + "id": 11421, + "nodeType": "ParameterList", + "parameters": [], + "src": "1076:0:43" + }, + "scope": 11865, + "src": "812:1988:43", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11764, + "nodeType": "Block", + "src": "3091:1240:43", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 11624, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3121:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "id": 11621, + "name": "allProposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16481, + "src": "3101:12:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 11623, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "3101:19:43", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 11625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3101:32:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11626, + "nodeType": "ExpressionStatement", + "src": "3101:32:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11627, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3143:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11629, + "indexExpression": { + "argumentTypes": null, + "id": 11628, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3157:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3143:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11630, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "proposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 7987, + "src": "3143:37:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11631, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3183:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3143:51:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 11633, + "nodeType": "ExpressionStatement", + "src": "3143:51:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11634, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3204:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11636, + "indexExpression": { + "argumentTypes": null, + "id": 11635, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3218:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3204:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11637, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "proposer", + "nodeType": "MemberAccess", + "referencedDeclaration": 8014, + "src": "3204:35:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11638, + "name": "_proposer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11609, + "src": "3242:9:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3204:47:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 11640, + "nodeType": "ExpressionStatement", + "src": "3204:47:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11641, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3261:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11643, + "indexExpression": { + "argumentTypes": null, + "id": 11642, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3275:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3261:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11644, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "timeCreated", + "nodeType": "MemberAccess", + "referencedDeclaration": 7991, + "src": "3261:38:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 11645, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "3302:3:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "35", + "id": 11646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3309:9:43", + "subdenomination": "minutes", + "typeDescriptions": { + "typeIdentifier": "t_rational_300_by_1", + "typeString": "int_const 300" + }, + "value": "5" + } + ], + "id": 11647, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3308:11:43", + "typeDescriptions": { + "typeIdentifier": "t_rational_300_by_1", + "typeString": "int_const 300" + } + }, + "src": "3302:17:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3261:58:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11650, + "nodeType": "ExpressionStatement", + "src": "3261:58:43" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 11656, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3383:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11651, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3329:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11653, + "indexExpression": { + "argumentTypes": null, + "id": 11652, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3343:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3329:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11654, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersionDocs", + "nodeType": "MemberAccess", + "referencedDeclaration": 7993, + "src": "3329:46:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes_$23035_storage", + "typeString": "struct DoublyLinkedList.Bytes storage ref" + } + }, + "id": 11655, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "append", + "nodeType": "MemberAccess", + "referencedDeclaration": 25015, + "src": "3329:53:43", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_nonpayable$_t_struct$_Bytes_$23035_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes_$23035_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Bytes storage pointer,bytes32) returns (bool)" + } + }, + "id": 11657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3329:66:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11658, + "nodeType": "ExpressionStatement", + "src": "3329:66:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11659, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3405:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11661, + "indexExpression": { + "argumentTypes": null, + "id": 11660, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3419:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3405:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11662, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "3405:43:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 11664, + "indexExpression": { + "argumentTypes": null, + "id": 11663, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3449:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3405:56:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 11665, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "docIpfsHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 7972, + "src": "3405:68:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11666, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3476:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3405:82:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 11668, + "nodeType": "ExpressionStatement", + "src": "3405:82:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11677, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11669, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3497:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11671, + "indexExpression": { + "argumentTypes": null, + "id": 11670, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3511:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3497:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11672, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "3497:43:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 11674, + "indexExpression": { + "argumentTypes": null, + "id": 11673, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3541:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3497:56:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 11675, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "created", + "nodeType": "MemberAccess", + "referencedDeclaration": 7974, + "src": "3497:64:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11676, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "3564:3:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3497:70:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11678, + "nodeType": "ExpressionStatement", + "src": "3497:70:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11679, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3577:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11681, + "indexExpression": { + "argumentTypes": null, + "id": 11680, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3591:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3577:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11682, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "3577:43:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 11684, + "indexExpression": { + "argumentTypes": null, + "id": 11683, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3621:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3577:56:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 11685, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "milestoneCount", + "nodeType": "MemberAccess", + "referencedDeclaration": 7976, + "src": "3577:71:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11686, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11614, + "src": "3651:19:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3651:26:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3577:100:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11689, + "nodeType": "ExpressionStatement", + "src": "3577:100:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11690, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3687:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11692, + "indexExpression": { + "argumentTypes": null, + "id": 11691, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3701:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3687:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11693, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "3687:43:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 11695, + "indexExpression": { + "argumentTypes": null, + "id": 11694, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3731:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3687:56:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 11696, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "milestoneFundings", + "nodeType": "MemberAccess", + "referencedDeclaration": 7981, + "src": "3687:74:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11697, + "name": "_milestonesFundings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11614, + "src": "3764:19:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "src": "3687:96:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 11699, + "nodeType": "ExpressionStatement", + "src": "3687:96:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11700, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3793:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11702, + "indexExpression": { + "argumentTypes": null, + "id": 11701, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3807:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3793:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11703, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "proposalVersions", + "nodeType": "MemberAccess", + "referencedDeclaration": 7997, + "src": "3793:43:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_ProposalVersion_$7985_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.ProposalVersion storage ref)" + } + }, + "id": 11705, + "indexExpression": { + "argumentTypes": null, + "id": 11704, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3837:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3793:56:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ProposalVersion_$7985_storage", + "typeString": "struct DaoStructs.ProposalVersion storage ref" + } + }, + "id": 11706, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "finalReward", + "nodeType": "MemberAccess", + "referencedDeclaration": 7978, + "src": "3793:68:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11707, + "name": "_finalReward", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11616, + "src": "3864:12:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3793:83:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11709, + "nodeType": "ExpressionStatement", + "src": "3793:83:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11710, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3886:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11712, + "indexExpression": { + "argumentTypes": null, + "id": 11711, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3900:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3886:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11713, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "endorser", + "nodeType": "MemberAccess", + "referencedDeclaration": 8016, + "src": "3886:35:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11714, + "name": "_endorser", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11611, + "src": "3924:9:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3886:47:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 11716, + "nodeType": "ExpressionStatement", + "src": "3886:47:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11717, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "3943:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11719, + "indexExpression": { + "argumentTypes": null, + "id": 11718, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3957:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3943:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11720, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "finalVersion", + "nodeType": "MemberAccess", + "referencedDeclaration": 8009, + "src": "3943:39:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11721, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "3985:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3943:53:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 11723, + "nodeType": "ExpressionStatement", + "src": "3943:53:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11724, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "4006:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11726, + "indexExpression": { + "argumentTypes": null, + "id": 11725, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "4020:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4006:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11727, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "4006:39:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 11729, + "indexExpression": { + "argumentTypes": null, + "id": 11728, + "name": "_milestoneId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11607, + "src": "4046:12:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4006:53:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 11730, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "4006:63:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11731, + "name": "_previousVotingStart", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11618, + "src": "4072:20:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4006:86:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11733, + "nodeType": "ExpressionStatement", + "src": "4006:86:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11734, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "4102:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11736, + "indexExpression": { + "argumentTypes": null, + "id": 11735, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "4116:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4102:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11737, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "4102:39:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 11739, + "indexExpression": { + "argumentTypes": null, + "id": 11738, + "name": "_milestoneId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11607, + "src": "4142:12:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4102:53:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 11740, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "claimed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7967, + "src": "4102:61:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 11741, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4166:4:43", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4102:68:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11743, + "nodeType": "ExpressionStatement", + "src": "4102:68:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11744, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "4180:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11746, + "indexExpression": { + "argumentTypes": null, + "id": 11745, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "4194:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4180:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11747, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "4180:39:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 11749, + "indexExpression": { + "argumentTypes": null, + "id": 11748, + "name": "_milestoneId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11607, + "src": "4220:12:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4180:53:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 11750, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "passed", + "nodeType": "MemberAccess", + "referencedDeclaration": 7965, + "src": "4180:60:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 11751, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4243:4:43", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4180:67:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11753, + "nodeType": "ExpressionStatement", + "src": "4180:67:43" + }, + { + "expression": { + "argumentTypes": null, + "id": 11762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11754, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "4257:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11756, + "indexExpression": { + "argumentTypes": null, + "id": 11755, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11605, + "src": "4271:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4257:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11757, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "4257:39:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 11759, + "indexExpression": { + "argumentTypes": null, + "id": 11758, + "name": "_milestoneId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11607, + "src": "4297:12:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4257:53:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 11760, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "funded", + "nodeType": "MemberAccess", + "referencedDeclaration": 7969, + "src": "4257:60:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 11761, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4320:4:43", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4257:67:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11763, + "nodeType": "ExpressionStatement", + "src": "4257:67:43" + } + ] + }, + "documentation": null, + "id": 11765, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_put_proposal_in_milestone", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11619, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11605, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 11765, + "src": "2855:19:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 11604, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2855:7:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11607, + "name": "_milestoneId", + "nodeType": "VariableDeclaration", + "scope": 11765, + "src": "2884:20:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11606, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2884:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11609, + "name": "_proposer", + "nodeType": "VariableDeclaration", + "scope": 11765, + "src": "2914:17:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11608, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2914:7:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11611, + "name": "_endorser", + "nodeType": "VariableDeclaration", + "scope": 11765, + "src": "2941:17:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11610, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2941:7:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11614, + "name": "_milestonesFundings", + "nodeType": "VariableDeclaration", + "scope": 11765, + "src": "2968:29:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 11612, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2968:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11613, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2968:9:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11616, + "name": "_finalReward", + "nodeType": "VariableDeclaration", + "scope": 11765, + "src": "3007:20:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11615, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3007:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11618, + "name": "_previousVotingStart", + "nodeType": "VariableDeclaration", + "scope": 11765, + "src": "3037:28:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11617, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3037:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2845:226:43" + }, + "payable": false, + "returnParameters": { + "id": 11620, + "nodeType": "ParameterList", + "parameters": [], + "src": "3091:0:43" + }, + "scope": 11865, + "src": "2806:1525:43", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11863, + "nodeType": "Block", + "src": "5248:571:43", + "statements": [ + { + "assignments": [ + 11790 + ], + "declarations": [ + { + "constant": false, + "id": 11790, + "name": "_voting", + "nodeType": "VariableDeclaration", + "scope": 11864, + "src": "5258:33:43", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + }, + "typeName": { + "contractScope": null, + "id": 11789, + "name": "DaoStructs.Voting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7970, + "src": "5258:17:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11797, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11791, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "5294:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11793, + "indexExpression": { + "argumentTypes": null, + "id": 11792, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11767, + "src": "5308:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5294:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11794, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "5294:39:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 11796, + "indexExpression": { + "argumentTypes": null, + "id": 11795, + "name": "_roundIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11769, + "src": "5334:11:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5294:52:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5258:88:43" + }, + { + "condition": { + "argumentTypes": null, + "id": 11798, + "name": "_isDraftPhase", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11771, + "src": "5360:13:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 11817, + "nodeType": "Block", + "src": "5454:109:43", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11807, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "5468:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11809, + "indexExpression": { + "argumentTypes": null, + "id": 11808, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11767, + "src": "5482:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5468:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11810, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingRounds", + "nodeType": "MemberAccess", + "referencedDeclaration": 8003, + "src": "5468:39:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Voting_$7970_storage_$", + "typeString": "mapping(uint256 => struct DaoStructs.Voting storage ref)" + } + }, + "id": 11812, + "indexExpression": { + "argumentTypes": null, + "id": 11811, + "name": "_roundIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11769, + "src": "5508:11:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5468:52:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "id": 11813, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "startTime", + "nodeType": "MemberAccess", + "referencedDeclaration": 7947, + "src": "5468:62:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11814, + "name": "_startOfVotingRound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11784, + "src": "5533:19:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5468:84:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11816, + "nodeType": "ExpressionStatement", + "src": "5468:84:43" + } + ] + }, + "id": 11818, + "nodeType": "IfStatement", + "src": "5356:207:43", + "trueBody": { + "id": 11806, + "nodeType": "Block", + "src": "5375:73:43", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 11799, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11790, + "src": "5389:7:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11800, + "name": "proposalsById", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 16485, + "src": "5399:13:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Proposal_$8021_storage_$", + "typeString": "mapping(bytes32 => struct DaoStructs.Proposal storage ref)" + } + }, + "id": 11802, + "indexExpression": { + "argumentTypes": null, + "id": 11801, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11767, + "src": "5413:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5399:26:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$8021_storage", + "typeString": "struct DaoStructs.Proposal storage ref" + } + }, + "id": 11803, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "draftVoting", + "nodeType": "MemberAccess", + "referencedDeclaration": 7999, + "src": "5399:38:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage", + "typeString": "struct DaoStructs.Voting storage ref" + } + }, + "src": "5389:48:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 11805, + "nodeType": "ExpressionStatement", + "src": "5389:48:43" + } + ] + } + }, + { + "body": { + "id": 11861, + "nodeType": "Block", + "src": "5611:202:43", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 11833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11829, + "name": "_votes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11777, + "src": "5629:6:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[] memory" + } + }, + "id": 11831, + "indexExpression": { + "argumentTypes": null, + "id": 11830, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11820, + "src": "5636:1:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5629:9:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 11832, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5642:4:43", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "5629:17:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 11859, + "nodeType": "Block", + "src": "5729:74:43", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11847, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11790, + "src": "5747:7:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 11852, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "noVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7963, + "src": "5747:15:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11853, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11849, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11774, + "src": "5763:7:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11851, + "indexExpression": { + "argumentTypes": null, + "id": 11850, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11820, + "src": "5771:1:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5763:10:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5747:27:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11854, + "name": "_weights", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11780, + "src": "5777:8:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11856, + "indexExpression": { + "argumentTypes": null, + "id": 11855, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11820, + "src": "5786:1:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5777:11:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5747:41:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11858, + "nodeType": "ExpressionStatement", + "src": "5747:41:43" + } + ] + }, + "id": 11860, + "nodeType": "IfStatement", + "src": "5625:178:43", + "trueBody": { + "id": 11846, + "nodeType": "Block", + "src": "5648:75:43", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11834, + "name": "_voting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11790, + "src": "5666:7:43", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Voting_$7970_storage_ptr", + "typeString": "struct DaoStructs.Voting storage pointer" + } + }, + "id": 11839, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "yesVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 7959, + "src": "5666:16:43", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11840, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11836, + "name": "_voters", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11774, + "src": "5683:7:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 11838, + "indexExpression": { + "argumentTypes": null, + "id": 11837, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11820, + "src": "5691:1:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5683:10:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5666:28:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11841, + "name": "_weights", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11780, + "src": "5697:8:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 11843, + "indexExpression": { + "argumentTypes": null, + "id": 11842, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11820, + "src": "5706:1:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5697:11:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5666:42:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11845, + "nodeType": "ExpressionStatement", + "src": "5666:42:43" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 11825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 11823, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11820, + "src": "5593:1:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 11824, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11782, + "src": "5597:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5593:11:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11862, + "initializationExpression": { + "assignments": [ + 11820 + ], + "declarations": [ + { + "constant": false, + "id": 11820, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 11864, + "src": "5578:9:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11819, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5578:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 11822, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 11821, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5590:1:43", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "5578:13:43" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 11827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5606:3:43", + "subExpression": { + "argumentTypes": null, + "id": 11826, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11820, + "src": "5606:1:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11828, + "nodeType": "ExpressionStatement", + "src": "5606:3:43" + }, + "nodeType": "ForStatement", + "src": "5573:240:43" + } + ] + }, + "documentation": "@notice Mock function to add fake votes in the past for a proposal\n@dev This will never be available in the deployment, only for test purposes\n@param _proposalId ID of the proposal\n@param _roundIndex Index of the voting round\n@param _isDraftPhase Boolean, whether updating the votes for draft phase or not\n@param _voters Array of addresses of the voters\n@param _votes Boolean array of the votes (for or against)\n@param _weights Uint array of the voting weights\n@param _length Length of the above arrays (number of voters)\n@param _startOfVotingRound start of this voting round", + "id": 11864, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_put_past_votes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11785, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11767, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 11864, + "src": "5006:19:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 11766, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5006:7:43", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11769, + "name": "_roundIndex", + "nodeType": "VariableDeclaration", + "scope": 11864, + "src": "5035:19:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11768, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5035:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11771, + "name": "_isDraftPhase", + "nodeType": "VariableDeclaration", + "scope": 11864, + "src": "5064:18:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 11770, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5064:4:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11774, + "name": "_voters", + "nodeType": "VariableDeclaration", + "scope": 11864, + "src": "5092:17:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 11772, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5092:7:43", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 11773, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5092:9:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11777, + "name": "_votes", + "nodeType": "VariableDeclaration", + "scope": 11864, + "src": "5119:13:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr", + "typeString": "bool[]" + }, + "typeName": { + "baseType": { + "id": 11775, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5119:4:43", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 11776, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5119:6:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr", + "typeString": "bool[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11780, + "name": "_weights", + "nodeType": "VariableDeclaration", + "scope": 11864, + "src": "5142:18:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 11778, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5142:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11779, + "length": null, + "nodeType": "ArrayTypeName", + "src": "5142:9:43", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11782, + "name": "_length", + "nodeType": "VariableDeclaration", + "scope": 11864, + "src": "5170:15:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11781, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5170:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11784, + "name": "_startOfVotingRound", + "nodeType": "VariableDeclaration", + "scope": 11864, + "src": "5195:27:43", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11783, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5195:7:43", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4996:232:43" + }, + "payable": false, + "returnParameters": { + "id": 11786, + "nodeType": "ParameterList", + "parameters": [], + "src": "5248:0:43" + }, + "scope": 11865, + "src": "4968:851:43", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 11866, + "src": "66:5755:43" + } + ], + "src": "0:5822:43" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.885Z" +} \ No newline at end of file diff --git a/build/contracts/MockDaoUpgradeStorage.json b/build/contracts/MockDaoUpgradeStorage.json new file mode 100644 index 0000000..25c939d --- /dev/null +++ b/build/contracts/MockDaoUpgradeStorage.json @@ -0,0 +1,781 @@ +{ + "contractName": "MockDaoUpgradeStorage", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "newDaoContract", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_start", + "type": "uint256" + } + ], + "name": "setStartOfFirstQuarter", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isReplacedByNewDao", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "newDaoRewardsManager", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "newDaoFundingManager", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "startOfFirstQuarter", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_newDaoContract", + "type": "address" + }, + { + "name": "_newDaoFundingManager", + "type": "address" + }, + { + "name": "_newDaoRewardsManager", + "type": "address" + } + ], + "name": "setNewContractAddresses", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "updateForDaoMigration", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": false, + "inputs": [ + { + "name": "_startOfFirstQuarter", + "type": "uint256" + } + ], + "name": "mock_set_start_of_quarter", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f9060001916905534801561113357600080fd5b50604051602080611cb3833981018060405281019080805190602001909291905050508061117260275482611184640100000000026401000000009004565b151561117d57600080fd5b505061140c565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156111eb57600080fd5b505af11580156111ff573d6000803e3d6000fd5b505050506040513d602081101561121557600080fd5b810190808051906020019092919050505090506000151581151514156114005730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156113b157600080fd5b505af11580156113c5573d6000803e3d6000fd5b505050506040513d60208110156113db57600080fd5b810190808051906020019092919050505015156113f757600080fd5b60019150611405565b600091505b5092915050565b6108988061141b6000396000f3006080604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100ca5780633943380c146101215780633c952b16146101545780633f83acff146101ab5780635b30f1cc1461021c5780638bc865fd146102495780638c0c2826146102785780639c767e37146102cf578063d9c6bb2014610326578063db4ecbc114610351578063ef7ad2dc146103a8578063efa6b9df1461042b578063f2f4928d14610442575b600080fd5b3480156100d657600080fd5b506100df61046f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561012d57600080fd5b50610136610494565b60405180826000191660001916815260200191505060405180910390f35b34801561016057600080fd5b5061016961049a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101b757600080fd5b506101da60048036038101908080356000191690602001909291905050506104c0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561022857600080fd5b506102476004803603810190808035906020019092919050505061059c565b005b34801561025557600080fd5b5061025e6105bc565b604051808215151515815260200191505060405180910390f35b34801561028457600080fd5b5061028d6105cf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102db57600080fd5b506102e46105f5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561033257600080fd5b5061033b61061b565b6040518082815260200191505060405180910390f35b34801561035d57600080fd5b50610366610621565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103b457600080fd5b50610429600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610647565b005b34801561043757600080fd5b50610440610725565b005b34801561044e57600080fd5b5061046d60048036038101908080359060200190929190505050610758565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b607160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561055a57600080fd5b505af115801561056e573d6000803e3d6000fd5b505050506040513d602081101561058457600080fd5b81019080805190602001909291905050509050919050565b6105a7601454610762565b15156105b257600080fd5b8060708190555050565b607160009054906101000a900460ff1681565b607360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b607260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60705481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610652601454610762565b151561065d57600080fd5b82607160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081607260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080607360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b610730601454610762565b151561073b57600080fd5b6001607160006101000a81548160ff021916908315150217905550565b8060708190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156107fc57600080fd5b505af1158015610810573d6000803e3d6000fd5b505050506040513d602081101561082657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161490509190505600a165627a7a72305820fe605bd0fe01b627ce01909ede84405965bc1d9ea7cdd7f7c27a5f6a84f89af00029", + "deployedBytecode": "0x6080604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100ca5780633943380c146101215780633c952b16146101545780633f83acff146101ab5780635b30f1cc1461021c5780638bc865fd146102495780638c0c2826146102785780639c767e37146102cf578063d9c6bb2014610326578063db4ecbc114610351578063ef7ad2dc146103a8578063efa6b9df1461042b578063f2f4928d14610442575b600080fd5b3480156100d657600080fd5b506100df61046f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561012d57600080fd5b50610136610494565b60405180826000191660001916815260200191505060405180910390f35b34801561016057600080fd5b5061016961049a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101b757600080fd5b506101da60048036038101908080356000191690602001909291905050506104c0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561022857600080fd5b506102476004803603810190808035906020019092919050505061059c565b005b34801561025557600080fd5b5061025e6105bc565b604051808215151515815260200191505060405180910390f35b34801561028457600080fd5b5061028d6105cf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102db57600080fd5b506102e46105f5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561033257600080fd5b5061033b61061b565b6040518082815260200191505060405180910390f35b34801561035d57600080fd5b50610366610621565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103b457600080fd5b50610429600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610647565b005b34801561043757600080fd5b50610440610725565b005b34801561044e57600080fd5b5061046d60048036038101908080359060200190929190505050610758565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b607160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561055a57600080fd5b505af115801561056e573d6000803e3d6000fd5b505050506040513d602081101561058457600080fd5b81019080805190602001909291905050509050919050565b6105a7601454610762565b15156105b257600080fd5b8060708190555050565b607160009054906101000a900460ff1681565b607360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b607260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60705481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610652601454610762565b151561065d57600080fd5b82607160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081607260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080607360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b610730601454610762565b151561073b57600080fd5b6001607160006101000a81548160ff021916908315150217905550565b8060708190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156107fc57600080fd5b505af1158015610810573d6000803e3d6000fd5b505050506040513d602081101561082657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161490509190505600a165627a7a72305820fe605bd0fe01b627ce01909ede84405965bc1d9ea7cdd7f7c27a5f6a84f89af00029", + "sourceMap": "73:279:44:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;132:69:44;8:9:-1;5:2;;;30:1;27;20:12;5:2;132:69:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;188:9;1438:45:61;1443:28;;1473:9;1438:4;;;:45;;;:::i;:::-;1430:54;;;;;;;;1382:109;132:69:44;73:279;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;73:279:44:-;;;;;;;", + "deployedSourceMap": "73:279:44:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;939:29:61;;8:9:-1;5:2;;;30:1;27;20:12;5:2;939:29:61;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1497:154:61;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1497:154:61;;;;;;;;;;;;;;;;;;;;;;;;;;851:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;851:30:61;;;;;;;;;;;;;;;;;;;;;;;;;;;1340:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1340:35:61;;;;;;;;;;;;;;;;;;;;;;;;;;;1137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1137:35:61;;;;;;;;;;;;;;;;;;;;;;;;;;;349:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;349:34:61;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;1662:368:61;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1662:368:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2041:136;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2041:136:61;;;;;;207:143:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;207:143:44;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;264:18::-;;;;:::o;939:29:61:-;;;;;;;;;;;;;:::o;2380:179:67:-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;1497:154:61:-;1582:23;1592:12;;1582:9;:23::i;:::-;1574:32;;;;;;;;1638:6;1616:19;:28;;;;1497:154;:::o;851:30::-;;;;;;;;;;;;;:::o;1340:35::-;;;;;;;;;;;;;:::o;1137:::-;;;;;;;;;;;;;:::o;349:34::-;;;;:::o;344:31:67:-;;;;;;;;;;;;;:::o;1662:368:61:-;1849:23;1859:12;;1849:9;:23::i;:::-;1841:32;;;;;;;;1900:15;1883:14;;:32;;;;;;;;;;;;;;;;;;1948:21;1925:20;;:44;;;;;;;;;;;;;;;;;;2002:21;1979:20;;:44;;;;;;;;;;;;;;;;;;1662:368;;;:::o;2041:136::-;2111:23;2121:12;;2111:9;:23::i;:::-;2103:32;;;;;;;;2166:4;2145:18;;:25;;;;;;;;;;;;;;;;;;2041:136::o;207:143:44:-;323:20;301:19;:42;;;;207:143;:::o;610:160:67:-;671:12;732:8;;;;;;;;;;;715:39;;;755:9;715:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;715:50:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;715:50:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;715:50:67;;;;;;;;;;;;;;;;701:64;;:10;:64;;;691:74;;610:160;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"../../storage/DaoUpgradeStorage.sol\";\n\ncontract MockDaoUpgradeStorage is DaoUpgradeStorage {\n\n constructor(address _resolver) public DaoUpgradeStorage(_resolver) {}\n\n function mock_set_start_of_quarter(uint256 _startOfFirstQuarter)\n public\n {\n startOfFirstQuarter = _startOfFirstQuarter;\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/mock/storage/MockDaoUpgradeStorage.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/storage/MockDaoUpgradeStorage.sol", + "exportedSymbols": { + "MockDaoUpgradeStorage": [ + 11890 + ] + }, + "id": 11891, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 11867, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:44" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoUpgradeStorage.sol", + "file": "../../storage/DaoUpgradeStorage.sol", + "id": 11868, + "nodeType": "ImportDirective", + "scope": 11891, + "sourceUnit": 18395, + "src": "26:45:44", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 11869, + "name": "DaoUpgradeStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18394, + "src": "107:17:44", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 11870, + "nodeType": "InheritanceSpecifier", + "src": "107:17:44" + } + ], + "contractDependencies": [ + 1580, + 18394, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 11890, + "linearizedBaseContracts": [ + 11890, + 18394, + 1580, + 19058 + ], + "name": "MockDaoUpgradeStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 11878, + "nodeType": "Block", + "src": "199:2:44", + "statements": [] + }, + "documentation": null, + "id": 11879, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 11875, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11872, + "src": "188:9:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 11876, + "modifierName": { + "argumentTypes": null, + "id": 11874, + "name": "DaoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18394, + "src": "170:17:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "type(contract DaoUpgradeStorage)" + } + }, + "nodeType": "ModifierInvocation", + "src": "170:28:44" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11873, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11872, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 11879, + "src": "144:17:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11871, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "144:7:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "143:19:44" + }, + "payable": false, + "returnParameters": { + "id": 11877, + "nodeType": "ParameterList", + "parameters": [], + "src": "199:0:44" + }, + "scope": 11890, + "src": "132:69:44", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11888, + "nodeType": "Block", + "src": "291:59:44", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 11884, + "name": "startOfFirstQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18314, + "src": "301:19:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11885, + "name": "_startOfFirstQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11881, + "src": "323:20:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "301:42:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11887, + "nodeType": "ExpressionStatement", + "src": "301:42:44" + } + ] + }, + "documentation": null, + "id": 11889, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_start_of_quarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11882, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11881, + "name": "_startOfFirstQuarter", + "nodeType": "VariableDeclaration", + "scope": 11889, + "src": "242:28:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11880, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "242:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "241:30:44" + }, + "payable": false, + "returnParameters": { + "id": 11883, + "nodeType": "ParameterList", + "parameters": [], + "src": "291:0:44" + }, + "scope": 11890, + "src": "207:143:44", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 11891, + "src": "73:279:44" + } + ], + "src": "0:353:44" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/storage/MockDaoUpgradeStorage.sol", + "exportedSymbols": { + "MockDaoUpgradeStorage": [ + 11890 + ] + }, + "id": 11891, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 11867, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:44" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/storage/DaoUpgradeStorage.sol", + "file": "../../storage/DaoUpgradeStorage.sol", + "id": 11868, + "nodeType": "ImportDirective", + "scope": 11891, + "sourceUnit": 18395, + "src": "26:45:44", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 11869, + "name": "DaoUpgradeStorage", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 18394, + "src": "107:17:44", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoUpgradeStorage_$18394", + "typeString": "contract DaoUpgradeStorage" + } + }, + "id": 11870, + "nodeType": "InheritanceSpecifier", + "src": "107:17:44" + } + ], + "contractDependencies": [ + 1580, + 18394, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 11890, + "linearizedBaseContracts": [ + 11890, + 18394, + 1580, + 19058 + ], + "name": "MockDaoUpgradeStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 11878, + "nodeType": "Block", + "src": "199:2:44", + "statements": [] + }, + "documentation": null, + "id": 11879, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 11875, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11872, + "src": "188:9:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 11876, + "modifierName": { + "argumentTypes": null, + "id": 11874, + "name": "DaoUpgradeStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18394, + "src": "170:17:44", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoUpgradeStorage_$18394_$", + "typeString": "type(contract DaoUpgradeStorage)" + } + }, + "nodeType": "ModifierInvocation", + "src": "170:28:44" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11873, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11872, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 11879, + "src": "144:17:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11871, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "144:7:44", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "143:19:44" + }, + "payable": false, + "returnParameters": { + "id": 11877, + "nodeType": "ParameterList", + "parameters": [], + "src": "199:0:44" + }, + "scope": 11890, + "src": "132:69:44", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 11888, + "nodeType": "Block", + "src": "291:59:44", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 11884, + "name": "startOfFirstQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18314, + "src": "301:19:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11885, + "name": "_startOfFirstQuarter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11881, + "src": "323:20:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "301:42:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11887, + "nodeType": "ExpressionStatement", + "src": "301:42:44" + } + ] + }, + "documentation": null, + "id": 11889, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_start_of_quarter", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11882, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11881, + "name": "_startOfFirstQuarter", + "nodeType": "VariableDeclaration", + "scope": 11889, + "src": "242:28:44", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11880, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "242:7:44", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "241:30:44" + }, + "payable": false, + "returnParameters": { + "id": 11883, + "nodeType": "ParameterList", + "parameters": [], + "src": "291:0:44" + }, + "scope": 11890, + "src": "207:143:44", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 11891, + "src": "73:279:44" + } + ], + "src": "0:353:44" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.887Z" +} \ No newline at end of file diff --git a/build/contracts/MockDaoVotingClaims.json b/build/contracts/MockDaoVotingClaims.json new file mode 100644 index 0000000..e8b68fc --- /dev/null +++ b/build/contracts/MockDaoVotingClaims.json @@ -0,0 +1,694 @@ +{ + "contractName": "MockDaoVotingClaims", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getAddressConfig", + "outputs": [ + { + "name": "_configValue", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + }, + { + "name": "_operations", + "type": "uint256" + } + ], + "name": "claimProposalVotingResult", + "outputs": [ + { + "name": "_passed", + "type": "bool" + }, + { + "name": "_done", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentTimeInQuarter", + "outputs": [ + { + "name": "_currentT", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isMainPhase", + "outputs": [ + { + "name": "_isMainPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isLockingPhase", + "outputs": [ + { + "name": "_isLockingPhase", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "currentQuarterNumber", + "outputs": [ + { + "name": "_quarterNumber", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_operations", + "type": "uint256" + } + ], + "name": "claimDraftVotingResult", + "outputs": [ + { + "name": "_passed", + "type": "bool" + }, + { + "name": "_done", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isParticipant", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getBytesConfig", + "outputs": [ + { + "name": "_configValue", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_configKey", + "type": "bytes32" + } + ], + "name": "getUintConfig", + "outputs": [ + { + "name": "_configValue", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "getInterResultKeyForBonusCalculation", + "outputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isDaoNotReplaced", + "outputs": [ + { + "name": "_isNotReplaced", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "isModerator", + "outputs": [ + { + "name": "_is", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_resolver", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + } + ], + "bytecode": "0x608060405260006001026003906000191690556000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f70726f706f73616c5f73746174655f70726570726f706f73616c0000000000006005906000191690557f70726f706f73616c5f73746174655f64726166740000000000000000000000006006906000191690557f70726f706f73616c5f73746174655f6d6f6465726174656400000000000000006007906000191690557f70726f706f73616c5f73746174655f6f6e676f696e67000000000000000000006008906000191690557f70726f706f73616c5f73746174655f636c6f73656400000000000000000000006009906000191690557f70726f706f73616c5f73746174655f6172636869766564000000000000000000600a906000191690556001600b556002600c556003600d556001600e556002600f5560036010557f696e7465725f6467645f696400000000000000000000000000000000000000006011906000191690557f696e7465725f6d6f645f6467645f6964000000000000000000000000000000006012906000191690557f696e7465725f626f6e75735f63616c63756c6174696f6e5f69640000000000006013906000191690557f64616f00000000000000000000000000000000000000000000000000000000006014906000191690557f64616f3a7370656369616c3a70726f706f73616c0000000000000000000000006015906000191690557f64616f3a7374616b652d6c6f636b696e670000000000000000000000000000006016906000191690557f64616f3a766f74696e67000000000000000000000000000000000000000000006017906000191690557f64616f3a766f74696e673a636c61696d730000000000000000000000000000006018906000191690557f64616f3a73766f74696e673a636c61696d7300000000000000000000000000006019906000191690557f64616f3a6964656e746974790000000000000000000000000000000000000000601a906000191690557f64616f3a726577617264732d6d616e6167657200000000000000000000000000601b906000191690557f64616f3a726577617264732d6578747261730000000000000000000000000000601c906000191690557f64616f3a726f6c65730000000000000000000000000000000000000000000000601d906000191690557f64616f3a66756e64696e672d6d616e6167657200000000000000000000000000601e906000191690557f64616f3a77686974656c697374696e6700000000000000000000000000000000601f906000191690557f64616f3a696e666f726d6174696f6e00000000000000000000000000000000006020906000191690557f736572766963653a726f6c6500000000000000000000000000000000000000006021906000191690557f736572766963653a64616f3a696e666f000000000000000000000000000000006022906000191690557f736572766963653a64616f3a6c697374696e67000000000000000000000000006023906000191690557f736572766963653a64616f3a63616c63756c61746f72000000000000000000006024906000191690557f73746f726167653a64616f0000000000000000000000000000000000000000006025906000191690557f73746f726167653a64616f3a636f756e746572000000000000000000000000006026906000191690557f73746f726167653a64616f3a75706772616465000000000000000000000000006027906000191690557f73746f726167653a64616f3a6964656e746974790000000000000000000000006028906000191690557f73746f726167653a64616f3a706f696e747300000000000000000000000000006029906000191690557f73746f726167653a64616f3a7370656369616c00000000000000000000000000602a906000191690557f73746f726167653a64616f3a636f6e6669670000000000000000000000000000602b906000191690557f73746f726167653a64616f3a7374616b65000000000000000000000000000000602c906000191690557f73746f726167653a64616f3a7265776172647300000000000000000000000000602d906000191690557f73746f726167653a64616f3a77686974656c697374696e670000000000000000602e906000191690557f73746f726167653a696e7465726d6564696174653a726573756c747300000000602f906000191690557f743a6467640000000000000000000000000000000000000000000000000000006030906000191690557f743a6467780000000000000000000000000000000000000000000000000000006031906000191690557f743a6261646765000000000000000000000000000000000000000000000000006032906000191690556001603360006101000a81548160ff021916908360ff1602179055506002603360016101000a81548160ff021916908360ff1602179055506003603360026101000a81548160ff021916908360ff1602179055506004603360036101000a81548160ff021916908360ff1602179055506276a7006034557f6d696e5f6467645f7061727469636970616e74000000000000000000000000006035906000191690557f6d696e5f6467645f6d6f64657261746f720000000000000000000000000000006036906000191690557f6d696e5f72657075746174696f6e5f6d6f64657261746f7200000000000000006037906000191690557f6c6f636b696e675f70686173655f6475726174696f6e000000000000000000006038906000191690557f717561727465725f6475726174696f6e000000000000000000000000000000006039906000191690557f766f74696e675f636f6d6d69745f706861736500000000000000000000000000603a906000191690557f766f74696e675f70686173655f746f74616c0000000000000000000000000000603b906000191690557f696e746572696d5f766f74696e675f636f6d6d69745f70686173650000000000603c906000191690557f696e746572696d5f766f74696e675f70686173655f746f74616c000000000000603d906000191690557f64726166745f71756f72756d5f66697865645f6e756d657261746f7200000000603e906000191690557f64726166745f71756f72756d5f66697865645f64656e6f6d696e61746f720000603f906000191690557f64726166745f71756f72756d5f73666163746f725f6e756d657261746f7200006040906000191690557f64726166745f71756f72756d5f73666163746f725f64656e6f6d696e61746f726041906000191690557f766f74655f71756f72756d5f66697865645f6e756d657261746f7200000000006042906000191690557f766f74655f71756f72756d5f66697865645f64656e6f6d696e61746f720000006043906000191690557f766f74655f71756f72756d5f73666163746f725f6e756d657261746f720000006044906000191690557f766f74655f71756f72756d5f73666163746f725f64656e6f6d696e61746f72006045906000191690557f66696e616c5f7265776172645f73666163746f725f6e756d657261746f7200006046906000191690557f66696e616c5f7265776172645f73666163746f725f64656e6f6d696e61746f726047906000191690557f64726166745f71756f74615f6e756d657261746f7200000000000000000000006048906000191690557f64726166745f71756f74615f64656e6f6d696e61746f720000000000000000006049906000191690557f766f74696e675f71756f74615f6e756d657261746f7200000000000000000000604a906000191690557f766f74696e675f71756f74615f64656e6f6d696e61746f720000000000000000604b906000191690557f6d696e696d616c5f717000000000000000000000000000000000000000000000604c906000191690557f717561727465725f706f696e745f7363616c696e675f666163746f7200000000604d906000191690557f7265705f706f696e745f7363616c696e675f666163746f720000000000000000604e906000191690557f6d696e696d616c5f6d6f645f7170000000000000000000000000000000000000604f906000191690557f6d6f645f71705f7363616c696e675f666163746f7200000000000000000000006050906000191690557f6d6f645f7265705f706f696e745f7363616c696e675f666163746f72000000006051906000191690557f717561727465725f706f696e745f64726166745f766f746500000000000000006052906000191690557f717561727465725f706f696e745f766f746500000000000000000000000000006053906000191690557f717561727465725f706f696e745f696e746572696d5f766f74650000000000006054906000191690557f715f705f6d696c6573746f6e655f636f6d706c6574696f6e00000000000000006055906000191690557f626f6e75735f72657075746174696f6e5f6e756d657261746f720000000000006056906000191690557f626f6e75735f72657075746174696f6e5f64656e6f6d696e61746f72000000006057906000191690557f7370656369616c5f70726f706f73616c5f636f6d6d69745f70686173650000006058906000191690557f7370656369616c5f70726f706f73616c5f70686173655f746f74616c000000006059906000191690557f636f6e6669675f7370656369616c5f71756f74615f6e756d657261746f720000605a906000191690557f636f6e6669675f7370656369616c5f71756f74615f64656e6f6d696e61746f72605b906000191690557f7370656369616c5f71756f72756d5f6e756d657261746f720000000000000000605c906000191690557f7370656369616c5f71756f72756d5f64656e6f6d696e61746f72000000000000605d906000191690557f636f6e6669675f6d61785f72657075746174696f6e5f646564756374696f6e00605e906000191690557f636f6e6669675f70756e6973686d656e745f6e6f745f6c6f636b696e67000000605f906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f6e756d00000000006060906000191690557f636f6e6669675f7265705f7065725f65787472615f71705f64656e00000000006061906000191690557f636f6e6669675f6d61785f6d5f72705f646564756374696f6e000000000000006062906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f6e756d0000006063906000191690557f636f6e6669675f7265705f7065725f65787472615f6d5f71705f64656e0000006064906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f6e756d000000000000000000006065906000191690557f636f6e6669675f6d6f645f706f7274696f6e5f64656e000000000000000000006066906000191690557f636f6e6669675f64726166745f766f74696e675f7068617365000000000000006067906000191690557f636f6e6669675f72705f626f6f73745f7065725f6261646765000000000000006068906000191690557f636f6e6669675f636c61696d696e675f646561646c696e6500000000000000006069906000191690557f636f6e6669675f70726570726f706f73616c5f636f6c6c61746572616c000000606a906000191690557f636f6e6669675f6d61785f66756e64696e675f6e6f6e44696769780000000000606b906000191690557f636f6e6669675f6d61785f6d696c6573746f6e65735f6e6f6e44696769780000606c906000191690557f636f6e6669675f6e6f6e44696769785f70726f706f73616c5f63617000000000606d906000191690557f636f6e6669675f646561645f6475726174696f6e000000000000000000000000606e906000191690557f636f6e6669675f63765f72657075746174696f6e000000000000000000000000606f906000191690553480156200113457600080fd5b5060405160208062006472833981018060405281019080805190602001909291905050508062001176601854826200118a640100000000026401000000009004565b15156200118257600080fd5b50506200141b565b6000808273ffffffffffffffffffffffffffffffffffffffff16636d19a8826040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620011f257600080fd5b505af115801562001207573d6000803e3d6000fd5b505050506040513d60208110156200121e57600080fd5b810190808051906020019092919050505090506000151581151514156200140f5730600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181600019169055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c0f6ef4a600154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620013bc57600080fd5b505af1158015620013d1573d6000803e3d6000fd5b505050506040513d6020811015620013e857600080fd5b810190808051906020019092919050505015156200140557600080fd5b6001915062001414565b600091505b5092915050565b615047806200142b6000396000f3006080604052600436106100f1576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100f65780631d8ccd041461014d5780633943380c146101be5780633d554f39146101f15780633f83acff14610259578063560a25ea146102ca57806368533060146102f55780637d6fed80146103245780637f6a26b61461035357806390e353df1461037e578063929066f5146103dc57806393ddad0814610437578063b1e2b9dd14610484578063c66c9efd146104c9578063d70d935814610516578063db4ecbc114610545578063fa6f39361461059c575b600080fd5b34801561010257600080fd5b5061010b6105f7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561015957600080fd5b5061017c600480360381019080803560001916906020019092919050505061061c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101ca57600080fd5b506101d36106de565b60405180826000191660001916815260200191505060405180910390f35b3480156101fd57600080fd5b50610234600480360381019080803560001916906020019092919080359060200190929190803590602001909291905050506106e4565b6040518083151515158152602001821515151581526020019250505060405180910390f35b34801561026557600080fd5b506102886004803603810190808035600019169060200190929190505050610bd1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102d657600080fd5b506102df610cad565b6040518082815260200191505060405180910390f35b34801561030157600080fd5b5061030a610cbd565b604051808215151515815260200191505060405180910390f35b34801561033057600080fd5b50610339610ce9565b604051808215151515815260200191505060405180910390f35b34801561035f57600080fd5b50610368610d04565b6040518082815260200191505060405180910390f35b34801561038a57600080fd5b506103b7600480360381019080803560001916906020019092919080359060200190929190505050610d14565b6040518083151515158152602001821515151581526020019250505060405180910390f35b3480156103e857600080fd5b5061041d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119bb565b604051808215151515815260200191505060405180910390f35b34801561044357600080fd5b506104666004803603810190808035600019169060200190929190505050611b9c565b60405180826000191660001916815260200191505060405180910390f35b34801561049057600080fd5b506104b36004803603810190808035600019169060200190929190505050611c5e565b6040518082815260200191505060405180910390f35b3480156104d557600080fd5b506104f86004803603810190808035600019169060200190929190505050611d20565b60405180826000191660001916815260200191505060405180910390f35b34801561052257600080fd5b5061052b611dc5565b604051808215151515815260200191505060405180910390f35b34801561055157600080fd5b5061055a611e73565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105a857600080fd5b506105dd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e99565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061062661216c565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561069c57600080fd5b505af11580156106b0573d6000803e3d6000fd5b505050506040513d60208110156106c657600080fd5b81019080805190602001909291905050509050919050565b60015481565b60008060008585600015156106f761217e565b73ffffffffffffffffffffffffffffffffffffffff166385f5276f84846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b15801561077557600080fd5b505af1158015610789573d6000803e3d6000fd5b505050506040513d602081101561079f57600080fd5b810190808051906020019092919050505015151415156107be57600080fd5b878760006107ca61217e565b73ffffffffffffffffffffffffffffffffffffffff1663baf4266084846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b15801561084857600080fd5b505af115801561085c573d6000803e3d6000fd5b505050506040513d602081101561087257600080fd5b8101908080519060200190929190505050905060008111151561089457600080fd5b6108c26108b3600084146108aa57603d546108ae565b603b545b611c5e565b8261219090919063ffffffff16565b42101515156108d057600080fd5b6108d8610cbd565b15156108e357600080fd5b600196506000975088955060008914156109035760008097509750610bc3565b610929610911606954611c5e565b61091b8d8d6121ac565b61219090919063ffffffff16565b42101561095b5761093b8b8b8b6122d5565b809950819a5082985050505086151561095a5787600097509750610bc3565b5b6000965060008a111561098e576109748b8b888b612aa8565b96508615156109895787600097509750610bc3565b610a58565b8780156109a0575061099f8b613474565b5b97508715610a4d576109b061217e565b73ffffffffffffffffffffffffffffffffffffffff1663c362c7908c600f546040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015610a3057600080fd5b505af1158015610a44573d6000803e3d6000fd5b50505050610a57565b610a568b61369e565b5b5b8715610a6957610a688b8b6138f1565b5b610a7161217e565b73ffffffffffffffffffffffffffffffffffffffff16633e020d2f8c8c60016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808460001916600019168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015610afc57600080fd5b505af1158015610b10573d6000803e3d6000fd5b50505050610b1c61217e565b73ffffffffffffffffffffffffffffffffffffffff16631ea5d62f8c8c8b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808460001916600019168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015610ba657600080fd5b505af1158015610bba573d6000803e3d6000fd5b50505050600196505b505050505050935093915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610c6b57600080fd5b505af1158015610c7f573d6000803e3d6000fd5b505050506040513d6020811015610c9557600080fd5b81019080805190602001909291905050509050919050565b6000610cb842614007565b905090565b6000610cc7611dc5565b8015610ce45750610cd9603854611c5e565b610ce1610cad565b10155b905090565b6000610cf6603854611c5e565b610cfe610cad565b10905090565b6000610d0f426140f0565b905090565b600080610d1f614fa8565b6060610d29614fe7565b8660001515610d3661217e565b73ffffffffffffffffffffffffffffffffffffffff1663395ddde9836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b505050506040513d6020811015610dd657600080fd5b81019080805190602001909291905050501515141515610df557600080fd5b876000610e0061217e565b73ffffffffffffffffffffffffffffffffffffffff166349a428d0836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610e7657600080fd5b505af1158015610e8a573d6000803e3d6000fd5b505050506040513d6020811015610ea057600080fd5b81019080805190602001909291905050509050600081111515610ec257600080fd5b610edf610ed0606754611c5e565b8261219090919063ffffffff16565b4210151515610eed57600080fd5b610fde610efb606954611c5e565b610fd0610f09606754611c5e565b610f1161217e565b73ffffffffffffffffffffffffffffffffffffffff166349a428d08f6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610f8757600080fd5b505af1158015610f9b573d6000803e3d6000fd5b505050506040513d6020811015610fb157600080fd5b810190808051906020019092919050505061219090919063ffffffff16565b61219090919063ffffffff16565b421180610ff15750610fef8a613474565b155b1561115257610ffe61217e565b73ffffffffffffffffffffffffffffffffffffffff166382e445c68b60006040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561108157600080fd5b505af1158015611095573d6000803e3d6000fd5b505050506110a161217e565b73ffffffffffffffffffffffffffffffffffffffff166327618ad98b60016040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561112457600080fd5b505af1158015611138573d6000803e3d6000fd5b505050506111458a61369e565b60006001975097506119ae565b61115b8a6141f3565b151561116657600080fd5b61116e6142e3565b600089141561118357600080975097506119ae565b61118b6143f4565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b15801561120157600080fd5b505af1158015611215573d6000803e3d6000fd5b505050506040513d608081101561122b57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050505088606001896000018a60200183815250838152508373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16866060015173ffffffffffffffffffffffffffffffffffffffff16141561141757611304614406565b73ffffffffffffffffffffffffffffffffffffffff166385f0e4bf8a60016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b15801561137f57600080fd5b505af1158015611393573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156113bd57600080fd5b8101908080516401000000008111156113d557600080fd5b828101905060208101848111156113eb57600080fd5b815185602082028301116401000000008211171561140857600080fd5b50509291905050509450611566565b61141f614406565b73ffffffffffffffffffffffffffffffffffffffff166340c7174e87606001518b60016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b1580156114d257600080fd5b505af11580156114e6573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561151057600080fd5b81019080805164010000000081111561152857600080fd5b8281019050602081018481111561153e57600080fd5b815185602082028301116401000000008211171561155b57600080fd5b505092919050505094505b61156e61217e565b73ffffffffffffffffffffffffffffffffffffffff1663bb3b5f6d8b876040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156116075780820151818401526020810190506115ec565b5050505090500193505050506040805180830381600087803b15801561162c57600080fd5b505af1158015611640573d6000803e3d6000fd5b505050506040513d604081101561165657600080fd5b81019080805190602001909291908051906020019092919050505085600001866020018281525082815250505084600186510381518110151561169557fe5b90602001906020020151866060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116f18460000151876000015161219090919063ffffffff16565b8660000181815250506117158460200151876020015161219090919063ffffffff16565b866020018181525050611726614418565b73ffffffffffffffffffffffffffffffffffffffff1663bbb03dc26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561178957600080fd5b505af115801561179d573d6000803e3d6000fd5b505050506040513d60208110156117b357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168560018751038151811015156117ec57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614156118bd5761181c8a8761442a565b97506001965061182a6143f4565b73ffffffffffffffffffffffffffffffffffffffff1663d590f4ab8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b1580156118a057600080fd5b505af11580156118b4573d6000803e3d6000fd5b505050506119ad565b6118c56143f4565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c8b886060015189600001518a6020015160006040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b15801561199457600080fd5b505af11580156119a8573d6000803e3d6000fd5b505050505b5b5050505050509250929050565b60006119c5610d04565b6119cd61495b565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611a6757600080fd5b505af1158015611a7b573d6000803e3d6000fd5b505050506040513d6020811015611a9157600080fd5b8101908080519060200190929190505050148015611b955750611ab5603554611c5e565b611abd614418565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611b5757600080fd5b505af1158015611b6b573d6000803e3d6000fd5b505050506040513d6020811015611b8157600080fd5b810190808051906020019092919050505010155b9050919050565b6000611ba661216c565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611c1c57600080fd5b505af1158015611c30573d6000803e3d6000fd5b505050506040513d6020811015611c4657600080fd5b81019080805190602001909291905050509050919050565b6000611c6861216c565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611cde57600080fd5b505af1158015611cf2573d6000803e3d6000fd5b505050506040513d6020811015611d0857600080fd5b81019080805190602001909291905050509050919050565b6000816013546040516020018083600019166000191681526020018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b602083101515611d915780518252602082019150602081019050602083039250611d6c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050919050565b6000611dcf61496d565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611e3257600080fd5b505af1158015611e46573d6000803e3d6000fd5b505050506040513d6020811015611e5c57600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611ea3610d04565b611eab61495b565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611f4557600080fd5b505af1158015611f59573d6000803e3d6000fd5b505050506040513d6020811015611f6f57600080fd5b81019080805190602001909291905050501480156120735750611f93603654611c5e565b611f9b614418565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561203557600080fd5b505af1158015612049573d6000803e3d6000fd5b505050506040513d602081101561205f57600080fd5b810190808051906020019092919050505010155b80156121655750612085603754611c5e565b61208d61497f565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561212757600080fd5b505af115801561213b573d6000803e3d6000fd5b505050506040513d602081101561215157600080fd5b810190808051906020019092919050505010155b9050919050565b6000612179602b54610bd1565b905090565b600061218b602554610bd1565b905090565b600081830190508281101515156121a357fe5b80905092915050565b6000806121b761217e565b73ffffffffffffffffffffffffffffffffffffffff1663baf4266085856040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b15801561223557600080fd5b505af1158015612249573d6000803e3d6000fd5b505050506040513d602081101561225f57600080fd5b8101908080519060200190929190505050905060008111151561228157600080fd5b60008314156122ae576122a7612298603b54611c5e565b8261219090919063ffffffff16565b91506122ce565b6122cb6122bc603d54611c5e565b8261219090919063ffffffff16565b91505b5092915050565b60008060006122e2614fa8565b606060006122ee614fe7565b6122f66142e3565b6122ff8a6141f3565b151561230a57600080fd5b6123126143f4565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b15801561238857600080fd5b505af115801561239c573d6000803e3d6000fd5b505050506040513d60808110156123b257600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050505086606001876000018860200183815250838152508373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846060015173ffffffffffffffffffffffffffffffffffffffff16141561259e5761248b614406565b73ffffffffffffffffffffffffffffffffffffffff1663f4f9fadc8960016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b15801561250657600080fd5b505af115801561251a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561254457600080fd5b81019080805164010000000081111561255c57600080fd5b8281019050602081018481111561257257600080fd5b815185602082028301116401000000008211171561258f57600080fd5b50509291905050509250612710565b6125a6614406565b73ffffffffffffffffffffffffffffffffffffffff166396fe8e6585606001518a60016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b15801561265957600080fd5b505af115801561266d573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561269757600080fd5b8101908080516401000000008111156126af57600080fd5b828101905060208101848111156126c557600080fd5b81518560208202830111640100000000821117156126e257600080fd5b5050929190505050925060008351141561270f5787612702858c8c614991565b6001965096509650612a9b565b5b82600184510381518110151561272257fe5b90602001906020020151915061273661217e565b73ffffffffffffffffffffffffffffffffffffffff1663a1e55acf8b8b866040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180846000191660001916815260200183815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156127d65780820151818401526020810190506127bb565b505050509050019450505050506040805180830381600087803b1580156127fc57600080fd5b505af1158015612810573d6000803e3d6000fd5b505050506040513d604081101561282657600080fd5b81019080805190602001909291908051906020019092919050505082600001836020018281525082815250505061286e8160000151856000015161219090919063ffffffff16565b8460000181815250506128928160200151856020015161219090919063ffffffff16565b8460200181815250506128a36143f4565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c8b848760000151886020015160006040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b15801561296e57600080fd5b505af1158015612982573d6000803e3d6000fd5b5050505061298e614418565b73ffffffffffffffffffffffffffffffffffffffff166382624a2e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156129f157600080fd5b505af1158015612a05573d6000803e3d6000fd5b505050506040513d6020811015612a1b57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515612a73576000806000829250965096509650612a9b565b612a87835189614b4290919063ffffffff16565b965060019450612a98848b8b614991565b95505b5050505093509350939050565b60008060606000612ab7615001565b6000871415612ac95760009450613468565b612ad16143f4565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b612af58b611d20565b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b158015612b4f57600080fd5b505af1158015612b63573d6000803e3d6000fd5b505050506040513d6080811015612b7957600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505090915090505080945050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612d2357612c10614406565b73ffffffffffffffffffffffffffffffffffffffff1663f4f9fadc8860016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b158015612c8b57600080fd5b505af1158015612c9f573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015612cc957600080fd5b810190808051640100000000811115612ce157600080fd5b82810190506020810184811115612cf757600080fd5b8151856020820283011164010000000082111715612d1457600080fd5b50509291905050509250612e6e565b612d2b614406565b73ffffffffffffffffffffffffffffffffffffffff166396fe8e65858960016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015612dda57600080fd5b505af1158015612dee573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015612e1857600080fd5b810190808051640100000000811115612e3057600080fd5b82810190506020810184811115612e4657600080fd5b8151856020820283011164010000000082111715612e6357600080fd5b505092919050505092505b826001845103815181101515612e8057fe5b906020019060200201519150851561303857612e9a61217e565b73ffffffffffffffffffffffffffffffffffffffff1663e81362fe8a612eca60018c614b4290919063ffffffff16565b8660016040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b83811015612f59578082015181840152602081019050612f3e565b5050505090500195505050505050600060405180830381600087803b158015612f8157600080fd5b505af1158015612f95573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506040811015612fbf57600080fd5b810190808051640100000000811115612fd757600080fd5b82810190506020810184811115612fed57600080fd5b815185602082028301116401000000008211171561300a57600080fd5b50509291906020018051906020019092919050505081915082602001836000018281525082905250506131da565b61304061217e565b73ffffffffffffffffffffffffffffffffffffffff1663e81362fe8a61307060018c614b4290919063ffffffff16565b8660006040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b838110156130ff5780820151818401526020810190506130e4565b5050505090500195505050505050600060405180830381600087803b15801561312757600080fd5b505af115801561313b573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250604081101561316557600080fd5b81019080805164010000000081111561317d57600080fd5b8281019050602081018481111561319357600080fd5b81518560208202830111640100000000821117156131b057600080fd5b50509291906020018051906020019092919050505081915082602001836000018281525082905250505b6000816000015111156131fa576131f981602001518260000151614b5b565b5b613202614418565b73ffffffffffffffffffffffffffffffffffffffff166382624a2e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561326557600080fd5b505af1158015613279573d6000803e3d6000fd5b505050506040513d602081101561328f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561337a576132db6143f4565b73ffffffffffffffffffffffffffffffffffffffff1663d590f4ab6132ff8b611d20565b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b15801561335957600080fd5b505af115801561336d573d6000803e3d6000fd5b5050505060019450613467565b6133826143f4565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c6133a68b611d20565b8460008060006040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b15801561344e57600080fd5b505af1158015613462573d6000803e3d6000fd5b505050505b5b50505050949350505050565b60008061347f61217e565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b1580156134f657600080fd5b505af115801561350a573d6000803e3d6000fd5b505050506040513d61014081101561352157600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959697985090919293949596975090919293949596509091929394955090919293945090919293509091925090915090508091505060019150801515613698576135dc606d54611c5e565b6135e4614d39565b73ffffffffffffffffffffffffffffffffffffffff1663198c6e24613607610d04565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561365957600080fd5b505af115801561366d573d6000803e3d6000fd5b505050506040513d602081101561368357600080fd5b81019080805190602001909291905050501091505b50919050565b6136a661217e565b73ffffffffffffffffffffffffffffffffffffffff1663c362c790826010546040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b15801561372657600080fd5b505af115801561373a573d6000803e3d6000fd5b50505050613746614d4b565b73ffffffffffffffffffffffffffffffffffffffff16637e71332b61376961217e565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156137df57600080fd5b505af11580156137f3573d6000803e3d6000fd5b505050506040513d602081101561380957600080fd5b8101908080519060200190929190505050836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826000191660001916815260200192505050602060405180830381600087803b1580156138a857600080fd5b505af11580156138bc573d6000803e3d6000fd5b505050506040513d60208110156138d257600080fd5b810190808051906020019092919050505015156138ee57600080fd5b50565b60606000806138fe6143f4565b73ffffffffffffffffffffffffffffffffffffffff1663d590f4ab866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b15801561397457600080fd5b505af1158015613988573d6000803e3d6000fd5b5050505061399461217e565b73ffffffffffffffffffffffffffffffffffffffff16637246d5a7866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015613a0a57600080fd5b505af1158015613a1e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506040811015613a4857600080fd5b810190808051640100000000811115613a6057600080fd5b82810190506020810184811115613a7657600080fd5b8151856020820283011164010000000082111715613a9357600080fd5b50509291906020018051906020019092919050505050809350508251841415613b5657613abf8561369e565b613ac761217e565b73ffffffffffffffffffffffffffffffffffffffff166395ecdf9e866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015613b3d57600080fd5b505af1158015613b51573d6000803e3d6000fd5b505050505b613b5e61217e565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179866040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b158015613bd557600080fd5b505af1158015613be9573d6000803e3d6000fd5b505050506040513d610140811015613c0057600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505090919293949596979850909192939495969750909192939495965090919293949550909192939450909192935090919250909150905080925050600084148015613cb3575081155b15613d4e57613cc0614d39565b73ffffffffffffffffffffffffffffffffffffffff16635552f200613ce3610d04565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015613d3557600080fd5b505af1158015613d49573d6000803e3d6000fd5b505050505b613d5661217e565b73ffffffffffffffffffffffffffffffffffffffff16633a85b82286866040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b158015613dd457600080fd5b505af1158015613de8573d6000803e3d6000fd5b505050506040513d6020811015613dfe57600080fd5b81019080805190602001909291905050509050613e1961497f565b73ffffffffffffffffffffffffffffffffffffffff16631eee0154613e3c61217e565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6886040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015613eb257600080fd5b505af1158015613ec6573d6000803e3d6000fd5b505050506040513d6020811015613edc57600080fd5b8101908080519060200190929190505050613f2669021e19e0c9bab2400000613f1886613f0a605554611c5e565b614d5d90919063ffffffff16565b614d9590919063ffffffff16565b613f2e610d04565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200193505050506040805180830381600087803b158015613fb957600080fd5b505af1158015613fcd573d6000803e3d6000fd5b505050506040513d6040811015613fe357600080fd5b81019080805190602001909291908051906020019092919050505050505050505050565b6000614011614dab565b151561401c57600080fd5b614027603954611c5e565b6140df61403261496d565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561409557600080fd5b505af11580156140a9573d6000803e3d6000fd5b505050506040513d60208110156140bf57600080fd5b810190808051906020019092919050505084614b4290919063ffffffff16565b8115156140e857fe5b069050919050565b60006140fa614dab565b151561410557600080fd5b6141ec60016141de614118603954611c5e565b6141d061412361496d565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561418657600080fd5b505af115801561419a573d6000803e3d6000fd5b505050506040513d60208110156141b057600080fd5b810190808051906020019092919050505087614b4290919063ffffffff16565b614d9590919063ffffffff16565b61219090919063ffffffff16565b9050919050565b60006141fd61217e565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561427357600080fd5b505af1158015614287573d6000803e3d6000fd5b505050506040513d602081101561429d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b6142eb610cbd565b15156142f657600080fd5b6142ff336119bb565b151561430a57600080fd5b614312614e5b565b73ffffffffffffffffffffffffffffffffffffffff16634a9aedc4336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156143ac57600080fd5b505af11580156143c0573d6000803e3d6000fd5b505050506040513d60208110156143d657600080fd5b810190808051906020019092919050505015156143f257600080fd5b565b6000614401602f54610bd1565b905090565b6000614413602354610bd1565b905090565b6000614425602c54610bd1565b905090565b600080614435614e6d565b73ffffffffffffffffffffffffffffffffffffffff1663535199aa856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156144ab57600080fd5b505af11580156144bf573d6000803e3d6000fd5b505050506040513d60208110156144d557600080fd5b81019080805190602001909291905050506145018460200151856000015161219090919063ffffffff16565b1180156145cb5750614511614e6d565b73ffffffffffffffffffffffffffffffffffffffff1663d32d0499846000015185602001516040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050602060405180830381600087803b15801561458f57600080fd5b505af11580156145a3573d6000803e3d6000fd5b505050506040513d60208110156145b957600080fd5b81019080805190602001909291905050505b15614804576145d861217e565b73ffffffffffffffffffffffffffffffffffffffff166382e445c68560016040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561465b57600080fd5b505af115801561466f573d6000803e3d6000fd5b50505050614748614681606754611c5e565b61468961217e565b73ffffffffffffffffffffffffffffffffffffffff166349a428d0876040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156146ff57600080fd5b505af1158015614713573d6000803e3d6000fd5b505050506040513d602081101561472957600080fd5b810190808051906020019092919050505061219090919063ffffffff16565b905061475261217e565b73ffffffffffffffffffffffffffffffffffffffff1663344e436e85600061477b600086614e7f565b6040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600019166000191681526020018381526020018281526020019350505050600060405180830381600087803b1580156147e357600080fd5b505af11580156147f7573d6000803e3d6000fd5b50505050600191506148b1565b61480c61217e565b73ffffffffffffffffffffffffffffffffffffffff166382e445c68560006040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561488f57600080fd5b505af11580156148a3573d6000803e3d6000fd5b505050506148b08461369e565b5b6148b961217e565b73ffffffffffffffffffffffffffffffffffffffff166327618ad98560016040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561493c57600080fd5b505af1158015614950573d6000803e3d6000fd5b505050505092915050565b6000614968602d54610bd1565b905090565b600061497a602754610bd1565b905090565b600061498c602954610bd1565b905090565b600061499b614e6d565b73ffffffffffffffffffffffffffffffffffffffff166377ebd46884846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b158015614a1957600080fd5b505af1158015614a2d573d6000803e3d6000fd5b505050506040513d6020811015614a4357600080fd5b8101908080519060200190929190505050614a6f8560200151866000015161219090919063ffffffff16565b118015614b395750614a7f614e6d565b73ffffffffffffffffffffffffffffffffffffffff166336dfb1c2856000015186602001516040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050602060405180830381600087803b158015614afd57600080fd5b505af1158015614b11573d6000803e3d6000fd5b505050506040513d6020811015614b2757600080fd5b81019080805190602001909291905050505b90509392505050565b6000828211151515614b5057fe5b818303905092915050565b6000806000806000614b6e605354611c5e565b9450614b7b605654611c5e565b9350614b88605754611c5e565b9250614be7614baa614b9b606154611c5e565b85614d5d90919063ffffffff16565b614bd9614bb8606054611c5e565b614bcb888a614d5d90919063ffffffff16565b614d5d90919063ffffffff16565b614d9590919063ffffffff16565b9150600090505b85811015614d3057614c168782815181101515614c0757fe5b906020019060200201516119bb565b15614d2357614c2361497f565b73ffffffffffffffffffffffffffffffffffffffff1663ded86d688883815181101515614c4c57fe5b90602001906020020151846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040805180830381600087803b158015614cdb57600080fd5b505af1158015614cef573d6000803e3d6000fd5b505050506040513d6040811015614d0557600080fd5b81019080805190602001909291908051906020019092919050505050505b8080600101915050614bee565b50505050505050565b6000614d46602654610bd1565b905090565b6000614d58601e54610bd1565b905090565b600080831415614d705760009050614d8f565b8183029050818382811515614d8157fe5b04141515614d8b57fe5b8090505b92915050565b60008183811515614da257fe5b04905092915050565b600080614db661496d565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015614e1957600080fd5b505af1158015614e2d573d6000803e3d6000fd5b505050506040513d6020811015614e4357600080fd5b81019080805190602001909291905050501415905090565b6000614e68602854610bd1565b905090565b6000614e7a602454610bd1565b905090565b6000806000614e8d84614f7a565b9150614eab60008614614ea257603d54614ea6565b603b545b611c5e565b9050839250614ebb603854611c5e565b614ec485614007565b1015614f0857614f01614ef2614ed986614007565b614ee4603854611c5e565b614b4290919063ffffffff16565b8561219090919063ffffffff16565b9250614f72565b614f25614f16606954611c5e565b8261219090919063ffffffff16565b821015614f7157614f6e614f5f6001614f51614f42603854611c5e565b8661219090919063ffffffff16565b61219090919063ffffffff16565b8561219090919063ffffffff16565b92505b5b505092915050565b6000614fa1614f8883614007565b614f93603954611c5e565b614b4290919063ffffffff16565b9050919050565b608060405190810160405280600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b604080519081016040528060008152602001600081525090565b6040805190810160405280600081526020016060815250905600a165627a7a72305820e5ec27448e83449a67170e717fc0bc5ee4cf622a655a7446ab91794ea1f3c8ab0029", + "deployedBytecode": "0x6080604052600436106100f1576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100f65780631d8ccd041461014d5780633943380c146101be5780633d554f39146101f15780633f83acff14610259578063560a25ea146102ca57806368533060146102f55780637d6fed80146103245780637f6a26b61461035357806390e353df1461037e578063929066f5146103dc57806393ddad0814610437578063b1e2b9dd14610484578063c66c9efd146104c9578063d70d935814610516578063db4ecbc114610545578063fa6f39361461059c575b600080fd5b34801561010257600080fd5b5061010b6105f7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561015957600080fd5b5061017c600480360381019080803560001916906020019092919050505061061c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101ca57600080fd5b506101d36106de565b60405180826000191660001916815260200191505060405180910390f35b3480156101fd57600080fd5b50610234600480360381019080803560001916906020019092919080359060200190929190803590602001909291905050506106e4565b6040518083151515158152602001821515151581526020019250505060405180910390f35b34801561026557600080fd5b506102886004803603810190808035600019169060200190929190505050610bd1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102d657600080fd5b506102df610cad565b6040518082815260200191505060405180910390f35b34801561030157600080fd5b5061030a610cbd565b604051808215151515815260200191505060405180910390f35b34801561033057600080fd5b50610339610ce9565b604051808215151515815260200191505060405180910390f35b34801561035f57600080fd5b50610368610d04565b6040518082815260200191505060405180910390f35b34801561038a57600080fd5b506103b7600480360381019080803560001916906020019092919080359060200190929190505050610d14565b6040518083151515158152602001821515151581526020019250505060405180910390f35b3480156103e857600080fd5b5061041d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119bb565b604051808215151515815260200191505060405180910390f35b34801561044357600080fd5b506104666004803603810190808035600019169060200190929190505050611b9c565b60405180826000191660001916815260200191505060405180910390f35b34801561049057600080fd5b506104b36004803603810190808035600019169060200190929190505050611c5e565b6040518082815260200191505060405180910390f35b3480156104d557600080fd5b506104f86004803603810190808035600019169060200190929190505050611d20565b60405180826000191660001916815260200191505060405180910390f35b34801561052257600080fd5b5061052b611dc5565b604051808215151515815260200191505060405180910390f35b34801561055157600080fd5b5061055a611e73565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105a857600080fd5b506105dd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e99565b604051808215151515815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061062661216c565b73ffffffffffffffffffffffffffffffffffffffff1663e6b39eab836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561069c57600080fd5b505af11580156106b0573d6000803e3d6000fd5b505050506040513d60208110156106c657600080fd5b81019080805190602001909291905050509050919050565b60015481565b60008060008585600015156106f761217e565b73ffffffffffffffffffffffffffffffffffffffff166385f5276f84846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b15801561077557600080fd5b505af1158015610789573d6000803e3d6000fd5b505050506040513d602081101561079f57600080fd5b810190808051906020019092919050505015151415156107be57600080fd5b878760006107ca61217e565b73ffffffffffffffffffffffffffffffffffffffff1663baf4266084846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b15801561084857600080fd5b505af115801561085c573d6000803e3d6000fd5b505050506040513d602081101561087257600080fd5b8101908080519060200190929190505050905060008111151561089457600080fd5b6108c26108b3600084146108aa57603d546108ae565b603b545b611c5e565b8261219090919063ffffffff16565b42101515156108d057600080fd5b6108d8610cbd565b15156108e357600080fd5b600196506000975088955060008914156109035760008097509750610bc3565b610929610911606954611c5e565b61091b8d8d6121ac565b61219090919063ffffffff16565b42101561095b5761093b8b8b8b6122d5565b809950819a5082985050505086151561095a5787600097509750610bc3565b5b6000965060008a111561098e576109748b8b888b612aa8565b96508615156109895787600097509750610bc3565b610a58565b8780156109a0575061099f8b613474565b5b97508715610a4d576109b061217e565b73ffffffffffffffffffffffffffffffffffffffff1663c362c7908c600f546040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b158015610a3057600080fd5b505af1158015610a44573d6000803e3d6000fd5b50505050610a57565b610a568b61369e565b5b5b8715610a6957610a688b8b6138f1565b5b610a7161217e565b73ffffffffffffffffffffffffffffffffffffffff16633e020d2f8c8c60016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808460001916600019168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015610afc57600080fd5b505af1158015610b10573d6000803e3d6000fd5b50505050610b1c61217e565b73ffffffffffffffffffffffffffffffffffffffff16631ea5d62f8c8c8b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808460001916600019168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015610ba657600080fd5b505af1158015610bba573d6000803e3d6000fd5b50505050600196505b505050505050935093915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610c6b57600080fd5b505af1158015610c7f573d6000803e3d6000fd5b505050506040513d6020811015610c9557600080fd5b81019080805190602001909291905050509050919050565b6000610cb842614007565b905090565b6000610cc7611dc5565b8015610ce45750610cd9603854611c5e565b610ce1610cad565b10155b905090565b6000610cf6603854611c5e565b610cfe610cad565b10905090565b6000610d0f426140f0565b905090565b600080610d1f614fa8565b6060610d29614fe7565b8660001515610d3661217e565b73ffffffffffffffffffffffffffffffffffffffff1663395ddde9836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b505050506040513d6020811015610dd657600080fd5b81019080805190602001909291905050501515141515610df557600080fd5b876000610e0061217e565b73ffffffffffffffffffffffffffffffffffffffff166349a428d0836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610e7657600080fd5b505af1158015610e8a573d6000803e3d6000fd5b505050506040513d6020811015610ea057600080fd5b81019080805190602001909291905050509050600081111515610ec257600080fd5b610edf610ed0606754611c5e565b8261219090919063ffffffff16565b4210151515610eed57600080fd5b610fde610efb606954611c5e565b610fd0610f09606754611c5e565b610f1161217e565b73ffffffffffffffffffffffffffffffffffffffff166349a428d08f6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015610f8757600080fd5b505af1158015610f9b573d6000803e3d6000fd5b505050506040513d6020811015610fb157600080fd5b810190808051906020019092919050505061219090919063ffffffff16565b61219090919063ffffffff16565b421180610ff15750610fef8a613474565b155b1561115257610ffe61217e565b73ffffffffffffffffffffffffffffffffffffffff166382e445c68b60006040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561108157600080fd5b505af1158015611095573d6000803e3d6000fd5b505050506110a161217e565b73ffffffffffffffffffffffffffffffffffffffff166327618ad98b60016040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561112457600080fd5b505af1158015611138573d6000803e3d6000fd5b505050506111458a61369e565b60006001975097506119ae565b61115b8a6141f3565b151561116657600080fd5b61116e6142e3565b600089141561118357600080975097506119ae565b61118b6143f4565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b15801561120157600080fd5b505af1158015611215573d6000803e3d6000fd5b505050506040513d608081101561122b57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050505088606001896000018a60200183815250838152508373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16866060015173ffffffffffffffffffffffffffffffffffffffff16141561141757611304614406565b73ffffffffffffffffffffffffffffffffffffffff166385f0e4bf8a60016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b15801561137f57600080fd5b505af1158015611393573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156113bd57600080fd5b8101908080516401000000008111156113d557600080fd5b828101905060208101848111156113eb57600080fd5b815185602082028301116401000000008211171561140857600080fd5b50509291905050509450611566565b61141f614406565b73ffffffffffffffffffffffffffffffffffffffff166340c7174e87606001518b60016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b1580156114d257600080fd5b505af11580156114e6573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561151057600080fd5b81019080805164010000000081111561152857600080fd5b8281019050602081018481111561153e57600080fd5b815185602082028301116401000000008211171561155b57600080fd5b505092919050505094505b61156e61217e565b73ffffffffffffffffffffffffffffffffffffffff1663bb3b5f6d8b876040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156116075780820151818401526020810190506115ec565b5050505090500193505050506040805180830381600087803b15801561162c57600080fd5b505af1158015611640573d6000803e3d6000fd5b505050506040513d604081101561165657600080fd5b81019080805190602001909291908051906020019092919050505085600001866020018281525082815250505084600186510381518110151561169557fe5b90602001906020020151866060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116f18460000151876000015161219090919063ffffffff16565b8660000181815250506117158460200151876020015161219090919063ffffffff16565b866020018181525050611726614418565b73ffffffffffffffffffffffffffffffffffffffff1663bbb03dc26040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561178957600080fd5b505af115801561179d573d6000803e3d6000fd5b505050506040513d60208110156117b357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168560018751038151811015156117ec57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614156118bd5761181c8a8761442a565b97506001965061182a6143f4565b73ffffffffffffffffffffffffffffffffffffffff1663d590f4ab8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b1580156118a057600080fd5b505af11580156118b4573d6000803e3d6000fd5b505050506119ad565b6118c56143f4565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c8b886060015189600001518a6020015160006040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b15801561199457600080fd5b505af11580156119a8573d6000803e3d6000fd5b505050505b5b5050505050509250929050565b60006119c5610d04565b6119cd61495b565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611a6757600080fd5b505af1158015611a7b573d6000803e3d6000fd5b505050506040513d6020811015611a9157600080fd5b8101908080519060200190929190505050148015611b955750611ab5603554611c5e565b611abd614418565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611b5757600080fd5b505af1158015611b6b573d6000803e3d6000fd5b505050506040513d6020811015611b8157600080fd5b810190808051906020019092919050505010155b9050919050565b6000611ba661216c565b73ffffffffffffffffffffffffffffffffffffffff1663c0a8405d836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611c1c57600080fd5b505af1158015611c30573d6000803e3d6000fd5b505050506040513d6020811015611c4657600080fd5b81019080805190602001909291905050509050919050565b6000611c6861216c565b73ffffffffffffffffffffffffffffffffffffffff1663734c1168836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015611cde57600080fd5b505af1158015611cf2573d6000803e3d6000fd5b505050506040513d6020811015611d0857600080fd5b81019080805190602001909291905050509050919050565b6000816013546040516020018083600019166000191681526020018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b602083101515611d915780518252602082019150602081019050602083039250611d6c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050919050565b6000611dcf61496d565b73ffffffffffffffffffffffffffffffffffffffff16638bc865fd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611e3257600080fd5b505af1158015611e46573d6000803e3d6000fd5b505050506040513d6020811015611e5c57600080fd5b810190808051906020019092919050505015905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611ea3610d04565b611eab61495b565b73ffffffffffffffffffffffffffffffffffffffff1663cefc2bff846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611f4557600080fd5b505af1158015611f59573d6000803e3d6000fd5b505050506040513d6020811015611f6f57600080fd5b81019080805190602001909291905050501480156120735750611f93603654611c5e565b611f9b614418565b73ffffffffffffffffffffffffffffffffffffffff1663cd094a27846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561203557600080fd5b505af1158015612049573d6000803e3d6000fd5b505050506040513d602081101561205f57600080fd5b810190808051906020019092919050505010155b80156121655750612085603754611c5e565b61208d61497f565b73ffffffffffffffffffffffffffffffffffffffff16639c89a0e2846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561212757600080fd5b505af115801561213b573d6000803e3d6000fd5b505050506040513d602081101561215157600080fd5b810190808051906020019092919050505010155b9050919050565b6000612179602b54610bd1565b905090565b600061218b602554610bd1565b905090565b600081830190508281101515156121a357fe5b80905092915050565b6000806121b761217e565b73ffffffffffffffffffffffffffffffffffffffff1663baf4266085856040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b15801561223557600080fd5b505af1158015612249573d6000803e3d6000fd5b505050506040513d602081101561225f57600080fd5b8101908080519060200190929190505050905060008111151561228157600080fd5b60008314156122ae576122a7612298603b54611c5e565b8261219090919063ffffffff16565b91506122ce565b6122cb6122bc603d54611c5e565b8261219090919063ffffffff16565b91505b5092915050565b60008060006122e2614fa8565b606060006122ee614fe7565b6122f66142e3565b6122ff8a6141f3565b151561230a57600080fd5b6123126143f4565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b8b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b15801561238857600080fd5b505af115801561239c573d6000803e3d6000fd5b505050506040513d60808110156123b257600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050505086606001876000018860200183815250838152508373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846060015173ffffffffffffffffffffffffffffffffffffffff16141561259e5761248b614406565b73ffffffffffffffffffffffffffffffffffffffff1663f4f9fadc8960016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b15801561250657600080fd5b505af115801561251a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561254457600080fd5b81019080805164010000000081111561255c57600080fd5b8281019050602081018481111561257257600080fd5b815185602082028301116401000000008211171561258f57600080fd5b50509291905050509250612710565b6125a6614406565b73ffffffffffffffffffffffffffffffffffffffff166396fe8e6585606001518a60016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b15801561265957600080fd5b505af115801561266d573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561269757600080fd5b8101908080516401000000008111156126af57600080fd5b828101905060208101848111156126c557600080fd5b81518560208202830111640100000000821117156126e257600080fd5b5050929190505050925060008351141561270f5787612702858c8c614991565b6001965096509650612a9b565b5b82600184510381518110151561272257fe5b90602001906020020151915061273661217e565b73ffffffffffffffffffffffffffffffffffffffff1663a1e55acf8b8b866040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180846000191660001916815260200183815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156127d65780820151818401526020810190506127bb565b505050509050019450505050506040805180830381600087803b1580156127fc57600080fd5b505af1158015612810573d6000803e3d6000fd5b505050506040513d604081101561282657600080fd5b81019080805190602001909291908051906020019092919050505082600001836020018281525082815250505061286e8160000151856000015161219090919063ffffffff16565b8460000181815250506128928160200151856020015161219090919063ffffffff16565b8460200181815250506128a36143f4565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c8b848760000151886020015160006040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b15801561296e57600080fd5b505af1158015612982573d6000803e3d6000fd5b5050505061298e614418565b73ffffffffffffffffffffffffffffffffffffffff166382624a2e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156129f157600080fd5b505af1158015612a05573d6000803e3d6000fd5b505050506040513d6020811015612a1b57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515612a73576000806000829250965096509650612a9b565b612a87835189614b4290919063ffffffff16565b965060019450612a98848b8b614991565b95505b5050505093509350939050565b60008060606000612ab7615001565b6000871415612ac95760009450613468565b612ad16143f4565b73ffffffffffffffffffffffffffffffffffffffff166312d0c13b612af58b611d20565b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050608060405180830381600087803b158015612b4f57600080fd5b505af1158015612b63573d6000803e3d6000fd5b505050506040513d6080811015612b7957600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505090915090505080945050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612d2357612c10614406565b73ffffffffffffffffffffffffffffffffffffffff1663f4f9fadc8860016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018215151515815260200192505050600060405180830381600087803b158015612c8b57600080fd5b505af1158015612c9f573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015612cc957600080fd5b810190808051640100000000811115612ce157600080fd5b82810190506020810184811115612cf757600080fd5b8151856020820283011164010000000082111715612d1457600080fd5b50509291905050509250612e6e565b612d2b614406565b73ffffffffffffffffffffffffffffffffffffffff166396fe8e65858960016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001821515151581526020019350505050600060405180830381600087803b158015612dda57600080fd5b505af1158015612dee573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015612e1857600080fd5b810190808051640100000000811115612e3057600080fd5b82810190506020810184811115612e4657600080fd5b8151856020820283011164010000000082111715612e6357600080fd5b505092919050505092505b826001845103815181101515612e8057fe5b906020019060200201519150851561303857612e9a61217e565b73ffffffffffffffffffffffffffffffffffffffff1663e81362fe8a612eca60018c614b4290919063ffffffff16565b8660016040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b83811015612f59578082015181840152602081019050612f3e565b5050505090500195505050505050600060405180830381600087803b158015612f8157600080fd5b505af1158015612f95573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506040811015612fbf57600080fd5b810190808051640100000000811115612fd757600080fd5b82810190506020810184811115612fed57600080fd5b815185602082028301116401000000008211171561300a57600080fd5b50509291906020018051906020019092919050505081915082602001836000018281525082905250506131da565b61304061217e565b73ffffffffffffffffffffffffffffffffffffffff1663e81362fe8a61307060018c614b4290919063ffffffff16565b8660006040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b838110156130ff5780820151818401526020810190506130e4565b5050505090500195505050505050600060405180830381600087803b15801561312757600080fd5b505af115801561313b573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250604081101561316557600080fd5b81019080805164010000000081111561317d57600080fd5b8281019050602081018481111561319357600080fd5b81518560208202830111640100000000821117156131b057600080fd5b50509291906020018051906020019092919050505081915082602001836000018281525082905250505b6000816000015111156131fa576131f981602001518260000151614b5b565b5b613202614418565b73ffffffffffffffffffffffffffffffffffffffff166382624a2e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561326557600080fd5b505af1158015613279573d6000803e3d6000fd5b505050506040513d602081101561328f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561337a576132db6143f4565b73ffffffffffffffffffffffffffffffffffffffff1663d590f4ab6132ff8b611d20565b6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b15801561335957600080fd5b505af115801561336d573d6000803e3d6000fd5b5050505060019450613467565b6133826143f4565b73ffffffffffffffffffffffffffffffffffffffff16636e3f777c6133a68b611d20565b8460008060006040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018086600019166000191681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200195505050505050600060405180830381600087803b15801561344e57600080fd5b505af1158015613462573d6000803e3d6000fd5b505050505b5b50505050949350505050565b60008061347f61217e565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b1580156134f657600080fd5b505af115801561350a573d6000803e3d6000fd5b505050506040513d61014081101561352157600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959697985090919293949596975090919293949596509091929394955090919293945090919293509091925090915090508091505060019150801515613698576135dc606d54611c5e565b6135e4614d39565b73ffffffffffffffffffffffffffffffffffffffff1663198c6e24613607610d04565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561365957600080fd5b505af115801561366d573d6000803e3d6000fd5b505050506040513d602081101561368357600080fd5b81019080805190602001909291905050501091505b50919050565b6136a661217e565b73ffffffffffffffffffffffffffffffffffffffff1663c362c790826010546040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b15801561372657600080fd5b505af115801561373a573d6000803e3d6000fd5b50505050613746614d4b565b73ffffffffffffffffffffffffffffffffffffffff16637e71332b61376961217e565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156137df57600080fd5b505af11580156137f3573d6000803e3d6000fd5b505050506040513d602081101561380957600080fd5b8101908080519060200190929190505050836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826000191660001916815260200192505050602060405180830381600087803b1580156138a857600080fd5b505af11580156138bc573d6000803e3d6000fd5b505050506040513d60208110156138d257600080fd5b810190808051906020019092919050505015156138ee57600080fd5b50565b60606000806138fe6143f4565b73ffffffffffffffffffffffffffffffffffffffff1663d590f4ab866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b15801561397457600080fd5b505af1158015613988573d6000803e3d6000fd5b5050505061399461217e565b73ffffffffffffffffffffffffffffffffffffffff16637246d5a7866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015613a0a57600080fd5b505af1158015613a1e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506040811015613a4857600080fd5b810190808051640100000000811115613a6057600080fd5b82810190506020810184811115613a7657600080fd5b8151856020820283011164010000000082111715613a9357600080fd5b50509291906020018051906020019092919050505050809350508251841415613b5657613abf8561369e565b613ac761217e565b73ffffffffffffffffffffffffffffffffffffffff166395ecdf9e866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050600060405180830381600087803b158015613b3d57600080fd5b505af1158015613b51573d6000803e3d6000fd5b505050505b613b5e61217e565b73ffffffffffffffffffffffffffffffffffffffff1663d8d50179866040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505061014060405180830381600087803b158015613bd557600080fd5b505af1158015613be9573d6000803e3d6000fd5b505050506040513d610140811015613c0057600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505090919293949596979850909192939495969750909192939495965090919293949550909192939450909192935090919250909150905080925050600084148015613cb3575081155b15613d4e57613cc0614d39565b73ffffffffffffffffffffffffffffffffffffffff16635552f200613ce3610d04565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b158015613d3557600080fd5b505af1158015613d49573d6000803e3d6000fd5b505050505b613d5661217e565b73ffffffffffffffffffffffffffffffffffffffff16633a85b82286866040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b158015613dd457600080fd5b505af1158015613de8573d6000803e3d6000fd5b505050506040513d6020811015613dfe57600080fd5b81019080805190602001909291905050509050613e1961497f565b73ffffffffffffffffffffffffffffffffffffffff16631eee0154613e3c61217e565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6886040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b158015613eb257600080fd5b505af1158015613ec6573d6000803e3d6000fd5b505050506040513d6020811015613edc57600080fd5b8101908080519060200190929190505050613f2669021e19e0c9bab2400000613f1886613f0a605554611c5e565b614d5d90919063ffffffff16565b614d9590919063ffffffff16565b613f2e610d04565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200193505050506040805180830381600087803b158015613fb957600080fd5b505af1158015613fcd573d6000803e3d6000fd5b505050506040513d6040811015613fe357600080fd5b81019080805190602001909291908051906020019092919050505050505050505050565b6000614011614dab565b151561401c57600080fd5b614027603954611c5e565b6140df61403261496d565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561409557600080fd5b505af11580156140a9573d6000803e3d6000fd5b505050506040513d60208110156140bf57600080fd5b810190808051906020019092919050505084614b4290919063ffffffff16565b8115156140e857fe5b069050919050565b60006140fa614dab565b151561410557600080fd5b6141ec60016141de614118603954611c5e565b6141d061412361496d565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561418657600080fd5b505af115801561419a573d6000803e3d6000fd5b505050506040513d60208110156141b057600080fd5b810190808051906020019092919050505087614b4290919063ffffffff16565b614d9590919063ffffffff16565b61219090919063ffffffff16565b9050919050565b60006141fd61217e565b73ffffffffffffffffffffffffffffffffffffffff16635b712eb6836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561427357600080fd5b505af1158015614287573d6000803e3d6000fd5b505050506040513d602081101561429d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16149050919050565b6142eb610cbd565b15156142f657600080fd5b6142ff336119bb565b151561430a57600080fd5b614312614e5b565b73ffffffffffffffffffffffffffffffffffffffff16634a9aedc4336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156143ac57600080fd5b505af11580156143c0573d6000803e3d6000fd5b505050506040513d60208110156143d657600080fd5b810190808051906020019092919050505015156143f257600080fd5b565b6000614401602f54610bd1565b905090565b6000614413602354610bd1565b905090565b6000614425602c54610bd1565b905090565b600080614435614e6d565b73ffffffffffffffffffffffffffffffffffffffff1663535199aa856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156144ab57600080fd5b505af11580156144bf573d6000803e3d6000fd5b505050506040513d60208110156144d557600080fd5b81019080805190602001909291905050506145018460200151856000015161219090919063ffffffff16565b1180156145cb5750614511614e6d565b73ffffffffffffffffffffffffffffffffffffffff1663d32d0499846000015185602001516040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050602060405180830381600087803b15801561458f57600080fd5b505af11580156145a3573d6000803e3d6000fd5b505050506040513d60208110156145b957600080fd5b81019080805190602001909291905050505b15614804576145d861217e565b73ffffffffffffffffffffffffffffffffffffffff166382e445c68560016040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561465b57600080fd5b505af115801561466f573d6000803e3d6000fd5b50505050614748614681606754611c5e565b61468961217e565b73ffffffffffffffffffffffffffffffffffffffff166349a428d0876040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156146ff57600080fd5b505af1158015614713573d6000803e3d6000fd5b505050506040513d602081101561472957600080fd5b810190808051906020019092919050505061219090919063ffffffff16565b905061475261217e565b73ffffffffffffffffffffffffffffffffffffffff1663344e436e85600061477b600086614e7f565b6040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600019166000191681526020018381526020018281526020019350505050600060405180830381600087803b1580156147e357600080fd5b505af11580156147f7573d6000803e3d6000fd5b50505050600191506148b1565b61480c61217e565b73ffffffffffffffffffffffffffffffffffffffff166382e445c68560006040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561488f57600080fd5b505af11580156148a3573d6000803e3d6000fd5b505050506148b08461369e565b5b6148b961217e565b73ffffffffffffffffffffffffffffffffffffffff166327618ad98560016040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018215151515815260200192505050600060405180830381600087803b15801561493c57600080fd5b505af1158015614950573d6000803e3d6000fd5b505050505092915050565b6000614968602d54610bd1565b905090565b600061497a602754610bd1565b905090565b600061498c602954610bd1565b905090565b600061499b614e6d565b73ffffffffffffffffffffffffffffffffffffffff166377ebd46884846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b158015614a1957600080fd5b505af1158015614a2d573d6000803e3d6000fd5b505050506040513d6020811015614a4357600080fd5b8101908080519060200190929190505050614a6f8560200151866000015161219090919063ffffffff16565b118015614b395750614a7f614e6d565b73ffffffffffffffffffffffffffffffffffffffff166336dfb1c2856000015186602001516040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050602060405180830381600087803b158015614afd57600080fd5b505af1158015614b11573d6000803e3d6000fd5b505050506040513d6020811015614b2757600080fd5b81019080805190602001909291905050505b90509392505050565b6000828211151515614b5057fe5b818303905092915050565b6000806000806000614b6e605354611c5e565b9450614b7b605654611c5e565b9350614b88605754611c5e565b9250614be7614baa614b9b606154611c5e565b85614d5d90919063ffffffff16565b614bd9614bb8606054611c5e565b614bcb888a614d5d90919063ffffffff16565b614d5d90919063ffffffff16565b614d9590919063ffffffff16565b9150600090505b85811015614d3057614c168782815181101515614c0757fe5b906020019060200201516119bb565b15614d2357614c2361497f565b73ffffffffffffffffffffffffffffffffffffffff1663ded86d688883815181101515614c4c57fe5b90602001906020020151846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040805180830381600087803b158015614cdb57600080fd5b505af1158015614cef573d6000803e3d6000fd5b505050506040513d6040811015614d0557600080fd5b81019080805190602001909291908051906020019092919050505050505b8080600101915050614bee565b50505050505050565b6000614d46602654610bd1565b905090565b6000614d58601e54610bd1565b905090565b600080831415614d705760009050614d8f565b8183029050818382811515614d8157fe5b04141515614d8b57fe5b8090505b92915050565b60008183811515614da257fe5b04905092915050565b600080614db661496d565b73ffffffffffffffffffffffffffffffffffffffff1663d9c6bb206040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015614e1957600080fd5b505af1158015614e2d573d6000803e3d6000fd5b505050506040513d6020811015614e4357600080fd5b81019080805190602001909291905050501415905090565b6000614e68602854610bd1565b905090565b6000614e7a602454610bd1565b905090565b6000806000614e8d84614f7a565b9150614eab60008614614ea257603d54614ea6565b603b545b611c5e565b9050839250614ebb603854611c5e565b614ec485614007565b1015614f0857614f01614ef2614ed986614007565b614ee4603854611c5e565b614b4290919063ffffffff16565b8561219090919063ffffffff16565b9250614f72565b614f25614f16606954611c5e565b8261219090919063ffffffff16565b821015614f7157614f6e614f5f6001614f51614f42603854611c5e565b8661219090919063ffffffff16565b61219090919063ffffffff16565b8561219090919063ffffffff16565b92505b5b505092915050565b6000614fa1614f8883614007565b614f93603954611c5e565b614b4290919063ffffffff16565b9050919050565b608060405190810160405280600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b604080519081016040528060008152602001600081525090565b6040805190810160405280600081526020016060815250905600a165627a7a72305820e5ec27448e83449a67170e717fc0bc5ee4cf622a655a7446ab91794ea1f3c8ab0029", + "sourceMap": "75:129:34:-;;;177:3:3;169:12;;147:34;;;;;;;219:3;187:36;;;;;;;;;;;;;;;;;;;;231:65;;;;;;;;302:53;;;;;;;;361:61;;;;;;;;428:57;;;;;;;;491:55;;;;;;;;552:59;;;;;;;;644:1;618:27;;678:1;651:28;;714:1;685:30;;759:1;722:38;;801:1;766:36;;844:1;808:37;;852:52;;;;;;;;910:66;;;;;;;;982:80;;;;;;;;1098:28;;;;;;;;1132:62;;;;;;;;1200:56;;;;;;;;1262:42;;;;;;;;1310:56;;;;;;;;1372:65;;;;;;;;1443:46;;;;;;;;1495:60;;;;;;;;1561:66;;;;;;;;1633:40;;;;;;;;1679:60;;;;;;;;1745:54;;;;;;;;1805:52;;;;;;;;1889:46;;;;;;;;1941:54;;;;;;;;2001:60;;;;;;;;2067:66;;;;;;;;2165:44;;;;;;;;2215:60;;;;;;;;2281;;;;;;;;2347:62;;;;;;;;2415:58;;;;;;;;2479:60;;;;;;;;2545:58;;;;;;;;2609:56;;;;;;;;2671:60;;;;;;;;2737:70;;;;;;;;2813:78;;;;;;;;2898:36;;;;;;;;2940;;;;;;;;2982:40;;;;;;;;3048:1;3029:20;;;;;;;;;;;;;;;;;;;;3078:1;3055:24;;;;;;;;;;;;;;;;;;;;3104:1;3085:20;;;;;;;;;;;;;;;;;;;;3136:1;3111:26;;;;;;;;;;;;;;;;;;;;3171:7;3144:34;;3185:57;;;;;;;;3248:62;;;;;;;;3316:76;;;;;;;;3399:64;;;;;;;;3469:52;;;;;;;;3527:58;;;;;;;;3591:56;;;;;;;;3653:67;;;;;;;;3726:65;;;;;;;;3798:84;;;;;;;;3888:88;;;;;;;;3982:87;;;;;;;;4075:91;;;;;;;;4172:84;;;;;;;;4262:88;;;;;;;;4356:87;;;;;;;;4449:91;;;;;;;;4546:87;;;;;;;;4639:91;;;;;;;;4737:62;;;;;;;;4805:66;;;;;;;;4877:64;;;;;;;;4947:68;;;;;;;;5022:51;;;;;;;;5079:76;;;;;;;;5161:75;;;;;;;;5243:65;;;;;;;;5314:79;;;;;;;;5399:89;;;;;;;;5495:68;;;;;;;;5569:56;;;;;;;;5631:72;;;;;;;;5741:91;;;;;;;;5839:72;;;;;;;;5917:76;;;;;;;;6000:78;;;;;;;;6084:76;;;;;;;;6167:73;;;;;;;;6246:77;;;;;;;;6330;;;;;;;;6413:81;;;;;;;;6501:79;;;;;;;;6586:75;;;;;;;;6668:74;;;;;;;;6748;;;;;;;;6829:83;;;;;;;;6918:86;;;;;;;;7010;;;;;;;;7103:67;;;;;;;;7176;;;;;;;;7250:63;;;;;;;;7320:77;;;;;;;;7404:66;;;;;;;;7477:71;;;;;;;;7555:72;;;;;;;;7633:78;;;;;;;;7717:82;;;;;;;;7806:62;;;;;;;;7874:68;;;;;;;;130:72:34;8:9:-1;5:2;;;30:1;27;20:12;5:2;130:72:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;184:9;1247:43:18;1252:26;;1280:9;1247:4;;;:43;;;:::i;:::-;1239:52;;;;;;;;1191:107;130:72:34;75:129;;1530:450:67;1617:13;1640:15;1675:9;1658:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1658:44:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1658:44:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1658:44:67;;;;;;;;;;;;;;;;1640:62;;1726:5;1712:19;;:10;:19;;;1708:268;;;1768:4;1741:16;;:32;;;;;;;;;;;;;;;;;;1792:9;1781:8;;:20;;;;;;;;;;;;;;;;;;1815:4;1809:3;:10;;;;;;;1852:8;;;;;;;;;;;1835:49;;;1885:3;;1890:16;;;;;;;;;;;1835:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:72:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:72:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:72:67;;;;;;;;;;;;;;;;1827:81;;;;;;;;1927:4;1916:15;;1708:268;;;1964:5;1953:16;;1708:268;1530:450;;;;;:::o;75:129:34:-;;;;;;;", + "deployedSourceMap": "75:129:34:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;5244:195:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5244:195:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7564:2486:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7564:2486:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4743:147:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4743:147:2;;;;;;;;;;;;;;;;;;;;;;;1759:239;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1759:239:2;;;;;;;;;;;;;;;;;;;;;;;;;;;1283:201;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1283:201:2;;;;;;;;;;;;;;;;;;;;;;;;;;;3064:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3064:159:2;;;;;;;;;;;;;;;;;;;;;;;1949:3194:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1949:3194:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5725:311:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5725:311:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5445:191:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7261:189:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7261:189:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11553:243:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11553:243:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;834:173:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;834:173:2;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31:67;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;6123:431:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6123:431:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23:67;;;;;;;;;;;;;:::o;5244:195:1:-;5335:20;5386:19;:17;:19::i;:::-;:34;;;5421:10;5386:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5386:46:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5386:46:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5386:46:1;;;;;;;;;;;;;;;;5371:61;;5244:195;;;:::o;264:18:67:-;;;;:::o;7564:2486:18:-;7787:12;7801:10;8150:23;7693:11;7706:6;3579:5:1;3532:52;;:12;:10;:12::i;:::-;:22;;;3555:11;3568:6;3532:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3532:43:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3532:43:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3532:43:1;;;;;;;;;;;;;;;;:52;;;3524:61;;;;;;;;7749:11:18;7762:6;2597:14:1;2614:12;:10;:12::i;:::-;:35;;;2650:11;2663:6;2614:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2614:56:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2614:56:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2614:56:1;;;;;;;;;;;;;;;;2597:73;;2695:1;2686:6;:10;2678:19;;;;;;;;2720:95;2731:83;2755:1;2745:6;:11;:68;;2787:26;;2745:68;;;2759:25;;2745:68;2731:13;:83::i;:::-;2720:6;:10;;:95;;;;:::i;:::-;2713:3;:102;;2705:111;;;;;;;;7835:13:18;:11;:13::i;:::-;7827:22;;;;;;;;8055:4;8047:12;;8079:5;8069:15;;8176:11;8150:37;;8217:1;8202:11;:16;8198:125;;;8299:5;8306;8291:21;;;;;;8198:125;8431:108;8494:44;8508:29;;8494:13;:44::i;:::-;8431:37;8448:11;8461:6;8431:16;:37::i;:::-;:62;;:108;;;;:::i;:::-;8425:3;:114;8421:465;;;8599:51;8617:11;8630:6;8638:11;8599:17;:51::i;:::-;8563:87;;;;;;;;;;;;8769:5;8768:6;8764:35;;;8784:7;8793:5;8776:23;;;;;;8764:35;8421:465;8981:5;8973:13;;9010:1;9001:6;:10;8997:796;;;9105:66;9125:11;9138:6;9146:15;9163:7;9105:19;:66::i;:::-;9097:74;;9190:5;9189:6;9185:35;;;9205:7;9214:5;9197:23;;;;;;9185:35;8997:796;;;9396:7;:54;;;;;9407:43;9438:11;9407:30;:43::i;:::-;9396:54;9386:64;;9528:7;9524:259;;;9555:12;:10;:12::i;:::-;:40;;;9617:11;9650:24;;9555:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9555:137:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9555:137:18;;;;9524:259;;;9732:36;9756:11;9732:23;:36::i;:::-;9524:259;8997:796;9807:7;9803:87;;;9830:49;9859:11;9872:6;9830:28;:49::i;:::-;9803:87;9899:12;:10;:12::i;:::-;:27;;;9927:11;9940:6;9948:4;9899:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9899:54:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9899:54:18;;;;9963:12;:10;:12::i;:::-;:28;;;9992:11;10005:6;10013:7;9963:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9963:58:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9963:58:18;;;;10039:4;10031:12;;2824:1:1;3595;;;7564:2486:18;;;;;;;;;:::o;2380:179:67:-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;4743:147:2:-;4820:17;4865:18;4879:3;4865:13;:18::i;:::-;4853:30;;4743:147;:::o;1759:239::-;1827:17;1887:18;:16;:18::i;:::-;:104;;;;;1947:44;1961:29;;1947:13;:44::i;:::-;1921:22;:20;:22::i;:::-;:70;;1887:104;1860:131;;1759:239;:::o;1283:201::-;1354:20;1433:44;1447:29;;1433:13;:44::i;:::-;1408:22;:20;:22::i;:::-;:69;1390:87;;1283:201;:::o;3064:159::-;3140:22;3195:21;3212:3;3195:16;:21::i;:::-;3178:38;;3064:159;:::o;1949:3194:18:-;2161:12;2175:10;3095:53;;:::i;:::-;3475:28;3958:52;;:::i;:::-;2086:11;3425:5:1;3381:49;;:12;:10;:12::i;:::-;:27;;;3409:11;3381:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3381:40:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3381:40:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3381:40:1;;;;;;;;;;;;;;;;:49;;;3373:58;;;;;;;;2131:11:18;1550:14:1;1567:12;:10;:12::i;:::-;:40;;;1608:11;1567:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1567:53:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1567:53:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1567:53:1;;;;;;;;;;;;;;;;1550:70;;1647:1;1638:6;:10;1630:19;;;;;;;;1767:52;1778:40;1792:25;;1778:13;:40::i;:::-;1767:6;:10;;:52;;;;:::i;:::-;1760:3;:59;;1752:68;;;;;;;;2319:191:18;2465:44;2479:29;;2465:13;:44::i;:::-;2319:120;2398:40;2412:25;;2398:13;:40::i;:::-;2319:12;:10;:12::i;:::-;:40;;;2360:11;2319:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2319:53:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2319:53:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2319:53:18;;;;;;;;;;;;;;;;:78;;:120;;;;:::i;:::-;:145;;:191;;;;:::i;:::-;2313:3;:197;:257;;;;2527:43;2558:11;2527:30;:43::i;:::-;2526:44;2313:257;2309:498;;;2594:12;:10;:12::i;:::-;:33;;;2628:11;2641:5;2594:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2594:53:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2594:53:18;;;;2661:12;:10;:12::i;:::-;:32;;;2694:11;2707:4;2661:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2661:51:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2661:51:18;;;;2726:36;2750:11;2726:23;:36::i;:::-;2784:5;2791:4;2776:20;;;;;;2309:498;2824:27;2839:11;2824:14;:27::i;:::-;2816:36;;;;;;;;2862:31;:29;:31::i;:::-;2923:1;2908:11;:16;2904:125;;;3005:5;3012;2997:21;;;;;;2904:125;3308:28;:26;:28::i;:::-;:51;;;3360:11;3308:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3308:64:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3308:64:18;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;3308:64:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3158:214;3172:15;:28;;3214:15;:31;;3259:15;:35;;3158:214;;;;;;;;;;;;;;;;;;;3549:13;;;;;;;;;;;3517:45;;:15;:28;;;:45;;;3513:379;;;3592:19;:17;:19::i;:::-;:34;;;3644:11;3673:4;3592:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3592:99:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3592:99:18;;;;;;39:16:-1;36:1;17:17;2:54;3592:99:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3592:99:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;3592:99:18;;;;;;3578:113;;3513:379;;;3736:19;:17;:19::i;:::-;:38;;;3791:15;:28;;;3836:11;3864:4;3736:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3736:145:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3736:145:18;;;;;;39:16:-1;36:1;17:17;2:54;3736:145:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3736:145:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;3736:145:18;;;;;;3722:159;;3513:379;4069:12;:10;:12::i;:::-;:33;;;4103:11;4116;4069:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;4069:59:18;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4069:59:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4069:59:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4069:59:18;;;;;;;;;;;;;;;;;;;;;;;;;4021:10;:19;;4042:10;:23;;4020:108;;;;;;;;;;4170:11;4201:1;4182:11;:18;:20;4170:33;;;;;;;;;;;;;;;;;;4139:15;:28;;:64;;;;;;;;;;;4247:56;4283:10;:19;;;4247:15;:31;;;:35;;:56;;;;:::i;:::-;4213:15;:31;;:90;;;;;4351:64;4391:10;:23;;;4351:15;:35;;;:39;;:64;;;;:::i;:::-;4313:15;:35;;:102;;;;;4467:17;:15;:17::i;:::-;:35;;;:37;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4467:37:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4467:37:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4467:37:18;;;;;;;;;;;;;;;;4430:74;;:11;4461:1;4442:11;:18;:20;4430:33;;;;;;;;;;;;;;;;;;:74;;;4426:711;;;4572:53;4596:11;4609:15;4572:23;:53::i;:::-;4562:63;;4647:4;4639:12;;4725:28;:26;:28::i;:::-;:53;;;4779:11;4725:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4725:66:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4725:66:18;;;;4426:711;;;4865:28;:26;:28::i;:::-;:51;;;4934:11;4963:15;:28;;;5009:15;:31;;;5058:15;:35;;;5111:1;4865:261;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4865:261:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4865:261:18;;;;4426:711;1830:1:1;3441;;1949:3194:18;;;;;;;;;:::o;5725:311:1:-;5808:8;5905:22;:20;:22::i;:::-;5851:19;:17;:19::i;:::-;:43;;;5895:5;5851:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5851:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5851:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5851:50:1;;;;;;;;;;;;;;;;:76;5850:179;;;;;5988:40;6002:25;;5988:13;:40::i;:::-;5945:17;:15;:17::i;:::-;:32;;;5978:5;5945:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5945:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5945:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5945:39:1;;;;;;;;;;;;;;;;:83;;5850:179;5832:197;;5725:311;;;:::o;5445:191::-;5534:20;5585:19;:17;:19::i;:::-;:32;;;5618:10;5585:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5585:44:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5585:44:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5585:44:1;;;;;;;;;;;;;;;;5570:59;;5445:191;;;:::o;7261:189:2:-;7349:20;7400:19;:17;:19::i;:::-;:31;;;7432:10;7400:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7400:43:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7400:43:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7400:43:2;;;;;;;;;;;;;;;;7385:58;;7261:189;;;:::o;11553:243:18:-;11641:12;11712:11;11737:41;;11682:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;11682:106:18;;;11672:117;;;;;;;;;;;;;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;;;11672:117:18;;;;;;;;;;;;;;;;11665:124;;11553:243;;;:::o;834:173:2:-;907:19;960;:17;:19::i;:::-;:38;;;:40;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;960:40:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;960:40:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;960:40:2;;;;;;;;;;;;;;;;959:41;942:58;;834:173;:::o;344:31:67:-;;;;;;;;;;;;;:::o;6123:431:1:-;6204:8;6301:22;:20;:22::i;:::-;6247:19;:17;:19::i;:::-;:43;;;6291:5;6247:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6247:50:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6247:50:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6247:50:1;;;;;;;;;;;;;;;;:76;6246:186;;;;;6384:47;6398:32;;6384:13;:47::i;:::-;6341:17;:15;:17::i;:::-;:32;;;6374:5;6341:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6341:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6341:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6341:39:1;;;;;;;;;;;;;;;;:90;;6246:186;:301;;;;;6492:54;6506:39;;6492:13;:54::i;:::-;6449:18;:16;:18::i;:::-;:32;;;6482:5;6449:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6449:39:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6449:39:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6449:39:1;;;;;;;;;;;;;;;;:97;;6246:301;6228:319;;6123:431;;;:::o;5398:198:2:-;5474:27;5547:41;5560:27;;5547:12;:41::i;:::-;5517:72;;5398:198;:::o;5799:170::-;5868:20;5927:34;5940:20;;5927:12;:34::i;:::-;5904:58;;5799:170;:::o;1238:128:84:-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o;6994:847:1:-;7113:23;7152:36;7191:12;:10;:12::i;:::-;:35;;;7227:11;7240:15;7191:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7191:65:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7191:65:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7191:65:1;;;;;;;;;;;;;;;;7152:104;;7305:1;7274:28;:32;7266:41;;;;;;;;7397:1;7378:15;:20;7374:461;;;7512:91;7562:40;7576:25;;7562:13;:40::i;:::-;7512:28;:49;;:91;;;;:::i;:::-;7478:125;;7374:461;;;7732:92;7782:41;7796:26;;7782:13;:41::i;:::-;7732:28;:49;;:92;;;;:::i;:::-;7698:126;;7374:461;6994:847;;;;;:::o;14583:2959:18:-;14702:23;14727:12;14741:10;14855:53;;:::i;:::-;15142:24;16170:18;16229:48;;:::i;:::-;14767:31;:29;:31::i;:::-;14816:27;14831:11;14816:14;:27::i;:::-;14808:36;;;;;;;;15068:28;:26;:28::i;:::-;:51;;;15120:11;15068:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15068:64:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15068:64:18;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;15068:64:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14918:214;14932:15;:28;;14974:15;:31;;15019:15;:35;;14918:214;;;;;;;;;;;;;;;;;;;15212:13;;;;;;;;;;;15180:45;;:15;:28;;;:45;;;15176:984;;;15321:19;:17;:19::i;:::-;:36;;;15375:11;15404:4;15321:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15321:101:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15321:101:18;;;;;;39:16:-1;36:1;17:17;2:54;15321:101:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15321:101:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;15321:101:18;;;;;;15311:111;;15176:984;;;15463:19;:17;:19::i;:::-;:40;;;15521:15;:28;;;15567:11;15596:4;15463:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15463:151:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15463:151:18;;;;;;39:16:-1;36:1;17:17;2:54;15463:151:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15463:151:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;15463:151:18;;;;;;15453:161;;15953:1;15935:7;:14;:19;15931:219;;;16003:11;16036:55;16054:15;16071:11;16084:6;16036:17;:55::i;:::-;16113:4;15974:161;;;;;;;;15931:219;15176:984;16191:7;16216:1;16199:7;:14;:18;16191:27;;;;;;;;;;;;;;;;;;16170:48;;16328:12;:10;:12::i;:::-;:28;;;16357:11;16370:6;16378:7;16328:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;16328:58:18;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16328:58:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16328:58:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16328:58:18;;;;;;;;;;;;;;;;;;;;;;;;;16288:6;:15;;16305:6;:19;;16287:99;;;;;;;;;;16431:52;16467:6;:15;;;16431;:31;;;:35;;:52;;;;:::i;:::-;16397:15;:31;;:86;;;;;16531:60;16571:6;:19;;;16531:15;:35;;;:39;;:60;;;;:::i;:::-;16493:15;:35;;:98;;;;;16601:28;:26;:28::i;:::-;:51;;;16666:11;16691:10;16715:15;:31;;;16760:15;:35;;;16809:1;16601:219;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16601:219:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16601:219:18;;;;16849:17;:15;:17::i;:::-;:37;;;:39;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16849:39:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16849:39:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16849:39:18;;;;;;;;;;;;;;;;16835:53;;:10;:53;;;;16831:266;;;16912:1;16915:5;16922;16904:24;;;;;;;;;;;16831:266;17406:31;17422:7;:14;17406:11;:15;;:31;;;;:::i;:::-;17388:49;;17455:4;17447:12;;17480:55;17498:15;17515:11;17528:6;17480:17;:55::i;:::-;17470:65;;14583:2959;;;;;;;;;;;;:::o;11906:2254::-;12041:10;12111:21;12298:28;12702:18;12885:48;;:::i;:::-;12086:1;12071:11;:16;12067:34;;;12096:5;12089:12;;;;12067:34;12163:28;:26;:28::i;:::-;:51;;;12228:49;12265:11;12228:36;:49::i;:::-;12163:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12163:124:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12163:124:18;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;12163:124:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12142:145;;;;;;;;;;12357:13;;;;;;;;;;;12340:30;;:13;:30;;;12336:357;;;12400:19;:17;:19::i;:::-;:36;;;12454:11;12483:4;12400:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12400:101:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12400:101:18;;;;;;39:16:-1;36:1;17:17;2:54;12400:101:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12400:101:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;12400:101:18;;;;;;12386:115;;12336:357;;;12546:19;:17;:19::i;:::-;:40;;;12604:13;12635:11;12664:4;12546:136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12546:136:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12546:136:18;;;;;;39:16:-1;36:1;17:17;2:54;12546:136:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12546:136:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;12546:136:18;;;;;;12532:150;;12336:357;12723:11;12756:1;12735:11;:18;:22;12723:35;;;;;;;;;;;;;;;;;;12702:56;;12947:7;12943:524;;;13118:12;:10;:12::i;:::-;:33;;;13152:11;13165:13;13176:1;13165:6;:10;;:13;;;;:::i;:::-;13180:11;13193:4;13118:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;13118:80:18;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13118:80:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13118:80:18;;;;;;39:16:-1;36:1;17:17;2:54;13118:80:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13118:80:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;13118:80:18;;;;;;;;;;;;;;;;;13069:129;;;13070:12;:18;;13090:12;:24;;13069:129;;;;;;;;;12943:524;;;13375:12;:10;:12::i;:::-;:33;;;13409:11;13422:13;13433:1;13422:6;:10;;:13;;;;:::i;:::-;13437:11;13450:5;13375:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;13375:81:18;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13375:81:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13375:81:18;;;;;;39:16:-1;36:1;17:17;2:54;13375:81:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13375:81:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;13375:81:18;;;;;;;;;;;;;;;;;13326:130;;;13327:12;:18;;13347:12;:24;;13326:130;;;;;;;;;12943:524;13508:1;13481:12;:24;;;:28;13477:98;;;13511:64;13530:12;:18;;;13550:12;:24;;;13511:18;:64::i;:::-;13477:98;13604:17;:15;:17::i;:::-;:37;;;:39;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13604:39:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13604:39:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13604:39:18;;;;;;;;;;;;;;;;13590:53;;:10;:53;;;13586:568;;;13702:28;:26;:28::i;:::-;:53;;;13773:49;13810:11;13773:36;:49::i;:::-;13702:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13702:134:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13702:134:18;;;;13858:4;13850:12;;13586:568;;;13974:28;:26;:28::i;:::-;:51;;;14043:49;14080:11;14043:36;:49::i;:::-;14110:10;14122:1;14125;14128;13974:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13974:169:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13974:169:18;;;;13586:568;11906:2254;;;;;;;;;;;:::o;9719:481:1:-;9827:17;9860:21;9921:12;:10;:12::i;:::-;:25;;;9947:11;9921:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9921:38:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9921:38:1;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;9921:38:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9891:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9984:4;9969:19;;10003:16;10002:17;9998:196;;;10127:56;10141:41;;10127:13;:56::i;:::-;10050:27;:25;:27::i;:::-;:50;;;10101:22;:20;:22::i;:::-;10050:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10050:74:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10050:74:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10050:74:1;;;;;;;;;;;;;;;;:133;10035:148;;9998:196;9719:481;;;;:::o;18030:288:18:-;18115:12;:10;:12::i;:::-;:40;;;18156:11;18169:25;;18115:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18115:80:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18115:80:18;;;;18213:19;:17;:19::i;:::-;:36;;;18250:12;:10;:12::i;:::-;:33;;;18284:11;18250:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18250:46:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18250:46:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18250:46:18;;;;;;;;;;;;;;;;18298:11;18213:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18213:97:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18213:97:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18213:97:18;;;;;;;;;;;;;;;;18205:106;;;;;;;;18030:288;:::o;10120:1426::-;10536:35;10888:21;11201:16;10379:28;:26;:28::i;:::-;:53;;;10433:11;10379:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10379:66:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10379:66:18;;;;10605:12;:10;:12::i;:::-;:32;;;10638:11;10605:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10605:45:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10605:45:18;;;;;;39:16:-1;36:1;17:17;2:54;10605:45:18;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10605:45:18;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;10605:45:18;;;;;;;;;;;;;;;;;10581:69;;;;;10674:18;:25;10664:6;:35;10660:157;;;10715:36;10739:11;10715:23;:36::i;:::-;10765:12;:10;:12::i;:::-;:28;;;10794:11;10765:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10765:41:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10765:41:18;;;;10660:157;10949:12;:10;:12::i;:::-;:25;;;10975:11;10949:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10949:38:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10949:38:18;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;10949:38:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10919:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11011:1;11001:6;:11;:32;;;;;11017:16;11016:17;11001:32;10997:148;;;11049:27;:25;:27::i;:::-;:61;;;11111:22;:20;:22::i;:::-;11049:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11049:85:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11049:85:18;;;;10997:148;11220:12;:10;:12::i;:::-;:34;;;11255:11;11268:6;11220:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11220:55:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11220:55:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11220:55:18;;;;;;;;;;;;;;;;11201:74;;11285:18;:16;:18::i;:::-;:34;;;11333:12;:10;:12::i;:::-;:33;;;11367:11;11333:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11333:46:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11333:46:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11333:46:18;;;;;;;;;;;;;;;;11393:100;11481:11;11393:83;11467:8;11393:69;11407:54;;11393:13;:69::i;:::-;:73;;:83;;;;:::i;:::-;:87;;:100;;;;:::i;:::-;11507:22;:20;:22::i;:::-;11285:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11285:254:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11285:254:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11285:254:18;;;;;;;;;;;;;;;;;;;;;;;;;;;10120:1426;;;;;:::o;3862:332:2:-;3947:22;3993:26;:24;:26::i;:::-;3985:35;;;;;;;;4149:38;4163:23;;4149:13;:38::i;:::-;4082:52;4092:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4092:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4092:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4092:41:2;;;;;;;;;;;;;;;;4082:5;:9;;:52;;;;:::i;:::-;:105;;;;;;;;4053:134;;3862:332;;;:::o;3369:320::-;3457:14;3495:26;:24;:26::i;:::-;3487:35;;;;;;;;3553:129;3680:1;3553:109;3623:38;3637:23;;3623:13;:38::i;:::-;3553:52;3563:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3563:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3563:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3563:41:2;;;;;;;;;;;;;;;;3553:5;:9;;:52;;;;:::i;:::-;:69;;:109;;;;:::i;:::-;:126;;:129;;;;:::i;:::-;3532:150;;3369:320;;;:::o;325:213:1:-;417:20;485:12;:10;:12::i;:::-;:33;;;519:11;485:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;485:46:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;485:46:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;485:46:1;;;;;;;;;;;;;;;;471:60;;:10;:60;;;453:78;;325:213;;;:::o;10966:223::-;11059:13;:11;:13::i;:::-;11051:22;;;;;;;;11091:25;11105:10;11091:13;:25::i;:::-;11083:34;;;;;;;;11135:18;:16;:18::i;:::-;:34;;;11170:10;11135:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11135:46:1;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11135:46:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11135:46:1;;;;;;;;;;;;;;;;11127:55;;;;;;;;10966:223::o;7020:235:2:-;7105:36;7196:51;7209:37;;7196:12;:51::i;:::-;7157:91;;7020:235;:::o;5193:199::-;5269:27;5342:42;5355:28;;5342:12;:42::i;:::-;5312:73;;5193:199;:::o;5602:191::-;5676:25;5745:40;5758:26;;5745:12;:40::i;:::-;5717:69;;5602:191;:::o;5150:1165:18:-;5286:12;5779:23;5407:22;:20;:22::i;:::-;:41;;;5449:11;5407:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5407:54:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5407:54:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5407:54:18;;;;;;;;;;;;;;;;5332:72;5368:15;:35;;;5332:15;:31;;;:35;;:72;;;;:::i;:::-;:129;5331:256;;;;;5479:22;:20;:22::i;:::-;:37;;;5517:15;:31;;;5550:15;:35;;;5479:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5479:107:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5479:107:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5479:107:18;;;;;;;;;;;;;;;;5331:256;5314:933;;;5612:12;:10;:12::i;:::-;:33;;;5646:11;5659:4;5612:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5612:52:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5612:52:18;;;;5805:99;5863:40;5877:25;;5863:13;:40::i;:::-;5805:12;:10;:12::i;:::-;:40;;;5846:11;5805:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5805:53:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5805:53:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5805:53:18;;;;;;;;;;;;;;;;:57;;:99;;;;:::i;:::-;5779:125;;5918:12;:10;:12::i;:::-;:34;;;5970:11;5999:1;6018:42;6041:1;6044:15;6018:22;:42::i;:::-;5918:156;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5918:156:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5918:156:18;;;;6098:4;6088:14;;5314:933;;;6133:12;:10;:12::i;:::-;:33;;;6167:11;6180:5;6133:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6133:53:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6133:53:18;;;;6200:36;6224:11;6200:23;:36::i;:::-;5314:933;6257:12;:10;:12::i;:::-;:32;;;6290:11;6303:4;6257:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6257:51:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6257:51:18;;;;5150:1165;;;;;:::o;6815:199:2:-;6891:27;6964:42;6977:28;;6964:12;:42::i;:::-;6934:73;;6815:199;:::o;6204:::-;6280:27;6353:42;6366:28;;6353:12;:42::i;:::-;6323:73;;6204:199;:::o;6614:195::-;6689:26;6760:41;6773:27;;6760:12;:41::i;:::-;6731:71;;6614:195;:::o;17549:474:18:-;17708:12;17822:22;:20;:22::i;:::-;:42;;;17865:11;17878:6;17822:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17822:63:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17822:63:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17822:63:18;;;;;;;;;;;;;;;;17747:72;17783:15;:35;;;17747:15;:31;;;:35;;:72;;;;:::i;:::-;:138;17746:270;;;;;17907:22;:20;:22::i;:::-;:38;;;17946:15;:31;;;17979:15;:35;;;17907:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17907:108:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17907:108:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17907:108:18;;;;;;;;;;;;;;;;17746:270;17736:280;;17549:474;;;;;:::o;1060:116:84:-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;18461:748:18:-;18550:11;18614:13;18688;18765:14;18976:9;18564:40;18578:25;;18564:13;:40::i;:::-;18550:54;;18630:48;18644:33;;18630:13;:48::i;:::-;18614:64;;18704:50;18718:35;;18704:13;:50::i;:::-;18688:66;;18782:178;18886:60;18896:49;18910:34;;18896:13;:49::i;:::-;18886:5;:9;;:60;;;;:::i;:::-;18782:69;18801:49;18815:34;;18801:13;:49::i;:::-;18782:14;18790:5;18782:3;:7;;:14;;;;:::i;:::-;:18;;:69;;;;:::i;:::-;:86;;:178;;;;:::i;:::-;18765:195;;18988:1;18976:13;;18971:232;18995:2;18991:1;:6;18971:232;;;19022:25;19036:7;19044:1;19036:10;;;;;;;;;;;;;;;;;;19022:13;:25::i;:::-;19018:175;;;19121:18;:16;:18::i;:::-;:37;;;19159:7;19167:1;19159:10;;;;;;;;;;;;;;;;;;19171:6;19121:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19121:57:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19121:57:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19121:57:18;;;;;;;;;;;;;;;;;;;;;;;;;;;19018:175;18999:3;;;;;;;18971:232;;;18461:748;;;;;;;:::o;5975:223:2:-;6059:35;6148:42;6161:28;;6148:12;:42::i;:::-;6110:81;;5975:223;:::o;781:199:18:-;857:27;930:42;943:28;;930:12;:42::i;:::-;900:73;;781:199;:::o;203:380:84:-;263:9;495:1;489:2;:7;485:36;;;513:1;506:8;;;;485:36;536:2;531;:7;527:11;;561:2;555;551:1;:6;;;;;;;;:12;544:20;;;;;;577:1;570:8;;203:380;;;;;:::o;665:283::-;725:7;941:2;936;:7;;;;;;;;929:14;;665:283;;;;:::o;4343:172:2:-;4426:11;4507:1;4462:19;:17;:19::i;:::-;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4462:41:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4462:41:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4462:41:2;;;;;;;;;;;;;;;;:46;;4453:55;;4343:172;:::o;899:201:7:-;974:28;1049:43;1062:29;;1049:12;:43::i;:::-;1018:75;;899:201;:::o;564:211:18:-;643:30;722:45;735:31;;722:12;:45::i;:::-;689:79;;564:211;:::o;8225:1125:1:-;8373:26;8415;8497:23;8444:43;8465:21;8444:20;:43::i;:::-;8415:72;;8523:83;8547:1;8537:6;:11;:68;;8579:26;;8537:68;;;8551:25;;8537:68;8523:13;:83::i;:::-;8497:109;;8637:21;8616:42;;8711:44;8725:29;;8711:13;:44::i;:::-;8672:36;8686:21;8672:13;:36::i;:::-;:83;8668:676;;;8844:143;8887:86;8936:36;8950:21;8936:13;:36::i;:::-;8887:44;8901:29;;8887:13;:44::i;:::-;:48;;:86;;;;:::i;:::-;8844:21;:25;;:143;;;;:::i;:::-;8823:164;;8668:676;;;9029:65;9049:44;9063:29;;9049:13;:44::i;:::-;9029:15;:19;;:65;;;;:::i;:::-;9008:18;:86;9004:340;;;9201:132;9244:75;9317:1;9244:68;9267:44;9281:29;;9267:13;:44::i;:::-;9244:18;:22;;:68;;;;:::i;:::-;:72;;:75;;;;:::i;:::-;9201:21;:25;;:132;;;;:::i;:::-;9180:153;;9004:340;8668:676;8225:1125;;;;;;:::o;4961:226:2:-;5053:26;5116:64;5159:20;5173:5;5159:13;:20::i;:::-;5116:38;5130:23;;5116:13;:38::i;:::-;:42;;:64;;;;:::i;:::-;5095:85;;4961:226;;;:::o;75:129:34:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"../../interactive/DaoVotingClaims.sol\";\n\ncontract MockDaoVotingClaims is DaoVotingClaims {\n\n constructor(address _resolver) public DaoVotingClaims(_resolver) {\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/mock/interactive/MockDaoVotingClaims.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/interactive/MockDaoVotingClaims.sol", + "exportedSymbols": { + "MockDaoVotingClaims": [ + 9315 + ] + }, + "id": 9316, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9302, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:34" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoVotingClaims.sol", + "file": "../../interactive/DaoVotingClaims.sol", + "id": 9303, + "nodeType": "ImportDirective", + "scope": 9316, + "sourceUnit": 7815, + "src": "26:47:34", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 9304, + "name": "DaoVotingClaims", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7814, + "src": "107:15:34", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoVotingClaims_$7814", + "typeString": "contract DaoVotingClaims" + } + }, + "id": 9305, + "nodeType": "InheritanceSpecifier", + "src": "107:15:34" + } + ], + "contractDependencies": [ + 838, + 1233, + 1580, + 1819, + 1911, + 7814, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 9315, + "linearizedBaseContracts": [ + 9315, + 7814, + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "MockDaoVotingClaims", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 9313, + "nodeType": "Block", + "src": "195:7:34", + "statements": [] + }, + "documentation": null, + "id": 9314, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 9310, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9307, + "src": "184:9:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9311, + "modifierName": { + "argumentTypes": null, + "id": 9309, + "name": "DaoVotingClaims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7814, + "src": "168:15:34", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoVotingClaims_$7814_$", + "typeString": "type(contract DaoVotingClaims)" + } + }, + "nodeType": "ModifierInvocation", + "src": "168:26:34" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9308, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9307, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 9314, + "src": "142:17:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9306, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "142:7:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "141:19:34" + }, + "payable": false, + "returnParameters": { + "id": 9312, + "nodeType": "ParameterList", + "parameters": [], + "src": "195:0:34" + }, + "scope": 9315, + "src": "130:72:34", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 9316, + "src": "75:129:34" + } + ], + "src": "0:205:34" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/interactive/MockDaoVotingClaims.sol", + "exportedSymbols": { + "MockDaoVotingClaims": [ + 9315 + ] + }, + "id": 9316, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9302, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:34" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interactive/DaoVotingClaims.sol", + "file": "../../interactive/DaoVotingClaims.sol", + "id": 9303, + "nodeType": "ImportDirective", + "scope": 9316, + "sourceUnit": 7815, + "src": "26:47:34", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 9304, + "name": "DaoVotingClaims", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 7814, + "src": "107:15:34", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoVotingClaims_$7814", + "typeString": "contract DaoVotingClaims" + } + }, + "id": 9305, + "nodeType": "InheritanceSpecifier", + "src": "107:15:34" + } + ], + "contractDependencies": [ + 838, + 1233, + 1580, + 1819, + 1911, + 7814, + 19058 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 9315, + "linearizedBaseContracts": [ + 9315, + 7814, + 838, + 1233, + 1911, + 1819, + 1580, + 19058 + ], + "name": "MockDaoVotingClaims", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 9313, + "nodeType": "Block", + "src": "195:7:34", + "statements": [] + }, + "documentation": null, + "id": 9314, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 9310, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9307, + "src": "184:9:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9311, + "modifierName": { + "argumentTypes": null, + "id": 9309, + "name": "DaoVotingClaims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7814, + "src": "168:15:34", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoVotingClaims_$7814_$", + "typeString": "type(contract DaoVotingClaims)" + } + }, + "nodeType": "ModifierInvocation", + "src": "168:26:34" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9308, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9307, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 9314, + "src": "142:17:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9306, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "142:7:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "141:19:34" + }, + "payable": false, + "returnParameters": { + "id": 9312, + "nodeType": "ParameterList", + "parameters": [], + "src": "195:0:34" + }, + "scope": 9315, + "src": "130:72:34", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 9316, + "src": "75:129:34" + } + ], + "src": "0:205:34" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.867Z" +} \ No newline at end of file diff --git a/build/contracts/MockDgd.json b/build/contracts/MockDgd.json new file mode 100644 index 0000000..9af87ef --- /dev/null +++ b/build/contracts/MockDgd.json @@ -0,0 +1,1543 @@ +{ + "contractName": "MockDgd", + "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": "", + "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": true, + "inputs": [], + "name": "INITIAL_SUPPLY", + "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": 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": 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": "", + "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": [], + "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": "0x608060405234801561001057600080fd5b50660aa87bee538000600181905550660aa87bee5380006000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef660aa87bee5380006040518082815260200191505060405180910390a3611264806100cf6000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100bf578063095ea7b31461014f57806318160ddd146101b457806323b872dd146101df5780632ff2e9dc14610264578063313ce5671461028f57806366188463146102c057806370a082311461032557806395d89b411461037c578063a9059cbb1461040c578063d73dd62314610471578063dd62ed3e146104d6575b600080fd5b3480156100cb57600080fd5b506100d461054d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101145780820151818401526020810190506100f9565b50505050905090810190601f1680156101415780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015b57600080fd5b5061019a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610586565b604051808215151515815260200191505060405180910390f35b3480156101c057600080fd5b506101c9610678565b6040518082815260200191505060405180910390f35b3480156101eb57600080fd5b5061024a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610682565b604051808215151515815260200191505060405180910390f35b34801561027057600080fd5b50610279610a3d565b6040518082815260200191505060405180910390f35b34801561029b57600080fd5b506102a4610a48565b604051808260ff1660ff16815260200191505060405180910390f35b3480156102cc57600080fd5b5061030b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a4d565b604051808215151515815260200191505060405180910390f35b34801561033157600080fd5b50610366600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cdf565b6040518082815260200191505060405180910390f35b34801561038857600080fd5b50610391610d27565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103d15780820151818401526020810190506103b6565b50505050905090810190601f1680156103fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041857600080fd5b50610457600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d60565b604051808215151515815260200191505060405180910390f35b34801561047d57600080fd5b506104bc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f80565b604051808215151515815260200191505060405180910390f35b3480156104e257600080fd5b50610537600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061117c565b6040518082815260200191505060405180910390f35b6040805190810160405280601481526020017f4b6f76616e20446967697844616f20546f6b656e00000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156106d157600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561075c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561079857600080fd5b6107e9826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461120390919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061087c826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121c90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061094d82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461120390919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b660aa87bee53800081565b600981565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083101515610b5f576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bf3565b610b72838261120390919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6040805190810160405280600481526020017f4b4447440000000000000000000000000000000000000000000000000000000081525081565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610daf57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610deb57600080fd5b610e3c826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461120390919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ecf826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121c90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600061101182600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121c90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600082821115151561121157fe5b818303905092915050565b6000818301905082811015151561122f57fe5b809050929150505600a165627a7a723058203234895dfa537c9337421c266dd94ca8cd8e4aae2c78553a74339722360b4e550029", + "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100bf578063095ea7b31461014f57806318160ddd146101b457806323b872dd146101df5780632ff2e9dc14610264578063313ce5671461028f57806366188463146102c057806370a082311461032557806395d89b411461037c578063a9059cbb1461040c578063d73dd62314610471578063dd62ed3e146104d6575b600080fd5b3480156100cb57600080fd5b506100d461054d565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101145780820151818401526020810190506100f9565b50505050905090810190601f1680156101415780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015b57600080fd5b5061019a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610586565b604051808215151515815260200191505060405180910390f35b3480156101c057600080fd5b506101c9610678565b6040518082815260200191505060405180910390f35b3480156101eb57600080fd5b5061024a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610682565b604051808215151515815260200191505060405180910390f35b34801561027057600080fd5b50610279610a3d565b6040518082815260200191505060405180910390f35b34801561029b57600080fd5b506102a4610a48565b604051808260ff1660ff16815260200191505060405180910390f35b3480156102cc57600080fd5b5061030b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a4d565b604051808215151515815260200191505060405180910390f35b34801561033157600080fd5b50610366600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cdf565b6040518082815260200191505060405180910390f35b34801561038857600080fd5b50610391610d27565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103d15780820151818401526020810190506103b6565b50505050905090810190601f1680156103fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561041857600080fd5b50610457600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d60565b604051808215151515815260200191505060405180910390f35b34801561047d57600080fd5b506104bc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f80565b604051808215151515815260200191505060405180910390f35b3480156104e257600080fd5b50610537600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061117c565b6040518082815260200191505060405180910390f35b6040805190810160405280601481526020017f4b6f76616e20446967697844616f20546f6b656e00000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156106d157600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561075c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561079857600080fd5b6107e9826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461120390919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061087c826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121c90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061094d82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461120390919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b660aa87bee53800081565b600981565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083101515610b5f576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610bf3565b610b72838261120390919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6040805190810160405280600481526020017f4b4447440000000000000000000000000000000000000000000000000000000081525081565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610daf57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610deb57600080fd5b610e3c826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461120390919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ecf826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121c90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600061101182600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461121c90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600082821115151561121157fe5b818303905092915050565b6000818301905082811015151561122f57fe5b809050929150505600a165627a7a723058203234895dfa537c9337421c266dd94ca8cd8e4aae2c78553a74339722360b4e550029", + "sourceMap": "99:478:47:-;;;419:156;8:9:-1;5:2;;;30:1;27;20:12;5:2;419:156:47;315:19;446:12;:29;;;;315:19;481:8;:20;490:10;481:20;;;;;;;;;;;;;;;:37;;;;543:10;529:41;;538:3;529:41;315:19;529:41;;;;;;;;;;;;;;;;;;99:478;;;;;;", + "deployedSourceMap": "99:478:47:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;137:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;137:52:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;137:52:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1814:188:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1814:188:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;389:83:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;389:83:87;;;;;;;;;;;;;;;;;;;;;;;726:470:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;726:470:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;274:60:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;274:60:47;;;;;;;;;;;;;;;;;;;;;;;235:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;235:34:47;;;;;;;;;;;;;;;;;;;;;;;;;;;3679:432:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3679:432:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1149:99:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1149:99:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;193:38:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;193:38:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;193:38:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;626:321:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;626:321:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2926:296:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2926:296:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2321:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2321:153:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;137:52:47;;;;;;;;;;;;;;;;;;;;:::o;1814:188:90:-;1881:4;1925:6;1893:7;:19;1901:10;1893:19;;;;;;;;;;;;;;;:29;1913:8;1893:29;;;;;;;;;;;;;;;:38;;;;1963:8;1942:38;;1951:10;1942:38;;;1973:6;1942:38;;;;;;;;;;;;;;;;;;1993:4;1986:11;;1814:188;;;;:::o;389:83:87:-;433:7;455:12;;448:19;;389:83;:::o;726:470:90:-;832:4;864:8;:15;873:5;864:15;;;;;;;;;;;;;;;;854:6;:25;;846:34;;;;;;;;904:7;:14;912:5;904:14;;;;;;;;;;;;;;;:26;919:10;904:26;;;;;;;;;;;;;;;;894:6;:36;;886:45;;;;;;;;960:1;945:17;;:3;:17;;;;937:26;;;;;;;;988:27;1008:6;988:8;:15;997:5;988:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;970:8;:15;979:5;970:15;;;;;;;;;;;;;;;:45;;;;1037:25;1055:6;1037:8;:13;1046:3;1037:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;:41;;;;1097:38;1128:6;1097:7;:14;1105:5;1097:14;;;;;;;;;;;;;;;:26;1112:10;1097:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1068:7;:14;1076:5;1068:14;;;;;;;;;;;;;;;:26;1083:10;1068:26;;;;;;;;;;;;;;;:67;;;;1162:3;1146:28;;1155:5;1146:28;;;1167:6;1146:28;;;;;;;;;;;;;;;;;;1187:4;1180:11;;726:470;;;;;:::o;274:60:47:-;315:19;274:60;:::o;235:34::-;268:1;235:34;:::o;3679:432:90:-;3785:4;3799:16;3818:7;:19;3826:10;3818:19;;;;;;;;;;;;;;;:29;3838:8;3818:29;;;;;;;;;;;;;;;;3799:48;;3877:8;3857:16;:28;;3853:165;;;3927:1;3895:7;:19;3903:10;3895:19;;;;;;;;;;;;;;;:29;3915:8;3895:29;;;;;;;;;;;;;;;:33;;;;3853:165;;;3981:30;3994:16;3981:8;:12;;:30;;;;:::i;:::-;3949:7;:19;3957:10;3949:19;;;;;;;;;;;;;;;:29;3969:8;3949:29;;;;;;;;;;;;;;;:62;;;;3853:165;4049:8;4028:61;;4037:10;4028:61;;;4059:7;:19;4067:10;4059:19;;;;;;;;;;;;;;;:29;4079:8;4059:29;;;;;;;;;;;;;;;;4028:61;;;;;;;;;;;;;;;;;;4102:4;4095:11;;3679:432;;;;;:::o;1149:99:87:-;1205:7;1227:8;:16;1236:6;1227:16;;;;;;;;;;;;;;;;1220:23;;1149:99;;;:::o;193:38:47:-;;;;;;;;;;;;;;;;;;;;:::o;626:321:87:-;689:4;719:8;:20;728:10;719:20;;;;;;;;;;;;;;;;709:6;:30;;701:39;;;;;;;;769:1;754:17;;:3;:17;;;;746:26;;;;;;;;802:32;827:6;802:8;:20;811:10;802:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;779:8;:20;788:10;779:20;;;;;;;;;;;;;;;:55;;;;856:25;874:6;856:8;:13;865:3;856:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;840:8;:13;849:3;840:13;;;;;;;;;;;;;;;:41;;;;913:3;892:33;;901:10;892:33;;;918:6;892:33;;;;;;;;;;;;;;;;;;938:4;931:11;;626:321;;;;:::o;2926:296:90:-;3027:4;3081:46;3115:11;3081:7;:19;3089:10;3081:19;;;;;;;;;;;;;;;:29;3101:8;3081:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;3041:7;:19;3049:10;3041:19;;;;;;;;;;;;;;;:29;3061:8;3041:29;;;;;;;;;;;;;;;:87;;;;3160:8;3139:61;;3148:10;3139:61;;;3170:7;:19;3178:10;3170:19;;;;;;;;;;;;;;;:29;3190:8;3170:29;;;;;;;;;;;;;;;;3139:61;;;;;;;;;;;;;;;;;;3213:4;3206:11;;2926:296;;;;:::o;2321:153::-;2420:7;2444;:15;2452:6;2444:15;;;;;;;;;;;;;;;:25;2460:8;2444:25;;;;;;;;;;;;;;;;2437:32;;2321:153;;;;:::o;1060:116:84:-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;1238:128::-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol\";\n\ncontract MockDgd is StandardToken {\n string public constant name = \"Kovan DigixDao Token\";\n string public constant symbol = \"KDGD\";\n uint8 public constant decimals = 9;\n\n uint256 public constant INITIAL_SUPPLY = 3000000 * (10 ** 9);\n\n /**\n * @dev Constructor that gives msg.sender all of existing tokens.\n */\n constructor() public {\n totalSupply_ = INITIAL_SUPPLY;\n balances[msg.sender] = INITIAL_SUPPLY;\n emit Transfer(0x0, msg.sender, INITIAL_SUPPLY);\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/mock/tokens/MockDgd.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/tokens/MockDgd.sol", + "exportedSymbols": { + "MockDgd": [ + 11987 + ] + }, + "id": 11988, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 11944, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:47" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol", + "file": "openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol", + "id": 11945, + "nodeType": "ImportDirective", + "scope": 11988, + "sourceUnit": 26598, + "src": "26:71:47", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 11946, + "name": "StandardToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 26597, + "src": "119:13:47", + "typeDescriptions": { + "typeIdentifier": "t_contract$_StandardToken_$26597", + "typeString": "contract StandardToken" + } + }, + "id": 11947, + "nodeType": "InheritanceSpecifier", + "src": "119:13:47" + } + ], + "contractDependencies": [ + 26275, + 26318, + 26350, + 26597 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 11987, + "linearizedBaseContracts": [ + 11987, + 26597, + 26275, + 26318, + 26350 + ], + "name": "MockDgd", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 11950, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 11987, + "src": "137:52:47", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string" + }, + "typeName": { + "id": 11948, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "137:6:47", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "4b6f76616e20446967697844616f20546f6b656e", + "id": 11949, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "167:22:47", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e14eb0ef4fd97b998897cb7143c3759c4be78b69db3c22b175c655239171badf", + "typeString": "literal_string \"Kovan DigixDao Token\"" + }, + "value": "Kovan DigixDao Token" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 11953, + "name": "symbol", + "nodeType": "VariableDeclaration", + "scope": 11987, + "src": "193:38:47", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string" + }, + "typeName": { + "id": 11951, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "193:6:47", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "4b444744", + "id": 11952, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "225:6:47", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3bbc54861415fdf2c9abe1e90222a0368ea4ad90a449bbf7af7cc00dfe1cb9c1", + "typeString": "literal_string \"KDGD\"" + }, + "value": "KDGD" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 11956, + "name": "decimals", + "nodeType": "VariableDeclaration", + "scope": 11987, + "src": "235:34:47", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 11954, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "235:5:47", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "39", + "id": 11955, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "268:1:47", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "9" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 11964, + "name": "INITIAL_SUPPLY", + "nodeType": "VariableDeclaration", + "scope": 11987, + "src": "274:60:47", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11957, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "274:7:47", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_3000000000000000_by_1", + "typeString": "int_const 3000000000000000" + }, + "id": 11963, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "33303030303030", + "id": 11958, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "315:7:47", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3000000_by_1", + "typeString": "int_const 3000000" + }, + "value": "3000000" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_1000000000_by_1", + "typeString": "int_const 1000000000" + }, + "id": 11961, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 11959, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "326:2:47", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "hexValue": "39", + "id": 11960, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "332:1:47", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "9" + }, + "src": "326:7:47", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000_by_1", + "typeString": "int_const 1000000000" + } + } + ], + "id": 11962, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "325:9:47", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000_by_1", + "typeString": "int_const 1000000000" + } + }, + "src": "315:19:47", + "typeDescriptions": { + "typeIdentifier": "t_rational_3000000000000000_by_1", + "typeString": "int_const 3000000000000000" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 11985, + "nodeType": "Block", + "src": "440:135:47", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 11967, + "name": "totalSupply_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26194, + "src": "446:12:47", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11968, + "name": "INITIAL_SUPPLY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11964, + "src": "461:14:47", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "446:29:47", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11970, + "nodeType": "ExpressionStatement", + "src": "446:29:47" + }, + { + "expression": { + "argumentTypes": null, + "id": 11976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11971, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "481:8:47", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11974, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11972, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "490:3:47", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 11973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "490:10:47", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "481:20:47", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11975, + "name": "INITIAL_SUPPLY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11964, + "src": "504:14:47", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "481:37:47", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11977, + "nodeType": "ExpressionStatement", + "src": "481:37:47" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 11979, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "538:3:47", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11980, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "543:3:47", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 11981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "543:10:47", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 11982, + "name": "INITIAL_SUPPLY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11964, + "src": "555:14:47", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 11978, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26349, + "src": "529:8:47", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 11983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "529:41:47", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11984, + "nodeType": "EmitStatement", + "src": "524:46:47" + } + ] + }, + "documentation": "@dev Constructor that gives msg.sender all of existing tokens.", + "id": 11986, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11965, + "nodeType": "ParameterList", + "parameters": [], + "src": "430:2:47" + }, + "payable": false, + "returnParameters": { + "id": 11966, + "nodeType": "ParameterList", + "parameters": [], + "src": "440:0:47" + }, + "scope": 11987, + "src": "419:156:47", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 11988, + "src": "99:478:47" + } + ], + "src": "0:578:47" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/tokens/MockDgd.sol", + "exportedSymbols": { + "MockDgd": [ + 11987 + ] + }, + "id": 11988, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 11944, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:47" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol", + "file": "openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol", + "id": 11945, + "nodeType": "ImportDirective", + "scope": 11988, + "sourceUnit": 26598, + "src": "26:71:47", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 11946, + "name": "StandardToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 26597, + "src": "119:13:47", + "typeDescriptions": { + "typeIdentifier": "t_contract$_StandardToken_$26597", + "typeString": "contract StandardToken" + } + }, + "id": 11947, + "nodeType": "InheritanceSpecifier", + "src": "119:13:47" + } + ], + "contractDependencies": [ + 26275, + 26318, + 26350, + 26597 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 11987, + "linearizedBaseContracts": [ + 11987, + 26597, + 26275, + 26318, + 26350 + ], + "name": "MockDgd", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 11950, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 11987, + "src": "137:52:47", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string" + }, + "typeName": { + "id": 11948, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "137:6:47", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "4b6f76616e20446967697844616f20546f6b656e", + "id": 11949, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "167:22:47", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e14eb0ef4fd97b998897cb7143c3759c4be78b69db3c22b175c655239171badf", + "typeString": "literal_string \"Kovan DigixDao Token\"" + }, + "value": "Kovan DigixDao Token" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 11953, + "name": "symbol", + "nodeType": "VariableDeclaration", + "scope": 11987, + "src": "193:38:47", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory", + "typeString": "string" + }, + "typeName": { + "id": 11951, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "193:6:47", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "4b444744", + "id": 11952, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "225:6:47", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3bbc54861415fdf2c9abe1e90222a0368ea4ad90a449bbf7af7cc00dfe1cb9c1", + "typeString": "literal_string \"KDGD\"" + }, + "value": "KDGD" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 11956, + "name": "decimals", + "nodeType": "VariableDeclaration", + "scope": 11987, + "src": "235:34:47", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 11954, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "235:5:47", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "39", + "id": 11955, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "268:1:47", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "9" + }, + "visibility": "public" + }, + { + "constant": true, + "id": 11964, + "name": "INITIAL_SUPPLY", + "nodeType": "VariableDeclaration", + "scope": 11987, + "src": "274:60:47", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 11957, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "274:7:47", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_3000000000000000_by_1", + "typeString": "int_const 3000000000000000" + }, + "id": 11963, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "33303030303030", + "id": 11958, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "315:7:47", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_3000000_by_1", + "typeString": "int_const 3000000" + }, + "value": "3000000" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_1000000000_by_1", + "typeString": "int_const 1000000000" + }, + "id": 11961, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 11959, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "326:2:47", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "hexValue": "39", + "id": 11960, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "332:1:47", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_9_by_1", + "typeString": "int_const 9" + }, + "value": "9" + }, + "src": "326:7:47", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000_by_1", + "typeString": "int_const 1000000000" + } + } + ], + "id": 11962, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "325:9:47", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000_by_1", + "typeString": "int_const 1000000000" + } + }, + "src": "315:19:47", + "typeDescriptions": { + "typeIdentifier": "t_rational_3000000000000000_by_1", + "typeString": "int_const 3000000000000000" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 11985, + "nodeType": "Block", + "src": "440:135:47", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 11969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 11967, + "name": "totalSupply_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26194, + "src": "446:12:47", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11968, + "name": "INITIAL_SUPPLY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11964, + "src": "461:14:47", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "446:29:47", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11970, + "nodeType": "ExpressionStatement", + "src": "446:29:47" + }, + { + "expression": { + "argumentTypes": null, + "id": 11976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 11971, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "481:8:47", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 11974, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11972, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "490:3:47", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 11973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "490:10:47", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "481:20:47", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 11975, + "name": "INITIAL_SUPPLY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11964, + "src": "504:14:47", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "481:37:47", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 11977, + "nodeType": "ExpressionStatement", + "src": "481:37:47" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 11979, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "538:3:47", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 11980, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "543:3:47", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 11981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "543:10:47", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 11982, + "name": "INITIAL_SUPPLY", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11964, + "src": "555:14:47", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 11978, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26349, + "src": "529:8:47", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 11983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "529:41:47", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 11984, + "nodeType": "EmitStatement", + "src": "524:46:47" + } + ] + }, + "documentation": "@dev Constructor that gives msg.sender all of existing tokens.", + "id": 11986, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11965, + "nodeType": "ParameterList", + "parameters": [], + "src": "430:2:47" + }, + "payable": false, + "returnParameters": { + "id": 11966, + "nodeType": "ParameterList", + "parameters": [], + "src": "440:0:47" + }, + "scope": 11987, + "src": "419:156:47", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 11988, + "src": "99:478:47" + } + ], + "src": "0:578:47" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.888Z" +} \ No newline at end of file diff --git a/build/contracts/MockDgx.json b/build/contracts/MockDgx.json new file mode 100644 index 0000000..c2b08b2 --- /dev/null +++ b/build/contracts/MockDgx.json @@ -0,0 +1,746 @@ +{ + "contractName": "MockDgx", + "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": "_totalSupply", + "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": "showDemurrageConfigs", + "outputs": [ + { + "name": "_base", + "type": "uint256" + }, + { + "name": "_rate", + "type": "uint256" + }, + { + "name": "_collector", + "type": "address" + }, + { + "name": "_no_demurrage_fee", + "type": "bool" + } + ], + "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": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "_balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + }, + { + "name": "_no_demurrage_fee", + "type": "bool" + }, + { + "name": "_no_transfer_fee", + "type": "bool" + } + ], + "name": "updateUserFeesConfigs", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "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": false, + "inputs": [ + { + "name": "_of", + "type": "address" + }, + { + "name": "_byMinutes", + "type": "uint256" + } + ], + "name": "modifyLastPaymentDate", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_receiver", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + }, + { + "name": "_data", + "type": "bytes32" + } + ], + "name": "transferAndCall", + "outputs": [ + { + "name": "_success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_for", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "mintDgxFor", + "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": "_allowance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_mockDgxStorage", + "type": "address" + }, + { + "name": "_feesAdmin", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506040516040806114b783398101806040528101908080519060200190929190805190602001909291905050508181816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050506113e4806100d36000396000f3006080604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100d5578063095ea7b31461016557806318160ddd146101ca57806323b872dd146101f5578063293f9a9c1461027a578063313ce567146102ea57806370a082311461031b5780638583e8231461037257806395d89b41146103e5578063a9059cbb14610475578063b59a7796146104da578063b9570c011461053f578063bb2e807a146105b2578063dd62ed3e14610617575b600080fd5b3480156100e157600080fd5b506100ea61068e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012a57808201518184015260208101905061010f565b50505050905090810190601f1680156101575780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017157600080fd5b506101b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106c7565b604051808215151515815260200191505060405180910390f35b3480156101d657600080fd5b506101df610804565b6040518082815260200191505060405180910390f35b34801561020157600080fd5b50610260600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108cb565b604051808215151515815260200191505060405180910390f35b34801561028657600080fd5b5061028f610a4a565b604051808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200194505050505060405180910390f35b3480156102f657600080fd5b506102ff610b44565b604051808260ff1660ff16815260200191505060405180910390f35b34801561032757600080fd5b5061035c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b49565b6040518082815260200191505060405180910390f35b34801561037e57600080fd5b506103cb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190803515159060200190929190505050610c49565b604051808215151515815260200191505060405180910390f35b3480156103f157600080fd5b506103fa610dbf565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561043a57808201518184015260208101905061041f565b50505050905090810190601f1680156104675780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561048157600080fd5b506104c0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610df8565b604051808215151515815260200191505060405180910390f35b3480156104e657600080fd5b50610525600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f61565b604051808215151515815260200191505060405180910390f35b34801561054b57600080fd5b50610598600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803560001916906020019092919050505061106a565b604051808215151515815260200191505060405180910390f35b3480156105be57600080fd5b506105fd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061117a565b604051808215151515815260200191505060405180910390f35b34801561062357600080fd5b50610678600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611283565b6040518082815260200191505060405180910390f35b6040805190810160405280601681526020017f44756d6d7920446967697820476f6c6420546f6b656e0000000000000000000081525081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663779b742c3385856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156107c157600080fd5b505af11580156107d5573d6000803e3d6000fd5b505050506040513d60208110156107eb57600080fd5b8101908080519060200190929190505050905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166357e7946f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561088b57600080fd5b505af115801561089f573d6000803e3d6000fd5b505050506040513d60208110156108b557600080fd5b8101908080519060200190929190505050905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166392846ab68585338660016040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018215151515815260200195505050505050602060405180830381600087803b158015610a0657600080fd5b505af1158015610a1a573d6000803e3d6000fd5b505050506040513d6020811015610a3057600080fd5b810190808051906020019092919050505090509392505050565b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663493f8d306040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401608060405180830381600087803b158015610ad557600080fd5b505af1158015610ae9573d6000803e3d6000fd5b505050506040513d6080811015610aff57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050508094508195508296508397505050505090919293565b600981565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166376cab952836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610c0757600080fd5b505af1158015610c1b573d6000803e3d6000fd5b505050506040513d6020811015610c3157600080fd5b81019080805190602001909291905050509050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ca757600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630ca9f65c8585856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183151515158152602001821515151581526020019350505050602060405180830381600087803b158015610d7b57600080fd5b505af1158015610d8f573d6000803e3d6000fd5b505050506040513d6020811015610da557600080fd5b810190808051906020019092919050505090509392505050565b6040805190810160405280600881526020017f44756d6d7944475800000000000000000000000000000000000000000000000081525081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166392846ab6338560008660006040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018215151515815260200195505050505050602060405180830381600087803b158015610f1e57600080fd5b505af1158015610f32573d6000803e3d6000fd5b505050506040513d6020811015610f4857600080fd5b8101908080519060200190929190505050905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635722b67f84846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561102757600080fd5b505af115801561103b573d6000803e3d6000fd5b505050506040513d602081101561105157600080fd5b8101908080519060200190929190505050905092915050565b60006110768484610df8565b508373ffffffffffffffffffffffffffffffffffffffff16638397cc943385856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182600019166000191681526020019350505050602060405180830381600087803b15801561112a57600080fd5b505af115801561113e573d6000803e3d6000fd5b505050506040513d602081101561115457600080fd5b8101908080519060200190929190505050905080151561117357600080fd5b9392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1ed956b84846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561124057600080fd5b505af1158015611254573d6000803e3d6000fd5b505050506040513d602081101561126a57600080fd5b8101908080519060200190929190505050905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d28b43f484846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b505050506040513d602081101561139f57600080fd5b81019080805190602001909291905050509050929150505600a165627a7a72305820bb197b88a38c91b04295f7c8e8780b0a15c7f78b846a01fadab6015da1320c020029", + "deployedBytecode": "0x6080604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100d5578063095ea7b31461016557806318160ddd146101ca57806323b872dd146101f5578063293f9a9c1461027a578063313ce567146102ea57806370a082311461031b5780638583e8231461037257806395d89b41146103e5578063a9059cbb14610475578063b59a7796146104da578063b9570c011461053f578063bb2e807a146105b2578063dd62ed3e14610617575b600080fd5b3480156100e157600080fd5b506100ea61068e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561012a57808201518184015260208101905061010f565b50505050905090810190601f1680156101575780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017157600080fd5b506101b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106c7565b604051808215151515815260200191505060405180910390f35b3480156101d657600080fd5b506101df610804565b6040518082815260200191505060405180910390f35b34801561020157600080fd5b50610260600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108cb565b604051808215151515815260200191505060405180910390f35b34801561028657600080fd5b5061028f610a4a565b604051808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200194505050505060405180910390f35b3480156102f657600080fd5b506102ff610b44565b604051808260ff1660ff16815260200191505060405180910390f35b34801561032757600080fd5b5061035c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b49565b6040518082815260200191505060405180910390f35b34801561037e57600080fd5b506103cb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190803515159060200190929190505050610c49565b604051808215151515815260200191505060405180910390f35b3480156103f157600080fd5b506103fa610dbf565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561043a57808201518184015260208101905061041f565b50505050905090810190601f1680156104675780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561048157600080fd5b506104c0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610df8565b604051808215151515815260200191505060405180910390f35b3480156104e657600080fd5b50610525600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f61565b604051808215151515815260200191505060405180910390f35b34801561054b57600080fd5b50610598600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803560001916906020019092919050505061106a565b604051808215151515815260200191505060405180910390f35b3480156105be57600080fd5b506105fd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061117a565b604051808215151515815260200191505060405180910390f35b34801561062357600080fd5b50610678600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611283565b6040518082815260200191505060405180910390f35b6040805190810160405280601681526020017f44756d6d7920446967697820476f6c6420546f6b656e0000000000000000000081525081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663779b742c3385856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156107c157600080fd5b505af11580156107d5573d6000803e3d6000fd5b505050506040513d60208110156107eb57600080fd5b8101908080519060200190929190505050905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166357e7946f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561088b57600080fd5b505af115801561089f573d6000803e3d6000fd5b505050506040513d60208110156108b557600080fd5b8101908080519060200190929190505050905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166392846ab68585338660016040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018215151515815260200195505050505050602060405180830381600087803b158015610a0657600080fd5b505af1158015610a1a573d6000803e3d6000fd5b505050506040513d6020811015610a3057600080fd5b810190808051906020019092919050505090509392505050565b6000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663493f8d306040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401608060405180830381600087803b158015610ad557600080fd5b505af1158015610ae9573d6000803e3d6000fd5b505050506040513d6080811015610aff57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291905050508094508195508296508397505050505090919293565b600981565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166376cab952836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610c0757600080fd5b505af1158015610c1b573d6000803e3d6000fd5b505050506040513d6020811015610c3157600080fd5b81019080805190602001909291905050509050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ca757600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630ca9f65c8585856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183151515158152602001821515151581526020019350505050602060405180830381600087803b158015610d7b57600080fd5b505af1158015610d8f573d6000803e3d6000fd5b505050506040513d6020811015610da557600080fd5b810190808051906020019092919050505090509392505050565b6040805190810160405280600881526020017f44756d6d7944475800000000000000000000000000000000000000000000000081525081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166392846ab6338560008660006040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018215151515815260200195505050505050602060405180830381600087803b158015610f1e57600080fd5b505af1158015610f32573d6000803e3d6000fd5b505050506040513d6020811015610f4857600080fd5b8101908080519060200190929190505050905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635722b67f84846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561102757600080fd5b505af115801561103b573d6000803e3d6000fd5b505050506040513d602081101561105157600080fd5b8101908080519060200190929190505050905092915050565b60006110768484610df8565b508373ffffffffffffffffffffffffffffffffffffffff16638397cc943385856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182600019166000191681526020019350505050602060405180830381600087803b15801561112a57600080fd5b505af115801561113e573d6000803e3d6000fd5b505050506040513d602081101561115457600080fd5b8101908080519060200190929190505050905080151561117357600080fd5b9392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1ed956b84846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561124057600080fd5b505af1158015611254573d6000803e3d6000fd5b505050506040513d602081101561126a57600080fd5b8101908080519060200190929190505050905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d28b43f484846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b505050506040513d602081101561139f57600080fd5b81019080805190602001909291905050509050929150505600a165627a7a72305820bb197b88a38c91b04295f7c8e8780b0a15c7f78b846a01fadab6015da1320c020029", + "sourceMap": "85:142:48:-;;;118:107;8:9:-1;5:2;;;30:1;27;20:12;5:2;118:107:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;191:15;208:10;378:16:69;356:19;;:38;;;;;;;;;;;;;;;;;;413:10;400;;:23;;;;;;;;;;;;;;;;;;279:149;;118:107:48;;85:142;;;;;;", + "deployedSourceMap": "85:142:48:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;136:54:69;;8:9:-1;5:2;;;30:1;27;20:12;5:2;136:54:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;136:54:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1586:192;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1586:192:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;512:166;;8:9:-1;5:2;;;30:1;27;20:12;5:2;512:166:69;;;;;;;;;;;;;;;;;;;;;;;1068:232;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1068:232:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2316:305;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2316:305:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;240:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;240:34:69;;;;;;;;;;;;;;;;;;;;;;;;;;;682:182;;8:9:-1;5:2;;;30:1;27;20:12;5:2;682:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1991:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1991:321:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;194:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;194:42:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;194:42:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;868:196;;8:9:-1;5:2;;;30:1;27;20:12;5:2;868:196:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3142:205;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3142:205:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1304:278;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1304:278:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2830:178;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2830:178:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1782:205;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1782:205:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;136:54;;;;;;;;;;;;;;;;;;;;:::o;1586:192::-;1661:13;1711:19;;;;;;;;;;;1695:48;;;1744:10;1756:8;1766:6;1695:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1695:78:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1695:78:69;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1695:78:69;;;;;;;;;;;;;;;;1684:89;;1586:192;;;;:::o;512:166::-;572:20;633:19;;;;;;;;;;;617:54;;;:56;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;617:56:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;617:56:69;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;617:56:69;;;;;;;;;;;;;;;;602:71;;512:166;:::o;1068:232::-;1174:13;1224:19;;;;;;;;;;;1208:49;;;1258:5;1265:3;1270:10;1282:6;1290:4;1208:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1208:87:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1208:87:69;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1208:87:69;;;;;;;;;;;;;;;;1197:98;;1068:232;;;;;:::o;2316:305::-;2392:13;2413;2434:18;2460:22;2561:19;;;;;;;;;;;2545:69;;;:71;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2545:71:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2545:71:69;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2545:71:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2497:119;;;;;;;;;;;;;;;;2316:305;;;;:::o;240:34::-;273:1;240:34;:::o;682:182::-;754:16;807:19;;;;;;;;;;;791:60;;;852:6;791:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;791:68:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;791:68:69;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;791:68:69;;;;;;;;;;;;;;;;780:79;;682:182;;;:::o;1991:321::-;2144:13;485:10;;;;;;;;;;;471:24;;:10;:24;;;463:33;;;;;;;;2194:19;;;;;;;;;;;2178:61;;;2247:5;2260:17;2285:16;2178:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2178:129:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2178:129:69;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2178:129:69;;;;;;;;;;;;;;;;2167:140;;1991:321;;;;;:::o;194:42::-;;;;;;;;;;;;;;;;;;;;:::o;868:196::-;939:13;989:19;;;;;;;;;;;973:49;;;1023:10;1035:3;1040;1045:6;1053:5;973:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;973:86:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;973:86:69;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;973:86:69;;;;;;;;;;;;;;;;962:97;;868:196;;;;:::o;3142:205::-;3230:13;3280:19;;;;;;;;;;;3264:61;;;3326:3;3331:10;3264:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3264:78:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3264:78:69;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3264:78:69;;;;;;;;;;;;;;;;3253:89;;3142:205;;;;:::o;1304:278::-;1420:13;1443:28;1452:9;1463:7;1443:8;:28::i;:::-;;1502:9;1488:38;;;1527:10;1539:7;1548:5;1488:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1488:66:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1488:66:69;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1488:66:69;;;;;;;;;;;;;;;;1477:77;;1568:8;1560:17;;;;;;;;1304:278;;;;;:::o;2830:178::-;2905:13;2955:19;;;;;;;;;;;2939:49;;;2989:4;2995:7;2939:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2939:64:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2939:64:69;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2939:64:69;;;;;;;;;;;;;;;;2928:75;;2830:178;;;;:::o;1782:205::-;1872:18;1929:19;;;;;;;;;;;1913:51;;;1965:6;1973:8;1913:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1913:69:69;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1913:69:69;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1913:69:69;;;;;;;;;;;;;;;;1900:82;;1782:205;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"@digix/lite-dgx-contract/contracts/DummyDGX.sol\";\n\ncontract MockDgx is DummyDGX {\n constructor(address _mockDgxStorage, address _feesAdmin) public DummyDGX(_mockDgxStorage, _feesAdmin) {\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/mock/tokens/MockDgx.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/tokens/MockDgx.sol", + "exportedSymbols": { + "MockDgx": [ + 12005 + ] + }, + "id": 12006, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 11989, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:48" + }, + { + "absolutePath": "@digix/lite-dgx-contract/contracts/DummyDGX.sol", + "file": "@digix/lite-dgx-contract/contracts/DummyDGX.sol", + "id": 11990, + "nodeType": "ImportDirective", + "scope": 12006, + "sourceUnit": 20041, + "src": "26:57:48", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 11991, + "name": "DummyDGX", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 20040, + "src": "105:8:48", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGX_$20040", + "typeString": "contract DummyDGX" + } + }, + "id": 11992, + "nodeType": "InheritanceSpecifier", + "src": "105:8:48" + } + ], + "contractDependencies": [ + 20040 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 12005, + "linearizedBaseContracts": [ + 12005, + 20040 + ], + "name": "MockDgx", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 12003, + "nodeType": "Block", + "src": "220:5:48", + "statements": [] + }, + "documentation": null, + "id": 12004, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 11999, + "name": "_mockDgxStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11994, + "src": "191:15:48", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 12000, + "name": "_feesAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11996, + "src": "208:10:48", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 12001, + "modifierName": { + "argumentTypes": null, + "id": 11998, + "name": "DummyDGX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20040, + "src": "182:8:48", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGX_$20040_$", + "typeString": "type(contract DummyDGX)" + } + }, + "nodeType": "ModifierInvocation", + "src": "182:37:48" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11997, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11994, + "name": "_mockDgxStorage", + "nodeType": "VariableDeclaration", + "scope": 12004, + "src": "130:23:48", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11993, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "130:7:48", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11996, + "name": "_feesAdmin", + "nodeType": "VariableDeclaration", + "scope": 12004, + "src": "155:18:48", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11995, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "155:7:48", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "129:45:48" + }, + "payable": false, + "returnParameters": { + "id": 12002, + "nodeType": "ParameterList", + "parameters": [], + "src": "220:0:48" + }, + "scope": 12005, + "src": "118:107:48", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 12006, + "src": "85:142:48" + } + ], + "src": "0:228:48" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/tokens/MockDgx.sol", + "exportedSymbols": { + "MockDgx": [ + 12005 + ] + }, + "id": 12006, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 11989, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:48" + }, + { + "absolutePath": "@digix/lite-dgx-contract/contracts/DummyDGX.sol", + "file": "@digix/lite-dgx-contract/contracts/DummyDGX.sol", + "id": 11990, + "nodeType": "ImportDirective", + "scope": 12006, + "sourceUnit": 20041, + "src": "26:57:48", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 11991, + "name": "DummyDGX", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 20040, + "src": "105:8:48", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGX_$20040", + "typeString": "contract DummyDGX" + } + }, + "id": 11992, + "nodeType": "InheritanceSpecifier", + "src": "105:8:48" + } + ], + "contractDependencies": [ + 20040 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 12005, + "linearizedBaseContracts": [ + 12005, + 20040 + ], + "name": "MockDgx", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 12003, + "nodeType": "Block", + "src": "220:5:48", + "statements": [] + }, + "documentation": null, + "id": 12004, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 11999, + "name": "_mockDgxStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11994, + "src": "191:15:48", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 12000, + "name": "_feesAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 11996, + "src": "208:10:48", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 12001, + "modifierName": { + "argumentTypes": null, + "id": 11998, + "name": "DummyDGX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20040, + "src": "182:8:48", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGX_$20040_$", + "typeString": "type(contract DummyDGX)" + } + }, + "nodeType": "ModifierInvocation", + "src": "182:37:48" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 11997, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 11994, + "name": "_mockDgxStorage", + "nodeType": "VariableDeclaration", + "scope": 12004, + "src": "130:23:48", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11993, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "130:7:48", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11996, + "name": "_feesAdmin", + "nodeType": "VariableDeclaration", + "scope": 12004, + "src": "155:18:48", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11995, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "155:7:48", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "129:45:48" + }, + "payable": false, + "returnParameters": { + "id": 12002, + "nodeType": "ParameterList", + "parameters": [], + "src": "220:0:48" + }, + "scope": 12005, + "src": "118:107:48", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 12006, + "src": "85:142:48" + } + ], + "src": "0:228:48" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.888Z" +} \ No newline at end of file diff --git a/build/contracts/MockDgxDemurrageCalculator.json b/build/contracts/MockDgxDemurrageCalculator.json new file mode 100644 index 0000000..ce239ee --- /dev/null +++ b/build/contracts/MockDgxDemurrageCalculator.json @@ -0,0 +1,1754 @@ +{ + "contractName": "MockDgxDemurrageCalculator", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "TOKEN_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_token_address", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "constant": true, + "inputs": [ + { + "name": "_initial_balance", + "type": "uint256" + }, + { + "name": "_days_elapsed", + "type": "uint256" + } + ], + "name": "calculateDemurrage", + "outputs": [ + { + "name": "_demurrage_fees", + "type": "uint256" + }, + { + "name": "_no_demurrage_fees", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506040516020806102ee83398101806040528101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061026b806100836000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630bdf530014610051578063120c52ef146100a8575b600080fd5b34801561005d57600080fd5b506100666100fe565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100b457600080fd5b506100dd6004803603810190808035906020019092919080359060200190929190505050610123565b60405180838152602001821515151581526020019250505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600080610131610216565b73ffffffffffffffffffffffffffffffffffffffff1663293f9a9c6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401608060405180830381600087803b15801561019457600080fd5b505af11580156101a8573d6000803e3d6000fd5b505050506040513d60808110156101be57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050905080955081935082945050505081818688020281151561020a57fe5b04935050509250929050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050905600a165627a7a72305820b5f517e1b5e55f515e1632b4a2f626a12a0ecb20726d29370d37cf0944dfa1600029", + "deployedBytecode": "0x60806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630bdf530014610051578063120c52ef146100a8575b600080fd5b34801561005d57600080fd5b506100666100fe565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100b457600080fd5b506100dd6004803603810190808035906020019092919080359060200190929190505050610123565b60405180838152602001821515151581526020019250505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600080610131610216565b73ffffffffffffffffffffffffffffffffffffffff1663293f9a9c6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401608060405180830381600087803b15801561019457600080fd5b505af11580156101a8573d6000803e3d6000fd5b505050506040513d60808110156101be57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050905080955081935082945050505081818688020281151561020a57fe5b04935050509250929050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050905600a165627a7a72305820b5f517e1b5e55f515e1632b4a2f626a12a0ecb20726d29370d37cf0944dfa1600029", + "sourceMap": "337:671:27:-;;;526:90;8:9:-1;5:2;;;30:1;27;20:12;5:2;526:90:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;595:14;579:13;;:30;;;;;;;;;;;;;;;;;;526:90;337:671;;;;;;", + "deployedSourceMap": "337:671:27:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;379:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;379:28:27;;;;;;;;;;;;;;;;;;;;;;;;;;;622:384;;8:9:-1;5:2;;;30:1;27;20:12;5:2;622:384:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;379:28;;;;;;;;;;;;;:::o;622:384::-;744:23;769;808:13;831;891:7;:5;:7::i;:::-;:28;;;:30;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;891:30:27;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;891:30:27;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;891:30:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;854:67;;;;;;;;;;;;;;994:5;985;969:13;950:16;:32;:40;949:50;;;;;;;;931:68;;622:384;;;;;;;:::o;414:106::-;454:15;499:13;;;;;;;;;;;481:32;;414:106;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"@digix/lite-dgx-contract/contracts/DummyDGX.sol\";\n\n/// @title Digix Gold Token Demurrage Calculator\n/// @author Digix Holdings Pte Ltd\n/// @notice This contract is meant to be used by exchanges/other parties who want to calculate the DGX demurrage fees, provided an initial balance and the days elapsed\ncontract MockDgxDemurrageCalculator {\n address public TOKEN_ADDRESS;\n\n function token() internal view returns (DummyDGX _token) {\n _token = DummyDGX(TOKEN_ADDRESS);\n }\n\n constructor(address _token_address) public {\n TOKEN_ADDRESS = _token_address;\n }\n\n function calculateDemurrage(uint256 _initial_balance, uint256 _days_elapsed)\n public\n view\n returns (uint256 _demurrage_fees, bool _no_demurrage_fees)\n {\n uint256 _base;\n uint256 _rate;\n (_base, _rate,,_no_demurrage_fees) = token().showDemurrageConfigs();\n _demurrage_fees = (_initial_balance * _days_elapsed * _rate) / _base;\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/mock/MockDgxDemurrageCalculator.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/MockDgxDemurrageCalculator.sol", + "exportedSymbols": { + "MockDgxDemurrageCalculator": [ + 8869 + ] + }, + "id": 8870, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 8804, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:27" + }, + { + "absolutePath": "@digix/lite-dgx-contract/contracts/DummyDGX.sol", + "file": "@digix/lite-dgx-contract/contracts/DummyDGX.sol", + "id": 8805, + "nodeType": "ImportDirective", + "scope": 8870, + "sourceUnit": 20041, + "src": "26:57:27", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Digix Gold Token Demurrage Calculator\n @author Digix Holdings Pte Ltd\n @notice This contract is meant to be used by exchanges/other parties who want to calculate the DGX demurrage fees, provided an initial balance and the days elapsed", + "fullyImplemented": true, + "id": 8869, + "linearizedBaseContracts": [ + 8869 + ], + "name": "MockDgxDemurrageCalculator", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 8807, + "name": "TOKEN_ADDRESS", + "nodeType": "VariableDeclaration", + "scope": 8869, + "src": "379:28:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8806, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "379:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 8818, + "nodeType": "Block", + "src": "471:49:27", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8812, + "name": "_token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8810, + "src": "481:6:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGX_$20040", + "typeString": "contract DummyDGX" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 8814, + "name": "TOKEN_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8807, + "src": "499:13:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 8813, + "name": "DummyDGX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20040, + "src": "490:8:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGX_$20040_$", + "typeString": "type(contract DummyDGX)" + } + }, + "id": 8815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "490:23:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGX_$20040", + "typeString": "contract DummyDGX" + } + }, + "src": "481:32:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGX_$20040", + "typeString": "contract DummyDGX" + } + }, + "id": 8817, + "nodeType": "ExpressionStatement", + "src": "481:32:27" + } + ] + }, + "documentation": null, + "id": 8819, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "token", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8808, + "nodeType": "ParameterList", + "parameters": [], + "src": "428:2:27" + }, + "payable": false, + "returnParameters": { + "id": 8811, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8810, + "name": "_token", + "nodeType": "VariableDeclaration", + "scope": 8819, + "src": "454:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGX_$20040", + "typeString": "contract DummyDGX" + }, + "typeName": { + "contractScope": null, + "id": 8809, + "name": "DummyDGX", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 20040, + "src": "454:8:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGX_$20040", + "typeString": "contract DummyDGX" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "453:17:27" + }, + "scope": 8869, + "src": "414:106:27", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 8828, + "nodeType": "Block", + "src": "569:47:27", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8824, + "name": "TOKEN_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8807, + "src": "579:13:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8825, + "name": "_token_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8821, + "src": "595:14:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "579:30:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8827, + "nodeType": "ExpressionStatement", + "src": "579:30:27" + } + ] + }, + "documentation": null, + "id": 8829, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8822, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8821, + "name": "_token_address", + "nodeType": "VariableDeclaration", + "scope": 8829, + "src": "538:22:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8820, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "538:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "537:24:27" + }, + "payable": false, + "returnParameters": { + "id": 8823, + "nodeType": "ParameterList", + "parameters": [], + "src": "569:0:27" + }, + "scope": 8869, + "src": "526:90:27", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 8867, + "nodeType": "Block", + "src": "798:208:27", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 8841, + "name": "_base", + "nodeType": "VariableDeclaration", + "scope": 8868, + "src": "808:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8840, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "808:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8842, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "808:13:27" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 8844, + "name": "_rate", + "nodeType": "VariableDeclaration", + "scope": 8868, + "src": "831:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8843, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "831:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8845, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "831:13:27" + }, + { + "expression": { + "argumentTypes": null, + "id": 8854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 8846, + "name": "_base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8841, + "src": "855:5:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 8847, + "name": "_rate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8844, + "src": "862:5:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + null, + { + "argumentTypes": null, + "id": 8848, + "name": "_no_demurrage_fees", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8838, + "src": "869:18:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 8849, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "854:34:27", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$__$_t_bool_$", + "typeString": "tuple(uint256,uint256,,bool)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 8850, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8819, + "src": "891:5:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DummyDGX_$20040_$", + "typeString": "function () view returns (contract DummyDGX)" + } + }, + "id": 8851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "891:7:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGX_$20040", + "typeString": "contract DummyDGX" + } + }, + "id": 8852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "showDemurrageConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 19999, + "src": "891:28:27", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$_t_uint256_$_t_address_$_t_bool_$", + "typeString": "function () view external returns (uint256,uint256,address,bool)" + } + }, + "id": 8853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "891:30:27", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_address_$_t_bool_$", + "typeString": "tuple(uint256,uint256,address,bool)" + } + }, + "src": "854:67:27", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8855, + "nodeType": "ExpressionStatement", + "src": "854:67:27" + }, + { + "expression": { + "argumentTypes": null, + "id": 8865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8856, + "name": "_demurrage_fees", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8836, + "src": "931:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8857, + "name": "_initial_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8831, + "src": "950:16:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 8858, + "name": "_days_elapsed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8833, + "src": "969:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "950:32:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 8860, + "name": "_rate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8844, + "src": "985:5:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "950:40:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 8862, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "949:42:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 8863, + "name": "_base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8841, + "src": "994:5:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "949:50:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "931:68:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8866, + "nodeType": "ExpressionStatement", + "src": "931:68:27" + } + ] + }, + "documentation": null, + "id": 8868, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "calculateDemurrage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8834, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8831, + "name": "_initial_balance", + "nodeType": "VariableDeclaration", + "scope": 8868, + "src": "650:24:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8830, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "650:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8833, + "name": "_days_elapsed", + "nodeType": "VariableDeclaration", + "scope": 8868, + "src": "676:21:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8832, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "676:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "649:49:27" + }, + "payable": false, + "returnParameters": { + "id": 8839, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8836, + "name": "_demurrage_fees", + "nodeType": "VariableDeclaration", + "scope": 8868, + "src": "744:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8835, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "744:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8838, + "name": "_no_demurrage_fees", + "nodeType": "VariableDeclaration", + "scope": 8868, + "src": "769:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8837, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "769:4:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "743:50:27" + }, + "scope": 8869, + "src": "622:384:27", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 8870, + "src": "337:671:27" + } + ], + "src": "0:1009:27" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/MockDgxDemurrageCalculator.sol", + "exportedSymbols": { + "MockDgxDemurrageCalculator": [ + 8869 + ] + }, + "id": 8870, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 8804, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:27" + }, + { + "absolutePath": "@digix/lite-dgx-contract/contracts/DummyDGX.sol", + "file": "@digix/lite-dgx-contract/contracts/DummyDGX.sol", + "id": 8805, + "nodeType": "ImportDirective", + "scope": 8870, + "sourceUnit": 20041, + "src": "26:57:27", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Digix Gold Token Demurrage Calculator\n @author Digix Holdings Pte Ltd\n @notice This contract is meant to be used by exchanges/other parties who want to calculate the DGX demurrage fees, provided an initial balance and the days elapsed", + "fullyImplemented": true, + "id": 8869, + "linearizedBaseContracts": [ + 8869 + ], + "name": "MockDgxDemurrageCalculator", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 8807, + "name": "TOKEN_ADDRESS", + "nodeType": "VariableDeclaration", + "scope": 8869, + "src": "379:28:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8806, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "379:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 8818, + "nodeType": "Block", + "src": "471:49:27", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8812, + "name": "_token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8810, + "src": "481:6:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGX_$20040", + "typeString": "contract DummyDGX" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 8814, + "name": "TOKEN_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8807, + "src": "499:13:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 8813, + "name": "DummyDGX", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20040, + "src": "490:8:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DummyDGX_$20040_$", + "typeString": "type(contract DummyDGX)" + } + }, + "id": 8815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "490:23:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGX_$20040", + "typeString": "contract DummyDGX" + } + }, + "src": "481:32:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGX_$20040", + "typeString": "contract DummyDGX" + } + }, + "id": 8817, + "nodeType": "ExpressionStatement", + "src": "481:32:27" + } + ] + }, + "documentation": null, + "id": 8819, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "token", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8808, + "nodeType": "ParameterList", + "parameters": [], + "src": "428:2:27" + }, + "payable": false, + "returnParameters": { + "id": 8811, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8810, + "name": "_token", + "nodeType": "VariableDeclaration", + "scope": 8819, + "src": "454:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGX_$20040", + "typeString": "contract DummyDGX" + }, + "typeName": { + "contractScope": null, + "id": 8809, + "name": "DummyDGX", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 20040, + "src": "454:8:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGX_$20040", + "typeString": "contract DummyDGX" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "453:17:27" + }, + "scope": 8869, + "src": "414:106:27", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 8828, + "nodeType": "Block", + "src": "569:47:27", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 8826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8824, + "name": "TOKEN_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8807, + "src": "579:13:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 8825, + "name": "_token_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8821, + "src": "595:14:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "579:30:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 8827, + "nodeType": "ExpressionStatement", + "src": "579:30:27" + } + ] + }, + "documentation": null, + "id": 8829, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8822, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8821, + "name": "_token_address", + "nodeType": "VariableDeclaration", + "scope": 8829, + "src": "538:22:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8820, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "538:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "537:24:27" + }, + "payable": false, + "returnParameters": { + "id": 8823, + "nodeType": "ParameterList", + "parameters": [], + "src": "569:0:27" + }, + "scope": 8869, + "src": "526:90:27", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 8867, + "nodeType": "Block", + "src": "798:208:27", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 8841, + "name": "_base", + "nodeType": "VariableDeclaration", + "scope": 8868, + "src": "808:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8840, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "808:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8842, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "808:13:27" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 8844, + "name": "_rate", + "nodeType": "VariableDeclaration", + "scope": 8868, + "src": "831:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8843, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "831:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 8845, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "831:13:27" + }, + { + "expression": { + "argumentTypes": null, + "id": 8854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 8846, + "name": "_base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8841, + "src": "855:5:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 8847, + "name": "_rate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8844, + "src": "862:5:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + null, + { + "argumentTypes": null, + "id": 8848, + "name": "_no_demurrage_fees", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8838, + "src": "869:18:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 8849, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "854:34:27", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$__$_t_bool_$", + "typeString": "tuple(uint256,uint256,,bool)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 8850, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8819, + "src": "891:5:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_contract$_DummyDGX_$20040_$", + "typeString": "function () view returns (contract DummyDGX)" + } + }, + "id": 8851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "891:7:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DummyDGX_$20040", + "typeString": "contract DummyDGX" + } + }, + "id": 8852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "showDemurrageConfigs", + "nodeType": "MemberAccess", + "referencedDeclaration": 19999, + "src": "891:28:27", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$_t_uint256_$_t_address_$_t_bool_$", + "typeString": "function () view external returns (uint256,uint256,address,bool)" + } + }, + "id": 8853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "891:30:27", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_address_$_t_bool_$", + "typeString": "tuple(uint256,uint256,address,bool)" + } + }, + "src": "854:67:27", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8855, + "nodeType": "ExpressionStatement", + "src": "854:67:27" + }, + { + "expression": { + "argumentTypes": null, + "id": 8865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 8856, + "name": "_demurrage_fees", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8836, + "src": "931:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 8859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 8857, + "name": "_initial_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8831, + "src": "950:16:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 8858, + "name": "_days_elapsed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8833, + "src": "969:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "950:32:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 8860, + "name": "_rate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8844, + "src": "985:5:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "950:40:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 8862, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "949:42:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 8863, + "name": "_base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8841, + "src": "994:5:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "949:50:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "931:68:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 8866, + "nodeType": "ExpressionStatement", + "src": "931:68:27" + } + ] + }, + "documentation": null, + "id": 8868, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "calculateDemurrage", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8834, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8831, + "name": "_initial_balance", + "nodeType": "VariableDeclaration", + "scope": 8868, + "src": "650:24:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8830, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "650:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8833, + "name": "_days_elapsed", + "nodeType": "VariableDeclaration", + "scope": 8868, + "src": "676:21:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8832, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "676:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "649:49:27" + }, + "payable": false, + "returnParameters": { + "id": 8839, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8836, + "name": "_demurrage_fees", + "nodeType": "VariableDeclaration", + "scope": 8868, + "src": "744:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8835, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "744:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 8838, + "name": "_no_demurrage_fees", + "nodeType": "VariableDeclaration", + "scope": 8868, + "src": "769:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8837, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "769:4:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "743:50:27" + }, + "scope": 8869, + "src": "622:384:27", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 8870, + "src": "337:671:27" + } + ], + "src": "0:1009:27" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.861Z" +} \ No newline at end of file diff --git a/build/contracts/MockDgxDemurrageReporter.json b/build/contracts/MockDgxDemurrageReporter.json new file mode 100644 index 0000000..9fe750a --- /dev/null +++ b/build/contracts/MockDgxDemurrageReporter.json @@ -0,0 +1,4537 @@ +{ + "contractName": "MockDgxDemurrageReporter", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "TOKEN_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_initial_balance", + "type": "uint256" + }, + { + "name": "_days_elapsed", + "type": "uint256" + } + ], + "name": "calculateDemurrage", + "outputs": [ + { + "name": "_demurrage_fees", + "type": "uint256" + }, + { + "name": "_no_demurrage_fees", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "last_demurrageable_balance", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "culmulative_demurrage_collected", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "start_of_report_period", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "last_payment_timestamp", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "exempted_accounts", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "pendingOwner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "name": "_token_address", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + } + ], + "name": "OwnershipRenounced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_account", + "type": "address" + } + ], + "name": "addExemptedAccount", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "updateDemurrageReporter", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_new_last_payment_timestamp", + "type": "uint256" + } + ], + "name": "changeLastPaymentTimestamp", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x60806040523480156200001157600080fd5b50604051602080620014d88339810180604052810190808051906020019092919050505080806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504260078190555042600581905550620000df620000e6640100000000026401000000009004565b50620005f3565b620000f06200059c565b60008060055483600001516000018181525050620001296201518084620002676401000000000262000b8d179091906401000000009004565b92506200014462000315640100000000026401000000009004565b73ffffffffffffffffffffffffffffffffffffffff1663293f9a9c6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401608060405180830381600087803b158015620001a857600080fd5b505af1158015620001bd573d6000803e3d6000fd5b505050506040513d6080811015620001d457600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919050505090505080925081935050508181600454856020015102028115156200022457fe5b046006600082825401925050819055508260000151602001516005819055506200025c6200033e640100000000026401000000009004565b600481905550505050565b620002716200059c565b60008084925084600001516000015142101515156200028f57600080fd5b846000015160000151420391508382811515620002a857fe5b04836020018181525050838360200151029050600083602001511415620002e557846000015160000151836000015160200181815250506200030d565b620003048360000151826200055f640100000000026401000000009004565b83600001819052505b505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000806000806200035d62000315640100000000026401000000009004565b73ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015620003c157600080fd5b505af1158015620003d6573d6000803e3d6000fd5b505050506040513d6020811015620003ed57600080fd5b8101908080519060200190929190505050925060009150600090505b60038054905081101562000554576200043062000315640100000000026401000000009004565b73ffffffffffffffffffffffffffffffffffffffff166370a082316003838154811015156200045b57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156200050557600080fd5b505af11580156200051a573d6000803e3d6000fd5b505050506040513d60208110156200053157600080fd5b810190808051906020019092919050505082019150808060010191505062000409565b818303935050505090565b62000569620005bf565b826000015182846000015101101515156200058357600080fd5b8290508183600001510181602001818152505092915050565b606060405190810160405280620005b2620005d9565b8152602001600081525090565b604080519081016040528060008152602001600081525090565b604080519081016040528060008152602001600081525090565b610ed580620006036000396000f3006080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630bdf5300146100e0578063120c52ef1461013757806329781ec81461018d57806345278394146101d05780634e71e0c8146101e757806359ceb36f146101fe578063715018a61461022957806371a17521146102405780637fe275d41461026d5780638da5cb5b146102985780639634ef56146102ef578063c90796731461031a578063dcf53e0b14610345578063e30c3978146103b2578063f2fde38b14610409575b600080fd5b3480156100ec57600080fd5b506100f561044c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014357600080fd5b5061016c6004803603810190808035906020019092919080359060200190929190505050610471565b60405180838152602001821515151581526020019250505060405180910390f35b34801561019957600080fd5b506101ce600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610564565b005b3480156101dc57600080fd5b506101e5610629565b005b3480156101f357600080fd5b506101fc610772565b005b34801561020a57600080fd5b50610213610913565b6040518082815260200191505060405180910390f35b34801561023557600080fd5b5061023e610919565b005b34801561024c57600080fd5b5061026b60048036038101908080359060200190929190505050610a1e565b005b34801561027957600080fd5b50610282610a28565b6040518082815260200191505060405180910390f35b3480156102a457600080fd5b506102ad610a2e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102fb57600080fd5b50610304610a54565b6040518082815260200191505060405180910390f35b34801561032657600080fd5b5061032f610a5a565b6040518082815260200191505060405180910390f35b34801561035157600080fd5b5061037060048036038101908080359060200190929190505050610a60565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103be57600080fd5b506103c7610a9e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561041557600080fd5b5061044a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ac4565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008061047f610b64565b73ffffffffffffffffffffffffffffffffffffffff1663293f9a9c6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401608060405180830381600087803b1580156104e257600080fd5b505af11580156104f6573d6000803e3d6000fd5b505050506040513d608081101561050c57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050905080955081935082945050505081818688020281151561055857fe5b04935050509250929050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156105c057600080fd5b60038190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b610631610e54565b6000806005548360000151600001818152505061065a6201518084610b8d90919063ffffffff16565b9250610664610b64565b73ffffffffffffffffffffffffffffffffffffffff1663293f9a9c6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401608060405180830381600087803b1580156106c757600080fd5b505af11580156106db573d6000803e3d6000fd5b505050506040513d60808110156106f157600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050905050809250819350505081816004548560200151020281151561074057fe5b04600660008282540192505081905550826000015160200151600581905550610767610c24565b600481905550505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156107ce57600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60045481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561097557600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a26000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b8060058190555050565b60065481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b60055481565b600381815481101515610a6f57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b2057600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610b95610e54565b6000808492508460000151600001514210151515610bb257600080fd5b846000015160000151420391508382811515610bca57fe5b04836020018181525050838360200151029050600083602001511415610c055784600001516000015183600001516020018181525050610c1c565b610c13836000015182610e1a565b83600001819052505b505092915050565b600080600080610c32610b64565b73ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610c9557600080fd5b505af1158015610ca9573d6000803e3d6000fd5b505050506040513d6020811015610cbf57600080fd5b8101908080519060200190929190505050925060009150600090505b600380549050811015610e0f57610cf0610b64565b73ffffffffffffffffffffffffffffffffffffffff166370a08231600383815481101515610d1a57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610dc357600080fd5b505af1158015610dd7573d6000803e3d6000fd5b505050506040513d6020811015610ded57600080fd5b8101908080519060200190929190505050820191508080600101915050610cdb565b818303935050505090565b610e22610e75565b82600001518284600001510110151515610e3b57600080fd5b8290508183600001510181602001818152505092915050565b606060405190810160405280610e68610e8f565b8152602001600081525090565b604080519081016040528060008152602001600081525090565b6040805190810160405280600081526020016000815250905600a165627a7a723058208aa052aadeddf73094750d907489fb19084b81be38fcd203927d4cddd32687650029", + "deployedBytecode": "0x6080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630bdf5300146100e0578063120c52ef1461013757806329781ec81461018d57806345278394146101d05780634e71e0c8146101e757806359ceb36f146101fe578063715018a61461022957806371a17521146102405780637fe275d41461026d5780638da5cb5b146102985780639634ef56146102ef578063c90796731461031a578063dcf53e0b14610345578063e30c3978146103b2578063f2fde38b14610409575b600080fd5b3480156100ec57600080fd5b506100f561044c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014357600080fd5b5061016c6004803603810190808035906020019092919080359060200190929190505050610471565b60405180838152602001821515151581526020019250505060405180910390f35b34801561019957600080fd5b506101ce600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610564565b005b3480156101dc57600080fd5b506101e5610629565b005b3480156101f357600080fd5b506101fc610772565b005b34801561020a57600080fd5b50610213610913565b6040518082815260200191505060405180910390f35b34801561023557600080fd5b5061023e610919565b005b34801561024c57600080fd5b5061026b60048036038101908080359060200190929190505050610a1e565b005b34801561027957600080fd5b50610282610a28565b6040518082815260200191505060405180910390f35b3480156102a457600080fd5b506102ad610a2e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102fb57600080fd5b50610304610a54565b6040518082815260200191505060405180910390f35b34801561032657600080fd5b5061032f610a5a565b6040518082815260200191505060405180910390f35b34801561035157600080fd5b5061037060048036038101908080359060200190929190505050610a60565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103be57600080fd5b506103c7610a9e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561041557600080fd5b5061044a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ac4565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008061047f610b64565b73ffffffffffffffffffffffffffffffffffffffff1663293f9a9c6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401608060405180830381600087803b1580156104e257600080fd5b505af11580156104f6573d6000803e3d6000fd5b505050506040513d608081101561050c57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050905080955081935082945050505081818688020281151561055857fe5b04935050509250929050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156105c057600080fd5b60038190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b610631610e54565b6000806005548360000151600001818152505061065a6201518084610b8d90919063ffffffff16565b9250610664610b64565b73ffffffffffffffffffffffffffffffffffffffff1663293f9a9c6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401608060405180830381600087803b1580156106c757600080fd5b505af11580156106db573d6000803e3d6000fd5b505050506040513d60808110156106f157600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190505050905050809250819350505081816004548560200151020281151561074057fe5b04600660008282540192505081905550826000015160200151600581905550610767610c24565b600481905550505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156107ce57600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60045481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561097557600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a26000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b8060058190555050565b60065481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b60055481565b600381815481101515610a6f57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b2057600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610b95610e54565b6000808492508460000151600001514210151515610bb257600080fd5b846000015160000151420391508382811515610bca57fe5b04836020018181525050838360200151029050600083602001511415610c055784600001516000015183600001516020018181525050610c1c565b610c13836000015182610e1a565b83600001819052505b505092915050565b600080600080610c32610b64565b73ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610c9557600080fd5b505af1158015610ca9573d6000803e3d6000fd5b505050506040513d6020811015610cbf57600080fd5b8101908080519060200190929190505050925060009150600090505b600380549050811015610e0f57610cf0610b64565b73ffffffffffffffffffffffffffffffffffffffff166370a08231600383815481101515610d1a57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610dc357600080fd5b505af1158015610dd7573d6000803e3d6000fd5b505050506040513d6020811015610ded57600080fd5b8101908080519060200190929190505050820191508080600101915050610cdb565b818303935050505090565b610e22610e75565b82600001518284600001510110151515610e3b57600080fd5b8290508183600001510181602001818152505092915050565b606060405190810160405280610e68610e8f565b8152602001600081525090565b604080519081016040528060008152602001600081525090565b6040805190810160405280600081526020016000815250905600a165627a7a723058208aa052aadeddf73094750d907489fb19084b81be38fcd203927d4cddd32687650029", + "sourceMap": "684:2185:28:-;;;1366:208;8:9:-1;5:2;;;30:1;27;20:12;5:2;1366:208:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1436:14;595::27;579:13;;:30;;;;;;;;;;;;;;;;;;526:90;575:10:86;567:5;;:18;;;;;;;;;;;;;;;;;;1491:3:28;1466:22;:28;;;;1529:3;1504:22;:28;;;;1542:25;:23;;;:25;;;:::i;:::-;1366:208;684:2185;;1698:584;1750:47;;:::i;:::-;1935:13;1958;1836:22;;1807:17;:22;;;:26;;:51;;;;;1888:36;1917:6;1888:17;:28;;;;;;:36;;;;;:::i;:::-;1868:56;;2000:7;:5;;;:7;;;:::i;:::-;:28;;;:30;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2000:30:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2000:30:28;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2000:30:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1981:49;;;;;;;;;;;2144:5;2135;2106:26;;2077:17;:26;;;:55;:63;2076:73;;;;;;;;2041:31;;:108;;;;;;;;;;;2184:17;:22;;;:27;;;2159:22;:52;;;;2250:25;:23;;;:25;;;:::i;:::-;2221:26;:54;;;;1698:584;;;:::o;185:552:83:-;316:29;;:::i;:::-;425:15;519:14;370:9;355:24;;400:9;:14;;;:18;;;393:3;:25;;385:34;;;;;;;;449:9;:14;;;:18;;;443:3;:24;425:42;;507:6;497:7;:16;;;;;;;;473:12;:21;;:40;;;;;560:6;536:12;:21;;;:30;519:47;;601:1;576:12;:21;;;:26;572:161;;;637:9;:14;;;:18;;;612:12;:17;;;:22;;:43;;;;;572:161;;;696:30;700:12;:17;;;719:6;696:3;;;:30;;;:::i;:::-;676:12;:17;;:50;;;;572:161;185:552;;;;;;:::o;414:106:27:-;454:15;499:13;;;;;;;;;;;481:32;;414:106;:::o;2288:424:28:-;2346:35;2393:21;2448:29;2496:9;2417:7;:5;;;:7;;;:::i;:::-;:19;;;:21;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2417:21:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2417:21:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2417:21:28;;;;;;;;;;;;;;;;2393:45;;2480:1;2448:33;;2506:1;2496:11;;2491:138;2510:17;:24;;;;2508:1;:26;2491:138;;;2579:7;:5;;;:7;;;:::i;:::-;:17;;;2597;2615:1;2597:20;;;;;;;;;;;;;;;;;;;;;;;;;;;2579:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2579:39:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2579:39:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2579:39:28;;;;;;;;;;;;;;;;2554:64;;;;2535:3;;;;;;;2491:138;;;2684:21;2668:13;:37;2638:67;;2288:424;;;;:::o;2829:285:83:-;2945:24;;:::i;:::-;3016:9;:13;;;3004:7;2988:9;:13;;;:23;2987:42;;2979:51;;;;;;;;3051:9;3036:24;;3102:7;3086:9;:13;;;:23;3066:12;:17;;:43;;;;;2829:285;;;;:::o;684:2185:28:-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "684:2185:28:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;379:28:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;379:28:27;;;;;;;;;;;;;;;;;;;;;;;;;;;622:384;;8:9:-1;5:2;;;30:1;27;20:12;5:2;622:384:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1580:112:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1580:112:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;1698:584;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1698:584:28;;;;;;781:164:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;781:164:85;;;;;;805:41:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;805:41:28;;;;;;;;;;;;;;;;;;;;;;;1001:111:86;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1001:111:86;;;;;;2718:149:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2718:149:28;;;;;;;;;;;;;;;;;;;;;;;;;;1018:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1018:46:28;;;;;;;;;;;;;;;;;;;;;;;238:20:86;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:86;;;;;;;;;;;;;;;;;;;;;;;;;;;1201:37:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1201:37:28;;;;;;;;;;;;;;;;;;;;;;;932;;8:9:-1;5:2;;;30:1;27;20:12;5:2;932:37:28;;;;;;;;;;;;;;;;;;;;;;;765:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;765:34:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;253:27:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;253:27:85;;;;;;;;;;;;;;;;;;;;;;;;;;;601:96;;8:9:-1;5:2;;;30:1;27;20:12;5:2;601:96:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;379:28:27;;;;;;;;;;;;;:::o;622:384::-;744:23;769;808:13;831;891:7;:5;:7::i;:::-;:28;;;:30;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;891:30:27;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;891:30:27;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;891:30:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;854:67;;;;;;;;;;;;;;994:5;985;969:13;950:16;:32;:40;949:50;;;;;;;;931:68;;622:384;;;;;;;:::o;1580:112:28:-;719:5:86;;;;;;;;;;;705:19;;:10;:19;;;697:28;;;;;;;;1653:17:28;1676:8;1653:32;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;1653:32:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1580:112;:::o;1698:584::-;1750:47;;:::i;:::-;1935:13;1958;1836:22;;1807:17;:22;;;:26;;:51;;;;;1888:36;1917:6;1888:17;:28;;:36;;;;:::i;:::-;1868:56;;2000:7;:5;:7::i;:::-;:28;;;:30;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2000:30:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2000:30:28;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2000:30:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1981:49;;;;;;;;;;;2144:5;2135;2106:26;;2077:17;:26;;;:55;:63;2076:73;;;;;;;;2041:31;;:108;;;;;;;;;;;2184:17;:22;;;:27;;;2159:22;:52;;;;2250:25;:23;:25::i;:::-;2221:26;:54;;;;1698:584;;;:::o;781:164:85:-;433:12;;;;;;;;;;;419:26;;:10;:26;;;411:35;;;;;;;;870:12;;;;;;;;;;;842:41;;863:5;;;;;;;;;;;842:41;;;;;;;;;;;;897:12;;;;;;;;;;;889:5;;:20;;;;;;;;;;;;;;;;;;938:1;915:12;;:25;;;;;;;;;;;;;;;;;;781:164::o;805:41:28:-;;;;:::o;1001:111:86:-;719:5;;;;;;;;;;;705:19;;:10;:19;;;697:28;;;;;;;;1077:5;;;;;;;;;;;1058:25;;;;;;;;;;;;1105:1;1089:5;;:18;;;;;;;;;;;;;;;;;;1001:111::o;2718:149:28:-;2833:27;2808:22;:52;;;;2718:149;:::o;1018:46::-;;;;:::o;238:20:86:-;;;;;;;;;;;;;:::o;1201:37:28:-;;;;:::o;932:::-;;;;:::o;765:34::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;253:27:85:-;;;;;;;;;;;;;:::o;601:96::-;719:5:86;;;;;;;;;;;705:19;;:10;:19;;;697:28;;;;;;;;684:8:85;669:12;;:23;;;;;;;;;;;;;;;;;;601:96;:::o;414:106:27:-;454:15;499:13;;;;;;;;;;;481:32;;414:106;:::o;185:552:83:-;316:29;;:::i;:::-;425:15;519:14;370:9;355:24;;400:9;:14;;;:18;;;393:3;:25;;385:34;;;;;;;;449:9;:14;;;:18;;;443:3;:24;425:42;;507:6;497:7;:16;;;;;;;;473:12;:21;;:40;;;;;560:6;536:12;:21;;;:30;519:47;;601:1;576:12;:21;;;:26;572:161;;;637:9;:14;;;:18;;;612:12;:17;;;:22;;:43;;;;;572:161;;;696:30;700:12;:17;;;719:6;696:3;:30::i;:::-;676:12;:17;;:50;;;;572:161;185:552;;;;;;:::o;2288:424:28:-;2346:35;2393:21;2448:29;2496:9;2417:7;:5;:7::i;:::-;:19;;;:21;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2417:21:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2417:21:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2417:21:28;;;;;;;;;;;;;;;;2393:45;;2480:1;2448:33;;2506:1;2496:11;;2491:138;2510:17;:24;;;;2508:1;:26;2491:138;;;2579:7;:5;:7::i;:::-;:17;;;2597;2615:1;2597:20;;;;;;;;;;;;;;;;;;;;;;;;;;;2579:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2579:39:28;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2579:39:28;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2579:39:28;;;;;;;;;;;;;;;;2554:64;;;;2535:3;;;;;;;2491:138;;;2684:21;2668:13;:37;2638:67;;2288:424;;;;:::o;2829:285:83:-;2945:24;;:::i;:::-;3016:9;:13;;;3004:7;2988:9;:13;;;:23;2987:42;;2979:51;;;;;;;;3051:9;3036:24;;3102:7;3086:9;:13;;;:23;3066:12;:17;;:43;;;;;2829:285;;;;:::o;684:2185:28:-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"@digix/solidity-core-libraries/contracts/Types.sol\";\nimport \"openzeppelin-solidity/contracts/ownership/Claimable.sol\";\nimport \"./MockDgxDemurrageCalculator.sol\";\n\n/// @title Digix Gold Token Demurrage Reporter\n/// @author Digix Holdings Pte Ltd\n/// @notice This contract is used to keep a close estimate of how much demurrage fees would have been collected on Digix Gold Token if the demurrage fees is on.\n/// @notice Anyone can call the function updateDemurrageReporter() to keep this contract updated to the lastest day. The more often this function is called the more accurate the estimate will be (but it can only be updated at most every 24hrs)\ncontract MockDgxDemurrageReporter is MockDgxDemurrageCalculator, Claimable {\n address[] public exempted_accounts;\n uint256 public last_demurrageable_balance; // the total balance of DGX in non-exempted accounts, at last_payment_timestamp\n uint256 public last_payment_timestamp; // the last time this contract is updated\n uint256 public culmulative_demurrage_collected; // this is the estimate of the demurrage fees that would have been collected from start_of_report_period to last_payment_timestamp\n uint256 public start_of_report_period; // the timestamp when this contract started keeping track of demurrage fees\n\n using Types for Types.MutableTimestamp;\n\n constructor(address _token_address) public MockDgxDemurrageCalculator(_token_address)\n {\n start_of_report_period = now;\n last_payment_timestamp = now;\n updateDemurrageReporter();\n }\n\n function addExemptedAccount(address _account) public onlyOwner {\n exempted_accounts.push(_account);\n }\n\n function updateDemurrageReporter() public {\n Types.MutableTimestamp memory payment_timestamp;\n payment_timestamp.time.pre = last_payment_timestamp;\n payment_timestamp = payment_timestamp.advance_by(1 days);\n\n uint256 _base;\n uint256 _rate;\n (_base, _rate,,) = token().showDemurrageConfigs();\n\n culmulative_demurrage_collected += (payment_timestamp.in_units * last_demurrageable_balance * _rate) / _base;\n last_payment_timestamp = payment_timestamp.time.post;\n last_demurrageable_balance = getDemurrageableBalance();\n }\n\n function getDemurrageableBalance() internal view returns (uint256 _last_demurrageable_balance) {\n uint256 _total_supply = token().totalSupply();\n uint256 _no_demurrage_balance = 0;\n for (uint256 i=0;i bool) public voted;\n\n constructor(bytes32 _name) public {\n name = _name;\n }\n\n function mock_set_voted(address _user)\n public\n {\n voted[_user] = true;\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/mock/MockNumberCarbonVoting.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/MockNumberCarbonVoting.sol", + "exportedSymbols": { + "MockNumberCarbonVoting": [ + 9076 + ] + }, + "id": 9077, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9047, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:29" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 9076, + "linearizedBaseContracts": [ + 9076 + ], + "name": "MockNumberCarbonVoting", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 9049, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 9076, + "src": "65:19:29", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9048, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "65:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 9053, + "name": "voted", + "nodeType": "VariableDeclaration", + "scope": 9076, + "src": "90:37:29", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 9052, + "keyType": { + "id": 9050, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "98:7:29", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "90:24:29", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 9051, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "109:4:29", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 9062, + "nodeType": "Block", + "src": "168:29:29", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 9060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 9058, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9049, + "src": "178:4:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 9059, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9055, + "src": "185:5:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "178:12:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 9061, + "nodeType": "ExpressionStatement", + "src": "178:12:29" + } + ] + }, + "documentation": null, + "id": 9063, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9056, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9055, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 9063, + "src": "146:13:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9054, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "146:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "145:15:29" + }, + "payable": false, + "returnParameters": { + "id": 9057, + "nodeType": "ParameterList", + "parameters": [], + "src": "168:0:29" + }, + "scope": 9076, + "src": "134:63:29", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9074, + "nodeType": "Block", + "src": "261:36:29", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 9072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9068, + "name": "voted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9053, + "src": "271:5:29", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9070, + "indexExpression": { + "argumentTypes": null, + "id": 9069, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9065, + "src": "277:5:29", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "271:12:29", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 9071, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "286:4:29", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "271:19:29", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9073, + "nodeType": "ExpressionStatement", + "src": "271:19:29" + } + ] + }, + "documentation": null, + "id": 9075, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_voted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9066, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9065, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 9075, + "src": "227:13:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9064, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "227:7:29", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "226:15:29" + }, + "payable": false, + "returnParameters": { + "id": 9067, + "nodeType": "ParameterList", + "parameters": [], + "src": "261:0:29" + }, + "scope": 9076, + "src": "203:94:29", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 9077, + "src": "26:273:29" + } + ], + "src": "0:300:29" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/MockNumberCarbonVoting.sol", + "exportedSymbols": { + "MockNumberCarbonVoting": [ + 9076 + ] + }, + "id": 9077, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9047, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:29" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 9076, + "linearizedBaseContracts": [ + 9076 + ], + "name": "MockNumberCarbonVoting", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 9049, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 9076, + "src": "65:19:29", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9048, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "65:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 9053, + "name": "voted", + "nodeType": "VariableDeclaration", + "scope": 9076, + "src": "90:37:29", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 9052, + "keyType": { + "id": 9050, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "98:7:29", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "90:24:29", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 9051, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "109:4:29", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 9062, + "nodeType": "Block", + "src": "168:29:29", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 9060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 9058, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9049, + "src": "178:4:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 9059, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9055, + "src": "185:5:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "178:12:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 9061, + "nodeType": "ExpressionStatement", + "src": "178:12:29" + } + ] + }, + "documentation": null, + "id": 9063, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9056, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9055, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 9063, + "src": "146:13:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9054, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "146:7:29", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "145:15:29" + }, + "payable": false, + "returnParameters": { + "id": 9057, + "nodeType": "ParameterList", + "parameters": [], + "src": "168:0:29" + }, + "scope": 9076, + "src": "134:63:29", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9074, + "nodeType": "Block", + "src": "261:36:29", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 9072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9068, + "name": "voted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9053, + "src": "271:5:29", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9070, + "indexExpression": { + "argumentTypes": null, + "id": 9069, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9065, + "src": "277:5:29", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "271:12:29", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 9071, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "286:4:29", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "271:19:29", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9073, + "nodeType": "ExpressionStatement", + "src": "271:19:29" + } + ] + }, + "documentation": null, + "id": 9075, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "mock_set_voted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9066, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9065, + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 9075, + "src": "227:13:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9064, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "227:7:29", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "226:15:29" + }, + "payable": false, + "returnParameters": { + "id": 9067, + "nodeType": "ParameterList", + "parameters": [], + "src": "261:0:29" + }, + "scope": 9076, + "src": "203:94:29", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 9077, + "src": "26:273:29" + } + ], + "src": "0:300:29" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.866Z" +} \ No newline at end of file diff --git a/build/contracts/MockWhitelistedContract.json b/build/contracts/MockWhitelistedContract.json new file mode 100644 index 0000000..d80ff20 --- /dev/null +++ b/build/contracts/MockWhitelistedContract.json @@ -0,0 +1,5066 @@ +{ + "contractName": "MockWhitelistedContract", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_name", + "type": "bytes32" + } + ], + "name": "MockInteractiveContract", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_daoStorageAddress", + "type": "address" + }, + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + }, + { + "name": "_allUsers", + "type": "address[]" + } + ], + "name": "mock_call_readVotingRoundVotes", + "outputs": [], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_daoStorageAddress", + "type": "address" + }, + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "mock_call_readDraftVote", + "outputs": [], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_daoStorageAddress", + "type": "address" + }, + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "mock_call_readComittedVote", + "outputs": [], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_daoStorageAddress", + "type": "address" + }, + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_index", + "type": "uint256" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "mock_call_readVote", + "outputs": [], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_daoSpecialStorageAddress", + "type": "address" + }, + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "mock_call_special_readVote", + "outputs": [], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_daoSpecialStorageAddress", + "type": "address" + }, + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "mock_call_special_readComittedVote", + "outputs": [], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610c02806100206000396000f30060806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100935780630c9056b8146100c65780633349566b146101375780634284df1d146101b2578063865ef30c1461022d578063af0099ab146102cb578063c6b1b86f1461033c578063c769381f146103ad575b600080fd5b34801561009f57600080fd5b506100a86103de565b60405180826000191660001916815260200191505060405180910390f35b3480156100d257600080fd5b50610135600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103e4565b005b34801561014357600080fd5b506101b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560001916906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104d4565b005b3480156101be57600080fd5b5061022b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560001916906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105cd565b005b34801561023957600080fd5b506102c9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560001916906020019092919080359060200190929190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506106d3565b005b3480156102d757600080fd5b5061033a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ce565b005b34801561034857600080fd5b506103ab600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610acb565b005b3480156103b957600080fd5b506103dc6004803603810190808035600019169060200190929190505050610bc8565b005b60005481565b60008373ffffffffffffffffffffffffffffffffffffffff1663f31a1ba284846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561049157600080fd5b505af11580156104a5573d6000803e3d6000fd5b505050506040513d60208110156104bb57600080fd5b8101908080519060200190929190505050905050505050565b60008473ffffffffffffffffffffffffffffffffffffffff1663598f0eaf8585856040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600019166000191681526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b15801561058957600080fd5b505af115801561059d573d6000803e3d6000fd5b505050506040513d60208110156105b357600080fd5b810190808051906020019092919050505090505050505050565b60008473ffffffffffffffffffffffffffffffffffffffff16631d2103d18585856040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600019166000191681526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200193505050506040805180830381600087803b15801561068157600080fd5b505af1158015610695573d6000803e3d6000fd5b505050506040513d60408110156106ab57600080fd5b8101908080519060200190929190805190602001909291905050509050809150505050505050565b60008473ffffffffffffffffffffffffffffffffffffffff1663e81362fe85858560016040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b83811015610782578082015181840152602081019050610767565b5050505090500195505050505050600060405180830381600087803b1580156107aa57600080fd5b505af11580156107be573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060408110156107e857600080fd5b81019080805164010000000081111561080057600080fd5b8281019050602081018481111561081657600080fd5b815185602082028301116401000000008211171561083357600080fd5b5050929190602001805190602001909291905050509050809150508473ffffffffffffffffffffffffffffffffffffffff1663e81362fe85858560006040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b838110156108fb5780820151818401526020810190506108e0565b5050505090500195505050505050600060405180830381600087803b15801561092357600080fd5b505af1158015610937573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250604081101561096157600080fd5b81019080805164010000000081111561097957600080fd5b8281019050602081018481111561098f57600080fd5b81518560208202830111640100000000821117156109ac57600080fd5b5050929190602001805190602001909291905050509050809150505050505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663e5c2654e84846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001925050506040805180830381600087803b158015610a7a57600080fd5b505af1158015610a8e573d6000803e3d6000fd5b505050506040513d6040811015610aa457600080fd5b81019080805190602001909291908051906020019092919050505090508091505050505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663e14b2c2684846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001925050506040805180830381600087803b158015610b7757600080fd5b505af1158015610b8b573d6000803e3d6000fd5b505050506040513d6040811015610ba157600080fd5b81019080805190602001909291908051906020019092919050505090508091505050505050565b8060008160001916905550505600a165627a7a723058207f5f1cb374157442ab037bb1240b0f435b4c02fa1157f4a4b02c6486f82810fd0029", + "deployedBytecode": "0x60806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100935780630c9056b8146100c65780633349566b146101375780634284df1d146101b2578063865ef30c1461022d578063af0099ab146102cb578063c6b1b86f1461033c578063c769381f146103ad575b600080fd5b34801561009f57600080fd5b506100a86103de565b60405180826000191660001916815260200191505060405180910390f35b3480156100d257600080fd5b50610135600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103e4565b005b34801561014357600080fd5b506101b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560001916906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104d4565b005b3480156101be57600080fd5b5061022b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560001916906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105cd565b005b34801561023957600080fd5b506102c9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560001916906020019092919080359060200190929190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506106d3565b005b3480156102d757600080fd5b5061033a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ce565b005b34801561034857600080fd5b506103ab600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610acb565b005b3480156103b957600080fd5b506103dc6004803603810190808035600019169060200190929190505050610bc8565b005b60005481565b60008373ffffffffffffffffffffffffffffffffffffffff1663f31a1ba284846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561049157600080fd5b505af11580156104a5573d6000803e3d6000fd5b505050506040513d60208110156104bb57600080fd5b8101908080519060200190929190505050905050505050565b60008473ffffffffffffffffffffffffffffffffffffffff1663598f0eaf8585856040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600019166000191681526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b15801561058957600080fd5b505af115801561059d573d6000803e3d6000fd5b505050506040513d60208110156105b357600080fd5b810190808051906020019092919050505090505050505050565b60008473ffffffffffffffffffffffffffffffffffffffff16631d2103d18585856040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600019166000191681526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200193505050506040805180830381600087803b15801561068157600080fd5b505af1158015610695573d6000803e3d6000fd5b505050506040513d60408110156106ab57600080fd5b8101908080519060200190929190805190602001909291905050509050809150505050505050565b60008473ffffffffffffffffffffffffffffffffffffffff1663e81362fe85858560016040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b83811015610782578082015181840152602081019050610767565b5050505090500195505050505050600060405180830381600087803b1580156107aa57600080fd5b505af11580156107be573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060408110156107e857600080fd5b81019080805164010000000081111561080057600080fd5b8281019050602081018481111561081657600080fd5b815185602082028301116401000000008211171561083357600080fd5b5050929190602001805190602001909291905050509050809150508473ffffffffffffffffffffffffffffffffffffffff1663e81362fe85858560006040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b838110156108fb5780820151818401526020810190506108e0565b5050505090500195505050505050600060405180830381600087803b15801561092357600080fd5b505af1158015610937573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250604081101561096157600080fd5b81019080805164010000000081111561097957600080fd5b8281019050602081018481111561098f57600080fd5b81518560208202830111640100000000821117156109ac57600080fd5b5050929190602001805190602001909291905050509050809150505050505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663e5c2654e84846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001925050506040805180830381600087803b158015610a7a57600080fd5b505af1158015610a8e573d6000803e3d6000fd5b505050506040513d6040811015610aa457600080fd5b81019080805190602001909291908051906020019092919050505090508091505050505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663e14b2c2684846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001925050506040805180830381600087803b158015610b7757600080fd5b505af1158015610b8b573d6000803e3d6000fd5b505050506040513d6040811015610ba157600080fd5b81019080805190602001909291908051906020019092919050505090508091505050505050565b8060008160001916905550505600a165627a7a723058207f5f1cb374157442ab037bb1240b0f435b4c02fa1157f4a4b02c6486f82810fd0029", + "sourceMap": "126:2564:30:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;126:2564:30;;;;;;;", + "deployedSourceMap": "126:2564:30:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;165:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;165:19:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2325:363;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2325:363:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:378;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1218:378:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1602:363;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1602:363:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;281:596;;8:9:-1;5:2;;;30:1;27;20:12;5:2;281:596:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1971:348;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1971:348:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;883:329;;8:9:-1;5:2;;;30:1;27;20:12;5:2;883:329:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;191:84;;8:9:-1;5:2;;;30:1;27;20:12;5:2;191:84:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;165:19;;;;:::o;2325:363::-;2513:19;2583:25;2556:70;;;2640:11;2665:6;2556:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2556:125:30;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2556:125:30;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2556:125:30;;;;;;;;;;;;;;;;2542:139;;2325:363;;;;:::o;1218:378::-;1415:19;1478:18;1458:56;;;1528:11;1553:6;1573;1458:131;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1458:131:30;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1458:131:30;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1458:131:30;;;;;;;;;;;;;;;;1444:145;;1218:378;;;;;:::o;1602:363::-;1791:18;1855;1835:48;;;1897:11;1922:6;1942;1835:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1835:123:30;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1835:123:30;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1835:123:30;;;;;;;;;;;;;;;;;;;;;;;;;1819:139;;;;;;1602:363;;;;;:::o;281:596::-;487:18;551;531:60;;;605:11;630:6;650:9;673:4;531:156;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;531:156:30;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;531:156:30;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;531:156:30;;;;;;39:16:-1;36:1;17:17;2:54;531:156:30;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;531:156:30;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;531:156:30;;;;;;;;;;;;;;;;;515:172;;;;;;733:18;713:60;;;787:11;812:6;832:9;855:5;713:157;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;713:157:30;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;713:157:30;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;713:157:30;;;;;;39:16:-1;36:1;17:17;2:54;713:157:30;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;713:157:30;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;339:9;333:2;319:12;315:21;297:16;293:44;290:59;268:11;254:12;251:29;239:119;236:2;;;371:1;368;361:12;236:2;0:383;;713:157:30;;;;;;;;;;;;;;;;;697:173;;;;;;281:596;;;;;:::o;1971:348::-;2151:18;2222:25;2195:62;;;2271:11;2296:6;2195:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2195:117:30;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2195:117:30;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2195:117:30;;;;;;;;;;;;;;;;;;;;;;;;;2179:133;;;;;;1971:348;;;;:::o;883:329::-;1053:18;1117;1097:53;;;1164:11;1189:6;1097:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1097:108:30;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1097:108:30;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1097:108:30;;;;;;;;;;;;;;;;;;;;;;;;;1081:124;;;;;;883:329;;;;:::o;191:84::-;263:5;256:4;:12;;;;;;;191:84;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"./interface/DaoStorageInterface.sol\";\nimport \"./interface/DaoSpecialStorageInterface.sol\";\n\ncontract MockWhitelistedContract {\n bytes32 public name;\n\n function MockInteractiveContract(bytes32 _name) public {\n name = _name;\n }\n\n function mock_call_readVotingRoundVotes(\n address _daoStorageAddress,\n bytes32 _proposalId,\n uint256 _index,\n address[] _allUsers\n )\n public\n view\n {\n uint256 _uintValue;\n (,_uintValue) = DaoStorageInterface(_daoStorageAddress).readVotingRoundVotes(\n _proposalId,\n _index,\n _allUsers,\n true\n );\n (,_uintValue) = DaoStorageInterface(_daoStorageAddress).readVotingRoundVotes(\n _proposalId,\n _index,\n _allUsers,\n false\n );\n }\n\n function mock_call_readDraftVote(\n address _daoStorageAddress,\n bytes32 _proposalId,\n address _voter\n )\n public\n view\n {\n uint256 _uintValue;\n (,_uintValue) = DaoStorageInterface(_daoStorageAddress).readDraftVote(\n _proposalId,\n _voter\n );\n }\n\n function mock_call_readComittedVote(\n address _daoStorageAddress,\n bytes32 _proposalId,\n uint256 _index,\n address _voter\n )\n public\n view\n {\n bytes32 _bytesValue;\n _bytesValue = DaoStorageInterface(_daoStorageAddress).readComittedVote(\n _proposalId,\n _index,\n _voter\n );\n }\n\n function mock_call_readVote(\n address _daoStorageAddress,\n bytes32 _proposalId,\n uint256 _index,\n address _voter\n )\n public\n view\n {\n uint256 _uintValue;\n (,_uintValue) = DaoStorageInterface(_daoStorageAddress).readVote(\n _proposalId,\n _index,\n _voter\n );\n }\n\n function mock_call_special_readVote(\n address _daoSpecialStorageAddress,\n bytes32 _proposalId,\n address _voter\n )\n public\n view\n {\n uint256 _uintValue;\n (,_uintValue) = DaoSpecialStorageInterface(_daoSpecialStorageAddress).readVote(\n _proposalId,\n _voter\n );\n }\n\n function mock_call_special_readComittedVote(\n address _daoSpecialStorageAddress,\n bytes32 _proposalId,\n address _voter\n )\n public\n view\n {\n bytes32 _bytesValue;\n _bytesValue = DaoSpecialStorageInterface(_daoSpecialStorageAddress).readComittedVote(\n _proposalId,\n _voter\n );\n }\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/mock/MockWhitelistedContract.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/MockWhitelistedContract.sol", + "exportedSymbols": { + "MockWhitelistedContract": [ + 9259 + ] + }, + "id": 9260, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9078, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:30" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/interface/DaoStorageInterface.sol", + "file": "./interface/DaoStorageInterface.sol", + "id": 9079, + "nodeType": "ImportDirective", + "scope": 9260, + "sourceUnit": 9394, + "src": "26:45:30", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/interface/DaoSpecialStorageInterface.sol", + "file": "./interface/DaoSpecialStorageInterface.sol", + "id": 9080, + "nodeType": "ImportDirective", + "scope": 9260, + "sourceUnit": 9339, + "src": "72:52:30", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 9259, + "linearizedBaseContracts": [ + 9259 + ], + "name": "MockWhitelistedContract", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 9082, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 9259, + "src": "165:19:30", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9081, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "165:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 9091, + "nodeType": "Block", + "src": "246:29:30", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 9089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 9087, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9082, + "src": "256:4:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 9088, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9084, + "src": "263:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "256:12:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 9090, + "nodeType": "ExpressionStatement", + "src": "256:12:30" + } + ] + }, + "documentation": null, + "id": 9092, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "MockInteractiveContract", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9085, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9084, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 9092, + "src": "224:13:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9083, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "224:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "223:15:30" + }, + "payable": false, + "returnParameters": { + "id": 9086, + "nodeType": "ParameterList", + "parameters": [], + "src": "246:0:30" + }, + "scope": 9259, + "src": "191:84:30", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9133, + "nodeType": "Block", + "src": "477:400:30", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 9105, + "name": "_uintValue", + "nodeType": "VariableDeclaration", + "scope": 9134, + "src": "487:18:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9104, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "487:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 9106, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "487:18:30" + }, + { + "expression": { + "argumentTypes": null, + "id": 9118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + { + "argumentTypes": null, + "id": 9107, + "name": "_uintValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9105, + "src": "517:10:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 9108, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "515:13:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$_t_uint256_$", + "typeString": "tuple(,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9113, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9096, + "src": "605:11:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 9114, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9098, + "src": "630:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 9115, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9101, + "src": "650:9:30", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 9116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "673:4:30", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9110, + "name": "_daoStorageAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9094, + "src": "551:18:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9109, + "name": "DaoStorageInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9393, + "src": "531:19:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStorageInterface_$9393_$", + "typeString": "type(contract DaoStorageInterface)" + } + }, + "id": 9111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "531:39:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorageInterface_$9393", + "typeString": "contract DaoStorageInterface" + } + }, + "id": 9112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVotingRoundVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 9357, + "src": "531:60:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "function (bytes32,uint256,address[] memory,bool) view external returns (address[] memory,uint256)" + } + }, + "id": 9117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "531:156:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(address[] memory,uint256)" + } + }, + "src": "515:172:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9119, + "nodeType": "ExpressionStatement", + "src": "515:172:30" + }, + { + "expression": { + "argumentTypes": null, + "id": 9131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + { + "argumentTypes": null, + "id": 9120, + "name": "_uintValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9105, + "src": "699:10:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 9121, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "697:13:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$_t_uint256_$", + "typeString": "tuple(,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9126, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9096, + "src": "787:11:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 9127, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9098, + "src": "812:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 9128, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9101, + "src": "832:9:30", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 9129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "855:5:30", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9123, + "name": "_daoStorageAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9094, + "src": "733:18:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9122, + "name": "DaoStorageInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9393, + "src": "713:19:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStorageInterface_$9393_$", + "typeString": "type(contract DaoStorageInterface)" + } + }, + "id": 9124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "713:39:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorageInterface_$9393", + "typeString": "contract DaoStorageInterface" + } + }, + "id": 9125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVotingRoundVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 9357, + "src": "713:60:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "function (bytes32,uint256,address[] memory,bool) view external returns (address[] memory,uint256)" + } + }, + "id": 9130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "713:157:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(address[] memory,uint256)" + } + }, + "src": "697:173:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9132, + "nodeType": "ExpressionStatement", + "src": "697:173:30" + } + ] + }, + "documentation": null, + "id": 9134, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mock_call_readVotingRoundVotes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9102, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9094, + "name": "_daoStorageAddress", + "nodeType": "VariableDeclaration", + "scope": 9134, + "src": "330:26:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9093, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "330:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9096, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 9134, + "src": "366:19:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9095, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "366:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9098, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 9134, + "src": "395:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9097, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "395:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9101, + "name": "_allUsers", + "nodeType": "VariableDeclaration", + "scope": 9134, + "src": "419:19:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 9099, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "419:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9100, + "length": null, + "nodeType": "ArrayTypeName", + "src": "419:9:30", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "320:124:30" + }, + "payable": false, + "returnParameters": { + "id": 9103, + "nodeType": "ParameterList", + "parameters": [], + "src": "477:0:30" + }, + "scope": 9259, + "src": "281:596:30", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9157, + "nodeType": "Block", + "src": "1043:169:30", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 9144, + "name": "_uintValue", + "nodeType": "VariableDeclaration", + "scope": 9158, + "src": "1053:18:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9143, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1053:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 9145, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1053:18:30" + }, + { + "expression": { + "argumentTypes": null, + "id": 9155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + { + "argumentTypes": null, + "id": 9146, + "name": "_uintValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9144, + "src": "1083:10:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 9147, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "1081:13:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$_t_uint256_$", + "typeString": "tuple(,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9152, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9138, + "src": "1164:11:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 9153, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9140, + "src": "1189:6:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9149, + "name": "_daoStorageAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9136, + "src": "1117:18:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9148, + "name": "DaoStorageInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9393, + "src": "1097:19:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStorageInterface_$9393_$", + "typeString": "type(contract DaoStorageInterface)" + } + }, + "id": 9150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1097:39:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorageInterface_$9393", + "typeString": "contract DaoStorageInterface" + } + }, + "id": 9151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readDraftVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 9368, + "src": "1097:53:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (bytes32,address) view external returns (bool,uint256)" + } + }, + "id": 9154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1097:108:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "src": "1081:124:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9156, + "nodeType": "ExpressionStatement", + "src": "1081:124:30" + } + ] + }, + "documentation": null, + "id": 9158, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mock_call_readDraftVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9141, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9136, + "name": "_daoStorageAddress", + "nodeType": "VariableDeclaration", + "scope": 9158, + "src": "925:26:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9135, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "925:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9138, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 9158, + "src": "961:19:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9137, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "961:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9140, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 9158, + "src": "990:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9139, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "990:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "915:95:30" + }, + "payable": false, + "returnParameters": { + "id": 9142, + "nodeType": "ParameterList", + "parameters": [], + "src": "1043:0:30" + }, + "scope": 9259, + "src": "883:329:30", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9183, + "nodeType": "Block", + "src": "1405:191:30", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 9170, + "name": "_bytesValue", + "nodeType": "VariableDeclaration", + "scope": 9184, + "src": "1415:19:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9169, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1415:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 9171, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1415:19:30" + }, + { + "expression": { + "argumentTypes": null, + "id": 9181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 9172, + "name": "_bytesValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9170, + "src": "1444:11:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9177, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9162, + "src": "1528:11:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 9178, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9164, + "src": "1553:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 9179, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9166, + "src": "1573:6:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9174, + "name": "_daoStorageAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9160, + "src": "1478:18:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9173, + "name": "DaoStorageInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9393, + "src": "1458:19:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStorageInterface_$9393_$", + "typeString": "type(contract DaoStorageInterface)" + } + }, + "id": 9175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1458:39:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorageInterface_$9393", + "typeString": "contract DaoStorageInterface" + } + }, + "id": 9176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readComittedVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 9379, + "src": "1458:56:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,uint256,address) view external returns (bytes32)" + } + }, + "id": 9180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1458:131:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1444:145:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 9182, + "nodeType": "ExpressionStatement", + "src": "1444:145:30" + } + ] + }, + "documentation": null, + "id": 9184, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mock_call_readComittedVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9167, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9160, + "name": "_daoStorageAddress", + "nodeType": "VariableDeclaration", + "scope": 9184, + "src": "1263:26:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9159, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1263:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9162, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 9184, + "src": "1299:19:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9161, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1299:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9164, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 9184, + "src": "1328:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9163, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1328:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9166, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 9184, + "src": "1352:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9165, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1352:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1253:119:30" + }, + "payable": false, + "returnParameters": { + "id": 9168, + "nodeType": "ParameterList", + "parameters": [], + "src": "1405:0:30" + }, + "scope": 9259, + "src": "1218:378:30", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9210, + "nodeType": "Block", + "src": "1781:184:30", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 9196, + "name": "_uintValue", + "nodeType": "VariableDeclaration", + "scope": 9211, + "src": "1791:18:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9195, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1791:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 9197, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1791:18:30" + }, + { + "expression": { + "argumentTypes": null, + "id": 9208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + { + "argumentTypes": null, + "id": 9198, + "name": "_uintValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9196, + "src": "1821:10:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 9199, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "1819:13:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$_t_uint256_$", + "typeString": "tuple(,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9204, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9188, + "src": "1897:11:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 9205, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9190, + "src": "1922:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 9206, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9192, + "src": "1942:6:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9201, + "name": "_daoStorageAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9186, + "src": "1855:18:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9200, + "name": "DaoStorageInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9393, + "src": "1835:19:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStorageInterface_$9393_$", + "typeString": "type(contract DaoStorageInterface)" + } + }, + "id": 9202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1835:39:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorageInterface_$9393", + "typeString": "contract DaoStorageInterface" + } + }, + "id": 9203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 9392, + "src": "1835:48:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_address_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (bytes32,uint256,address) view external returns (bool,uint256)" + } + }, + "id": 9207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1835:123:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "src": "1819:139:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9209, + "nodeType": "ExpressionStatement", + "src": "1819:139:30" + } + ] + }, + "documentation": null, + "id": 9211, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mock_call_readVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9193, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9186, + "name": "_daoStorageAddress", + "nodeType": "VariableDeclaration", + "scope": 9211, + "src": "1639:26:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9185, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1639:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9188, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 9211, + "src": "1675:19:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9187, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1675:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9190, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 9211, + "src": "1704:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1704:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9192, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 9211, + "src": "1728:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9191, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1728:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1629:119:30" + }, + "payable": false, + "returnParameters": { + "id": 9194, + "nodeType": "ParameterList", + "parameters": [], + "src": "1781:0:30" + }, + "scope": 9259, + "src": "1602:363:30", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9234, + "nodeType": "Block", + "src": "2141:178:30", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 9221, + "name": "_uintValue", + "nodeType": "VariableDeclaration", + "scope": 9235, + "src": "2151:18:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9220, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2151:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 9222, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "2151:18:30" + }, + { + "expression": { + "argumentTypes": null, + "id": 9232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + { + "argumentTypes": null, + "id": 9223, + "name": "_uintValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9221, + "src": "2181:10:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 9224, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "2179:13:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$_t_uint256_$", + "typeString": "tuple(,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9229, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9215, + "src": "2271:11:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 9230, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9217, + "src": "2296:6:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9226, + "name": "_daoSpecialStorageAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9213, + "src": "2222:25:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9225, + "name": "DaoSpecialStorageInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9338, + "src": "2195:26:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoSpecialStorageInterface_$9338_$", + "typeString": "type(contract DaoSpecialStorageInterface)" + } + }, + "id": 9227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2195:53:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorageInterface_$9338", + "typeString": "contract DaoSpecialStorageInterface" + } + }, + "id": 9228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 9337, + "src": "2195:62:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (bytes32,address) view external returns (bool,uint256)" + } + }, + "id": 9231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2195:117:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "src": "2179:133:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9233, + "nodeType": "ExpressionStatement", + "src": "2179:133:30" + } + ] + }, + "documentation": null, + "id": 9235, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mock_call_special_readVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9218, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9213, + "name": "_daoSpecialStorageAddress", + "nodeType": "VariableDeclaration", + "scope": 9235, + "src": "2016:33:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9212, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2016:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9215, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 9235, + "src": "2059:19:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9214, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2059:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9217, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 9235, + "src": "2088:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9216, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2088:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2006:102:30" + }, + "payable": false, + "returnParameters": { + "id": 9219, + "nodeType": "ParameterList", + "parameters": [], + "src": "2141:0:30" + }, + "scope": 9259, + "src": "1971:348:30", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9257, + "nodeType": "Block", + "src": "2503:185:30", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 9245, + "name": "_bytesValue", + "nodeType": "VariableDeclaration", + "scope": 9258, + "src": "2513:19:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9244, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2513:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 9246, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "2513:19:30" + }, + { + "expression": { + "argumentTypes": null, + "id": 9255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 9247, + "name": "_bytesValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9245, + "src": "2542:11:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9252, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9239, + "src": "2640:11:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 9253, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9241, + "src": "2665:6:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9249, + "name": "_daoSpecialStorageAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9237, + "src": "2583:25:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9248, + "name": "DaoSpecialStorageInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9338, + "src": "2556:26:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoSpecialStorageInterface_$9338_$", + "typeString": "type(contract DaoSpecialStorageInterface)" + } + }, + "id": 9250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2556:53:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorageInterface_$9338", + "typeString": "contract DaoSpecialStorageInterface" + } + }, + "id": 9251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readComittedVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 9326, + "src": "2556:70:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,address) view external returns (bytes32)" + } + }, + "id": 9254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2556:125:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2542:139:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 9256, + "nodeType": "ExpressionStatement", + "src": "2542:139:30" + } + ] + }, + "documentation": null, + "id": 9258, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mock_call_special_readComittedVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9242, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9237, + "name": "_daoSpecialStorageAddress", + "nodeType": "VariableDeclaration", + "scope": 9258, + "src": "2378:33:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9236, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2378:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9239, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 9258, + "src": "2421:19:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9238, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2421:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9241, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 9258, + "src": "2450:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9240, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2450:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2368:102:30" + }, + "payable": false, + "returnParameters": { + "id": 9243, + "nodeType": "ParameterList", + "parameters": [], + "src": "2503:0:30" + }, + "scope": 9259, + "src": "2325:363:30", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 9260, + "src": "126:2564:30" + } + ], + "src": "0:2691:30" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/MockWhitelistedContract.sol", + "exportedSymbols": { + "MockWhitelistedContract": [ + 9259 + ] + }, + "id": 9260, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9078, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:30" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/interface/DaoStorageInterface.sol", + "file": "./interface/DaoStorageInterface.sol", + "id": 9079, + "nodeType": "ImportDirective", + "scope": 9260, + "sourceUnit": 9394, + "src": "26:45:30", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/interface/DaoSpecialStorageInterface.sol", + "file": "./interface/DaoSpecialStorageInterface.sol", + "id": 9080, + "nodeType": "ImportDirective", + "scope": 9260, + "sourceUnit": 9339, + "src": "72:52:30", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 9259, + "linearizedBaseContracts": [ + 9259 + ], + "name": "MockWhitelistedContract", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 9082, + "name": "name", + "nodeType": "VariableDeclaration", + "scope": 9259, + "src": "165:19:30", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9081, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "165:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 9091, + "nodeType": "Block", + "src": "246:29:30", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 9089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 9087, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9082, + "src": "256:4:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 9088, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9084, + "src": "263:5:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "256:12:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 9090, + "nodeType": "ExpressionStatement", + "src": "256:12:30" + } + ] + }, + "documentation": null, + "id": 9092, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "MockInteractiveContract", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9085, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9084, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 9092, + "src": "224:13:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9083, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "224:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "223:15:30" + }, + "payable": false, + "returnParameters": { + "id": 9086, + "nodeType": "ParameterList", + "parameters": [], + "src": "246:0:30" + }, + "scope": 9259, + "src": "191:84:30", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9133, + "nodeType": "Block", + "src": "477:400:30", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 9105, + "name": "_uintValue", + "nodeType": "VariableDeclaration", + "scope": 9134, + "src": "487:18:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9104, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "487:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 9106, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "487:18:30" + }, + { + "expression": { + "argumentTypes": null, + "id": 9118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + { + "argumentTypes": null, + "id": 9107, + "name": "_uintValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9105, + "src": "517:10:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 9108, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "515:13:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$_t_uint256_$", + "typeString": "tuple(,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9113, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9096, + "src": "605:11:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 9114, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9098, + "src": "630:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 9115, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9101, + "src": "650:9:30", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 9116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "673:4:30", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9110, + "name": "_daoStorageAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9094, + "src": "551:18:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9109, + "name": "DaoStorageInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9393, + "src": "531:19:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStorageInterface_$9393_$", + "typeString": "type(contract DaoStorageInterface)" + } + }, + "id": 9111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "531:39:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorageInterface_$9393", + "typeString": "contract DaoStorageInterface" + } + }, + "id": 9112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVotingRoundVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 9357, + "src": "531:60:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "function (bytes32,uint256,address[] memory,bool) view external returns (address[] memory,uint256)" + } + }, + "id": 9117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "531:156:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(address[] memory,uint256)" + } + }, + "src": "515:172:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9119, + "nodeType": "ExpressionStatement", + "src": "515:172:30" + }, + { + "expression": { + "argumentTypes": null, + "id": 9131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + { + "argumentTypes": null, + "id": 9120, + "name": "_uintValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9105, + "src": "699:10:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 9121, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "697:13:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$_t_uint256_$", + "typeString": "tuple(,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9126, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9096, + "src": "787:11:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 9127, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9098, + "src": "812:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 9128, + "name": "_allUsers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9101, + "src": "832:9:30", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 9129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "855:5:30", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9123, + "name": "_daoStorageAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9094, + "src": "733:18:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9122, + "name": "DaoStorageInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9393, + "src": "713:19:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStorageInterface_$9393_$", + "typeString": "type(contract DaoStorageInterface)" + } + }, + "id": 9124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "713:39:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorageInterface_$9393", + "typeString": "contract DaoStorageInterface" + } + }, + "id": 9125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVotingRoundVotes", + "nodeType": "MemberAccess", + "referencedDeclaration": 9357, + "src": "713:60:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_bool_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "function (bytes32,uint256,address[] memory,bool) view external returns (address[] memory,uint256)" + } + }, + "id": 9130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "713:157:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$", + "typeString": "tuple(address[] memory,uint256)" + } + }, + "src": "697:173:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9132, + "nodeType": "ExpressionStatement", + "src": "697:173:30" + } + ] + }, + "documentation": null, + "id": 9134, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mock_call_readVotingRoundVotes", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9102, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9094, + "name": "_daoStorageAddress", + "nodeType": "VariableDeclaration", + "scope": 9134, + "src": "330:26:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9093, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "330:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9096, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 9134, + "src": "366:19:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9095, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "366:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9098, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 9134, + "src": "395:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9097, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "395:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9101, + "name": "_allUsers", + "nodeType": "VariableDeclaration", + "scope": 9134, + "src": "419:19:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 9099, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "419:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9100, + "length": null, + "nodeType": "ArrayTypeName", + "src": "419:9:30", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "320:124:30" + }, + "payable": false, + "returnParameters": { + "id": 9103, + "nodeType": "ParameterList", + "parameters": [], + "src": "477:0:30" + }, + "scope": 9259, + "src": "281:596:30", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9157, + "nodeType": "Block", + "src": "1043:169:30", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 9144, + "name": "_uintValue", + "nodeType": "VariableDeclaration", + "scope": 9158, + "src": "1053:18:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9143, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1053:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 9145, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1053:18:30" + }, + { + "expression": { + "argumentTypes": null, + "id": 9155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + { + "argumentTypes": null, + "id": 9146, + "name": "_uintValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9144, + "src": "1083:10:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 9147, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "1081:13:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$_t_uint256_$", + "typeString": "tuple(,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9152, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9138, + "src": "1164:11:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 9153, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9140, + "src": "1189:6:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9149, + "name": "_daoStorageAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9136, + "src": "1117:18:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9148, + "name": "DaoStorageInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9393, + "src": "1097:19:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStorageInterface_$9393_$", + "typeString": "type(contract DaoStorageInterface)" + } + }, + "id": 9150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1097:39:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorageInterface_$9393", + "typeString": "contract DaoStorageInterface" + } + }, + "id": 9151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readDraftVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 9368, + "src": "1097:53:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (bytes32,address) view external returns (bool,uint256)" + } + }, + "id": 9154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1097:108:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "src": "1081:124:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9156, + "nodeType": "ExpressionStatement", + "src": "1081:124:30" + } + ] + }, + "documentation": null, + "id": 9158, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mock_call_readDraftVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9141, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9136, + "name": "_daoStorageAddress", + "nodeType": "VariableDeclaration", + "scope": 9158, + "src": "925:26:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9135, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "925:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9138, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 9158, + "src": "961:19:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9137, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "961:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9140, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 9158, + "src": "990:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9139, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "990:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "915:95:30" + }, + "payable": false, + "returnParameters": { + "id": 9142, + "nodeType": "ParameterList", + "parameters": [], + "src": "1043:0:30" + }, + "scope": 9259, + "src": "883:329:30", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9183, + "nodeType": "Block", + "src": "1405:191:30", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 9170, + "name": "_bytesValue", + "nodeType": "VariableDeclaration", + "scope": 9184, + "src": "1415:19:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9169, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1415:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 9171, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1415:19:30" + }, + { + "expression": { + "argumentTypes": null, + "id": 9181, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 9172, + "name": "_bytesValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9170, + "src": "1444:11:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9177, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9162, + "src": "1528:11:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 9178, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9164, + "src": "1553:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 9179, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9166, + "src": "1573:6:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9174, + "name": "_daoStorageAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9160, + "src": "1478:18:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9173, + "name": "DaoStorageInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9393, + "src": "1458:19:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStorageInterface_$9393_$", + "typeString": "type(contract DaoStorageInterface)" + } + }, + "id": 9175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1458:39:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorageInterface_$9393", + "typeString": "contract DaoStorageInterface" + } + }, + "id": 9176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readComittedVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 9379, + "src": "1458:56:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,uint256,address) view external returns (bytes32)" + } + }, + "id": 9180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1458:131:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1444:145:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 9182, + "nodeType": "ExpressionStatement", + "src": "1444:145:30" + } + ] + }, + "documentation": null, + "id": 9184, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mock_call_readComittedVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9167, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9160, + "name": "_daoStorageAddress", + "nodeType": "VariableDeclaration", + "scope": 9184, + "src": "1263:26:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9159, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1263:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9162, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 9184, + "src": "1299:19:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9161, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1299:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9164, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 9184, + "src": "1328:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9163, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1328:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9166, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 9184, + "src": "1352:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9165, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1352:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1253:119:30" + }, + "payable": false, + "returnParameters": { + "id": 9168, + "nodeType": "ParameterList", + "parameters": [], + "src": "1405:0:30" + }, + "scope": 9259, + "src": "1218:378:30", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9210, + "nodeType": "Block", + "src": "1781:184:30", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 9196, + "name": "_uintValue", + "nodeType": "VariableDeclaration", + "scope": 9211, + "src": "1791:18:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9195, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1791:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 9197, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "1791:18:30" + }, + { + "expression": { + "argumentTypes": null, + "id": 9208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + { + "argumentTypes": null, + "id": 9198, + "name": "_uintValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9196, + "src": "1821:10:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 9199, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "1819:13:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$_t_uint256_$", + "typeString": "tuple(,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9204, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9188, + "src": "1897:11:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 9205, + "name": "_index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9190, + "src": "1922:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 9206, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9192, + "src": "1942:6:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9201, + "name": "_daoStorageAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9186, + "src": "1855:18:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9200, + "name": "DaoStorageInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9393, + "src": "1835:19:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoStorageInterface_$9393_$", + "typeString": "type(contract DaoStorageInterface)" + } + }, + "id": 9202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1835:39:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoStorageInterface_$9393", + "typeString": "contract DaoStorageInterface" + } + }, + "id": 9203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 9392, + "src": "1835:48:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_uint256_$_t_address_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (bytes32,uint256,address) view external returns (bool,uint256)" + } + }, + "id": 9207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1835:123:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "src": "1819:139:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9209, + "nodeType": "ExpressionStatement", + "src": "1819:139:30" + } + ] + }, + "documentation": null, + "id": 9211, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mock_call_readVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9193, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9186, + "name": "_daoStorageAddress", + "nodeType": "VariableDeclaration", + "scope": 9211, + "src": "1639:26:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9185, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1639:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9188, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 9211, + "src": "1675:19:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9187, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1675:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9190, + "name": "_index", + "nodeType": "VariableDeclaration", + "scope": 9211, + "src": "1704:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1704:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9192, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 9211, + "src": "1728:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9191, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1728:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1629:119:30" + }, + "payable": false, + "returnParameters": { + "id": 9194, + "nodeType": "ParameterList", + "parameters": [], + "src": "1781:0:30" + }, + "scope": 9259, + "src": "1602:363:30", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9234, + "nodeType": "Block", + "src": "2141:178:30", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 9221, + "name": "_uintValue", + "nodeType": "VariableDeclaration", + "scope": 9235, + "src": "2151:18:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9220, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2151:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 9222, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "2151:18:30" + }, + { + "expression": { + "argumentTypes": null, + "id": 9232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "components": [ + null, + { + "argumentTypes": null, + "id": 9223, + "name": "_uintValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9221, + "src": "2181:10:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 9224, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "2179:13:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$_t_uint256_$", + "typeString": "tuple(,uint256)" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9229, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9215, + "src": "2271:11:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 9230, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9217, + "src": "2296:6:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9226, + "name": "_daoSpecialStorageAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9213, + "src": "2222:25:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9225, + "name": "DaoSpecialStorageInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9338, + "src": "2195:26:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoSpecialStorageInterface_$9338_$", + "typeString": "type(contract DaoSpecialStorageInterface)" + } + }, + "id": 9227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2195:53:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorageInterface_$9338", + "typeString": "contract DaoSpecialStorageInterface" + } + }, + "id": 9228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 9337, + "src": "2195:62:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$_t_uint256_$", + "typeString": "function (bytes32,address) view external returns (bool,uint256)" + } + }, + "id": 9231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2195:117:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "src": "2179:133:30", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9233, + "nodeType": "ExpressionStatement", + "src": "2179:133:30" + } + ] + }, + "documentation": null, + "id": 9235, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mock_call_special_readVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9218, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9213, + "name": "_daoSpecialStorageAddress", + "nodeType": "VariableDeclaration", + "scope": 9235, + "src": "2016:33:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9212, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2016:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9215, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 9235, + "src": "2059:19:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9214, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2059:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9217, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 9235, + "src": "2088:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9216, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2088:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2006:102:30" + }, + "payable": false, + "returnParameters": { + "id": 9219, + "nodeType": "ParameterList", + "parameters": [], + "src": "2141:0:30" + }, + "scope": 9259, + "src": "1971:348:30", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9257, + "nodeType": "Block", + "src": "2503:185:30", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 9245, + "name": "_bytesValue", + "nodeType": "VariableDeclaration", + "scope": 9258, + "src": "2513:19:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9244, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2513:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 9246, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "2513:19:30" + }, + { + "expression": { + "argumentTypes": null, + "id": 9255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 9247, + "name": "_bytesValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9245, + "src": "2542:11:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9252, + "name": "_proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9239, + "src": "2640:11:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 9253, + "name": "_voter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9241, + "src": "2665:6:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9249, + "name": "_daoSpecialStorageAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9237, + "src": "2583:25:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9248, + "name": "DaoSpecialStorageInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9338, + "src": "2556:26:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_DaoSpecialStorageInterface_$9338_$", + "typeString": "type(contract DaoSpecialStorageInterface)" + } + }, + "id": 9250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2556:53:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DaoSpecialStorageInterface_$9338", + "typeString": "contract DaoSpecialStorageInterface" + } + }, + "id": 9251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "readComittedVote", + "nodeType": "MemberAccess", + "referencedDeclaration": 9326, + "src": "2556:70:30", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bytes32_$", + "typeString": "function (bytes32,address) view external returns (bytes32)" + } + }, + "id": 9254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2556:125:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2542:139:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 9256, + "nodeType": "ExpressionStatement", + "src": "2542:139:30" + } + ] + }, + "documentation": null, + "id": 9258, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mock_call_special_readComittedVote", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9242, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9237, + "name": "_daoSpecialStorageAddress", + "nodeType": "VariableDeclaration", + "scope": 9258, + "src": "2378:33:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9236, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2378:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9239, + "name": "_proposalId", + "nodeType": "VariableDeclaration", + "scope": 9258, + "src": "2421:19:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9238, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2421:7:30", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9241, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 9258, + "src": "2450:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9240, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2450:7:30", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2368:102:30" + }, + "payable": false, + "returnParameters": { + "id": 9243, + "nodeType": "ParameterList", + "parameters": [], + "src": "2503:0:30" + }, + "scope": 9259, + "src": "2325:363:30", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 9260, + "src": "126:2564:30" + } + ], + "src": "0:2691:30" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.866Z" +} \ No newline at end of file diff --git a/build/contracts/MultiSigWallet.json b/build/contracts/MultiSigWallet.json new file mode 100644 index 0000000..607f4d9 --- /dev/null +++ b/build/contracts/MultiSigWallet.json @@ -0,0 +1,25573 @@ +{ + "contractName": "MultiSigWallet", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "owners", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "isOwner", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + }, + { + "name": "", + "type": "address" + } + ], + "name": "confirmations", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "transactions", + "outputs": [ + { + "name": "destination", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + }, + { + "name": "data", + "type": "bytes" + }, + { + "name": "executed", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "transactionCount", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MAX_OWNER_COUNT", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "required", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_owners", + "type": "address[]" + }, + { + "name": "_required", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "sender", + "type": "address" + }, + { + "indexed": true, + "name": "transactionId", + "type": "uint256" + } + ], + "name": "Confirmation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "sender", + "type": "address" + }, + { + "indexed": true, + "name": "transactionId", + "type": "uint256" + } + ], + "name": "Revocation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "transactionId", + "type": "uint256" + } + ], + "name": "Submission", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "transactionId", + "type": "uint256" + } + ], + "name": "Execution", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "transactionId", + "type": "uint256" + } + ], + "name": "ExecutionFailure", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + } + ], + "name": "OwnerAddition", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + } + ], + "name": "OwnerRemoval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "required", + "type": "uint256" + } + ], + "name": "RequirementChange", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "owner", + "type": "address" + } + ], + "name": "addOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "owner", + "type": "address" + } + ], + "name": "removeOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "owner", + "type": "address" + }, + { + "name": "newOwner", + "type": "address" + } + ], + "name": "replaceOwner", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_required", + "type": "uint256" + } + ], + "name": "changeRequirement", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "destination", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + }, + { + "name": "data", + "type": "bytes" + } + ], + "name": "submitTransaction", + "outputs": [ + { + "name": "transactionId", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "transactionId", + "type": "uint256" + } + ], + "name": "confirmTransaction", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "transactionId", + "type": "uint256" + } + ], + "name": "revokeConfirmation", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "transactionId", + "type": "uint256" + } + ], + "name": "executeTransaction", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "transactionId", + "type": "uint256" + } + ], + "name": "isConfirmed", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "transactionId", + "type": "uint256" + } + ], + "name": "getConfirmationCount", + "outputs": [ + { + "name": "count", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "pending", + "type": "bool" + }, + { + "name": "executed", + "type": "bool" + } + ], + "name": "getTransactionCount", + "outputs": [ + { + "name": "count", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getOwners", + "outputs": [ + { + "name": "", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "transactionId", + "type": "uint256" + } + ], + "name": "getConfirmations", + "outputs": [ + { + "name": "_confirmations", + "type": "address[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "from", + "type": "uint256" + }, + { + "name": "to", + "type": "uint256" + }, + { + "name": "pending", + "type": "bool" + }, + { + "name": "executed", + "type": "bool" + } + ], + "name": "getTransactionIds", + "outputs": [ + { + "name": "_transactionIds", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x60806040523480156200001157600080fd5b50604051620024c8380380620024c883398101806040528101908080518201929190602001805190602001909291905050506000825182603282111580156200005a5750818111155b801562000068575060008114155b801562000076575060008214155b15156200008257600080fd5b600092505b8451831015620001bd57600260008685815181101515620000a457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015620001335750600085848151811015156200011057fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614155b15156200013f57600080fd5b60016002600087868151811015156200015457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550828060010193505062000087565b8460039080519060200190620001d5929190620001e8565b50836004819055505050505050620002bd565b82805482825590600052602060002090810192821562000264579160200282015b82811115620002635782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019062000209565b5b50905062000273919062000277565b5090565b620002ba91905b80821115620002b657600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055506001016200027e565b5090565b90565b6121fb80620002cd6000396000f30060806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063025e7c2714610177578063173825d9146101e457806320ea8d86146102275780632f54bf6e146102545780633411c81c146102af57806354741525146103145780637065cb4814610363578063784547a7146103a65780638b51d13f146103eb5780639ace38c21461042c578063a0e67e2b14610517578063a8abe69a14610583578063b5dc40c314610627578063b77bf600146106a9578063ba51a6df146106d4578063c01a8c8414610701578063c64274741461072e578063d74f8edd146107d5578063dc8452cd14610800578063e20056e61461082b578063ee22610b1461088e575b6000341115610175573373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a25b005b34801561018357600080fd5b506101a2600480360381019080803590602001909291905050506108bb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101f057600080fd5b50610225600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108f9565b005b34801561023357600080fd5b5061025260048036038101908080359060200190929190505050610b92565b005b34801561026057600080fd5b50610295600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d3a565b604051808215151515815260200191505060405180910390f35b3480156102bb57600080fd5b506102fa60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d5a565b604051808215151515815260200191505060405180910390f35b34801561032057600080fd5b5061034d600480360381019080803515159060200190929190803515159060200190929190505050610d89565b6040518082815260200191505060405180910390f35b34801561036f57600080fd5b506103a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e1b565b005b3480156103b257600080fd5b506103d160048036038101908080359060200190929190505050611020565b604051808215151515815260200191505060405180910390f35b3480156103f757600080fd5b5061041660048036038101908080359060200190929190505050611105565b6040518082815260200191505060405180910390f35b34801561043857600080fd5b50610457600480360381019080803590602001909291905050506111d0565b604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b838110156104d95780820151818401526020810190506104be565b50505050905090810190601f1680156105065780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561052357600080fd5b5061052c6112c5565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561056f578082015181840152602081019050610554565b505050509050019250505060405180910390f35b34801561058f57600080fd5b506105d06004803603810190808035906020019092919080359060200190929190803515159060200190929190803515159060200190929190505050611353565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156106135780820151818401526020810190506105f8565b505050509050019250505060405180910390f35b34801561063357600080fd5b50610652600480360381019080803590602001909291905050506114c4565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561069557808201518184015260208101905061067a565b505050509050019250505060405180910390f35b3480156106b557600080fd5b506106be611701565b6040518082815260200191505060405180910390f35b3480156106e057600080fd5b506106ff60048036038101908080359060200190929190505050611707565b005b34801561070d57600080fd5b5061072c600480360381019080803590602001909291905050506117c1565b005b34801561073a57600080fd5b506107bf600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061199e565b6040518082815260200191505060405180910390f35b3480156107e157600080fd5b506107ea6119bd565b6040518082815260200191505060405180910390f35b34801561080c57600080fd5b506108156119c2565b6040518082815260200191505060405180910390f35b34801561083757600080fd5b5061088c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119c8565b005b34801561089a57600080fd5b506108b960048036038101908080359060200190929190505050611cdd565b005b6003818154811015156108ca57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561093557600080fd5b81600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561098e57600080fd5b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600091505b600160038054905003821015610b13578273ffffffffffffffffffffffffffffffffffffffff16600383815481101515610a2157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610b06576003600160038054905003815481101515610a7f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600383815481101515610ab957fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b13565b81806001019250506109eb565b6001600381818054905003915081610b2b91906120fe565b506003805490506004541115610b4a57610b49600380549050611707565b5b8273ffffffffffffffffffffffffffffffffffffffff167f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9060405160405180910390a2505050565b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610beb57600080fd5b81336001600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610c5657600080fd5b8360008082815260200190815260200160002060030160009054906101000a900460ff16151515610c8657600080fd5b60006001600087815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550843373ffffffffffffffffffffffffffffffffffffffff167ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e960405160405180910390a35050505050565b60026020528060005260406000206000915054906101000a900460ff1681565b60016020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b600080600090505b600554811015610e1457838015610dc8575060008082815260200190815260200160002060030160009054906101000a900460ff16155b80610dfb5750828015610dfa575060008082815260200190815260200160002060030160009054906101000a900460ff165b5b15610e07576001820191505b8080600101915050610d91565b5092915050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e5557600080fd5b80600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610eaf57600080fd5b8160008173ffffffffffffffffffffffffffffffffffffffff1614151515610ed657600080fd5b60016003805490500160045460328211158015610ef35750818111155b8015610f00575060008114155b8015610f0d575060008214155b1515610f1857600080fd5b6001600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060038590806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550508473ffffffffffffffffffffffffffffffffffffffff167ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d60405160405180910390a25050505050565b6000806000809150600090505b6003805490508110156110fd5760016000858152602001908152602001600020600060038381548110151561105e57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156110dd576001820191505b6004548214156110f057600192506110fe565b808060010191505061102d565b5b5050919050565b600080600090505b6003805490508110156111ca5760016000848152602001908152602001600020600060038381548110151561113e57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156111bd576001820191505b808060010191505061110d565b50919050565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001015490806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112a85780601f1061127d576101008083540402835291602001916112a8565b820191906000526020600020905b81548152906001019060200180831161128b57829003601f168201915b5050505050908060030160009054906101000a900460ff16905084565b6060600380548060200260200160405190810160405280929190818152602001828054801561134957602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116112ff575b5050505050905090565b60608060008060055460405190808252806020026020018201604052801561138a5781602001602082028038833980820191505090505b50925060009150600090505b600554811015611436578580156113cd575060008082815260200190815260200160002060030160009054906101000a900460ff16155b8061140057508480156113ff575060008082815260200190815260200160002060030160009054906101000a900460ff165b5b156114295780838381518110151561141457fe5b90602001906020020181815250506001820191505b8080600101915050611396565b8787036040519080825280602002602001820160405280156114675781602001602082028038833980820191505090505b5093508790505b868110156114b957828181518110151561148457fe5b906020019060200201518489830381518110151561149e57fe5b9060200190602002018181525050808060010191505061146e565b505050949350505050565b6060806000806003805490506040519080825280602002602001820160405280156114fe5781602001602082028038833980820191505090505b50925060009150600090505b60038054905081101561164b5760016000868152602001908152602001600020600060038381548110151561153b57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561163e576003818154811015156115c257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683838151811015156115fb57fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001820191505b808060010191505061150a565b8160405190808252806020026020018201604052801561167a5781602001602082028038833980820191505090505b509350600090505b818110156116f957828181518110151561169857fe5b9060200190602002015184828151811015156116b057fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080600101915050611682565b505050919050565b60055481565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561174157600080fd5b60038054905081603282111580156117595750818111155b8015611766575060008114155b8015611773575060008214155b151561177e57600080fd5b826004819055507fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a836040518082815260200191505060405180910390a1505050565b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561181a57600080fd5b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561187657600080fd5b82336001600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156118e257600080fd5b600180600087815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550843373ffffffffffffffffffffffffffffffffffffffff167f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef60405160405180910390a361199785611cdd565b5050505050565b60006119ab848484611f85565b90506119b6816117c1565b9392505050565b603281565b60045481565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a0457600080fd5b82600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611a5d57600080fd5b82600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611ab757600080fd5b600092505b600380549050831015611ba0578473ffffffffffffffffffffffffffffffffffffffff16600384815481101515611aef57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611b935783600384815481101515611b4657fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611ba0565b8280600101935050611abc565b6000600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508473ffffffffffffffffffffffffffffffffffffffff167f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9060405160405180910390a28373ffffffffffffffffffffffffffffffffffffffff167ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d60405160405180910390a25050505050565b600033600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611d3857600080fd5b82336001600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611da357600080fd5b8460008082815260200190815260200160002060030160009054906101000a900460ff16151515611dd357600080fd5b611ddc86611020565b15611f7d57600080878152602001908152602001600020945060018560030160006101000a81548160ff021916908315150217905550611efa8560000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866001015487600201805460018160011615610100020316600290049050886002018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611ef05780601f10611ec557610100808354040283529160200191611ef0565b820191906000526020600020905b815481529060010190602001808311611ed357829003601f168201915b50505050506120d7565b15611f3157857f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7560405160405180910390a2611f7c565b857f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923660405160405180910390a260008560030160006101000a81548160ff0219169083151502179055505b5b505050505050565b60008360008173ffffffffffffffffffffffffffffffffffffffff1614151515611fae57600080fd5b60055491506080604051908101604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020016000151581525060008084815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155604082015181600201908051906020019061206d92919061212a565b5060608201518160030160006101000a81548160ff0219169083151502179055509050506001600560008282540192505081905550817fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5160405160405180910390a2509392505050565b6000806040516020840160008287838a8c6187965a03f19250505080915050949350505050565b8154818355818111156121255781836000526020600020918201910161212491906121aa565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061216b57805160ff1916838001178555612199565b82800160010185558215612199579182015b8281111561219857825182559160200191906001019061217d565b5b5090506121a691906121aa565b5090565b6121cc91905b808211156121c85760008160009055506001016121b0565b5090565b905600a165627a7a72305820ca53157e27053acdd868c5f6b793821c7cb3183c46ae7c3f4cf99b9415e576990029", + "deployedBytecode": "0x60806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063025e7c2714610177578063173825d9146101e457806320ea8d86146102275780632f54bf6e146102545780633411c81c146102af57806354741525146103145780637065cb4814610363578063784547a7146103a65780638b51d13f146103eb5780639ace38c21461042c578063a0e67e2b14610517578063a8abe69a14610583578063b5dc40c314610627578063b77bf600146106a9578063ba51a6df146106d4578063c01a8c8414610701578063c64274741461072e578063d74f8edd146107d5578063dc8452cd14610800578063e20056e61461082b578063ee22610b1461088e575b6000341115610175573373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a25b005b34801561018357600080fd5b506101a2600480360381019080803590602001909291905050506108bb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101f057600080fd5b50610225600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108f9565b005b34801561023357600080fd5b5061025260048036038101908080359060200190929190505050610b92565b005b34801561026057600080fd5b50610295600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d3a565b604051808215151515815260200191505060405180910390f35b3480156102bb57600080fd5b506102fa60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d5a565b604051808215151515815260200191505060405180910390f35b34801561032057600080fd5b5061034d600480360381019080803515159060200190929190803515159060200190929190505050610d89565b6040518082815260200191505060405180910390f35b34801561036f57600080fd5b506103a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e1b565b005b3480156103b257600080fd5b506103d160048036038101908080359060200190929190505050611020565b604051808215151515815260200191505060405180910390f35b3480156103f757600080fd5b5061041660048036038101908080359060200190929190505050611105565b6040518082815260200191505060405180910390f35b34801561043857600080fd5b50610457600480360381019080803590602001909291905050506111d0565b604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b838110156104d95780820151818401526020810190506104be565b50505050905090810190601f1680156105065780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561052357600080fd5b5061052c6112c5565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561056f578082015181840152602081019050610554565b505050509050019250505060405180910390f35b34801561058f57600080fd5b506105d06004803603810190808035906020019092919080359060200190929190803515159060200190929190803515159060200190929190505050611353565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156106135780820151818401526020810190506105f8565b505050509050019250505060405180910390f35b34801561063357600080fd5b50610652600480360381019080803590602001909291905050506114c4565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561069557808201518184015260208101905061067a565b505050509050019250505060405180910390f35b3480156106b557600080fd5b506106be611701565b6040518082815260200191505060405180910390f35b3480156106e057600080fd5b506106ff60048036038101908080359060200190929190505050611707565b005b34801561070d57600080fd5b5061072c600480360381019080803590602001909291905050506117c1565b005b34801561073a57600080fd5b506107bf600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061199e565b6040518082815260200191505060405180910390f35b3480156107e157600080fd5b506107ea6119bd565b6040518082815260200191505060405180910390f35b34801561080c57600080fd5b506108156119c2565b6040518082815260200191505060405180910390f35b34801561083757600080fd5b5061088c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119c8565b005b34801561089a57600080fd5b506108b960048036038101908080359060200190929190505050611cdd565b005b6003818154811015156108ca57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561093557600080fd5b81600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561098e57600080fd5b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600091505b600160038054905003821015610b13578273ffffffffffffffffffffffffffffffffffffffff16600383815481101515610a2157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610b06576003600160038054905003815481101515610a7f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600383815481101515610ab957fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b13565b81806001019250506109eb565b6001600381818054905003915081610b2b91906120fe565b506003805490506004541115610b4a57610b49600380549050611707565b5b8273ffffffffffffffffffffffffffffffffffffffff167f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9060405160405180910390a2505050565b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610beb57600080fd5b81336001600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610c5657600080fd5b8360008082815260200190815260200160002060030160009054906101000a900460ff16151515610c8657600080fd5b60006001600087815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550843373ffffffffffffffffffffffffffffffffffffffff167ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e960405160405180910390a35050505050565b60026020528060005260406000206000915054906101000a900460ff1681565b60016020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b600080600090505b600554811015610e1457838015610dc8575060008082815260200190815260200160002060030160009054906101000a900460ff16155b80610dfb5750828015610dfa575060008082815260200190815260200160002060030160009054906101000a900460ff165b5b15610e07576001820191505b8080600101915050610d91565b5092915050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e5557600080fd5b80600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610eaf57600080fd5b8160008173ffffffffffffffffffffffffffffffffffffffff1614151515610ed657600080fd5b60016003805490500160045460328211158015610ef35750818111155b8015610f00575060008114155b8015610f0d575060008214155b1515610f1857600080fd5b6001600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060038590806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550508473ffffffffffffffffffffffffffffffffffffffff167ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d60405160405180910390a25050505050565b6000806000809150600090505b6003805490508110156110fd5760016000858152602001908152602001600020600060038381548110151561105e57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156110dd576001820191505b6004548214156110f057600192506110fe565b808060010191505061102d565b5b5050919050565b600080600090505b6003805490508110156111ca5760016000848152602001908152602001600020600060038381548110151561113e57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156111bd576001820191505b808060010191505061110d565b50919050565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001015490806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112a85780601f1061127d576101008083540402835291602001916112a8565b820191906000526020600020905b81548152906001019060200180831161128b57829003601f168201915b5050505050908060030160009054906101000a900460ff16905084565b6060600380548060200260200160405190810160405280929190818152602001828054801561134957602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116112ff575b5050505050905090565b60608060008060055460405190808252806020026020018201604052801561138a5781602001602082028038833980820191505090505b50925060009150600090505b600554811015611436578580156113cd575060008082815260200190815260200160002060030160009054906101000a900460ff16155b8061140057508480156113ff575060008082815260200190815260200160002060030160009054906101000a900460ff165b5b156114295780838381518110151561141457fe5b90602001906020020181815250506001820191505b8080600101915050611396565b8787036040519080825280602002602001820160405280156114675781602001602082028038833980820191505090505b5093508790505b868110156114b957828181518110151561148457fe5b906020019060200201518489830381518110151561149e57fe5b9060200190602002018181525050808060010191505061146e565b505050949350505050565b6060806000806003805490506040519080825280602002602001820160405280156114fe5781602001602082028038833980820191505090505b50925060009150600090505b60038054905081101561164b5760016000868152602001908152602001600020600060038381548110151561153b57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561163e576003818154811015156115c257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683838151811015156115fb57fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001820191505b808060010191505061150a565b8160405190808252806020026020018201604052801561167a5781602001602082028038833980820191505090505b509350600090505b818110156116f957828181518110151561169857fe5b9060200190602002015184828151811015156116b057fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080600101915050611682565b505050919050565b60055481565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561174157600080fd5b60038054905081603282111580156117595750818111155b8015611766575060008114155b8015611773575060008214155b151561177e57600080fd5b826004819055507fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a836040518082815260200191505060405180910390a1505050565b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561181a57600080fd5b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561187657600080fd5b82336001600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156118e257600080fd5b600180600087815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550843373ffffffffffffffffffffffffffffffffffffffff167f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef60405160405180910390a361199785611cdd565b5050505050565b60006119ab848484611f85565b90506119b6816117c1565b9392505050565b603281565b60045481565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a0457600080fd5b82600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611a5d57600080fd5b82600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611ab757600080fd5b600092505b600380549050831015611ba0578473ffffffffffffffffffffffffffffffffffffffff16600384815481101515611aef57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611b935783600384815481101515611b4657fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611ba0565b8280600101935050611abc565b6000600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508473ffffffffffffffffffffffffffffffffffffffff167f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9060405160405180910390a28373ffffffffffffffffffffffffffffffffffffffff167ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d60405160405180910390a25050505050565b600033600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611d3857600080fd5b82336001600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611da357600080fd5b8460008082815260200190815260200160002060030160009054906101000a900460ff16151515611dd357600080fd5b611ddc86611020565b15611f7d57600080878152602001908152602001600020945060018560030160006101000a81548160ff021916908315150217905550611efa8560000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866001015487600201805460018160011615610100020316600290049050886002018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611ef05780601f10611ec557610100808354040283529160200191611ef0565b820191906000526020600020905b815481529060010190602001808311611ed357829003601f168201915b50505050506120d7565b15611f3157857f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7560405160405180910390a2611f7c565b857f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923660405160405180910390a260008560030160006101000a81548160ff0219169083151502179055505b5b505050505050565b60008360008173ffffffffffffffffffffffffffffffffffffffff1614151515611fae57600080fd5b60055491506080604051908101604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020016000151581525060008084815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155604082015181600201908051906020019061206d92919061212a565b5060608201518160030160006101000a81548160ff0219169083151502179055509050506001600560008282540192505081905550817fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5160405160405180910390a2509392505050565b6000806040516020840160008287838a8c6187965a03f19250505080915050949350505050565b8154818355818111156121255781836000526020600020918201910161212491906121aa565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061216b57805160ff1916838001178555612199565b82800160010185558215612199579182015b8281111561219857825182559160200191906001019061217d565b5b5090506121a691906121aa565b5090565b6121cc91905b808211156121c85760008160009055506001016121b0565b5090565b905600a165627a7a72305820ca53157e27053acdd868c5f6b793821c7cb3183c46ae7c3f4cf99b9415e576990029", + "sourceMap": "187:12685:37:-;;;2836:341;8:9:-1;5:2;;;30:1;27;20:12;5:2;2836:341:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2969:6;2923:7;:14;2939:9;820:2;2254:10;:29;;:68;;;;;2312:10;2299:9;:23;;2254:68;:98;;;;;2351:1;2338:9;:14;;2254:98;:129;;;;;2382:1;2368:10;:15;;2254:129;2246:138;;;;;;;;2976:1;2969:8;;2964:151;2981:7;:14;2979:1;:16;2964:151;;;3025:7;:19;3033:7;3041:1;3033:10;;;;;;;;;;;;;;;;;;3025:19;;;;;;;;;;;;;;;;;;;;;;;;;3024:20;:39;;;;;3062:1;3048:7;3056:1;3048:10;;;;;;;;;;;;;;;;;;:15;;;;3024:39;3016:48;;;;;;;;3100:4;3078:7;:19;3086:7;3094:1;3086:10;;;;;;;;;;;;;;;;;;3078:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;2997:3;;;;;;;2964:151;;;3133:7;3124:6;:16;;;;;;;;;;;;:::i;:::-;;3161:9;3150:8;:20;;;;2836:341;;;;;187:12685;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "187:12685:37:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2536:1;2524:9;:13;2520:66;;;2564:10;2556:30;;;2576:9;2556:30;;;;;;;;;;;;;;;;;;2520:66;187:12685;1031:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1031:23:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3709:465;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3709:465:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;6300:296;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6300:296:37;;;;;;;;;;;;;;;;;;;;;;;;;;985:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;985:40:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;915:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;915:64:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10573:319;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10573:319:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3304:282;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3304:282:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;8736:337;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8736:337:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10059:252;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10059:252:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;860:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;860:49:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;860:49:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10976:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10976:115:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;10976:115:37;;;;;;;;;;;;;;;;;12194:676;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12194:676:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;12194:676:37;;;;;;;;;;;;;;;;;11270:575;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11270:575:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;11270:575:37;;;;;;;;;;;;;;;;;1086:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1086:28:37;;;;;;;;;;;;;;;;;;;;;;;5006:212;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5006:212:37;;;;;;;;;;;;;;;;;;;;;;;;;;5827:349;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5827:349:37;;;;;;;;;;;;;;;;;;;;;;;;;;5477:244;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5477:244:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;781:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;781:41:37;;;;;;;;;;;;;;;;;;;;;;;1060:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1060:20:37;;;;;;;;;;;;;;;;;;;;;;;4376:459;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4376:459:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6710:596;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6710:596:37;;;;;;;;;;;;;;;;;;;;;;;;;;1031:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3709:465::-;3857:6;1340:4;1318:27;;:10;:27;;;1310:36;;;;;;;;3799:5;1524:7;:14;1532:5;1524:14;;;;;;;;;;;;;;;;;;;;;;;;;1516:23;;;;;;;;3837:5;3820:7;:14;3828:5;3820:14;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;3864:1;3857:8;;3852:170;3885:1;3869:6;:13;;;;:17;3867:1;:19;3852:170;;;3922:5;3909:18;;:6;3916:1;3909:9;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;;;3905:117;;;3959:6;3982:1;3966:6;:13;;;;:17;3959:25;;;;;;;;;;;;;;;;;;;;;;;;;;;3947:6;3954:1;3947:9;;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;4002:5;;3905:117;3888:3;;;;;;;3852:170;;;4048:1;4031:6;:18;;;;;;;;;;;;;;:::i;:::-;;4074:6;:13;;;;4063:8;;:24;4059:74;;;4101:32;4119:6;:13;;;;4101:17;:32::i;:::-;4059:74;4161:5;4148:19;;;;;;;;;;;;1356:1;3709:465;;:::o;6300:296::-;6383:10;1524:7;:14;1532:5;1524:14;;;;;;;;;;;;;;;;;;;;;;;;;1516:23;;;;;;;;6413:13;6428:10;1769:13;:28;1783:13;1769:28;;;;;;;;;;;:35;1798:5;1769:35;;;;;;;;;;;;;;;;;;;;;;;;;1761:44;;;;;;;;6460:13;2025:12;:27;2038:13;2025:27;;;;;;;;;;;:36;;;;;;;;;;;;2024:37;2016:46;;;;;;;;6532:5;6489:13;:28;6503:13;6489:28;;;;;;;;;;;:40;6518:10;6489:40;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;6575:13;6563:10;6552:37;;;;;;;;;;;;1815:1;1549;;6300:296;;:::o;985:40::-;;;;;;;;;;;;;;;;;;;;;;:::o;915:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10573:319::-;10680:10;10711:6;10718:1;10711:8;;10706:179;10723:16;;10721:1;:18;10706:179;;;10765:7;:36;;;;;10777:12;:15;10790:1;10777:15;;;;;;;;;;;:24;;;;;;;;;;;;10776:25;10765:36;:92;;;;10821:8;:36;;;;;10833:12;:15;10846:1;10833:15;;;;;;;;;;;:24;;;;;;;;;;;;10821:36;10765:92;10758:127;;;10884:1;10875:10;;;;10758:127;10741:3;;;;;;;10706:179;;;10573:319;;;;;:::o;3304:282::-;1340:4;1318:27;;:10;:27;;;1310:36;;;;;;;;3397:5;1431:7;:14;1439:5;1431:14;;;;;;;;;;;;;;;;;;;;;;;;;1430:15;1422:24;;;;;;;;3420:5;2151:1;2139:8;:13;;;;2131:22;;;;;;;;3468:1;3452:6;:13;;;;:17;3471:8;;820:2;2254:10;:29;;:68;;;;;2312:10;2299:9;:23;;2254:68;:98;;;;;2351:1;2338:9;:14;;2254:98;:129;;;;;2382:1;2368:10;:15;;2254:129;2246:138;;;;;;;;3512:4;3495:7;:14;3503:5;3495:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;3526:6;3538:5;3526:18;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;3526:18:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3573:5;3559:20;;;;;;;;;;;;2163:1;;1456;1356;3304:282;:::o;8736:337::-;8826:4;8846:10;8875:6;8859:1;8846:14;;8882:1;8875:8;;8870:197;8887:6;:13;;;;8885:1;:15;8870:197;;;8925:13;:28;8939:13;8925:28;;;;;;;;;;;:39;8954:6;8961:1;8954:9;;;;;;;;;;;;;;;;;;;;;;;;;;;8925:39;;;;;;;;;;;;;;;;;;;;;;;;;8921:71;;;8991:1;8982:10;;;;8921:71;9019:8;;9010:5;:17;9006:50;;;9052:4;9045:11;;;;9006:50;8902:3;;;;;;;8870:197;;;8736:337;;;;;;:::o;10059:252::-;10158:10;10189:6;10196:1;10189:8;;10184:120;10201:6;:13;;;;10199:1;:15;10184:120;;;10237:13;:28;10251:13;10237:28;;;;;;;;;;;:39;10266:6;10273:1;10266:9;;;;;;;;;;;;;;;;;;;;;;;;;;;10237:39;;;;;;;;;;;;;;;;;;;;;;;;;10233:71;;;10303:1;10294:10;;;;10233:71;10216:3;;;;;;;10184:120;;;10059:252;;;;:::o;860:49::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10976:115::-;11046:9;11078:6;11071:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10976:115;:::o;12194:676::-;12319:22;12357:32;12430:10;12454:6;12403:16;;12392:28;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;12392:28:37;;;;12357:63;;12443:1;12430:14;;12477:1;12475:3;;12470:250;12482:16;;12480:1;:18;12470:250;;;12524:7;:36;;;;;12536:12;:15;12549:1;12536:15;;;;;;;;;;;:24;;;;;;;;;;;;12535:25;12524:36;:92;;;;12580:8;:36;;;;;12592:12;:15;12605:1;12592:15;;;;;;;;;;;:24;;;;;;;;;;;;12580:36;12524:92;12517:203;;;12676:1;12648:18;12667:5;12648:25;;;;;;;;;;;;;;;;;:29;;;;;12704:1;12695:10;;;;12517:203;12500:3;;;;;;;12470:250;;;12763:4;12758:2;:9;12747:21;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;12747:21:37;;;;12729:39;;12785:4;12783:6;;12778:85;12793:2;12791:1;:4;12778:85;;;12842:18;12861:1;12842:21;;;;;;;;;;;;;;;;;;12814:15;12834:4;12830:1;:8;12814:25;;;;;;;;;;;;;;;;;:49;;;;;12797:3;;;;;;;12778:85;;;12194:676;;;;;;;;;:::o;11270:575::-;11365:24;11405:34;11480:10;11504:6;11456;:13;;;;11442:28;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;11442:28:37;;;;11405:65;;11493:1;11480:14;;11527:1;11525:3;;11520:186;11532:6;:13;;;;11530:1;:15;11520:186;;;11568:13;:28;11582:13;11568:28;;;;;;;;;;;:39;11597:6;11604:1;11597:9;;;;;;;;;;;;;;;;;;;;;;;;;;;11568:39;;;;;;;;;;;;;;;;;;;;;;;;;11564:142;;;11654:6;11661:1;11654:9;;;;;;;;;;;;;;;;;;;;;;;;;;;11627:17;11645:5;11627:24;;;;;;;;;;;;;;;;;:36;;;;;;;;;;;11690:1;11681:10;;;;11564:142;11547:3;;;;;;;11520:186;;;11746:5;11732:20;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;11732:20:37;;;;11715:37;;11769:1;11767:3;;11762:76;11774:5;11772:1;:7;11762:76;;;11818:17;11836:1;11818:20;;;;;;;;;;;;;;;;;;11798:14;11813:1;11798:17;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;11781:3;;;;;;;11762:76;;;11270:575;;;;;;:::o;1086:28::-;;;;:::o;5006:212::-;1340:4;1318:27;;:10;:27;;;1310:36;;;;;;;;5108:6;:13;;;;5123:9;820:2;2254:10;:29;;:68;;;;;2312:10;2299:9;:23;;2254:68;:98;;;;;2351:1;2338:9;:14;;2254:98;:129;;;;;2382:1;2368:10;:15;;2254:129;2246:138;;;;;;;;5159:9;5148:8;:20;;;;5183:28;5201:9;5183:28;;;;;;;;;;;;;;;;;;1356:1;;5006:212;:::o;5827:349::-;5910:10;1524:7;:14;1532:5;1524:14;;;;;;;;;;;;;;;;;;;;;;;;;1516:23;;;;;;;;5948:13;1671:1;1628:12;:27;1641:13;1628:27;;;;;;;;;;;:39;;;;;;;;;;;;:44;;;;1620:53;;;;;;;;5984:13;5999:10;1905:13;:28;1919:13;1905:28;;;;;;;;;;;:35;1934:5;1905:35;;;;;;;;;;;;;;;;;;;;;;;;;1904:36;1896:45;;;;;;;;6068:4;6025:13;:28;6039:13;6025:28;;;;;;;;;;;:40;6054:10;6025:40;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;6112:13;6100:10;6087:39;;;;;;;;;;;;6136:33;6155:13;6136:18;:33::i;:::-;1683:1;;1549;5827:349;;:::o;5477:244::-;5581:18;5631:40;5646:11;5659:5;5666:4;5631:14;:40::i;:::-;5615:56;;5681:33;5700:13;5681:18;:33::i;:::-;5477:244;;;;;:::o;781:41::-;820:2;781:41;:::o;1060:20::-;;;;:::o;4376:459::-;4547:6;1340:4;1318:27;;:10;:27;;;1310:36;;;;;;;;4485:5;1524:7;:14;1532:5;1524:14;;;;;;;;;;;;;;;;;;;;;;;;;1516:23;;;;;;;;4518:8;1431:7;:14;1439:5;1431:14;;;;;;;;;;;;;;;;;;;;;;;;;1430:15;1422:24;;;;;;;;4554:1;4547:8;;4542:149;4559:6;:13;;;;4557:1;:15;4542:149;;;4608:5;4595:18;;:6;4602:1;4595:9;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;;;4591:100;;;4645:8;4633:6;4640:1;4633:9;;;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;4671:5;;4591:100;4574:3;;;;;;;4542:149;;;4717:5;4700:7;:14;4708:5;4700:14;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;4752:4;4732:7;:17;4740:8;4732:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;4784:5;4771:19;;;;;;;;;;;;4819:8;4805:23;;;;;;;;;;;;1549:1;1356;4376:459;;;:::o;6710:596::-;6945:23;6793:10;1524:7;:14;1532:5;1524:14;;;;;;;;;;;;;;;;;;;;;;;;;1516:23;;;;;;;;6823:13;6838:10;1769:13;:28;1783:13;1769:28;;;;;;;;;;;:35;1798:5;1769:35;;;;;;;;;;;;;;;;;;;;;;;;;1761:44;;;;;;;;6870:13;2025:12;:27;2038:13;2025:27;;;;;;;;;;;:36;;;;;;;;;;;;2024:37;2016:46;;;;;;;;6903:26;6915:13;6903:11;:26::i;:::-;6899:401;;;6971:12;:27;6984:13;6971:27;;;;;;;;;;;6945:53;;7027:4;7012:3;:12;;;:19;;;;;;;;;;;;;;;;;;7049:68;7063:3;:15;;;;;;;;;;;;7080:3;:9;;;7091:3;:8;;:15;;;;;;;;;;;;;;;;7108:3;:8;;7049:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:13;:68::i;:::-;7045:245;;;7150:13;7140:24;;;;;;;;;;7045:245;;;7223:13;7206:31;;;;;;;;;;7270:5;7255:3;:12;;;:20;;;;;;;;;;;;;;;;;;7045:245;6899:401;1815:1;1549;;6710:596;;;:::o;9406:456::-;9538:18;9508:11;2151:1;2139:8;:13;;;;2131:22;;;;;;;;9588:16;;9572:32;;9644:140;;;;;;;;;9683:11;9644:140;;;;;;9715:5;9644:140;;;;9740:4;9644:140;;;;9768:5;9644:140;;;;;9614:12;:27;9627:13;9614:27;;;;;;;;;;;:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9814:1;9794:16;;:21;;;;;;;;;;;9841:13;9830:25;;;;;;;;;;9406:456;;;;;;:::o;7483:1102::-;7585:4;7601:11;7660:4;7654:11;7793:2;7787:4;7783:13;8458:1;8439;8331:10;8312:1;8289:5;8260:11;7915:5;7910:3;7906:15;7884:662;7874:672;;7631:925;;8572:6;8565:13;;7483:1102;;;;;;;:::o;187:12685::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.15;\n\n\n/// @title Multisignature wallet - Allows multiple parties to agree on transactions before execution.\n/// @author Stefan George - \ncontract MultiSigWallet {\n\n /*\n * Events\n */\n event Confirmation(address indexed sender, uint indexed transactionId);\n event Revocation(address indexed sender, uint indexed transactionId);\n event Submission(uint indexed transactionId);\n event Execution(uint indexed transactionId);\n event ExecutionFailure(uint indexed transactionId);\n event Deposit(address indexed sender, uint value);\n event OwnerAddition(address indexed owner);\n event OwnerRemoval(address indexed owner);\n event RequirementChange(uint required);\n\n /*\n * Constants\n */\n uint constant public MAX_OWNER_COUNT = 50;\n\n /*\n * Storage\n */\n mapping (uint => Transaction) public transactions;\n mapping (uint => mapping (address => bool)) public confirmations;\n mapping (address => bool) public isOwner;\n address[] public owners;\n uint public required;\n uint public transactionCount;\n\n struct Transaction {\n address destination;\n uint value;\n bytes data;\n bool executed;\n }\n\n /*\n * Modifiers\n */\n modifier onlyWallet() {\n require(msg.sender == address(this));\n _;\n }\n\n modifier ownerDoesNotExist(address owner) {\n require(!isOwner[owner]);\n _;\n }\n\n modifier ownerExists(address owner) {\n require(isOwner[owner]);\n _;\n }\n\n modifier transactionExists(uint transactionId) {\n require(transactions[transactionId].destination != 0);\n _;\n }\n\n modifier confirmed(uint transactionId, address owner) {\n require(confirmations[transactionId][owner]);\n _;\n }\n\n modifier notConfirmed(uint transactionId, address owner) {\n require(!confirmations[transactionId][owner]);\n _;\n }\n\n modifier notExecuted(uint transactionId) {\n require(!transactions[transactionId].executed);\n _;\n }\n\n modifier notNull(address _address) {\n require(_address != 0);\n _;\n }\n\n modifier validRequirement(uint ownerCount, uint _required) {\n require(ownerCount <= MAX_OWNER_COUNT\n && _required <= ownerCount\n && _required != 0\n && ownerCount != 0);\n _;\n }\n\n /// @dev Fallback function allows to deposit ether.\n function()\n public\n payable\n {\n if (msg.value > 0)\n emit Deposit(msg.sender, msg.value);\n }\n\n /*\n * Public functions\n */\n /// @dev Contract constructor sets initial owners and required number of confirmations.\n /// @param _owners List of initial owners.\n /// @param _required Number of required confirmations.\n constructor(address[] _owners, uint _required)\n public\n validRequirement(_owners.length, _required)\n {\n for (uint i=0; i<_owners.length; i++) {\n require(!isOwner[_owners[i]] && _owners[i] != 0);\n isOwner[_owners[i]] = true;\n }\n owners = _owners;\n required = _required;\n }\n\n /// @dev Allows to add a new owner. Transaction has to be sent by wallet.\n /// @param owner Address of new owner.\n function addOwner(address owner)\n public\n onlyWallet\n ownerDoesNotExist(owner)\n notNull(owner)\n validRequirement(owners.length + 1, required)\n {\n isOwner[owner] = true;\n owners.push(owner);\n emit OwnerAddition(owner);\n }\n\n /// @dev Allows to remove an owner. Transaction has to be sent by wallet.\n /// @param owner Address of owner.\n function removeOwner(address owner)\n public\n onlyWallet\n ownerExists(owner)\n {\n isOwner[owner] = false;\n for (uint i=0; i owners.length)\n changeRequirement(owners.length);\n emit OwnerRemoval(owner);\n }\n\n /// @dev Allows to replace an owner with a new owner. Transaction has to be sent by wallet.\n /// @param owner Address of owner to be replaced.\n /// @param newOwner Address of new owner.\n function replaceOwner(address owner, address newOwner)\n public\n onlyWallet\n ownerExists(owner)\n ownerDoesNotExist(newOwner)\n {\n for (uint i=0; i", + "fullyImplemented": true, + "id": 10398, + "linearizedBaseContracts": [ + 10398 + ], + "name": "MultiSigWallet", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 9401, + "name": "Confirmation", + "nodeType": "EventDefinition", + "parameters": { + "id": 9400, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9397, + "indexed": true, + "name": "sender", + "nodeType": "VariableDeclaration", + "scope": 9401, + "src": "267:22:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9396, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "267:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9399, + "indexed": true, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9401, + "src": "291:26:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9398, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "291:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "266:52:37" + }, + "src": "248:71:37" + }, + { + "anonymous": false, + "documentation": null, + "id": 9407, + "name": "Revocation", + "nodeType": "EventDefinition", + "parameters": { + "id": 9406, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9403, + "indexed": true, + "name": "sender", + "nodeType": "VariableDeclaration", + "scope": 9407, + "src": "341:22:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9402, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "341:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9405, + "indexed": true, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9407, + "src": "365:26:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9404, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "365:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "340:52:37" + }, + "src": "324:69:37" + }, + { + "anonymous": false, + "documentation": null, + "id": 9411, + "name": "Submission", + "nodeType": "EventDefinition", + "parameters": { + "id": 9410, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9409, + "indexed": true, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9411, + "src": "415:26:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9408, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "415:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "414:28:37" + }, + "src": "398:45:37" + }, + { + "anonymous": false, + "documentation": null, + "id": 9415, + "name": "Execution", + "nodeType": "EventDefinition", + "parameters": { + "id": 9414, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9413, + "indexed": true, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9415, + "src": "464:26:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9412, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "464:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "463:28:37" + }, + "src": "448:44:37" + }, + { + "anonymous": false, + "documentation": null, + "id": 9419, + "name": "ExecutionFailure", + "nodeType": "EventDefinition", + "parameters": { + "id": 9418, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9417, + "indexed": true, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9419, + "src": "520:26:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9416, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "520:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "519:28:37" + }, + "src": "497:51:37" + }, + { + "anonymous": false, + "documentation": null, + "id": 9425, + "name": "Deposit", + "nodeType": "EventDefinition", + "parameters": { + "id": 9424, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9421, + "indexed": true, + "name": "sender", + "nodeType": "VariableDeclaration", + "scope": 9425, + "src": "567:22:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9420, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "567:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9423, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 9425, + "src": "591:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9422, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "591:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "566:36:37" + }, + "src": "553:50:37" + }, + { + "anonymous": false, + "documentation": null, + "id": 9429, + "name": "OwnerAddition", + "nodeType": "EventDefinition", + "parameters": { + "id": 9428, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9427, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 9429, + "src": "628:21:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9426, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "628:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "627:23:37" + }, + "src": "608:43:37" + }, + { + "anonymous": false, + "documentation": null, + "id": 9433, + "name": "OwnerRemoval", + "nodeType": "EventDefinition", + "parameters": { + "id": 9432, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9431, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 9433, + "src": "675:21:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9430, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "675:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "674:23:37" + }, + "src": "656:42:37" + }, + { + "anonymous": false, + "documentation": null, + "id": 9437, + "name": "RequirementChange", + "nodeType": "EventDefinition", + "parameters": { + "id": 9436, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9435, + "indexed": false, + "name": "required", + "nodeType": "VariableDeclaration", + "scope": 9437, + "src": "727:13:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9434, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "727:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "726:15:37" + }, + "src": "703:39:37" + }, + { + "constant": true, + "id": 9440, + "name": "MAX_OWNER_COUNT", + "nodeType": "VariableDeclaration", + "scope": 10398, + "src": "781:41:37", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9438, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "781:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3530", + "id": 9439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "820:2:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + "value": "50" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 9444, + "name": "transactions", + "nodeType": "VariableDeclaration", + "scope": 10398, + "src": "860:49:37", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$9470_storage_$", + "typeString": "mapping(uint256 => struct MultiSigWallet.Transaction)" + }, + "typeName": { + "id": 9443, + "keyType": { + "id": 9441, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "869:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "860:29:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$9470_storage_$", + "typeString": "mapping(uint256 => struct MultiSigWallet.Transaction)" + }, + "valueType": { + "contractScope": null, + "id": 9442, + "name": "Transaction", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 9470, + "src": "877:11:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage_ptr", + "typeString": "struct MultiSigWallet.Transaction" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 9450, + "name": "confirmations", + "nodeType": "VariableDeclaration", + "scope": 10398, + "src": "915:64:37", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(uint256 => mapping(address => bool))" + }, + "typeName": { + "id": 9449, + "keyType": { + "id": 9445, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "924:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "915:43:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(uint256 => mapping(address => bool))" + }, + "valueType": { + "id": 9448, + "keyType": { + "id": 9446, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "941:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "932:25:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 9447, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "952:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 9454, + "name": "isOwner", + "nodeType": "VariableDeclaration", + "scope": 10398, + "src": "985:40:37", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 9453, + "keyType": { + "id": 9451, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "994:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "985:25:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 9452, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1005:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 9457, + "name": "owners", + "nodeType": "VariableDeclaration", + "scope": 10398, + "src": "1031:23:37", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 9455, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1031:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9456, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1031:9:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 9459, + "name": "required", + "nodeType": "VariableDeclaration", + "scope": 10398, + "src": "1060:20:37", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9458, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1060:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 9461, + "name": "transactionCount", + "nodeType": "VariableDeclaration", + "scope": 10398, + "src": "1086:28:37", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9460, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1086:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "canonicalName": "MultiSigWallet.Transaction", + "id": 9470, + "members": [ + { + "constant": false, + "id": 9463, + "name": "destination", + "nodeType": "VariableDeclaration", + "scope": 9470, + "src": "1150:19:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9462, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1150:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9465, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 9470, + "src": "1179:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9464, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1179:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9467, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 9470, + "src": "1199:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9466, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1199:5:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9469, + "name": "executed", + "nodeType": "VariableDeclaration", + "scope": 9470, + "src": "1219:13:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9468, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1219:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Transaction", + "nodeType": "StructDefinition", + "scope": 10398, + "src": "1121:118:37", + "visibility": "public" + }, + { + "body": { + "id": 9482, + "nodeType": "Block", + "src": "1300:64:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 9478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9473, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1318:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1318:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9476, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26775, + "src": "1340:4:37", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MultiSigWallet_$10398", + "typeString": "contract MultiSigWallet" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MultiSigWallet_$10398", + "typeString": "contract MultiSigWallet" + } + ], + "id": 9475, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1332:7:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 9477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1332:13:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1318:27:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 9472, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1310:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 9479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1310:36:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9480, + "nodeType": "ExpressionStatement", + "src": "1310:36:37" + }, + { + "id": 9481, + "nodeType": "PlaceholderStatement", + "src": "1356:1:37" + } + ] + }, + "documentation": null, + "id": 9483, + "name": "onlyWallet", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 9471, + "nodeType": "ParameterList", + "parameters": [], + "src": "1297:2:37" + }, + "src": "1278:86:37", + "visibility": "internal" + }, + { + "body": { + "id": 9495, + "nodeType": "Block", + "src": "1412:52:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1430:15:37", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9488, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9454, + "src": "1431:7:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9490, + "indexExpression": { + "argumentTypes": null, + "id": 9489, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9485, + "src": "1439:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1431:14:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 9487, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1422:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 9492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1422:24:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9493, + "nodeType": "ExpressionStatement", + "src": "1422:24:37" + }, + { + "id": 9494, + "nodeType": "PlaceholderStatement", + "src": "1456:1:37" + } + ] + }, + "documentation": null, + "id": 9496, + "name": "ownerDoesNotExist", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 9486, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9485, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 9496, + "src": "1397:13:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9484, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1397:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1396:15:37" + }, + "src": "1370:94:37", + "visibility": "internal" + }, + { + "body": { + "id": 9507, + "nodeType": "Block", + "src": "1506:51:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9501, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9454, + "src": "1524:7:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9503, + "indexExpression": { + "argumentTypes": null, + "id": 9502, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9498, + "src": "1532:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1524:14:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 9500, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1516:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 9504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1516:23:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9505, + "nodeType": "ExpressionStatement", + "src": "1516:23:37" + }, + { + "id": 9506, + "nodeType": "PlaceholderStatement", + "src": "1549:1:37" + } + ] + }, + "documentation": null, + "id": 9508, + "name": "ownerExists", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 9499, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9498, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 9508, + "src": "1491:13:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9497, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1491:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1490:15:37" + }, + "src": "1470:87:37", + "visibility": "internal" + }, + { + "body": { + "id": 9522, + "nodeType": "Block", + "src": "1610:81:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 9518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9513, + "name": "transactions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9444, + "src": "1628:12:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$9470_storage_$", + "typeString": "mapping(uint256 => struct MultiSigWallet.Transaction storage ref)" + } + }, + "id": 9515, + "indexExpression": { + "argumentTypes": null, + "id": 9514, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9510, + "src": "1641:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1628:27:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage", + "typeString": "struct MultiSigWallet.Transaction storage ref" + } + }, + "id": 9516, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "destination", + "nodeType": "MemberAccess", + "referencedDeclaration": 9463, + "src": "1628:39:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 9517, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1671:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1628:44:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 9512, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1620:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 9519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1620:53:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9520, + "nodeType": "ExpressionStatement", + "src": "1620:53:37" + }, + { + "id": 9521, + "nodeType": "PlaceholderStatement", + "src": "1683:1:37" + } + ] + }, + "documentation": null, + "id": 9523, + "name": "transactionExists", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 9511, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9510, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9523, + "src": "1590:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9509, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1590:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1589:20:37" + }, + "src": "1563:128:37", + "visibility": "internal" + }, + { + "body": { + "id": 9538, + "nodeType": "Block", + "src": "1751:72:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9530, + "name": "confirmations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9450, + "src": "1769:13:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(uint256 => mapping(address => bool))" + } + }, + "id": 9532, + "indexExpression": { + "argumentTypes": null, + "id": 9531, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9525, + "src": "1783:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1769:28:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9534, + "indexExpression": { + "argumentTypes": null, + "id": 9533, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9527, + "src": "1798:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1769:35:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 9529, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1761:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 9535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1761:44:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9536, + "nodeType": "ExpressionStatement", + "src": "1761:44:37" + }, + { + "id": 9537, + "nodeType": "PlaceholderStatement", + "src": "1815:1:37" + } + ] + }, + "documentation": null, + "id": 9539, + "name": "confirmed", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 9528, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9525, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9539, + "src": "1716:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9524, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1716:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9527, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 9539, + "src": "1736:13:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9526, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1736:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1715:35:37" + }, + "src": "1697:126:37", + "visibility": "internal" + }, + { + "body": { + "id": 9555, + "nodeType": "Block", + "src": "1886:73:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1904:36:37", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9546, + "name": "confirmations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9450, + "src": "1905:13:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(uint256 => mapping(address => bool))" + } + }, + "id": 9548, + "indexExpression": { + "argumentTypes": null, + "id": 9547, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9541, + "src": "1919:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1905:28:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9550, + "indexExpression": { + "argumentTypes": null, + "id": 9549, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9543, + "src": "1934:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1905:35:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 9545, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1896:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 9552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1896:45:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9553, + "nodeType": "ExpressionStatement", + "src": "1896:45:37" + }, + { + "id": 9554, + "nodeType": "PlaceholderStatement", + "src": "1951:1:37" + } + ] + }, + "documentation": null, + "id": 9556, + "name": "notConfirmed", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 9544, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9541, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9556, + "src": "1851:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9540, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1851:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9543, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 9556, + "src": "1871:13:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9542, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1871:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1850:35:37" + }, + "src": "1829:130:37", + "visibility": "internal" + }, + { + "body": { + "id": 9569, + "nodeType": "Block", + "src": "2006:74:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "2024:37:37", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9561, + "name": "transactions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9444, + "src": "2025:12:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$9470_storage_$", + "typeString": "mapping(uint256 => struct MultiSigWallet.Transaction storage ref)" + } + }, + "id": 9563, + "indexExpression": { + "argumentTypes": null, + "id": 9562, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9558, + "src": "2038:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2025:27:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage", + "typeString": "struct MultiSigWallet.Transaction storage ref" + } + }, + "id": 9564, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "executed", + "nodeType": "MemberAccess", + "referencedDeclaration": 9469, + "src": "2025:36:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 9560, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2016:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 9566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2016:46:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9567, + "nodeType": "ExpressionStatement", + "src": "2016:46:37" + }, + { + "id": 9568, + "nodeType": "PlaceholderStatement", + "src": "2072:1:37" + } + ] + }, + "documentation": null, + "id": 9570, + "name": "notExecuted", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 9559, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9558, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9570, + "src": "1986:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9557, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1986:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1985:20:37" + }, + "src": "1965:115:37", + "visibility": "internal" + }, + { + "body": { + "id": 9581, + "nodeType": "Block", + "src": "2121:50:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 9577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 9575, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9572, + "src": "2139:8:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 9576, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2151:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2139:13:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 9574, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2131:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 9578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2131:22:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9579, + "nodeType": "ExpressionStatement", + "src": "2131:22:37" + }, + { + "id": 9580, + "nodeType": "PlaceholderStatement", + "src": "2163:1:37" + } + ] + }, + "documentation": null, + "id": 9582, + "name": "notNull", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 9573, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9572, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 9582, + "src": "2103:16:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9571, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2103:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2102:18:37" + }, + "src": "2086:85:37", + "visibility": "internal" + }, + { + "body": { + "id": 9607, + "nodeType": "Block", + "src": "2236:166:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 9603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 9599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 9595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 9589, + "name": "ownerCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9584, + "src": "2254:10:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 9590, + "name": "MAX_OWNER_COUNT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9440, + "src": "2268:15:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2254:29:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 9592, + "name": "_required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9586, + "src": "2299:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 9593, + "name": "ownerCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9584, + "src": "2312:10:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2299:23:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2254:68:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 9596, + "name": "_required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9586, + "src": "2338:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 9597, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2351:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2338:14:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2254:98:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 9600, + "name": "ownerCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9584, + "src": "2368:10:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 9601, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2382:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2368:15:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2254:129:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 9588, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2246:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 9604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2246:138:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9605, + "nodeType": "ExpressionStatement", + "src": "2246:138:37" + }, + { + "id": 9606, + "nodeType": "PlaceholderStatement", + "src": "2394:1:37" + } + ] + }, + "documentation": null, + "id": 9608, + "name": "validRequirement", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 9587, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9584, + "name": "ownerCount", + "nodeType": "VariableDeclaration", + "scope": 9608, + "src": "2203:15:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9583, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2203:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9586, + "name": "_required", + "nodeType": "VariableDeclaration", + "scope": 9608, + "src": "2220:14:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9585, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2220:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2202:33:37" + }, + "src": "2177:225:37", + "visibility": "internal" + }, + { + "body": { + "id": 9623, + "nodeType": "Block", + "src": "2510:83:37", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9611, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2524:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2524:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 9613, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2536:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2524:13:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 9622, + "nodeType": "IfStatement", + "src": "2520:66:37", + "trueBody": { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9616, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2564:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2564:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9618, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2576:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2576:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9615, + "name": "Deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9425, + "src": "2556:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 9620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2556:30:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9621, + "nodeType": "EmitStatement", + "src": "2551:35:37" + } + } + ] + }, + "documentation": "@dev Fallback function allows to deposit ether.", + "id": 9624, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9609, + "nodeType": "ParameterList", + "parameters": [], + "src": "2472:2:37" + }, + "payable": true, + "returnParameters": { + "id": 9610, + "nodeType": "ParameterList", + "parameters": [], + "src": "2510:0:37" + }, + "scope": 10398, + "src": "2464:129:37", + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9681, + "nodeType": "Block", + "src": "2954:223:37", + "statements": [ + { + "body": { + "id": 9671, + "nodeType": "Block", + "src": "3002:113:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 9660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 9654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "3024:20:37", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9649, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9454, + "src": "3025:7:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9653, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9650, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9627, + "src": "3033:7:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 9652, + "indexExpression": { + "argumentTypes": null, + "id": 9651, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9638, + "src": "3041:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3033:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3025:19:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 9659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9655, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9627, + "src": "3048:7:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 9657, + "indexExpression": { + "argumentTypes": null, + "id": 9656, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9638, + "src": "3056:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3048:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 9658, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3062:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3048:15:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3024:39:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 9648, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3016:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 9661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3016:48:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9662, + "nodeType": "ExpressionStatement", + "src": "3016:48:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 9669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9663, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9454, + "src": "3078:7:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9667, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9664, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9627, + "src": "3086:7:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 9666, + "indexExpression": { + "argumentTypes": null, + "id": 9665, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9638, + "src": "3094:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3086:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3078:19:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 9668, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3100:4:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "3078:26:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9670, + "nodeType": "ExpressionStatement", + "src": "3078:26:37" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 9641, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9638, + "src": "2979:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9642, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9627, + "src": "2981:7:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 9643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2981:14:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2979:16:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9672, + "initializationExpression": { + "assignments": [ + 9638 + ], + "declarations": [ + { + "constant": false, + "id": 9638, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 9682, + "src": "2969:6:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9637, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2969:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 9640, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 9639, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2976:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2969:8:37" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 9646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2997:3:37", + "subExpression": { + "argumentTypes": null, + "id": 9645, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9638, + "src": "2997:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9647, + "nodeType": "ExpressionStatement", + "src": "2997:3:37" + }, + "nodeType": "ForStatement", + "src": "2964:151:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 9675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 9673, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "3124:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 9674, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9627, + "src": "3133:7:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "3124:16:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9676, + "nodeType": "ExpressionStatement", + "src": "3124:16:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 9679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 9677, + "name": "required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9459, + "src": "3150:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 9678, + "name": "_required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9629, + "src": "3161:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3150:20:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9680, + "nodeType": "ExpressionStatement", + "src": "3150:20:37" + } + ] + }, + "documentation": "@dev Contract constructor sets initial owners and required number of confirmations.\n @param _owners List of initial owners.\n @param _required Number of required confirmations.", + "id": 9682, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9632, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9627, + "src": "2923:7:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 9633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2923:14:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 9634, + "name": "_required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9629, + "src": "2939:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 9635, + "modifierName": { + "argumentTypes": null, + "id": 9631, + "name": "validRequirement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9608, + "src": "2906:16:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$_t_uint256_$", + "typeString": "modifier (uint256,uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "2906:43:37" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9630, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9627, + "name": "_owners", + "nodeType": "VariableDeclaration", + "scope": 9682, + "src": "2848:17:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 9625, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2848:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9626, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2848:9:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9629, + "name": "_required", + "nodeType": "VariableDeclaration", + "scope": 9682, + "src": "2867:14:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9628, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2867:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2847:35:37" + }, + "payable": false, + "returnParameters": { + "id": 9636, + "nodeType": "ParameterList", + "parameters": [], + "src": "2954:0:37" + }, + "scope": 10398, + "src": "2836:341:37", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9718, + "nodeType": "Block", + "src": "3485:101:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 9706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9702, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9454, + "src": "3495:7:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9704, + "indexExpression": { + "argumentTypes": null, + "id": 9703, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9684, + "src": "3503:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3495:14:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 9705, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3512:4:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "3495:21:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9707, + "nodeType": "ExpressionStatement", + "src": "3495:21:37" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9711, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9684, + "src": "3538:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 9708, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "3526:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3526:11:37", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) returns (uint256)" + } + }, + "id": 9712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3526:18:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9713, + "nodeType": "ExpressionStatement", + "src": "3526:18:37" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9715, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9684, + "src": "3573:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9714, + "name": "OwnerAddition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9429, + "src": "3559:13:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 9716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3559:20:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9717, + "nodeType": "EmitStatement", + "src": "3554:25:37" + } + ] + }, + "documentation": "@dev Allows to add a new owner. Transaction has to be sent by wallet.\n @param owner Address of new owner.", + "id": 9719, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 9687, + "modifierName": { + "argumentTypes": null, + "id": 9686, + "name": "onlyWallet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9483, + "src": "3360:10:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3360:10:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 9689, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9684, + "src": "3397:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9690, + "modifierName": { + "argumentTypes": null, + "id": 9688, + "name": "ownerDoesNotExist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9496, + "src": "3379:17:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3379:24:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 9692, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9684, + "src": "3420:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9693, + "modifierName": { + "argumentTypes": null, + "id": 9691, + "name": "notNull", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9582, + "src": "3412:7:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3412:14:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9695, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "3452:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9696, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3452:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 9697, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3468:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3452:17:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 9699, + "name": "required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9459, + "src": "3471:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 9700, + "modifierName": { + "argumentTypes": null, + "id": 9694, + "name": "validRequirement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9608, + "src": "3435:16:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$_t_uint256_$", + "typeString": "modifier (uint256,uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3435:45:37" + } + ], + "name": "addOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9685, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9684, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 9719, + "src": "3322:13:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9683, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3322:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3321:15:37" + }, + "payable": false, + "returnParameters": { + "id": 9701, + "nodeType": "ParameterList", + "parameters": [], + "src": "3485:0:37" + }, + "scope": 10398, + "src": "3304:282:37", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9788, + "nodeType": "Block", + "src": "3810:364:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 9733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9729, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9454, + "src": "3820:7:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9731, + "indexExpression": { + "argumentTypes": null, + "id": 9730, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9721, + "src": "3828:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3820:14:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 9732, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3837:5:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "3820:22:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9734, + "nodeType": "ExpressionStatement", + "src": "3820:22:37" + }, + { + "body": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 9752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9748, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "3909:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9750, + "indexExpression": { + "argumentTypes": null, + "id": 9749, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9736, + "src": "3916:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3909:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 9751, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9721, + "src": "3922:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3909:18:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 9766, + "nodeType": "IfStatement", + "src": "3905:117:37", + "trueBody": { + "id": 9765, + "nodeType": "Block", + "src": "3929:93:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 9762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9753, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "3947:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9755, + "indexExpression": { + "argumentTypes": null, + "id": 9754, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9736, + "src": "3954:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3947:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9756, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "3959:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9761, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9757, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "3966:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9758, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3966:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 9759, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3982:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3966:17:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3959:25:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3947:37:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9763, + "nodeType": "ExpressionStatement", + "src": "3947:37:37" + }, + { + "id": 9764, + "nodeType": "Break", + "src": "4002:5:37" + } + ] + } + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 9739, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9736, + "src": "3867:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9740, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "3869:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9741, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3869:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 9742, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3885:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3869:17:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3867:19:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9767, + "initializationExpression": { + "assignments": [ + 9736 + ], + "declarations": [ + { + "constant": false, + "id": 9736, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 9789, + "src": "3857:6:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9735, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3857:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 9738, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 9737, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3864:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3857:8:37" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 9746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3888:3:37", + "subExpression": { + "argumentTypes": null, + "id": 9745, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9736, + "src": "3888:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9747, + "nodeType": "ExpressionStatement", + "src": "3888:3:37" + }, + "nodeType": "ForStatement", + "src": "3852:170:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 9772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9768, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "4031:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9770, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4031:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 9771, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4048:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4031:18:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9773, + "nodeType": "ExpressionStatement", + "src": "4031:18:37" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 9774, + "name": "required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9459, + "src": "4063:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9775, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "4074:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9776, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4074:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4063:24:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 9783, + "nodeType": "IfStatement", + "src": "4059:74:37", + "trueBody": { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9779, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "4119:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9780, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4119:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9778, + "name": "changeRequirement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9872, + "src": "4101:17:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 9781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4101:32:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9782, + "nodeType": "ExpressionStatement", + "src": "4101:32:37" + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9785, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9721, + "src": "4161:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9784, + "name": "OwnerRemoval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9433, + "src": "4148:12:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 9786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4148:19:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9787, + "nodeType": "EmitStatement", + "src": "4143:24:37" + } + ] + }, + "documentation": "@dev Allows to remove an owner. Transaction has to be sent by wallet.\n @param owner Address of owner.", + "id": 9789, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 9724, + "modifierName": { + "argumentTypes": null, + "id": 9723, + "name": "onlyWallet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9483, + "src": "3768:10:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3768:10:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 9726, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9721, + "src": "3799:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9727, + "modifierName": { + "argumentTypes": null, + "id": 9725, + "name": "ownerExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9508, + "src": "3787:11:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3787:18:37" + } + ], + "name": "removeOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9722, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9721, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 9789, + "src": "3730:13:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9720, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3730:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3729:15:37" + }, + "payable": false, + "returnParameters": { + "id": 9728, + "nodeType": "ParameterList", + "parameters": [], + "src": "3810:0:37" + }, + "scope": 10398, + "src": "3709:465:37", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9850, + "nodeType": "Block", + "src": "4532:303:37", + "statements": [ + { + "body": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 9819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9815, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "4595:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9817, + "indexExpression": { + "argumentTypes": null, + "id": 9816, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9805, + "src": "4602:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4595:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 9818, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9791, + "src": "4608:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4595:18:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 9828, + "nodeType": "IfStatement", + "src": "4591:100:37", + "trueBody": { + "id": 9827, + "nodeType": "Block", + "src": "4615:76:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 9824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9820, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "4633:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9822, + "indexExpression": { + "argumentTypes": null, + "id": 9821, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9805, + "src": "4640:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4633:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 9823, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9793, + "src": "4645:8:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4633:20:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9825, + "nodeType": "ExpressionStatement", + "src": "4633:20:37" + }, + { + "id": 9826, + "nodeType": "Break", + "src": "4671:5:37" + } + ] + } + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 9808, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9805, + "src": "4557:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9809, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "4559:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9810, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4559:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4557:15:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9829, + "initializationExpression": { + "assignments": [ + 9805 + ], + "declarations": [ + { + "constant": false, + "id": 9805, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 9851, + "src": "4547:6:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9804, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4547:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 9807, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 9806, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4554:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4547:8:37" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 9813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4574:3:37", + "subExpression": { + "argumentTypes": null, + "id": 9812, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9805, + "src": "4574:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9814, + "nodeType": "ExpressionStatement", + "src": "4574:3:37" + }, + "nodeType": "ForStatement", + "src": "4542:149:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 9834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9830, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9454, + "src": "4700:7:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9832, + "indexExpression": { + "argumentTypes": null, + "id": 9831, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9791, + "src": "4708:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4700:14:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 9833, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4717:5:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "4700:22:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9835, + "nodeType": "ExpressionStatement", + "src": "4700:22:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 9840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9836, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9454, + "src": "4732:7:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9838, + "indexExpression": { + "argumentTypes": null, + "id": 9837, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9793, + "src": "4740:8:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4732:17:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 9839, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4752:4:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4732:24:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9841, + "nodeType": "ExpressionStatement", + "src": "4732:24:37" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9843, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9791, + "src": "4784:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9842, + "name": "OwnerRemoval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9433, + "src": "4771:12:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 9844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4771:19:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9845, + "nodeType": "EmitStatement", + "src": "4766:24:37" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9847, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9793, + "src": "4819:8:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9846, + "name": "OwnerAddition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9429, + "src": "4805:13:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 9848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4805:23:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9849, + "nodeType": "EmitStatement", + "src": "4800:28:37" + } + ] + }, + "documentation": "@dev Allows to replace an owner with a new owner. Transaction has to be sent by wallet.\n @param owner Address of owner to be replaced.\n @param newOwner Address of new owner.", + "id": 9851, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 9796, + "modifierName": { + "argumentTypes": null, + "id": 9795, + "name": "onlyWallet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9483, + "src": "4454:10:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4454:10:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 9798, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9791, + "src": "4485:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9799, + "modifierName": { + "argumentTypes": null, + "id": 9797, + "name": "ownerExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9508, + "src": "4473:11:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "4473:18:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 9801, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9793, + "src": "4518:8:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9802, + "modifierName": { + "argumentTypes": null, + "id": 9800, + "name": "ownerDoesNotExist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9496, + "src": "4500:17:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "4500:27:37" + } + ], + "name": "replaceOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9794, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9791, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 9851, + "src": "4398:13:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9790, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4398:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9793, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 9851, + "src": "4413:16:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9792, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4413:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4397:33:37" + }, + "payable": false, + "returnParameters": { + "id": 9803, + "nodeType": "ParameterList", + "parameters": [], + "src": "4532:0:37" + }, + "scope": 10398, + "src": "4376:459:37", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9871, + "nodeType": "Block", + "src": "5138:80:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 9865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 9863, + "name": "required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9459, + "src": "5148:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 9864, + "name": "_required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9853, + "src": "5159:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5148:20:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9866, + "nodeType": "ExpressionStatement", + "src": "5148:20:37" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9868, + "name": "_required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9853, + "src": "5201:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9867, + "name": "RequirementChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9437, + "src": "5183:17:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 9869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5183:28:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9870, + "nodeType": "EmitStatement", + "src": "5178:33:37" + } + ] + }, + "documentation": "@dev Allows to change the number of required confirmations. Transaction has to be sent by wallet.\n @param _required Number of required confirmations.", + "id": 9872, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 9856, + "modifierName": { + "argumentTypes": null, + "id": 9855, + "name": "onlyWallet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9483, + "src": "5072:10:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "5072:10:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9858, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "5108:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9859, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5108:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 9860, + "name": "_required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9853, + "src": "5123:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 9861, + "modifierName": { + "argumentTypes": null, + "id": 9857, + "name": "validRequirement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9608, + "src": "5091:16:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$_t_uint256_$", + "typeString": "modifier (uint256,uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "5091:42:37" + } + ], + "name": "changeRequirement", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9854, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9853, + "name": "_required", + "nodeType": "VariableDeclaration", + "scope": 9872, + "src": "5033:14:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9852, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5033:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5032:16:37" + }, + "payable": false, + "returnParameters": { + "id": 9862, + "nodeType": "ParameterList", + "parameters": [], + "src": "5138:0:37" + }, + "scope": 10398, + "src": "5006:212:37", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9895, + "nodeType": "Block", + "src": "5605:116:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 9889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 9883, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9881, + "src": "5615:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9885, + "name": "destination", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9874, + "src": "5646:11:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 9886, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9876, + "src": "5659:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 9887, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9878, + "src": "5666:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9884, + "name": "addTransaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10129, + "src": "5631:14:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (address,uint256,bytes memory) returns (uint256)" + } + }, + "id": 9888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5631:40:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5615:56:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9890, + "nodeType": "ExpressionStatement", + "src": "5615:56:37" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9892, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9881, + "src": "5700:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9891, + "name": "confirmTransaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9933, + "src": "5681:18:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 9893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5681:33:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9894, + "nodeType": "ExpressionStatement", + "src": "5681:33:37" + } + ] + }, + "documentation": "@dev Allows an owner to submit and confirm a transaction.\n @param destination Transaction target address.\n @param value Transaction ether value.\n @param data Transaction data payload.\n @return Returns transaction ID.", + "id": 9896, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "submitTransaction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9879, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9874, + "name": "destination", + "nodeType": "VariableDeclaration", + "scope": 9896, + "src": "5504:19:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9873, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5504:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9876, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 9896, + "src": "5525:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9875, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5525:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9878, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 9896, + "src": "5537:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9877, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5537:5:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5503:45:37" + }, + "payable": false, + "returnParameters": { + "id": 9882, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9881, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9896, + "src": "5581:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9880, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5581:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5580:20:37" + }, + "scope": 10398, + "src": "5477:244:37", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9932, + "nodeType": "Block", + "src": "6015:161:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 9920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9913, + "name": "confirmations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9450, + "src": "6025:13:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(uint256 => mapping(address => bool))" + } + }, + "id": 9917, + "indexExpression": { + "argumentTypes": null, + "id": 9914, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9898, + "src": "6039:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6025:28:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9918, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9915, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6054:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9916, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6054:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6025:40:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 9919, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6068:4:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6025:47:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9921, + "nodeType": "ExpressionStatement", + "src": "6025:47:37" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9923, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6100:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6100:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 9925, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9898, + "src": "6112:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9922, + "name": "Confirmation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9401, + "src": "6087:12:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 9926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6087:39:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9927, + "nodeType": "EmitStatement", + "src": "6082:44:37" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9929, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9898, + "src": "6155:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9928, + "name": "executeTransaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10028, + "src": "6136:18:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 9930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6136:33:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9931, + "nodeType": "ExpressionStatement", + "src": "6136:33:37" + } + ] + }, + "documentation": "@dev Allows an owner to confirm a transaction.\n @param transactionId Transaction ID.", + "id": 9933, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9901, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "5910:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5910:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9903, + "modifierName": { + "argumentTypes": null, + "id": 9900, + "name": "ownerExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9508, + "src": "5898:11:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "5898:23:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 9905, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9898, + "src": "5948:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 9906, + "modifierName": { + "argumentTypes": null, + "id": 9904, + "name": "transactionExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9523, + "src": "5930:17:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$", + "typeString": "modifier (uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "5930:32:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 9908, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9898, + "src": "5984:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9909, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "5999:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5999:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9911, + "modifierName": { + "argumentTypes": null, + "id": 9907, + "name": "notConfirmed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9556, + "src": "5971:12:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$_t_address_$", + "typeString": "modifier (uint256,address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "5971:39:37" + } + ], + "name": "confirmTransaction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9899, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9898, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9933, + "src": "5855:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9897, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5855:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5854:20:37" + }, + "payable": false, + "returnParameters": { + "id": 9912, + "nodeType": "ParameterList", + "parameters": [], + "src": "6015:0:37" + }, + "scope": 10398, + "src": "5827:349:37", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9965, + "nodeType": "Block", + "src": "6479:117:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 9957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9950, + "name": "confirmations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9450, + "src": "6489:13:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(uint256 => mapping(address => bool))" + } + }, + "id": 9954, + "indexExpression": { + "argumentTypes": null, + "id": 9951, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9935, + "src": "6503:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6489:28:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9955, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9952, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6518:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6518:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6489:40:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 9956, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6532:5:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "6489:48:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9958, + "nodeType": "ExpressionStatement", + "src": "6489:48:37" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9960, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6563:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6563:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 9962, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9935, + "src": "6575:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9959, + "name": "Revocation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9407, + "src": "6552:10:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 9963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6552:37:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9964, + "nodeType": "EmitStatement", + "src": "6547:42:37" + } + ] + }, + "documentation": "@dev Allows an owner to revoke a confirmation for a transaction.\n @param transactionId Transaction ID.", + "id": 9966, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9938, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6383:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6383:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9940, + "modifierName": { + "argumentTypes": null, + "id": 9937, + "name": "ownerExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9508, + "src": "6371:11:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "6371:23:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 9942, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9935, + "src": "6413:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9943, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6428:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6428:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9945, + "modifierName": { + "argumentTypes": null, + "id": 9941, + "name": "confirmed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9539, + "src": "6403:9:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$_t_address_$", + "typeString": "modifier (uint256,address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "6403:36:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 9947, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9935, + "src": "6460:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 9948, + "modifierName": { + "argumentTypes": null, + "id": 9946, + "name": "notExecuted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9570, + "src": "6448:11:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$", + "typeString": "modifier (uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "6448:26:37" + } + ], + "name": "revokeConfirmation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9936, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9935, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9966, + "src": "6328:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9934, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6328:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6327:20:37" + }, + "payable": false, + "returnParameters": { + "id": 9949, + "nodeType": "ParameterList", + "parameters": [], + "src": "6479:0:37" + }, + "scope": 10398, + "src": "6300:296:37", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10027, + "nodeType": "Block", + "src": "6889:417:37", + "statements": [ + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9984, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9968, + "src": "6915:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9983, + "name": "isConfirmed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10091, + "src": "6903:11:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 9985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6903:26:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 10026, + "nodeType": "IfStatement", + "src": "6899:401:37", + "trueBody": { + "id": 10025, + "nodeType": "Block", + "src": "6931:369:37", + "statements": [ + { + "assignments": [ + 9987 + ], + "declarations": [ + { + "constant": false, + "id": 9987, + "name": "txn", + "nodeType": "VariableDeclaration", + "scope": 10028, + "src": "6945:23:37", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage_ptr", + "typeString": "struct MultiSigWallet.Transaction" + }, + "typeName": { + "contractScope": null, + "id": 9986, + "name": "Transaction", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 9470, + "src": "6945:11:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage_ptr", + "typeString": "struct MultiSigWallet.Transaction" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 9991, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9988, + "name": "transactions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9444, + "src": "6971:12:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$9470_storage_$", + "typeString": "mapping(uint256 => struct MultiSigWallet.Transaction storage ref)" + } + }, + "id": 9990, + "indexExpression": { + "argumentTypes": null, + "id": 9989, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9968, + "src": "6984:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6971:27:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage", + "typeString": "struct MultiSigWallet.Transaction storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6945:53:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 9996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9992, + "name": "txn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9987, + "src": "7012:3:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage_ptr", + "typeString": "struct MultiSigWallet.Transaction storage pointer" + } + }, + "id": 9994, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "executed", + "nodeType": "MemberAccess", + "referencedDeclaration": 9469, + "src": "7012:12:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 9995, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7027:4:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "7012:19:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9997, + "nodeType": "ExpressionStatement", + "src": "7012:19:37" + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9999, + "name": "txn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9987, + "src": "7063:3:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage_ptr", + "typeString": "struct MultiSigWallet.Transaction storage pointer" + } + }, + "id": 10000, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "destination", + "nodeType": "MemberAccess", + "referencedDeclaration": 9463, + "src": "7063:15:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10001, + "name": "txn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9987, + "src": "7080:3:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage_ptr", + "typeString": "struct MultiSigWallet.Transaction storage pointer" + } + }, + "id": 10002, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 9465, + "src": "7080:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10003, + "name": "txn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9987, + "src": "7091:3:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage_ptr", + "typeString": "struct MultiSigWallet.Transaction storage pointer" + } + }, + "id": 10004, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 9467, + "src": "7091:8:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 10005, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7091:15:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10006, + "name": "txn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9987, + "src": "7108:3:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage_ptr", + "typeString": "struct MultiSigWallet.Transaction storage pointer" + } + }, + "id": 10007, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 9467, + "src": "7108:8:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + ], + "id": 9998, + "name": "external_call", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10048, + "src": "7049:13:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,uint256,uint256,bytes memory) returns (bool)" + } + }, + "id": 10008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7049:68:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 10023, + "nodeType": "Block", + "src": "7183:107:37", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 10014, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9968, + "src": "7223:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 10013, + "name": "ExecutionFailure", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9419, + "src": "7206:16:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 10015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7206:31:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10016, + "nodeType": "EmitStatement", + "src": "7201:36:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 10021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10017, + "name": "txn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9987, + "src": "7255:3:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage_ptr", + "typeString": "struct MultiSigWallet.Transaction storage pointer" + } + }, + "id": 10019, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "executed", + "nodeType": "MemberAccess", + "referencedDeclaration": 9469, + "src": "7255:12:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 10020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7270:5:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "7255:20:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10022, + "nodeType": "ExpressionStatement", + "src": "7255:20:37" + } + ] + }, + "id": 10024, + "nodeType": "IfStatement", + "src": "7045:245:37", + "trueBody": { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 10010, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9968, + "src": "7150:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 10009, + "name": "Execution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9415, + "src": "7140:9:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 10011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7140:24:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10012, + "nodeType": "EmitStatement", + "src": "7135:29:37" + } + } + ] + } + } + ] + }, + "documentation": "@dev Allows anyone to execute a confirmed transaction.\n @param transactionId Transaction ID.", + "id": 10028, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9971, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6793:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6793:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9973, + "modifierName": { + "argumentTypes": null, + "id": 9970, + "name": "ownerExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9508, + "src": "6781:11:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "6781:23:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 9975, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9968, + "src": "6823:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9976, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6838:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6838:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9978, + "modifierName": { + "argumentTypes": null, + "id": 9974, + "name": "confirmed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9539, + "src": "6813:9:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$_t_address_$", + "typeString": "modifier (uint256,address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "6813:36:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 9980, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9968, + "src": "6870:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 9981, + "modifierName": { + "argumentTypes": null, + "id": 9979, + "name": "notExecuted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9570, + "src": "6858:11:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$", + "typeString": "modifier (uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "6858:26:37" + } + ], + "name": "executeTransaction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9969, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9968, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 10028, + "src": "6738:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9967, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6738:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6737:20:37" + }, + "payable": false, + "returnParameters": { + "id": 9982, + "nodeType": "ParameterList", + "parameters": [], + "src": "6889:0:37" + }, + "scope": 10398, + "src": "6710:596:37", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10047, + "nodeType": "Block", + "src": "7591:994:37", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 10042, + "name": "result", + "nodeType": "VariableDeclaration", + "scope": 10048, + "src": "7601:11:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10041, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7601:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10043, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "7601:11:37" + }, + { + "externalReferences": [ + { + "result": { + "declaration": 10042, + "isOffset": false, + "isSlot": false, + "src": "7874:6:37", + "valueSize": 1 + } + }, + { + "data": { + "declaration": 10036, + "isOffset": false, + "isSlot": false, + "src": "7787:4:37", + "valueSize": 1 + } + }, + { + "destination": { + "declaration": 10030, + "isOffset": false, + "isSlot": false, + "src": "8260:11:37", + "valueSize": 1 + } + }, + { + "value": { + "declaration": 10032, + "isOffset": false, + "isSlot": false, + "src": "8289:5:37", + "valueSize": 1 + } + }, + { + "dataLength": { + "declaration": 10034, + "isOffset": false, + "isSlot": false, + "src": "8331:10:37", + "valueSize": 1 + } + } + ], + "id": 10044, + "nodeType": "InlineAssembly", + "operations": "{\n let x := mload(0x40)\n let d := add(data, 32)\n result := call(sub(gas(), 34710), destination, value, d, dataLength, x, 0)\n}", + "src": "7622:949:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 10045, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10042, + "src": "8572:6:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 10040, + "id": 10046, + "nodeType": "Return", + "src": "8565:13:37" + } + ] + }, + "documentation": null, + "id": 10048, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "external_call", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10037, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10030, + "name": "destination", + "nodeType": "VariableDeclaration", + "scope": 10048, + "src": "7506:19:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10029, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7506:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10032, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 10048, + "src": "7527:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10031, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7527:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10034, + "name": "dataLength", + "nodeType": "VariableDeclaration", + "scope": 10048, + "src": "7539:15:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10033, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7539:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10036, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 10048, + "src": "7556:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10035, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7556:5:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7505:62:37" + }, + "payable": false, + "returnParameters": { + "id": 10040, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10039, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 10048, + "src": "7585:4:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10038, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7585:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7584:6:37" + }, + "scope": 10398, + "src": "7483:1102:37", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 10090, + "nodeType": "Block", + "src": "8836:237:37", + "statements": [ + { + "assignments": [ + 10056 + ], + "declarations": [ + { + "constant": false, + "id": 10056, + "name": "count", + "nodeType": "VariableDeclaration", + "scope": 10091, + "src": "8846:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10055, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8846:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10058, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 10057, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8859:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "8846:14:37" + }, + { + "body": { + "id": 10088, + "nodeType": "Block", + "src": "8907:160:37", + "statements": [ + { + "condition": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10070, + "name": "confirmations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9450, + "src": "8925:13:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(uint256 => mapping(address => bool))" + } + }, + "id": 10072, + "indexExpression": { + "argumentTypes": null, + "id": 10071, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10050, + "src": "8939:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8925:28:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 10076, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10073, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "8954:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 10075, + "indexExpression": { + "argumentTypes": null, + "id": 10074, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10060, + "src": "8961:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8954:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8925:39:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 10081, + "nodeType": "IfStatement", + "src": "8921:71:37", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 10079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10077, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10056, + "src": "8982:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10078, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8991:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "8982:10:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10080, + "nodeType": "ExpressionStatement", + "src": "8982:10:37" + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10082, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10056, + "src": "9010:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 10083, + "name": "required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9459, + "src": "9019:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9010:17:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 10087, + "nodeType": "IfStatement", + "src": "9006:50:37", + "trueBody": { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 10085, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9052:4:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 10054, + "id": 10086, + "nodeType": "Return", + "src": "9045:11:37" + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10063, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10060, + "src": "8885:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10064, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "8887:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 10065, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8887:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8885:15:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10089, + "initializationExpression": { + "assignments": [ + 10060 + ], + "declarations": [ + { + "constant": false, + "id": 10060, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 10091, + "src": "8875:6:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10059, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8875:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10062, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 10061, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8882:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "8875:8:37" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 10068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "8902:3:37", + "subExpression": { + "argumentTypes": null, + "id": 10067, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10060, + "src": "8902:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10069, + "nodeType": "ExpressionStatement", + "src": "8902:3:37" + }, + "nodeType": "ForStatement", + "src": "8870:197:37" + } + ] + }, + "documentation": "@dev Returns the confirmation status of a transaction.\n @param transactionId Transaction ID.\n @return Confirmation status.", + "id": 10091, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isConfirmed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10051, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10050, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 10091, + "src": "8757:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10049, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8757:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8756:20:37" + }, + "payable": false, + "returnParameters": { + "id": 10054, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10053, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 10091, + "src": "8826:4:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10052, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8826:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8825:6:37" + }, + "scope": 10398, + "src": "8736:337:37", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10128, + "nodeType": "Block", + "src": "9562:300:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10105, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10103, + "src": "9572:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 10106, + "name": "transactionCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9461, + "src": "9588:16:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9572:32:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10108, + "nodeType": "ExpressionStatement", + "src": "9572:32:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 10118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10109, + "name": "transactions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9444, + "src": "9614:12:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$9470_storage_$", + "typeString": "mapping(uint256 => struct MultiSigWallet.Transaction storage ref)" + } + }, + "id": 10111, + "indexExpression": { + "argumentTypes": null, + "id": 10110, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10103, + "src": "9627:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9614:27:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage", + "typeString": "struct MultiSigWallet.Transaction storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 10113, + "name": "destination", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10093, + "src": "9683:11:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 10114, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10095, + "src": "9715:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 10115, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10097, + "src": "9740:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 10116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9768:5:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": null, + "id": 10112, + "name": "Transaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9470, + "src": "9644:11:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Transaction_$9470_storage_ptr_$", + "typeString": "type(struct MultiSigWallet.Transaction storage pointer)" + } + }, + "id": 10117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "destination", + "value", + "data", + "executed" + ], + "nodeType": "FunctionCall", + "src": "9644:140:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_memory", + "typeString": "struct MultiSigWallet.Transaction memory" + } + }, + "src": "9614:170:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage", + "typeString": "struct MultiSigWallet.Transaction storage ref" + } + }, + "id": 10119, + "nodeType": "ExpressionStatement", + "src": "9614:170:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 10122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10120, + "name": "transactionCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9461, + "src": "9794:16:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9814:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "9794:21:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10123, + "nodeType": "ExpressionStatement", + "src": "9794:21:37" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 10125, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10103, + "src": "9841:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 10124, + "name": "Submission", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9411, + "src": "9830:10:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 10126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9830:25:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10127, + "nodeType": "EmitStatement", + "src": "9825:30:37" + } + ] + }, + "documentation": "@dev Adds a new transaction to the transaction mapping, if transaction does not exist yet.\n @param destination Transaction target address.\n @param value Transaction ether value.\n @param data Transaction data payload.\n @return Returns transaction ID.", + "id": 10129, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 10100, + "name": "destination", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10093, + "src": "9508:11:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 10101, + "modifierName": { + "argumentTypes": null, + "id": 10099, + "name": "notNull", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9582, + "src": "9500:7:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "9500:20:37" + } + ], + "name": "addTransaction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10098, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10093, + "name": "destination", + "nodeType": "VariableDeclaration", + "scope": 10129, + "src": "9430:19:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10092, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9430:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10095, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 10129, + "src": "9451:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10094, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9451:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10097, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 10129, + "src": "9463:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10096, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9463:5:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9429:45:37" + }, + "payable": false, + "returnParameters": { + "id": 10104, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10103, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 10129, + "src": "9538:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10102, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9538:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9537:20:37" + }, + "scope": 10398, + "src": "9406:456:37", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 10160, + "nodeType": "Block", + "src": "10174:137:37", + "statements": [ + { + "body": { + "condition": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10147, + "name": "confirmations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9450, + "src": "10237:13:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(uint256 => mapping(address => bool))" + } + }, + "id": 10149, + "indexExpression": { + "argumentTypes": null, + "id": 10148, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10131, + "src": "10251:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10237:28:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 10153, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10150, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "10266:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 10152, + "indexExpression": { + "argumentTypes": null, + "id": 10151, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10137, + "src": "10273:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10266:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10237:39:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 10158, + "nodeType": "IfStatement", + "src": "10233:71:37", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 10156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10154, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10134, + "src": "10294:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10155, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10303:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "10294:10:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10157, + "nodeType": "ExpressionStatement", + "src": "10294:10:37" + } + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10140, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10137, + "src": "10199:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10141, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "10201:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 10142, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10201:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10199:15:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10159, + "initializationExpression": { + "assignments": [ + 10137 + ], + "declarations": [ + { + "constant": false, + "id": 10137, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 10161, + "src": "10189:6:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10136, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10189:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10139, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 10138, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10196:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "10189:8:37" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 10145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "10216:3:37", + "subExpression": { + "argumentTypes": null, + "id": 10144, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10137, + "src": "10216:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10146, + "nodeType": "ExpressionStatement", + "src": "10216:3:37" + }, + "nodeType": "ForStatement", + "src": "10184:120:37" + } + ] + }, + "documentation": "@dev Returns number of confirmations of a transaction.\n @param transactionId Transaction ID.\n @return Number of confirmations.", + "id": 10161, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getConfirmationCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10132, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10131, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 10161, + "src": "10089:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10130, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10089:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10088:20:37" + }, + "payable": false, + "returnParameters": { + "id": 10135, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10134, + "name": "count", + "nodeType": "VariableDeclaration", + "scope": 10161, + "src": "10158:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10133, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10158:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10157:12:37" + }, + "scope": 10398, + "src": "10059:252:37", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10200, + "nodeType": "Block", + "src": "10696:196:37", + "statements": [ + { + "body": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 10193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 10186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10180, + "name": "pending", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10163, + "src": "10765:7:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 10185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "10776:25:37", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10181, + "name": "transactions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9444, + "src": "10777:12:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$9470_storage_$", + "typeString": "mapping(uint256 => struct MultiSigWallet.Transaction storage ref)" + } + }, + "id": 10183, + "indexExpression": { + "argumentTypes": null, + "id": 10182, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10171, + "src": "10790:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10777:15:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage", + "typeString": "struct MultiSigWallet.Transaction storage ref" + } + }, + "id": 10184, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "executed", + "nodeType": "MemberAccess", + "referencedDeclaration": 9469, + "src": "10777:24:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10765:36:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 10192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10187, + "name": "executed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10165, + "src": "10821:8:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10188, + "name": "transactions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9444, + "src": "10833:12:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$9470_storage_$", + "typeString": "mapping(uint256 => struct MultiSigWallet.Transaction storage ref)" + } + }, + "id": 10190, + "indexExpression": { + "argumentTypes": null, + "id": 10189, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10171, + "src": "10846:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10833:15:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage", + "typeString": "struct MultiSigWallet.Transaction storage ref" + } + }, + "id": 10191, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "executed", + "nodeType": "MemberAccess", + "referencedDeclaration": 9469, + "src": "10833:24:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10821:36:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10765:92:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 10198, + "nodeType": "IfStatement", + "src": "10758:127:37", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 10196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10194, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10168, + "src": "10875:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10195, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10884:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "10875:10:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10197, + "nodeType": "ExpressionStatement", + "src": "10875:10:37" + } + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10174, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10171, + "src": "10721:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 10175, + "name": "transactionCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9461, + "src": "10723:16:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10721:18:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10199, + "initializationExpression": { + "assignments": [ + 10171 + ], + "declarations": [ + { + "constant": false, + "id": 10171, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 10201, + "src": "10711:6:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10170, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10711:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10173, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 10172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10718:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "10711:8:37" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 10178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "10741:3:37", + "subExpression": { + "argumentTypes": null, + "id": 10177, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10171, + "src": "10741:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10179, + "nodeType": "ExpressionStatement", + "src": "10741:3:37" + }, + "nodeType": "ForStatement", + "src": "10706:179:37" + } + ] + }, + "documentation": "@dev Returns total number of transactions after filers are applied.\n @param pending Include pending transactions.\n @param executed Include executed transactions.\n @return Total number of transactions after filters are applied.", + "id": 10201, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getTransactionCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10166, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10163, + "name": "pending", + "nodeType": "VariableDeclaration", + "scope": 10201, + "src": "10602:12:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10162, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10602:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10165, + "name": "executed", + "nodeType": "VariableDeclaration", + "scope": 10201, + "src": "10616:13:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10164, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10616:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10601:29:37" + }, + "payable": false, + "returnParameters": { + "id": 10169, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10168, + "name": "count", + "nodeType": "VariableDeclaration", + "scope": 10201, + "src": "10680:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10167, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10680:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10679:12:37" + }, + "scope": 10398, + "src": "10573:319:37", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10209, + "nodeType": "Block", + "src": "11061:30:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10207, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "11078:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "functionReturnParameters": 10206, + "id": 10208, + "nodeType": "Return", + "src": "11071:13:37" + } + ] + }, + "documentation": "@dev Returns list of owners.\n @return List of owner addresses.", + "id": 10210, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getOwners", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10202, + "nodeType": "ParameterList", + "parameters": [], + "src": "10994:2:37" + }, + "payable": false, + "returnParameters": { + "id": 10206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10205, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 10210, + "src": "11046:9:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 10203, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11046:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10204, + "length": null, + "nodeType": "ArrayTypeName", + "src": "11046:9:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11045:11:37" + }, + "scope": 10398, + "src": "10976:115:37", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10296, + "nodeType": "Block", + "src": "11395:450:37", + "statements": [ + { + "assignments": [ + 10221 + ], + "declarations": [ + { + "constant": false, + "id": 10221, + "name": "confirmationsTemp", + "nodeType": "VariableDeclaration", + "scope": 10297, + "src": "11405:34:37", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 10219, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11405:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10220, + "length": null, + "nodeType": "ArrayTypeName", + "src": "11405:9:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10228, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10225, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "11456:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 10226, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11456:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 10224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "11442:13:37", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", + "typeString": "function (uint256) pure returns (address[] memory)" + }, + "typeName": { + "baseType": { + "id": 10222, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11446:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10223, + "length": null, + "nodeType": "ArrayTypeName", + "src": "11446:9:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + } + }, + "id": 10227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11442:28:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11405:65:37" + }, + { + "assignments": [ + 10230 + ], + "declarations": [ + { + "constant": false, + "id": 10230, + "name": "count", + "nodeType": "VariableDeclaration", + "scope": 10297, + "src": "11480:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10229, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11480:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10232, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 10231, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11493:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "11480:14:37" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 10234, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 10297, + "src": "11504:6:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10233, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11504:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10235, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "11504:6:37" + }, + { + "body": { + "condition": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10247, + "name": "confirmations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9450, + "src": "11568:13:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(uint256 => mapping(address => bool))" + } + }, + "id": 10249, + "indexExpression": { + "argumentTypes": null, + "id": 10248, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10212, + "src": "11582:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11568:28:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 10253, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10250, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "11597:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 10252, + "indexExpression": { + "argumentTypes": null, + "id": 10251, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10234, + "src": "11604:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11597:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11568:39:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 10267, + "nodeType": "IfStatement", + "src": "11564:142:37", + "trueBody": { + "id": 10266, + "nodeType": "Block", + "src": "11609:97:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10254, + "name": "confirmationsTemp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10221, + "src": "11627:17:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 10256, + "indexExpression": { + "argumentTypes": null, + "id": 10255, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10230, + "src": "11645:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11627:24:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10257, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "11654:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 10259, + "indexExpression": { + "argumentTypes": null, + "id": 10258, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10234, + "src": "11661:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11654:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11627:36:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10261, + "nodeType": "ExpressionStatement", + "src": "11627:36:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 10264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10262, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10230, + "src": "11681:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10263, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11690:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "11681:10:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10265, + "nodeType": "ExpressionStatement", + "src": "11681:10:37" + } + ] + } + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10240, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10234, + "src": "11530:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10241, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "11532:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 10242, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11532:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11530:15:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10268, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 10238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10236, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10234, + "src": "11525:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 10237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11527:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11525:3:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10239, + "nodeType": "ExpressionStatement", + "src": "11525:3:37" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 10245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "11547:3:37", + "subExpression": { + "argumentTypes": null, + "id": 10244, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10234, + "src": "11547:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10246, + "nodeType": "ExpressionStatement", + "src": "11547:3:37" + }, + "nodeType": "ForStatement", + "src": "11520:186:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 10275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10269, + "name": "_confirmations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10216, + "src": "11715:14:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 10273, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10230, + "src": "11746:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 10272, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "11732:13:37", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", + "typeString": "function (uint256) pure returns (address[] memory)" + }, + "typeName": { + "baseType": { + "id": 10270, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11736:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10271, + "length": null, + "nodeType": "ArrayTypeName", + "src": "11736:9:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + } + }, + "id": 10274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11732:20:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "src": "11715:37:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 10276, + "nodeType": "ExpressionStatement", + "src": "11715:37:37" + }, + { + "body": { + "expression": { + "argumentTypes": null, + "id": 10293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10287, + "name": "_confirmations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10216, + "src": "11798:14:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 10289, + "indexExpression": { + "argumentTypes": null, + "id": 10288, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10234, + "src": "11813:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11798:17:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10290, + "name": "confirmationsTemp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10221, + "src": "11818:17:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 10292, + "indexExpression": { + "argumentTypes": null, + "id": 10291, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10234, + "src": "11836:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11818:20:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11798:40:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10294, + "nodeType": "ExpressionStatement", + "src": "11798:40:37" + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10281, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10234, + "src": "11772:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 10282, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10230, + "src": "11774:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11772:7:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10295, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 10279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10277, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10234, + "src": "11767:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 10278, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11769:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11767:3:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10280, + "nodeType": "ExpressionStatement", + "src": "11767:3:37" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 10285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "11781:3:37", + "subExpression": { + "argumentTypes": null, + "id": 10284, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10234, + "src": "11781:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10286, + "nodeType": "ExpressionStatement", + "src": "11781:3:37" + }, + "nodeType": "ForStatement", + "src": "11762:76:37" + } + ] + }, + "documentation": "@dev Returns array with owner addresses, which confirmed transaction.\n @param transactionId Transaction ID.\n @return Returns array of owner addresses.", + "id": 10297, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getConfirmations", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10213, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10212, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 10297, + "src": "11296:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10211, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11296:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11295:20:37" + }, + "payable": false, + "returnParameters": { + "id": 10217, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10216, + "name": "_confirmations", + "nodeType": "VariableDeclaration", + "scope": 10297, + "src": "11365:24:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 10214, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11365:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10215, + "length": null, + "nodeType": "ArrayTypeName", + "src": "11365:9:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11364:26:37" + }, + "scope": 10398, + "src": "11270:575:37", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10396, + "nodeType": "Block", + "src": "12347:523:37", + "statements": [ + { + "assignments": [ + 10314 + ], + "declarations": [ + { + "constant": false, + "id": 10314, + "name": "transactionIdsTemp", + "nodeType": "VariableDeclaration", + "scope": 10397, + "src": "12357:32:37", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 10312, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12357:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10313, + "length": null, + "nodeType": "ArrayTypeName", + "src": "12357:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10320, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 10318, + "name": "transactionCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9461, + "src": "12403:16:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 10317, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "12392:10:37", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 10315, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12396:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10316, + "length": null, + "nodeType": "ArrayTypeName", + "src": "12396:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 10319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12392:28:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12357:63:37" + }, + { + "assignments": [ + 10322 + ], + "declarations": [ + { + "constant": false, + "id": 10322, + "name": "count", + "nodeType": "VariableDeclaration", + "scope": 10397, + "src": "12430:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10321, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12430:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10324, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 10323, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12443:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "12430:14:37" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 10326, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 10397, + "src": "12454:6:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10325, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12454:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10327, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "12454:6:37" + }, + { + "body": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 10351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 10344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10338, + "name": "pending", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10303, + "src": "12524:7:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 10343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "12535:25:37", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10339, + "name": "transactions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9444, + "src": "12536:12:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$9470_storage_$", + "typeString": "mapping(uint256 => struct MultiSigWallet.Transaction storage ref)" + } + }, + "id": 10341, + "indexExpression": { + "argumentTypes": null, + "id": 10340, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10326, + "src": "12549:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12536:15:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage", + "typeString": "struct MultiSigWallet.Transaction storage ref" + } + }, + "id": 10342, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "executed", + "nodeType": "MemberAccess", + "referencedDeclaration": 9469, + "src": "12536:24:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12524:36:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 10350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10345, + "name": "executed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10305, + "src": "12580:8:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10346, + "name": "transactions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9444, + "src": "12592:12:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$9470_storage_$", + "typeString": "mapping(uint256 => struct MultiSigWallet.Transaction storage ref)" + } + }, + "id": 10348, + "indexExpression": { + "argumentTypes": null, + "id": 10347, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10326, + "src": "12605:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12592:15:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage", + "typeString": "struct MultiSigWallet.Transaction storage ref" + } + }, + "id": 10349, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "executed", + "nodeType": "MemberAccess", + "referencedDeclaration": 9469, + "src": "12592:24:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12580:36:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12524:92:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 10363, + "nodeType": "IfStatement", + "src": "12517:203:37", + "trueBody": { + "id": 10362, + "nodeType": "Block", + "src": "12630:90:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10352, + "name": "transactionIdsTemp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10314, + "src": "12648:18:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 10354, + "indexExpression": { + "argumentTypes": null, + "id": 10353, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10322, + "src": "12667:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12648:25:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 10355, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10326, + "src": "12676:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12648:29:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10357, + "nodeType": "ExpressionStatement", + "src": "12648:29:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 10360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10358, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10322, + "src": "12695:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12704:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "12695:10:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10361, + "nodeType": "ExpressionStatement", + "src": "12695:10:37" + } + ] + } + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10332, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10326, + "src": "12480:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 10333, + "name": "transactionCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9461, + "src": "12482:16:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12480:18:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10364, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 10330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10328, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10326, + "src": "12475:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 10329, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12477:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12475:3:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10331, + "nodeType": "ExpressionStatement", + "src": "12475:3:37" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 10336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "12500:3:37", + "subExpression": { + "argumentTypes": null, + "id": 10335, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10326, + "src": "12500:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10337, + "nodeType": "ExpressionStatement", + "src": "12500:3:37" + }, + "nodeType": "ForStatement", + "src": "12470:250:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 10373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10365, + "name": "_transactionIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10309, + "src": "12729:15:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10369, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10301, + "src": "12758:2:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 10370, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10299, + "src": "12763:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12758:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 10368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "12747:10:37", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 10366, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12751:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10367, + "length": null, + "nodeType": "ArrayTypeName", + "src": "12751:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 10372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12747:21:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "src": "12729:39:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 10374, + "nodeType": "ExpressionStatement", + "src": "12729:39:37" + }, + { + "body": { + "expression": { + "argumentTypes": null, + "id": 10393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10385, + "name": "_transactionIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10309, + "src": "12814:15:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 10389, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10386, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10326, + "src": "12830:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 10387, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10299, + "src": "12834:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12830:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12814:25:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10390, + "name": "transactionIdsTemp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10314, + "src": "12842:18:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 10392, + "indexExpression": { + "argumentTypes": null, + "id": 10391, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10326, + "src": "12861:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12842:21:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12814:49:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10394, + "nodeType": "ExpressionStatement", + "src": "12814:49:37" + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10379, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10326, + "src": "12791:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 10380, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10301, + "src": "12793:2:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12791:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10395, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 10377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10375, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10326, + "src": "12783:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 10376, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10299, + "src": "12785:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12783:6:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10378, + "nodeType": "ExpressionStatement", + "src": "12783:6:37" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 10383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "12797:3:37", + "subExpression": { + "argumentTypes": null, + "id": 10382, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10326, + "src": "12797:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10384, + "nodeType": "ExpressionStatement", + "src": "12797:3:37" + }, + "nodeType": "ForStatement", + "src": "12778:85:37" + } + ] + }, + "documentation": "@dev Returns list of transaction IDs in defined range.\n @param from Index start position of transaction array.\n @param to Index end position of transaction array.\n @param pending Include pending transactions.\n @param executed Include executed transactions.\n @return Returns array of transaction IDs.", + "id": 10397, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getTransactionIds", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10306, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10299, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 10397, + "src": "12221:9:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10298, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12221:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10301, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 10397, + "src": "12232:7:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10300, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12232:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10303, + "name": "pending", + "nodeType": "VariableDeclaration", + "scope": 10397, + "src": "12241:12:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10302, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12241:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10305, + "name": "executed", + "nodeType": "VariableDeclaration", + "scope": 10397, + "src": "12255:13:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10304, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12255:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12220:49:37" + }, + "payable": false, + "returnParameters": { + "id": 10310, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10309, + "name": "_transactionIds", + "nodeType": "VariableDeclaration", + "scope": 10397, + "src": "12319:22:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 10307, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12319:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10308, + "length": null, + "nodeType": "ArrayTypeName", + "src": "12319:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12318:24:37" + }, + "scope": 10398, + "src": "12194:676:37", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 10399, + "src": "187:12685:37" + } + ], + "src": "0:12873:37" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/multisig/MultiSigWallet.sol", + "exportedSymbols": { + "MultiSigWallet": [ + 10398 + ] + }, + "id": 10399, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9395, + "literals": [ + "solidity", + "^", + "0.4", + ".15" + ], + "nodeType": "PragmaDirective", + "src": "0:24:37" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Multisignature wallet - Allows multiple parties to agree on transactions before execution.\n @author Stefan George - ", + "fullyImplemented": true, + "id": 10398, + "linearizedBaseContracts": [ + 10398 + ], + "name": "MultiSigWallet", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": null, + "id": 9401, + "name": "Confirmation", + "nodeType": "EventDefinition", + "parameters": { + "id": 9400, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9397, + "indexed": true, + "name": "sender", + "nodeType": "VariableDeclaration", + "scope": 9401, + "src": "267:22:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9396, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "267:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9399, + "indexed": true, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9401, + "src": "291:26:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9398, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "291:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "266:52:37" + }, + "src": "248:71:37" + }, + { + "anonymous": false, + "documentation": null, + "id": 9407, + "name": "Revocation", + "nodeType": "EventDefinition", + "parameters": { + "id": 9406, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9403, + "indexed": true, + "name": "sender", + "nodeType": "VariableDeclaration", + "scope": 9407, + "src": "341:22:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9402, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "341:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9405, + "indexed": true, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9407, + "src": "365:26:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9404, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "365:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "340:52:37" + }, + "src": "324:69:37" + }, + { + "anonymous": false, + "documentation": null, + "id": 9411, + "name": "Submission", + "nodeType": "EventDefinition", + "parameters": { + "id": 9410, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9409, + "indexed": true, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9411, + "src": "415:26:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9408, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "415:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "414:28:37" + }, + "src": "398:45:37" + }, + { + "anonymous": false, + "documentation": null, + "id": 9415, + "name": "Execution", + "nodeType": "EventDefinition", + "parameters": { + "id": 9414, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9413, + "indexed": true, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9415, + "src": "464:26:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9412, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "464:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "463:28:37" + }, + "src": "448:44:37" + }, + { + "anonymous": false, + "documentation": null, + "id": 9419, + "name": "ExecutionFailure", + "nodeType": "EventDefinition", + "parameters": { + "id": 9418, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9417, + "indexed": true, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9419, + "src": "520:26:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9416, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "520:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "519:28:37" + }, + "src": "497:51:37" + }, + { + "anonymous": false, + "documentation": null, + "id": 9425, + "name": "Deposit", + "nodeType": "EventDefinition", + "parameters": { + "id": 9424, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9421, + "indexed": true, + "name": "sender", + "nodeType": "VariableDeclaration", + "scope": 9425, + "src": "567:22:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9420, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "567:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9423, + "indexed": false, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 9425, + "src": "591:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9422, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "591:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "566:36:37" + }, + "src": "553:50:37" + }, + { + "anonymous": false, + "documentation": null, + "id": 9429, + "name": "OwnerAddition", + "nodeType": "EventDefinition", + "parameters": { + "id": 9428, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9427, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 9429, + "src": "628:21:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9426, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "628:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "627:23:37" + }, + "src": "608:43:37" + }, + { + "anonymous": false, + "documentation": null, + "id": 9433, + "name": "OwnerRemoval", + "nodeType": "EventDefinition", + "parameters": { + "id": 9432, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9431, + "indexed": true, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 9433, + "src": "675:21:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9430, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "675:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "674:23:37" + }, + "src": "656:42:37" + }, + { + "anonymous": false, + "documentation": null, + "id": 9437, + "name": "RequirementChange", + "nodeType": "EventDefinition", + "parameters": { + "id": 9436, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9435, + "indexed": false, + "name": "required", + "nodeType": "VariableDeclaration", + "scope": 9437, + "src": "727:13:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9434, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "727:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "726:15:37" + }, + "src": "703:39:37" + }, + { + "constant": true, + "id": 9440, + "name": "MAX_OWNER_COUNT", + "nodeType": "VariableDeclaration", + "scope": 10398, + "src": "781:41:37", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9438, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "781:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "3530", + "id": 9439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "820:2:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + "value": "50" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 9444, + "name": "transactions", + "nodeType": "VariableDeclaration", + "scope": 10398, + "src": "860:49:37", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$9470_storage_$", + "typeString": "mapping(uint256 => struct MultiSigWallet.Transaction)" + }, + "typeName": { + "id": 9443, + "keyType": { + "id": 9441, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "869:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "860:29:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$9470_storage_$", + "typeString": "mapping(uint256 => struct MultiSigWallet.Transaction)" + }, + "valueType": { + "contractScope": null, + "id": 9442, + "name": "Transaction", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 9470, + "src": "877:11:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage_ptr", + "typeString": "struct MultiSigWallet.Transaction" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 9450, + "name": "confirmations", + "nodeType": "VariableDeclaration", + "scope": 10398, + "src": "915:64:37", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(uint256 => mapping(address => bool))" + }, + "typeName": { + "id": 9449, + "keyType": { + "id": 9445, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "924:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "915:43:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(uint256 => mapping(address => bool))" + }, + "valueType": { + "id": 9448, + "keyType": { + "id": 9446, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "941:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "932:25:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 9447, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "952:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 9454, + "name": "isOwner", + "nodeType": "VariableDeclaration", + "scope": 10398, + "src": "985:40:37", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 9453, + "keyType": { + "id": 9451, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "994:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "985:25:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 9452, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1005:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 9457, + "name": "owners", + "nodeType": "VariableDeclaration", + "scope": 10398, + "src": "1031:23:37", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 9455, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1031:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9456, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1031:9:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 9459, + "name": "required", + "nodeType": "VariableDeclaration", + "scope": 10398, + "src": "1060:20:37", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9458, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1060:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 9461, + "name": "transactionCount", + "nodeType": "VariableDeclaration", + "scope": 10398, + "src": "1086:28:37", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9460, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1086:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "canonicalName": "MultiSigWallet.Transaction", + "id": 9470, + "members": [ + { + "constant": false, + "id": 9463, + "name": "destination", + "nodeType": "VariableDeclaration", + "scope": 9470, + "src": "1150:19:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9462, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1150:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9465, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 9470, + "src": "1179:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9464, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1179:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9467, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 9470, + "src": "1199:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9466, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1199:5:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9469, + "name": "executed", + "nodeType": "VariableDeclaration", + "scope": 9470, + "src": "1219:13:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9468, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1219:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Transaction", + "nodeType": "StructDefinition", + "scope": 10398, + "src": "1121:118:37", + "visibility": "public" + }, + { + "body": { + "id": 9482, + "nodeType": "Block", + "src": "1300:64:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 9478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9473, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1318:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1318:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9476, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26775, + "src": "1340:4:37", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MultiSigWallet_$10398", + "typeString": "contract MultiSigWallet" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MultiSigWallet_$10398", + "typeString": "contract MultiSigWallet" + } + ], + "id": 9475, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1332:7:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 9477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1332:13:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1318:27:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 9472, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1310:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 9479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1310:36:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9480, + "nodeType": "ExpressionStatement", + "src": "1310:36:37" + }, + { + "id": 9481, + "nodeType": "PlaceholderStatement", + "src": "1356:1:37" + } + ] + }, + "documentation": null, + "id": 9483, + "name": "onlyWallet", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 9471, + "nodeType": "ParameterList", + "parameters": [], + "src": "1297:2:37" + }, + "src": "1278:86:37", + "visibility": "internal" + }, + { + "body": { + "id": 9495, + "nodeType": "Block", + "src": "1412:52:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1430:15:37", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9488, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9454, + "src": "1431:7:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9490, + "indexExpression": { + "argumentTypes": null, + "id": 9489, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9485, + "src": "1439:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1431:14:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 9487, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1422:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 9492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1422:24:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9493, + "nodeType": "ExpressionStatement", + "src": "1422:24:37" + }, + { + "id": 9494, + "nodeType": "PlaceholderStatement", + "src": "1456:1:37" + } + ] + }, + "documentation": null, + "id": 9496, + "name": "ownerDoesNotExist", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 9486, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9485, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 9496, + "src": "1397:13:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9484, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1397:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1396:15:37" + }, + "src": "1370:94:37", + "visibility": "internal" + }, + { + "body": { + "id": 9507, + "nodeType": "Block", + "src": "1506:51:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9501, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9454, + "src": "1524:7:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9503, + "indexExpression": { + "argumentTypes": null, + "id": 9502, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9498, + "src": "1532:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1524:14:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 9500, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1516:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 9504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1516:23:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9505, + "nodeType": "ExpressionStatement", + "src": "1516:23:37" + }, + { + "id": 9506, + "nodeType": "PlaceholderStatement", + "src": "1549:1:37" + } + ] + }, + "documentation": null, + "id": 9508, + "name": "ownerExists", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 9499, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9498, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 9508, + "src": "1491:13:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9497, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1491:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1490:15:37" + }, + "src": "1470:87:37", + "visibility": "internal" + }, + { + "body": { + "id": 9522, + "nodeType": "Block", + "src": "1610:81:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 9518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9513, + "name": "transactions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9444, + "src": "1628:12:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$9470_storage_$", + "typeString": "mapping(uint256 => struct MultiSigWallet.Transaction storage ref)" + } + }, + "id": 9515, + "indexExpression": { + "argumentTypes": null, + "id": 9514, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9510, + "src": "1641:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1628:27:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage", + "typeString": "struct MultiSigWallet.Transaction storage ref" + } + }, + "id": 9516, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "destination", + "nodeType": "MemberAccess", + "referencedDeclaration": 9463, + "src": "1628:39:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 9517, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1671:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1628:44:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 9512, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1620:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 9519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1620:53:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9520, + "nodeType": "ExpressionStatement", + "src": "1620:53:37" + }, + { + "id": 9521, + "nodeType": "PlaceholderStatement", + "src": "1683:1:37" + } + ] + }, + "documentation": null, + "id": 9523, + "name": "transactionExists", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 9511, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9510, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9523, + "src": "1590:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9509, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1590:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1589:20:37" + }, + "src": "1563:128:37", + "visibility": "internal" + }, + { + "body": { + "id": 9538, + "nodeType": "Block", + "src": "1751:72:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9530, + "name": "confirmations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9450, + "src": "1769:13:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(uint256 => mapping(address => bool))" + } + }, + "id": 9532, + "indexExpression": { + "argumentTypes": null, + "id": 9531, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9525, + "src": "1783:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1769:28:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9534, + "indexExpression": { + "argumentTypes": null, + "id": 9533, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9527, + "src": "1798:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1769:35:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 9529, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1761:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 9535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1761:44:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9536, + "nodeType": "ExpressionStatement", + "src": "1761:44:37" + }, + { + "id": 9537, + "nodeType": "PlaceholderStatement", + "src": "1815:1:37" + } + ] + }, + "documentation": null, + "id": 9539, + "name": "confirmed", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 9528, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9525, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9539, + "src": "1716:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9524, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1716:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9527, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 9539, + "src": "1736:13:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9526, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1736:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1715:35:37" + }, + "src": "1697:126:37", + "visibility": "internal" + }, + { + "body": { + "id": 9555, + "nodeType": "Block", + "src": "1886:73:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1904:36:37", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9546, + "name": "confirmations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9450, + "src": "1905:13:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(uint256 => mapping(address => bool))" + } + }, + "id": 9548, + "indexExpression": { + "argumentTypes": null, + "id": 9547, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9541, + "src": "1919:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1905:28:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9550, + "indexExpression": { + "argumentTypes": null, + "id": 9549, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9543, + "src": "1934:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1905:35:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 9545, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1896:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 9552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1896:45:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9553, + "nodeType": "ExpressionStatement", + "src": "1896:45:37" + }, + { + "id": 9554, + "nodeType": "PlaceholderStatement", + "src": "1951:1:37" + } + ] + }, + "documentation": null, + "id": 9556, + "name": "notConfirmed", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 9544, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9541, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9556, + "src": "1851:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9540, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1851:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9543, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 9556, + "src": "1871:13:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9542, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1871:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1850:35:37" + }, + "src": "1829:130:37", + "visibility": "internal" + }, + { + "body": { + "id": 9569, + "nodeType": "Block", + "src": "2006:74:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "2024:37:37", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9561, + "name": "transactions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9444, + "src": "2025:12:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$9470_storage_$", + "typeString": "mapping(uint256 => struct MultiSigWallet.Transaction storage ref)" + } + }, + "id": 9563, + "indexExpression": { + "argumentTypes": null, + "id": 9562, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9558, + "src": "2038:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2025:27:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage", + "typeString": "struct MultiSigWallet.Transaction storage ref" + } + }, + "id": 9564, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "executed", + "nodeType": "MemberAccess", + "referencedDeclaration": 9469, + "src": "2025:36:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 9560, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2016:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 9566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2016:46:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9567, + "nodeType": "ExpressionStatement", + "src": "2016:46:37" + }, + { + "id": 9568, + "nodeType": "PlaceholderStatement", + "src": "2072:1:37" + } + ] + }, + "documentation": null, + "id": 9570, + "name": "notExecuted", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 9559, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9558, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9570, + "src": "1986:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9557, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1986:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1985:20:37" + }, + "src": "1965:115:37", + "visibility": "internal" + }, + { + "body": { + "id": 9581, + "nodeType": "Block", + "src": "2121:50:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 9577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 9575, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9572, + "src": "2139:8:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 9576, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2151:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2139:13:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 9574, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2131:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 9578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2131:22:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9579, + "nodeType": "ExpressionStatement", + "src": "2131:22:37" + }, + { + "id": 9580, + "nodeType": "PlaceholderStatement", + "src": "2163:1:37" + } + ] + }, + "documentation": null, + "id": 9582, + "name": "notNull", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 9573, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9572, + "name": "_address", + "nodeType": "VariableDeclaration", + "scope": 9582, + "src": "2103:16:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9571, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2103:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2102:18:37" + }, + "src": "2086:85:37", + "visibility": "internal" + }, + { + "body": { + "id": 9607, + "nodeType": "Block", + "src": "2236:166:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 9603, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 9599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 9595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 9589, + "name": "ownerCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9584, + "src": "2254:10:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 9590, + "name": "MAX_OWNER_COUNT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9440, + "src": "2268:15:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2254:29:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 9592, + "name": "_required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9586, + "src": "2299:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 9593, + "name": "ownerCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9584, + "src": "2312:10:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2299:23:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2254:68:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 9596, + "name": "_required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9586, + "src": "2338:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 9597, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2351:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2338:14:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2254:98:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 9600, + "name": "ownerCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9584, + "src": "2368:10:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 9601, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2382:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2368:15:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2254:129:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 9588, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2246:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 9604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2246:138:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9605, + "nodeType": "ExpressionStatement", + "src": "2246:138:37" + }, + { + "id": 9606, + "nodeType": "PlaceholderStatement", + "src": "2394:1:37" + } + ] + }, + "documentation": null, + "id": 9608, + "name": "validRequirement", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 9587, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9584, + "name": "ownerCount", + "nodeType": "VariableDeclaration", + "scope": 9608, + "src": "2203:15:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9583, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2203:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9586, + "name": "_required", + "nodeType": "VariableDeclaration", + "scope": 9608, + "src": "2220:14:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9585, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2220:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2202:33:37" + }, + "src": "2177:225:37", + "visibility": "internal" + }, + { + "body": { + "id": 9623, + "nodeType": "Block", + "src": "2510:83:37", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9611, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2524:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2524:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 9613, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2536:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2524:13:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 9622, + "nodeType": "IfStatement", + "src": "2520:66:37", + "trueBody": { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9616, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2564:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2564:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9618, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "2576:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2576:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9615, + "name": "Deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9425, + "src": "2556:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 9620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2556:30:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9621, + "nodeType": "EmitStatement", + "src": "2551:35:37" + } + } + ] + }, + "documentation": "@dev Fallback function allows to deposit ether.", + "id": 9624, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9609, + "nodeType": "ParameterList", + "parameters": [], + "src": "2472:2:37" + }, + "payable": true, + "returnParameters": { + "id": 9610, + "nodeType": "ParameterList", + "parameters": [], + "src": "2510:0:37" + }, + "scope": 10398, + "src": "2464:129:37", + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9681, + "nodeType": "Block", + "src": "2954:223:37", + "statements": [ + { + "body": { + "id": 9671, + "nodeType": "Block", + "src": "3002:113:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 9660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 9654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "3024:20:37", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9649, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9454, + "src": "3025:7:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9653, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9650, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9627, + "src": "3033:7:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 9652, + "indexExpression": { + "argumentTypes": null, + "id": 9651, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9638, + "src": "3041:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3033:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3025:19:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 9659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9655, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9627, + "src": "3048:7:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 9657, + "indexExpression": { + "argumentTypes": null, + "id": 9656, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9638, + "src": "3056:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3048:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 9658, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3062:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3048:15:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3024:39:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 9648, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3016:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 9661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3016:48:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9662, + "nodeType": "ExpressionStatement", + "src": "3016:48:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 9669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9663, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9454, + "src": "3078:7:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9667, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9664, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9627, + "src": "3086:7:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 9666, + "indexExpression": { + "argumentTypes": null, + "id": 9665, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9638, + "src": "3094:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3086:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3078:19:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 9668, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3100:4:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "3078:26:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9670, + "nodeType": "ExpressionStatement", + "src": "3078:26:37" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 9641, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9638, + "src": "2979:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9642, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9627, + "src": "2981:7:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 9643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2981:14:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2979:16:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9672, + "initializationExpression": { + "assignments": [ + 9638 + ], + "declarations": [ + { + "constant": false, + "id": 9638, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 9682, + "src": "2969:6:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9637, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2969:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 9640, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 9639, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2976:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2969:8:37" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 9646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2997:3:37", + "subExpression": { + "argumentTypes": null, + "id": 9645, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9638, + "src": "2997:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9647, + "nodeType": "ExpressionStatement", + "src": "2997:3:37" + }, + "nodeType": "ForStatement", + "src": "2964:151:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 9675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 9673, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "3124:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 9674, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9627, + "src": "3133:7:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "src": "3124:16:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9676, + "nodeType": "ExpressionStatement", + "src": "3124:16:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 9679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 9677, + "name": "required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9459, + "src": "3150:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 9678, + "name": "_required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9629, + "src": "3161:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3150:20:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9680, + "nodeType": "ExpressionStatement", + "src": "3150:20:37" + } + ] + }, + "documentation": "@dev Contract constructor sets initial owners and required number of confirmations.\n @param _owners List of initial owners.\n @param _required Number of required confirmations.", + "id": 9682, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9632, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9627, + "src": "2923:7:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 9633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2923:14:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 9634, + "name": "_required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9629, + "src": "2939:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 9635, + "modifierName": { + "argumentTypes": null, + "id": 9631, + "name": "validRequirement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9608, + "src": "2906:16:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$_t_uint256_$", + "typeString": "modifier (uint256,uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "2906:43:37" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9630, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9627, + "name": "_owners", + "nodeType": "VariableDeclaration", + "scope": 9682, + "src": "2848:17:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 9625, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2848:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9626, + "length": null, + "nodeType": "ArrayTypeName", + "src": "2848:9:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9629, + "name": "_required", + "nodeType": "VariableDeclaration", + "scope": 9682, + "src": "2867:14:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9628, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2867:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2847:35:37" + }, + "payable": false, + "returnParameters": { + "id": 9636, + "nodeType": "ParameterList", + "parameters": [], + "src": "2954:0:37" + }, + "scope": 10398, + "src": "2836:341:37", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9718, + "nodeType": "Block", + "src": "3485:101:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 9706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9702, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9454, + "src": "3495:7:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9704, + "indexExpression": { + "argumentTypes": null, + "id": 9703, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9684, + "src": "3503:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3495:14:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 9705, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3512:4:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "3495:21:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9707, + "nodeType": "ExpressionStatement", + "src": "3495:21:37" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9711, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9684, + "src": "3538:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 9708, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "3526:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3526:11:37", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) returns (uint256)" + } + }, + "id": 9712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3526:18:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9713, + "nodeType": "ExpressionStatement", + "src": "3526:18:37" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9715, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9684, + "src": "3573:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9714, + "name": "OwnerAddition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9429, + "src": "3559:13:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 9716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3559:20:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9717, + "nodeType": "EmitStatement", + "src": "3554:25:37" + } + ] + }, + "documentation": "@dev Allows to add a new owner. Transaction has to be sent by wallet.\n @param owner Address of new owner.", + "id": 9719, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 9687, + "modifierName": { + "argumentTypes": null, + "id": 9686, + "name": "onlyWallet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9483, + "src": "3360:10:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3360:10:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 9689, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9684, + "src": "3397:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9690, + "modifierName": { + "argumentTypes": null, + "id": 9688, + "name": "ownerDoesNotExist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9496, + "src": "3379:17:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3379:24:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 9692, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9684, + "src": "3420:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9693, + "modifierName": { + "argumentTypes": null, + "id": 9691, + "name": "notNull", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9582, + "src": "3412:7:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3412:14:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9695, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "3452:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9696, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3452:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 9697, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3468:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3452:17:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 9699, + "name": "required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9459, + "src": "3471:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 9700, + "modifierName": { + "argumentTypes": null, + "id": 9694, + "name": "validRequirement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9608, + "src": "3435:16:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$_t_uint256_$", + "typeString": "modifier (uint256,uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3435:45:37" + } + ], + "name": "addOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9685, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9684, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 9719, + "src": "3322:13:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9683, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3322:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3321:15:37" + }, + "payable": false, + "returnParameters": { + "id": 9701, + "nodeType": "ParameterList", + "parameters": [], + "src": "3485:0:37" + }, + "scope": 10398, + "src": "3304:282:37", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9788, + "nodeType": "Block", + "src": "3810:364:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 9733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9729, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9454, + "src": "3820:7:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9731, + "indexExpression": { + "argumentTypes": null, + "id": 9730, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9721, + "src": "3828:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3820:14:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 9732, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3837:5:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "3820:22:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9734, + "nodeType": "ExpressionStatement", + "src": "3820:22:37" + }, + { + "body": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 9752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9748, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "3909:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9750, + "indexExpression": { + "argumentTypes": null, + "id": 9749, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9736, + "src": "3916:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3909:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 9751, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9721, + "src": "3922:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3909:18:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 9766, + "nodeType": "IfStatement", + "src": "3905:117:37", + "trueBody": { + "id": 9765, + "nodeType": "Block", + "src": "3929:93:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 9762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9753, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "3947:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9755, + "indexExpression": { + "argumentTypes": null, + "id": 9754, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9736, + "src": "3954:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3947:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9756, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "3959:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9761, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9757, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "3966:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9758, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3966:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 9759, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3982:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3966:17:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3959:25:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3947:37:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9763, + "nodeType": "ExpressionStatement", + "src": "3947:37:37" + }, + { + "id": 9764, + "nodeType": "Break", + "src": "4002:5:37" + } + ] + } + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 9739, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9736, + "src": "3867:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9740, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "3869:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9741, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3869:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 9742, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3885:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3869:17:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3867:19:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9767, + "initializationExpression": { + "assignments": [ + 9736 + ], + "declarations": [ + { + "constant": false, + "id": 9736, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 9789, + "src": "3857:6:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9735, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "3857:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 9738, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 9737, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3864:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3857:8:37" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 9746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3888:3:37", + "subExpression": { + "argumentTypes": null, + "id": 9745, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9736, + "src": "3888:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9747, + "nodeType": "ExpressionStatement", + "src": "3888:3:37" + }, + "nodeType": "ForStatement", + "src": "3852:170:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 9772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9768, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "4031:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9770, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4031:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 9771, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4048:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4031:18:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9773, + "nodeType": "ExpressionStatement", + "src": "4031:18:37" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 9774, + "name": "required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9459, + "src": "4063:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9775, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "4074:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9776, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4074:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4063:24:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 9783, + "nodeType": "IfStatement", + "src": "4059:74:37", + "trueBody": { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9779, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "4119:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9780, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4119:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9778, + "name": "changeRequirement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9872, + "src": "4101:17:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 9781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4101:32:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9782, + "nodeType": "ExpressionStatement", + "src": "4101:32:37" + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9785, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9721, + "src": "4161:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9784, + "name": "OwnerRemoval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9433, + "src": "4148:12:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 9786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4148:19:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9787, + "nodeType": "EmitStatement", + "src": "4143:24:37" + } + ] + }, + "documentation": "@dev Allows to remove an owner. Transaction has to be sent by wallet.\n @param owner Address of owner.", + "id": 9789, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 9724, + "modifierName": { + "argumentTypes": null, + "id": 9723, + "name": "onlyWallet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9483, + "src": "3768:10:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "3768:10:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 9726, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9721, + "src": "3799:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9727, + "modifierName": { + "argumentTypes": null, + "id": 9725, + "name": "ownerExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9508, + "src": "3787:11:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "3787:18:37" + } + ], + "name": "removeOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9722, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9721, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 9789, + "src": "3730:13:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9720, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3730:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3729:15:37" + }, + "payable": false, + "returnParameters": { + "id": 9728, + "nodeType": "ParameterList", + "parameters": [], + "src": "3810:0:37" + }, + "scope": 10398, + "src": "3709:465:37", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9850, + "nodeType": "Block", + "src": "4532:303:37", + "statements": [ + { + "body": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 9819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9815, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "4595:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9817, + "indexExpression": { + "argumentTypes": null, + "id": 9816, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9805, + "src": "4602:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4595:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 9818, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9791, + "src": "4608:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4595:18:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 9828, + "nodeType": "IfStatement", + "src": "4591:100:37", + "trueBody": { + "id": 9827, + "nodeType": "Block", + "src": "4615:76:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 9824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9820, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "4633:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9822, + "indexExpression": { + "argumentTypes": null, + "id": 9821, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9805, + "src": "4640:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4633:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 9823, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9793, + "src": "4645:8:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4633:20:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 9825, + "nodeType": "ExpressionStatement", + "src": "4633:20:37" + }, + { + "id": 9826, + "nodeType": "Break", + "src": "4671:5:37" + } + ] + } + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 9811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 9808, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9805, + "src": "4557:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9809, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "4559:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9810, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4559:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4557:15:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9829, + "initializationExpression": { + "assignments": [ + 9805 + ], + "declarations": [ + { + "constant": false, + "id": 9805, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 9851, + "src": "4547:6:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9804, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4547:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 9807, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 9806, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4554:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4547:8:37" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 9813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "4574:3:37", + "subExpression": { + "argumentTypes": null, + "id": 9812, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9805, + "src": "4574:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9814, + "nodeType": "ExpressionStatement", + "src": "4574:3:37" + }, + "nodeType": "ForStatement", + "src": "4542:149:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 9834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9830, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9454, + "src": "4700:7:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9832, + "indexExpression": { + "argumentTypes": null, + "id": 9831, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9791, + "src": "4708:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4700:14:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 9833, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4717:5:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "4700:22:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9835, + "nodeType": "ExpressionStatement", + "src": "4700:22:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 9840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9836, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9454, + "src": "4732:7:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9838, + "indexExpression": { + "argumentTypes": null, + "id": 9837, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9793, + "src": "4740:8:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4732:17:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 9839, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4752:4:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4732:24:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9841, + "nodeType": "ExpressionStatement", + "src": "4732:24:37" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9843, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9791, + "src": "4784:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9842, + "name": "OwnerRemoval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9433, + "src": "4771:12:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 9844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4771:19:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9845, + "nodeType": "EmitStatement", + "src": "4766:24:37" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9847, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9793, + "src": "4819:8:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 9846, + "name": "OwnerAddition", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9429, + "src": "4805:13:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 9848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4805:23:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9849, + "nodeType": "EmitStatement", + "src": "4800:28:37" + } + ] + }, + "documentation": "@dev Allows to replace an owner with a new owner. Transaction has to be sent by wallet.\n @param owner Address of owner to be replaced.\n @param newOwner Address of new owner.", + "id": 9851, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 9796, + "modifierName": { + "argumentTypes": null, + "id": 9795, + "name": "onlyWallet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9483, + "src": "4454:10:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "4454:10:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 9798, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9791, + "src": "4485:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9799, + "modifierName": { + "argumentTypes": null, + "id": 9797, + "name": "ownerExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9508, + "src": "4473:11:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "4473:18:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 9801, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9793, + "src": "4518:8:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9802, + "modifierName": { + "argumentTypes": null, + "id": 9800, + "name": "ownerDoesNotExist", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9496, + "src": "4500:17:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "4500:27:37" + } + ], + "name": "replaceOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9794, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9791, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 9851, + "src": "4398:13:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9790, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4398:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9793, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 9851, + "src": "4413:16:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9792, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4413:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4397:33:37" + }, + "payable": false, + "returnParameters": { + "id": 9803, + "nodeType": "ParameterList", + "parameters": [], + "src": "4532:0:37" + }, + "scope": 10398, + "src": "4376:459:37", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9871, + "nodeType": "Block", + "src": "5138:80:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 9865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 9863, + "name": "required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9459, + "src": "5148:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 9864, + "name": "_required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9853, + "src": "5159:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5148:20:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9866, + "nodeType": "ExpressionStatement", + "src": "5148:20:37" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9868, + "name": "_required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9853, + "src": "5201:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9867, + "name": "RequirementChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9437, + "src": "5183:17:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 9869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5183:28:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9870, + "nodeType": "EmitStatement", + "src": "5178:33:37" + } + ] + }, + "documentation": "@dev Allows to change the number of required confirmations. Transaction has to be sent by wallet.\n @param _required Number of required confirmations.", + "id": 9872, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 9856, + "modifierName": { + "argumentTypes": null, + "id": 9855, + "name": "onlyWallet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9483, + "src": "5072:10:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "5072:10:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9858, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "5108:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 9859, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5108:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 9860, + "name": "_required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9853, + "src": "5123:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 9861, + "modifierName": { + "argumentTypes": null, + "id": 9857, + "name": "validRequirement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9608, + "src": "5091:16:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$_t_uint256_$", + "typeString": "modifier (uint256,uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "5091:42:37" + } + ], + "name": "changeRequirement", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9854, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9853, + "name": "_required", + "nodeType": "VariableDeclaration", + "scope": 9872, + "src": "5033:14:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9852, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5033:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5032:16:37" + }, + "payable": false, + "returnParameters": { + "id": 9862, + "nodeType": "ParameterList", + "parameters": [], + "src": "5138:0:37" + }, + "scope": 10398, + "src": "5006:212:37", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9895, + "nodeType": "Block", + "src": "5605:116:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 9889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 9883, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9881, + "src": "5615:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9885, + "name": "destination", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9874, + "src": "5646:11:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 9886, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9876, + "src": "5659:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 9887, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9878, + "src": "5666:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9884, + "name": "addTransaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10129, + "src": "5631:14:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (address,uint256,bytes memory) returns (uint256)" + } + }, + "id": 9888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5631:40:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5615:56:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 9890, + "nodeType": "ExpressionStatement", + "src": "5615:56:37" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9892, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9881, + "src": "5700:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9891, + "name": "confirmTransaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9933, + "src": "5681:18:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 9893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5681:33:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9894, + "nodeType": "ExpressionStatement", + "src": "5681:33:37" + } + ] + }, + "documentation": "@dev Allows an owner to submit and confirm a transaction.\n @param destination Transaction target address.\n @param value Transaction ether value.\n @param data Transaction data payload.\n @return Returns transaction ID.", + "id": 9896, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "submitTransaction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9879, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9874, + "name": "destination", + "nodeType": "VariableDeclaration", + "scope": 9896, + "src": "5504:19:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9873, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5504:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9876, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 9896, + "src": "5525:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9875, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5525:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9878, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 9896, + "src": "5537:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 9877, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5537:5:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5503:45:37" + }, + "payable": false, + "returnParameters": { + "id": 9882, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9881, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9896, + "src": "5581:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9880, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5581:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5580:20:37" + }, + "scope": 10398, + "src": "5477:244:37", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9932, + "nodeType": "Block", + "src": "6015:161:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 9920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9913, + "name": "confirmations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9450, + "src": "6025:13:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(uint256 => mapping(address => bool))" + } + }, + "id": 9917, + "indexExpression": { + "argumentTypes": null, + "id": 9914, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9898, + "src": "6039:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6025:28:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9918, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9915, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6054:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9916, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6054:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6025:40:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 9919, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6068:4:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6025:47:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9921, + "nodeType": "ExpressionStatement", + "src": "6025:47:37" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9923, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6100:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6100:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 9925, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9898, + "src": "6112:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9922, + "name": "Confirmation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9401, + "src": "6087:12:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 9926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6087:39:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9927, + "nodeType": "EmitStatement", + "src": "6082:44:37" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9929, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9898, + "src": "6155:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9928, + "name": "executeTransaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10028, + "src": "6136:18:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 9930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6136:33:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9931, + "nodeType": "ExpressionStatement", + "src": "6136:33:37" + } + ] + }, + "documentation": "@dev Allows an owner to confirm a transaction.\n @param transactionId Transaction ID.", + "id": 9933, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9901, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "5910:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5910:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9903, + "modifierName": { + "argumentTypes": null, + "id": 9900, + "name": "ownerExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9508, + "src": "5898:11:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "5898:23:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 9905, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9898, + "src": "5948:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 9906, + "modifierName": { + "argumentTypes": null, + "id": 9904, + "name": "transactionExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9523, + "src": "5930:17:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$", + "typeString": "modifier (uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "5930:32:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 9908, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9898, + "src": "5984:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9909, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "5999:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5999:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9911, + "modifierName": { + "argumentTypes": null, + "id": 9907, + "name": "notConfirmed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9556, + "src": "5971:12:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$_t_address_$", + "typeString": "modifier (uint256,address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "5971:39:37" + } + ], + "name": "confirmTransaction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9899, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9898, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9933, + "src": "5855:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9897, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5855:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5854:20:37" + }, + "payable": false, + "returnParameters": { + "id": 9912, + "nodeType": "ParameterList", + "parameters": [], + "src": "6015:0:37" + }, + "scope": 10398, + "src": "5827:349:37", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 9965, + "nodeType": "Block", + "src": "6479:117:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 9957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9950, + "name": "confirmations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9450, + "src": "6489:13:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(uint256 => mapping(address => bool))" + } + }, + "id": 9954, + "indexExpression": { + "argumentTypes": null, + "id": 9951, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9935, + "src": "6503:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6489:28:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 9955, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9952, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6518:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6518:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6489:40:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 9956, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6532:5:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "6489:48:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9958, + "nodeType": "ExpressionStatement", + "src": "6489:48:37" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9960, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6563:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6563:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 9962, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9935, + "src": "6575:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9959, + "name": "Revocation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9407, + "src": "6552:10:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 9963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6552:37:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9964, + "nodeType": "EmitStatement", + "src": "6547:42:37" + } + ] + }, + "documentation": "@dev Allows an owner to revoke a confirmation for a transaction.\n @param transactionId Transaction ID.", + "id": 9966, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9938, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6383:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6383:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9940, + "modifierName": { + "argumentTypes": null, + "id": 9937, + "name": "ownerExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9508, + "src": "6371:11:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "6371:23:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 9942, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9935, + "src": "6413:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9943, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6428:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6428:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9945, + "modifierName": { + "argumentTypes": null, + "id": 9941, + "name": "confirmed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9539, + "src": "6403:9:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$_t_address_$", + "typeString": "modifier (uint256,address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "6403:36:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 9947, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9935, + "src": "6460:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 9948, + "modifierName": { + "argumentTypes": null, + "id": 9946, + "name": "notExecuted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9570, + "src": "6448:11:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$", + "typeString": "modifier (uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "6448:26:37" + } + ], + "name": "revokeConfirmation", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9936, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9935, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 9966, + "src": "6328:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9934, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6328:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6327:20:37" + }, + "payable": false, + "returnParameters": { + "id": 9949, + "nodeType": "ParameterList", + "parameters": [], + "src": "6479:0:37" + }, + "scope": 10398, + "src": "6300:296:37", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10027, + "nodeType": "Block", + "src": "6889:417:37", + "statements": [ + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 9984, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9968, + "src": "6915:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 9983, + "name": "isConfirmed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10091, + "src": "6903:11:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 9985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6903:26:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 10026, + "nodeType": "IfStatement", + "src": "6899:401:37", + "trueBody": { + "id": 10025, + "nodeType": "Block", + "src": "6931:369:37", + "statements": [ + { + "assignments": [ + 9987 + ], + "declarations": [ + { + "constant": false, + "id": 9987, + "name": "txn", + "nodeType": "VariableDeclaration", + "scope": 10028, + "src": "6945:23:37", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage_ptr", + "typeString": "struct MultiSigWallet.Transaction" + }, + "typeName": { + "contractScope": null, + "id": 9986, + "name": "Transaction", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 9470, + "src": "6945:11:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage_ptr", + "typeString": "struct MultiSigWallet.Transaction" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 9991, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 9988, + "name": "transactions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9444, + "src": "6971:12:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$9470_storage_$", + "typeString": "mapping(uint256 => struct MultiSigWallet.Transaction storage ref)" + } + }, + "id": 9990, + "indexExpression": { + "argumentTypes": null, + "id": 9989, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9968, + "src": "6984:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6971:27:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage", + "typeString": "struct MultiSigWallet.Transaction storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6945:53:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 9996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9992, + "name": "txn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9987, + "src": "7012:3:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage_ptr", + "typeString": "struct MultiSigWallet.Transaction storage pointer" + } + }, + "id": 9994, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "executed", + "nodeType": "MemberAccess", + "referencedDeclaration": 9469, + "src": "7012:12:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 9995, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7027:4:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "7012:19:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 9997, + "nodeType": "ExpressionStatement", + "src": "7012:19:37" + }, + { + "condition": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9999, + "name": "txn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9987, + "src": "7063:3:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage_ptr", + "typeString": "struct MultiSigWallet.Transaction storage pointer" + } + }, + "id": 10000, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "destination", + "nodeType": "MemberAccess", + "referencedDeclaration": 9463, + "src": "7063:15:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10001, + "name": "txn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9987, + "src": "7080:3:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage_ptr", + "typeString": "struct MultiSigWallet.Transaction storage pointer" + } + }, + "id": 10002, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 9465, + "src": "7080:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10003, + "name": "txn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9987, + "src": "7091:3:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage_ptr", + "typeString": "struct MultiSigWallet.Transaction storage pointer" + } + }, + "id": 10004, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 9467, + "src": "7091:8:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + }, + "id": 10005, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7091:15:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10006, + "name": "txn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9987, + "src": "7108:3:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage_ptr", + "typeString": "struct MultiSigWallet.Transaction storage pointer" + } + }, + "id": 10007, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": 9467, + "src": "7108:8:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_storage", + "typeString": "bytes storage ref" + } + ], + "id": 9998, + "name": "external_call", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10048, + "src": "7049:13:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,uint256,uint256,bytes memory) returns (bool)" + } + }, + "id": 10008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7049:68:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 10023, + "nodeType": "Block", + "src": "7183:107:37", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 10014, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9968, + "src": "7223:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 10013, + "name": "ExecutionFailure", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9419, + "src": "7206:16:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 10015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7206:31:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10016, + "nodeType": "EmitStatement", + "src": "7201:36:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 10021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10017, + "name": "txn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9987, + "src": "7255:3:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage_ptr", + "typeString": "struct MultiSigWallet.Transaction storage pointer" + } + }, + "id": 10019, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "executed", + "nodeType": "MemberAccess", + "referencedDeclaration": 9469, + "src": "7255:12:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 10020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7270:5:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "7255:20:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10022, + "nodeType": "ExpressionStatement", + "src": "7255:20:37" + } + ] + }, + "id": 10024, + "nodeType": "IfStatement", + "src": "7045:245:37", + "trueBody": { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 10010, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9968, + "src": "7150:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 10009, + "name": "Execution", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9415, + "src": "7140:9:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 10011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7140:24:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10012, + "nodeType": "EmitStatement", + "src": "7135:29:37" + } + } + ] + } + } + ] + }, + "documentation": "@dev Allows anyone to execute a confirmed transaction.\n @param transactionId Transaction ID.", + "id": 10028, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9971, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6793:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6793:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9973, + "modifierName": { + "argumentTypes": null, + "id": 9970, + "name": "ownerExists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9508, + "src": "6781:11:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "6781:23:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 9975, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9968, + "src": "6823:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 9976, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "6838:3:37", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 9977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6838:10:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 9978, + "modifierName": { + "argumentTypes": null, + "id": 9974, + "name": "confirmed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9539, + "src": "6813:9:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$_t_address_$", + "typeString": "modifier (uint256,address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "6813:36:37" + }, + { + "arguments": [ + { + "argumentTypes": null, + "id": 9980, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9968, + "src": "6870:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 9981, + "modifierName": { + "argumentTypes": null, + "id": 9979, + "name": "notExecuted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9570, + "src": "6858:11:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_uint256_$", + "typeString": "modifier (uint256)" + } + }, + "nodeType": "ModifierInvocation", + "src": "6858:26:37" + } + ], + "name": "executeTransaction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9969, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9968, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 10028, + "src": "6738:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9967, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6738:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6737:20:37" + }, + "payable": false, + "returnParameters": { + "id": 9982, + "nodeType": "ParameterList", + "parameters": [], + "src": "6889:0:37" + }, + "scope": 10398, + "src": "6710:596:37", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10047, + "nodeType": "Block", + "src": "7591:994:37", + "statements": [ + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 10042, + "name": "result", + "nodeType": "VariableDeclaration", + "scope": 10048, + "src": "7601:11:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10041, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7601:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10043, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "7601:11:37" + }, + { + "externalReferences": [ + { + "result": { + "declaration": 10042, + "isOffset": false, + "isSlot": false, + "src": "7874:6:37", + "valueSize": 1 + } + }, + { + "data": { + "declaration": 10036, + "isOffset": false, + "isSlot": false, + "src": "7787:4:37", + "valueSize": 1 + } + }, + { + "destination": { + "declaration": 10030, + "isOffset": false, + "isSlot": false, + "src": "8260:11:37", + "valueSize": 1 + } + }, + { + "value": { + "declaration": 10032, + "isOffset": false, + "isSlot": false, + "src": "8289:5:37", + "valueSize": 1 + } + }, + { + "dataLength": { + "declaration": 10034, + "isOffset": false, + "isSlot": false, + "src": "8331:10:37", + "valueSize": 1 + } + } + ], + "id": 10044, + "nodeType": "InlineAssembly", + "operations": "{\n let x := mload(0x40)\n let d := add(data, 32)\n result := call(sub(gas(), 34710), destination, value, d, dataLength, x, 0)\n}", + "src": "7622:949:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 10045, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10042, + "src": "8572:6:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 10040, + "id": 10046, + "nodeType": "Return", + "src": "8565:13:37" + } + ] + }, + "documentation": null, + "id": 10048, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "external_call", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10037, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10030, + "name": "destination", + "nodeType": "VariableDeclaration", + "scope": 10048, + "src": "7506:19:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10029, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7506:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10032, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 10048, + "src": "7527:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10031, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7527:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10034, + "name": "dataLength", + "nodeType": "VariableDeclaration", + "scope": 10048, + "src": "7539:15:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10033, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7539:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10036, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 10048, + "src": "7556:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10035, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7556:5:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7505:62:37" + }, + "payable": false, + "returnParameters": { + "id": 10040, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10039, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 10048, + "src": "7585:4:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10038, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7585:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7584:6:37" + }, + "scope": 10398, + "src": "7483:1102:37", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 10090, + "nodeType": "Block", + "src": "8836:237:37", + "statements": [ + { + "assignments": [ + 10056 + ], + "declarations": [ + { + "constant": false, + "id": 10056, + "name": "count", + "nodeType": "VariableDeclaration", + "scope": 10091, + "src": "8846:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10055, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8846:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10058, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 10057, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8859:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "8846:14:37" + }, + { + "body": { + "id": 10088, + "nodeType": "Block", + "src": "8907:160:37", + "statements": [ + { + "condition": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10070, + "name": "confirmations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9450, + "src": "8925:13:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(uint256 => mapping(address => bool))" + } + }, + "id": 10072, + "indexExpression": { + "argumentTypes": null, + "id": 10071, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10050, + "src": "8939:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8925:28:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 10076, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10073, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "8954:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 10075, + "indexExpression": { + "argumentTypes": null, + "id": 10074, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10060, + "src": "8961:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8954:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8925:39:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 10081, + "nodeType": "IfStatement", + "src": "8921:71:37", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 10079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10077, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10056, + "src": "8982:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10078, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8991:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "8982:10:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10080, + "nodeType": "ExpressionStatement", + "src": "8982:10:37" + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10082, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10056, + "src": "9010:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 10083, + "name": "required", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9459, + "src": "9019:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9010:17:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 10087, + "nodeType": "IfStatement", + "src": "9006:50:37", + "trueBody": { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 10085, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9052:4:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 10054, + "id": 10086, + "nodeType": "Return", + "src": "9045:11:37" + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10063, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10060, + "src": "8885:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10064, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "8887:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 10065, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "8887:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8885:15:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10089, + "initializationExpression": { + "assignments": [ + 10060 + ], + "declarations": [ + { + "constant": false, + "id": 10060, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 10091, + "src": "8875:6:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10059, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8875:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10062, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 10061, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8882:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "8875:8:37" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 10068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "8902:3:37", + "subExpression": { + "argumentTypes": null, + "id": 10067, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10060, + "src": "8902:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10069, + "nodeType": "ExpressionStatement", + "src": "8902:3:37" + }, + "nodeType": "ForStatement", + "src": "8870:197:37" + } + ] + }, + "documentation": "@dev Returns the confirmation status of a transaction.\n @param transactionId Transaction ID.\n @return Confirmation status.", + "id": 10091, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "isConfirmed", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10051, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10050, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 10091, + "src": "8757:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10049, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8757:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8756:20:37" + }, + "payable": false, + "returnParameters": { + "id": 10054, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10053, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 10091, + "src": "8826:4:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10052, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8826:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8825:6:37" + }, + "scope": 10398, + "src": "8736:337:37", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10128, + "nodeType": "Block", + "src": "9562:300:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10105, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10103, + "src": "9572:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 10106, + "name": "transactionCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9461, + "src": "9588:16:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9572:32:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10108, + "nodeType": "ExpressionStatement", + "src": "9572:32:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 10118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10109, + "name": "transactions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9444, + "src": "9614:12:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$9470_storage_$", + "typeString": "mapping(uint256 => struct MultiSigWallet.Transaction storage ref)" + } + }, + "id": 10111, + "indexExpression": { + "argumentTypes": null, + "id": 10110, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10103, + "src": "9627:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9614:27:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage", + "typeString": "struct MultiSigWallet.Transaction storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 10113, + "name": "destination", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10093, + "src": "9683:11:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 10114, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10095, + "src": "9715:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 10115, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10097, + "src": "9740:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 10116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9768:5:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": null, + "id": 10112, + "name": "Transaction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9470, + "src": "9644:11:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Transaction_$9470_storage_ptr_$", + "typeString": "type(struct MultiSigWallet.Transaction storage pointer)" + } + }, + "id": 10117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "destination", + "value", + "data", + "executed" + ], + "nodeType": "FunctionCall", + "src": "9644:140:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_memory", + "typeString": "struct MultiSigWallet.Transaction memory" + } + }, + "src": "9614:170:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage", + "typeString": "struct MultiSigWallet.Transaction storage ref" + } + }, + "id": 10119, + "nodeType": "ExpressionStatement", + "src": "9614:170:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 10122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10120, + "name": "transactionCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9461, + "src": "9794:16:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9814:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "9794:21:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10123, + "nodeType": "ExpressionStatement", + "src": "9794:21:37" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 10125, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10103, + "src": "9841:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 10124, + "name": "Submission", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9411, + "src": "9830:10:37", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 10126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9830:25:37", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10127, + "nodeType": "EmitStatement", + "src": "9825:30:37" + } + ] + }, + "documentation": "@dev Adds a new transaction to the transaction mapping, if transaction does not exist yet.\n @param destination Transaction target address.\n @param value Transaction ether value.\n @param data Transaction data payload.\n @return Returns transaction ID.", + "id": 10129, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 10100, + "name": "destination", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10093, + "src": "9508:11:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 10101, + "modifierName": { + "argumentTypes": null, + "id": 10099, + "name": "notNull", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9582, + "src": "9500:7:37", + "typeDescriptions": { + "typeIdentifier": "t_modifier$_t_address_$", + "typeString": "modifier (address)" + } + }, + "nodeType": "ModifierInvocation", + "src": "9500:20:37" + } + ], + "name": "addTransaction", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10098, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10093, + "name": "destination", + "nodeType": "VariableDeclaration", + "scope": 10129, + "src": "9430:19:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10092, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9430:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10095, + "name": "value", + "nodeType": "VariableDeclaration", + "scope": 10129, + "src": "9451:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10094, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9451:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10097, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 10129, + "src": "9463:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 10096, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9463:5:37", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9429:45:37" + }, + "payable": false, + "returnParameters": { + "id": 10104, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10103, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 10129, + "src": "9538:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10102, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9538:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9537:20:37" + }, + "scope": 10398, + "src": "9406:456:37", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 10160, + "nodeType": "Block", + "src": "10174:137:37", + "statements": [ + { + "body": { + "condition": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10147, + "name": "confirmations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9450, + "src": "10237:13:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(uint256 => mapping(address => bool))" + } + }, + "id": 10149, + "indexExpression": { + "argumentTypes": null, + "id": 10148, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10131, + "src": "10251:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10237:28:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 10153, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10150, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "10266:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 10152, + "indexExpression": { + "argumentTypes": null, + "id": 10151, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10137, + "src": "10273:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10266:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10237:39:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 10158, + "nodeType": "IfStatement", + "src": "10233:71:37", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 10156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10154, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10134, + "src": "10294:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10155, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10303:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "10294:10:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10157, + "nodeType": "ExpressionStatement", + "src": "10294:10:37" + } + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10140, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10137, + "src": "10199:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10141, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "10201:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 10142, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "10201:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10199:15:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10159, + "initializationExpression": { + "assignments": [ + 10137 + ], + "declarations": [ + { + "constant": false, + "id": 10137, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 10161, + "src": "10189:6:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10136, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10189:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10139, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 10138, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10196:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "10189:8:37" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 10145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "10216:3:37", + "subExpression": { + "argumentTypes": null, + "id": 10144, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10137, + "src": "10216:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10146, + "nodeType": "ExpressionStatement", + "src": "10216:3:37" + }, + "nodeType": "ForStatement", + "src": "10184:120:37" + } + ] + }, + "documentation": "@dev Returns number of confirmations of a transaction.\n @param transactionId Transaction ID.\n @return Number of confirmations.", + "id": 10161, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getConfirmationCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10132, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10131, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 10161, + "src": "10089:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10130, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10089:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10088:20:37" + }, + "payable": false, + "returnParameters": { + "id": 10135, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10134, + "name": "count", + "nodeType": "VariableDeclaration", + "scope": 10161, + "src": "10158:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10133, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10158:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10157:12:37" + }, + "scope": 10398, + "src": "10059:252:37", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10200, + "nodeType": "Block", + "src": "10696:196:37", + "statements": [ + { + "body": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 10193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 10186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10180, + "name": "pending", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10163, + "src": "10765:7:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 10185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "10776:25:37", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10181, + "name": "transactions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9444, + "src": "10777:12:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$9470_storage_$", + "typeString": "mapping(uint256 => struct MultiSigWallet.Transaction storage ref)" + } + }, + "id": 10183, + "indexExpression": { + "argumentTypes": null, + "id": 10182, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10171, + "src": "10790:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10777:15:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage", + "typeString": "struct MultiSigWallet.Transaction storage ref" + } + }, + "id": 10184, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "executed", + "nodeType": "MemberAccess", + "referencedDeclaration": 9469, + "src": "10777:24:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10765:36:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 10192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10187, + "name": "executed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10165, + "src": "10821:8:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10188, + "name": "transactions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9444, + "src": "10833:12:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$9470_storage_$", + "typeString": "mapping(uint256 => struct MultiSigWallet.Transaction storage ref)" + } + }, + "id": 10190, + "indexExpression": { + "argumentTypes": null, + "id": 10189, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10171, + "src": "10846:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10833:15:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage", + "typeString": "struct MultiSigWallet.Transaction storage ref" + } + }, + "id": 10191, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "executed", + "nodeType": "MemberAccess", + "referencedDeclaration": 9469, + "src": "10833:24:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10821:36:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10765:92:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 10198, + "nodeType": "IfStatement", + "src": "10758:127:37", + "trueBody": { + "expression": { + "argumentTypes": null, + "id": 10196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10194, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10168, + "src": "10875:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10195, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10884:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "10875:10:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10197, + "nodeType": "ExpressionStatement", + "src": "10875:10:37" + } + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10174, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10171, + "src": "10721:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 10175, + "name": "transactionCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9461, + "src": "10723:16:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10721:18:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10199, + "initializationExpression": { + "assignments": [ + 10171 + ], + "declarations": [ + { + "constant": false, + "id": 10171, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 10201, + "src": "10711:6:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10170, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10711:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10173, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 10172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10718:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "10711:8:37" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 10178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "10741:3:37", + "subExpression": { + "argumentTypes": null, + "id": 10177, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10171, + "src": "10741:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10179, + "nodeType": "ExpressionStatement", + "src": "10741:3:37" + }, + "nodeType": "ForStatement", + "src": "10706:179:37" + } + ] + }, + "documentation": "@dev Returns total number of transactions after filers are applied.\n @param pending Include pending transactions.\n @param executed Include executed transactions.\n @return Total number of transactions after filters are applied.", + "id": 10201, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getTransactionCount", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10166, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10163, + "name": "pending", + "nodeType": "VariableDeclaration", + "scope": 10201, + "src": "10602:12:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10162, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10602:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10165, + "name": "executed", + "nodeType": "VariableDeclaration", + "scope": 10201, + "src": "10616:13:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10164, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10616:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10601:29:37" + }, + "payable": false, + "returnParameters": { + "id": 10169, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10168, + "name": "count", + "nodeType": "VariableDeclaration", + "scope": 10201, + "src": "10680:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10167, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10680:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10679:12:37" + }, + "scope": 10398, + "src": "10573:319:37", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10209, + "nodeType": "Block", + "src": "11061:30:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10207, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "11078:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "functionReturnParameters": 10206, + "id": 10208, + "nodeType": "Return", + "src": "11071:13:37" + } + ] + }, + "documentation": "@dev Returns list of owners.\n @return List of owner addresses.", + "id": 10210, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getOwners", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10202, + "nodeType": "ParameterList", + "parameters": [], + "src": "10994:2:37" + }, + "payable": false, + "returnParameters": { + "id": 10206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10205, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 10210, + "src": "11046:9:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 10203, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11046:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10204, + "length": null, + "nodeType": "ArrayTypeName", + "src": "11046:9:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11045:11:37" + }, + "scope": 10398, + "src": "10976:115:37", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10296, + "nodeType": "Block", + "src": "11395:450:37", + "statements": [ + { + "assignments": [ + 10221 + ], + "declarations": [ + { + "constant": false, + "id": 10221, + "name": "confirmationsTemp", + "nodeType": "VariableDeclaration", + "scope": 10297, + "src": "11405:34:37", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 10219, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11405:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10220, + "length": null, + "nodeType": "ArrayTypeName", + "src": "11405:9:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10228, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10225, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "11456:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 10226, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11456:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 10224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "11442:13:37", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", + "typeString": "function (uint256) pure returns (address[] memory)" + }, + "typeName": { + "baseType": { + "id": 10222, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11446:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10223, + "length": null, + "nodeType": "ArrayTypeName", + "src": "11446:9:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + } + }, + "id": 10227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11442:28:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11405:65:37" + }, + { + "assignments": [ + 10230 + ], + "declarations": [ + { + "constant": false, + "id": 10230, + "name": "count", + "nodeType": "VariableDeclaration", + "scope": 10297, + "src": "11480:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10229, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11480:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10232, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 10231, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11493:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "11480:14:37" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 10234, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 10297, + "src": "11504:6:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10233, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11504:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10235, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "11504:6:37" + }, + { + "body": { + "condition": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10247, + "name": "confirmations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9450, + "src": "11568:13:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(uint256 => mapping(address => bool))" + } + }, + "id": 10249, + "indexExpression": { + "argumentTypes": null, + "id": 10248, + "name": "transactionId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10212, + "src": "11582:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11568:28:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 10253, + "indexExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10250, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "11597:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 10252, + "indexExpression": { + "argumentTypes": null, + "id": 10251, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10234, + "src": "11604:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11597:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11568:39:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 10267, + "nodeType": "IfStatement", + "src": "11564:142:37", + "trueBody": { + "id": 10266, + "nodeType": "Block", + "src": "11609:97:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10254, + "name": "confirmationsTemp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10221, + "src": "11627:17:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 10256, + "indexExpression": { + "argumentTypes": null, + "id": 10255, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10230, + "src": "11645:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11627:24:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10257, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "11654:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 10259, + "indexExpression": { + "argumentTypes": null, + "id": 10258, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10234, + "src": "11661:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11654:9:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11627:36:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10261, + "nodeType": "ExpressionStatement", + "src": "11627:36:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 10264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10262, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10230, + "src": "11681:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10263, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11690:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "11681:10:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10265, + "nodeType": "ExpressionStatement", + "src": "11681:10:37" + } + ] + } + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10240, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10234, + "src": "11530:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 10241, + "name": "owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9457, + "src": "11532:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 10242, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "11532:13:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11530:15:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10268, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 10238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10236, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10234, + "src": "11525:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 10237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11527:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11525:3:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10239, + "nodeType": "ExpressionStatement", + "src": "11525:3:37" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 10245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "11547:3:37", + "subExpression": { + "argumentTypes": null, + "id": 10244, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10234, + "src": "11547:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10246, + "nodeType": "ExpressionStatement", + "src": "11547:3:37" + }, + "nodeType": "ForStatement", + "src": "11520:186:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 10275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10269, + "name": "_confirmations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10216, + "src": "11715:14:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 10273, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10230, + "src": "11746:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 10272, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "11732:13:37", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", + "typeString": "function (uint256) pure returns (address[] memory)" + }, + "typeName": { + "baseType": { + "id": 10270, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11736:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10271, + "length": null, + "nodeType": "ArrayTypeName", + "src": "11736:9:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + } + }, + "id": 10274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11732:20:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory", + "typeString": "address[] memory" + } + }, + "src": "11715:37:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 10276, + "nodeType": "ExpressionStatement", + "src": "11715:37:37" + }, + { + "body": { + "expression": { + "argumentTypes": null, + "id": 10293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10287, + "name": "_confirmations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10216, + "src": "11798:14:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 10289, + "indexExpression": { + "argumentTypes": null, + "id": 10288, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10234, + "src": "11813:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11798:17:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10290, + "name": "confirmationsTemp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10221, + "src": "11818:17:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 10292, + "indexExpression": { + "argumentTypes": null, + "id": 10291, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10234, + "src": "11836:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11818:20:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11798:40:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10294, + "nodeType": "ExpressionStatement", + "src": "11798:40:37" + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10281, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10234, + "src": "11772:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 10282, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10230, + "src": "11774:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11772:7:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10295, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 10279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10277, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10234, + "src": "11767:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 10278, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11769:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11767:3:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10280, + "nodeType": "ExpressionStatement", + "src": "11767:3:37" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 10285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "11781:3:37", + "subExpression": { + "argumentTypes": null, + "id": 10284, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10234, + "src": "11781:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10286, + "nodeType": "ExpressionStatement", + "src": "11781:3:37" + }, + "nodeType": "ForStatement", + "src": "11762:76:37" + } + ] + }, + "documentation": "@dev Returns array with owner addresses, which confirmed transaction.\n @param transactionId Transaction ID.\n @return Returns array of owner addresses.", + "id": 10297, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getConfirmations", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10213, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10212, + "name": "transactionId", + "nodeType": "VariableDeclaration", + "scope": 10297, + "src": "11296:18:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10211, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11296:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11295:20:37" + }, + "payable": false, + "returnParameters": { + "id": 10217, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10216, + "name": "_confirmations", + "nodeType": "VariableDeclaration", + "scope": 10297, + "src": "11365:24:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 10214, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11365:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 10215, + "length": null, + "nodeType": "ArrayTypeName", + "src": "11365:9:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11364:26:37" + }, + "scope": 10398, + "src": "11270:575:37", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 10396, + "nodeType": "Block", + "src": "12347:523:37", + "statements": [ + { + "assignments": [ + 10314 + ], + "declarations": [ + { + "constant": false, + "id": 10314, + "name": "transactionIdsTemp", + "nodeType": "VariableDeclaration", + "scope": 10397, + "src": "12357:32:37", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 10312, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12357:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10313, + "length": null, + "nodeType": "ArrayTypeName", + "src": "12357:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10320, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 10318, + "name": "transactionCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9461, + "src": "12403:16:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 10317, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "12392:10:37", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 10315, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12396:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10316, + "length": null, + "nodeType": "ArrayTypeName", + "src": "12396:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 10319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12392:28:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12357:63:37" + }, + { + "assignments": [ + 10322 + ], + "declarations": [ + { + "constant": false, + "id": 10322, + "name": "count", + "nodeType": "VariableDeclaration", + "scope": 10397, + "src": "12430:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10321, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12430:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10324, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 10323, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12443:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "12430:14:37" + }, + { + "assignments": [], + "declarations": [ + { + "constant": false, + "id": 10326, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 10397, + "src": "12454:6:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10325, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12454:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 10327, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "12454:6:37" + }, + { + "body": { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 10351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 10344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10338, + "name": "pending", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10303, + "src": "12524:7:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "id": 10343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "12535:25:37", + "subExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10339, + "name": "transactions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9444, + "src": "12536:12:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$9470_storage_$", + "typeString": "mapping(uint256 => struct MultiSigWallet.Transaction storage ref)" + } + }, + "id": 10341, + "indexExpression": { + "argumentTypes": null, + "id": 10340, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10326, + "src": "12549:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12536:15:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage", + "typeString": "struct MultiSigWallet.Transaction storage ref" + } + }, + "id": 10342, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "executed", + "nodeType": "MemberAccess", + "referencedDeclaration": 9469, + "src": "12536:24:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12524:36:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 10350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10345, + "name": "executed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10305, + "src": "12580:8:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10346, + "name": "transactions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9444, + "src": "12592:12:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Transaction_$9470_storage_$", + "typeString": "mapping(uint256 => struct MultiSigWallet.Transaction storage ref)" + } + }, + "id": 10348, + "indexExpression": { + "argumentTypes": null, + "id": 10347, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10326, + "src": "12605:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12592:15:37", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Transaction_$9470_storage", + "typeString": "struct MultiSigWallet.Transaction storage ref" + } + }, + "id": 10349, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "executed", + "nodeType": "MemberAccess", + "referencedDeclaration": 9469, + "src": "12592:24:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12580:36:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12524:92:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 10363, + "nodeType": "IfStatement", + "src": "12517:203:37", + "trueBody": { + "id": 10362, + "nodeType": "Block", + "src": "12630:90:37", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 10356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10352, + "name": "transactionIdsTemp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10314, + "src": "12648:18:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 10354, + "indexExpression": { + "argumentTypes": null, + "id": 10353, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10322, + "src": "12667:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12648:25:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 10355, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10326, + "src": "12676:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12648:29:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10357, + "nodeType": "ExpressionStatement", + "src": "12648:29:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 10360, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10358, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10322, + "src": "12695:5:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "31", + "id": 10359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12704:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "12695:10:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10361, + "nodeType": "ExpressionStatement", + "src": "12695:10:37" + } + ] + } + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10332, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10326, + "src": "12480:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 10333, + "name": "transactionCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9461, + "src": "12482:16:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12480:18:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10364, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 10330, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10328, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10326, + "src": "12475:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 10329, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12477:1:37", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12475:3:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10331, + "nodeType": "ExpressionStatement", + "src": "12475:3:37" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 10336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "12500:3:37", + "subExpression": { + "argumentTypes": null, + "id": 10335, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10326, + "src": "12500:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10337, + "nodeType": "ExpressionStatement", + "src": "12500:3:37" + }, + "nodeType": "ForStatement", + "src": "12470:250:37" + }, + { + "expression": { + "argumentTypes": null, + "id": 10373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10365, + "name": "_transactionIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10309, + "src": "12729:15:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10369, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10301, + "src": "12758:2:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 10370, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10299, + "src": "12763:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12758:9:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 10368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "12747:10:37", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 10366, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12751:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10367, + "length": null, + "nodeType": "ArrayTypeName", + "src": "12751:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 10372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12747:21:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory", + "typeString": "uint256[] memory" + } + }, + "src": "12729:39:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 10374, + "nodeType": "ExpressionStatement", + "src": "12729:39:37" + }, + { + "body": { + "expression": { + "argumentTypes": null, + "id": 10393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10385, + "name": "_transactionIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10309, + "src": "12814:15:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 10389, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10386, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10326, + "src": "12830:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 10387, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10299, + "src": "12834:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12830:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12814:25:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 10390, + "name": "transactionIdsTemp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10314, + "src": "12842:18:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 10392, + "indexExpression": { + "argumentTypes": null, + "id": 10391, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10326, + "src": "12861:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12842:21:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12814:49:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10394, + "nodeType": "ExpressionStatement", + "src": "12814:49:37" + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 10381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 10379, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10326, + "src": "12791:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 10380, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10301, + "src": "12793:2:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12791:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 10395, + "initializationExpression": { + "expression": { + "argumentTypes": null, + "id": 10377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 10375, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10326, + "src": "12783:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 10376, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10299, + "src": "12785:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12783:6:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10378, + "nodeType": "ExpressionStatement", + "src": "12783:6:37" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 10383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "12797:3:37", + "subExpression": { + "argumentTypes": null, + "id": 10382, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10326, + "src": "12797:1:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10384, + "nodeType": "ExpressionStatement", + "src": "12797:3:37" + }, + "nodeType": "ForStatement", + "src": "12778:85:37" + } + ] + }, + "documentation": "@dev Returns list of transaction IDs in defined range.\n @param from Index start position of transaction array.\n @param to Index end position of transaction array.\n @param pending Include pending transactions.\n @param executed Include executed transactions.\n @return Returns array of transaction IDs.", + "id": 10397, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "getTransactionIds", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10306, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10299, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 10397, + "src": "12221:9:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10298, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12221:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10301, + "name": "to", + "nodeType": "VariableDeclaration", + "scope": 10397, + "src": "12232:7:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10300, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12232:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10303, + "name": "pending", + "nodeType": "VariableDeclaration", + "scope": 10397, + "src": "12241:12:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10302, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12241:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 10305, + "name": "executed", + "nodeType": "VariableDeclaration", + "scope": 10397, + "src": "12255:13:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10304, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12255:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12220:49:37" + }, + "payable": false, + "returnParameters": { + "id": 10310, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10309, + "name": "_transactionIds", + "nodeType": "VariableDeclaration", + "scope": 10397, + "src": "12319:22:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 10307, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12319:4:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 10308, + "length": null, + "nodeType": "ArrayTypeName", + "src": "12319:6:37", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12318:24:37" + }, + "scope": 10398, + "src": "12194:676:37", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 10399, + "src": "187:12685:37" + } + ], + "src": "0:12873:37" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.867Z" +} \ No newline at end of file diff --git a/build/contracts/NumberCarbonVoting.json b/build/contracts/NumberCarbonVoting.json new file mode 100644 index 0000000..2364a64 --- /dev/null +++ b/build/contracts/NumberCarbonVoting.json @@ -0,0 +1,285 @@ +{ + "contractName": "NumberCarbonVoting", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "_voter", + "type": "address" + } + ], + "name": "voted", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.4.25;\n\ncontract NumberCarbonVoting {\n function voted(address _voter) public view returns (bool);\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/interface/NumberCarbonVoting.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interface/NumberCarbonVoting.sol", + "exportedSymbols": { + "NumberCarbonVoting": [ + 7909 + ] + }, + "id": 7910, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 7901, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:21" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 7909, + "linearizedBaseContracts": [ + 7909 + ], + "name": "NumberCarbonVoting", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 7908, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "voted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7904, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7903, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 7908, + "src": "75:14:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7902, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "75:7:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "74:16:21" + }, + "payable": false, + "returnParameters": { + "id": 7907, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7906, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 7908, + "src": "112:4:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7905, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "112:4:21", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "111:6:21" + }, + "scope": 7909, + "src": "60:58:21", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 7910, + "src": "26:94:21" + } + ], + "src": "0:121:21" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/interface/NumberCarbonVoting.sol", + "exportedSymbols": { + "NumberCarbonVoting": [ + 7909 + ] + }, + "id": 7910, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 7901, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:21" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 7909, + "linearizedBaseContracts": [ + 7909 + ], + "name": "NumberCarbonVoting", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 7908, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "voted", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7904, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7903, + "name": "_voter", + "nodeType": "VariableDeclaration", + "scope": 7908, + "src": "75:14:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7902, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "75:7:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "74:16:21" + }, + "payable": false, + "returnParameters": { + "id": 7907, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7906, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 7908, + "src": "112:4:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7905, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "112:4:21", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "111:6:21" + }, + "scope": 7909, + "src": "60:58:21", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 7910, + "src": "26:94:21" + } + ], + "src": "0:121:21" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.857Z" +} \ No newline at end of file diff --git a/build/contracts/NumberCarbonVoting1.json b/build/contracts/NumberCarbonVoting1.json new file mode 100644 index 0000000..ee01019 --- /dev/null +++ b/build/contracts/NumberCarbonVoting1.json @@ -0,0 +1,414 @@ +{ + "contractName": "NumberCarbonVoting1", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "voted", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "mock_set_voted", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "name": "_name", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506040516020806102298339810180604052810190808051906020019092919050505080806000816000191690555050506101d9806100506000396000f300608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461005c578063aec2ccae1461008f578063cb86107b146100ea575b600080fd5b34801561006857600080fd5b5061007161012d565b60405180826000191660001916815260200191505060405180910390f35b34801561009b57600080fd5b506100d0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610133565b604051808215151515815260200191505060405180910390f35b3480156100f657600080fd5b5061012b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610153565b005b60005481565b60016020528060005260406000206000915054906101000a900460ff1681565b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505600a165627a7a72305820dc95444dac415f5f0e47219fd3acbe3a144ce17374a9cf726b0b6e959d8295ca0029", + "deployedBytecode": "0x608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461005c578063aec2ccae1461008f578063cb86107b146100ea575b600080fd5b34801561006857600080fd5b5061007161012d565b60405180826000191660001916815260200191505060405180910390f35b34801561009b57600080fd5b506100d0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610133565b604051808215151515815260200191505060405180910390f35b3480156100f657600080fd5b5061012b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610153565b005b60005481565b60016020528060005260406000206000915054906101000a900460ff1681565b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505600a165627a7a72305820dc95444dac415f5f0e47219fd3acbe3a144ce17374a9cf726b0b6e959d8295ca0029", + "sourceMap": "69:129:31:-;;;130:66;8:9:-1;5:2;;;30:1;27;20:12;5:2;130:66:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;187:5;185::29;178:4;:12;;;;;;;134:63;130:66:31;69:129;;;;;;", + "deployedSourceMap": "69:129:31:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;65:19:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;65:19:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;90:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;90:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;203:94;;8:9:-1;5:2;;;30:1;27;20:12;5:2;203:94:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;65:19;;;;:::o;90:37::-;;;;;;;;;;;;;;;;;;;;;;:::o;203:94::-;286:4;271:5;:12;277:5;271:12;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;;;;;;;203:94;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"./../MockNumberCarbonVoting.sol\";\n\ncontract NumberCarbonVoting1 is MockNumberCarbonVoting {\n constructor(bytes32 _name) public MockNumberCarbonVoting(_name) {}\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/mock/carbonvoting/NumberCarbonVoting1.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/carbonvoting/NumberCarbonVoting1.sol", + "exportedSymbols": { + "NumberCarbonVoting1": [ + 9274 + ] + }, + "id": 9275, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9261, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:31" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/MockNumberCarbonVoting.sol", + "file": "./../MockNumberCarbonVoting.sol", + "id": 9262, + "nodeType": "ImportDirective", + "scope": 9275, + "sourceUnit": 9077, + "src": "26:41:31", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 9263, + "name": "MockNumberCarbonVoting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 9076, + "src": "101:22:31", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockNumberCarbonVoting_$9076", + "typeString": "contract MockNumberCarbonVoting" + } + }, + "id": 9264, + "nodeType": "InheritanceSpecifier", + "src": "101:22:31" + } + ], + "contractDependencies": [ + 9076 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 9274, + "linearizedBaseContracts": [ + 9274, + 9076 + ], + "name": "NumberCarbonVoting1", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 9272, + "nodeType": "Block", + "src": "194:2:31", + "statements": [] + }, + "documentation": null, + "id": 9273, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 9269, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9266, + "src": "187:5:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 9270, + "modifierName": { + "argumentTypes": null, + "id": 9268, + "name": "MockNumberCarbonVoting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9076, + "src": "164:22:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MockNumberCarbonVoting_$9076_$", + "typeString": "type(contract MockNumberCarbonVoting)" + } + }, + "nodeType": "ModifierInvocation", + "src": "164:29:31" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9267, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9266, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 9273, + "src": "142:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9265, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "142:7:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "141:15:31" + }, + "payable": false, + "returnParameters": { + "id": 9271, + "nodeType": "ParameterList", + "parameters": [], + "src": "194:0:31" + }, + "scope": 9274, + "src": "130:66:31", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 9275, + "src": "69:129:31" + } + ], + "src": "0:199:31" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/carbonvoting/NumberCarbonVoting1.sol", + "exportedSymbols": { + "NumberCarbonVoting1": [ + 9274 + ] + }, + "id": 9275, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9261, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:31" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/MockNumberCarbonVoting.sol", + "file": "./../MockNumberCarbonVoting.sol", + "id": 9262, + "nodeType": "ImportDirective", + "scope": 9275, + "sourceUnit": 9077, + "src": "26:41:31", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 9263, + "name": "MockNumberCarbonVoting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 9076, + "src": "101:22:31", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockNumberCarbonVoting_$9076", + "typeString": "contract MockNumberCarbonVoting" + } + }, + "id": 9264, + "nodeType": "InheritanceSpecifier", + "src": "101:22:31" + } + ], + "contractDependencies": [ + 9076 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 9274, + "linearizedBaseContracts": [ + 9274, + 9076 + ], + "name": "NumberCarbonVoting1", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 9272, + "nodeType": "Block", + "src": "194:2:31", + "statements": [] + }, + "documentation": null, + "id": 9273, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 9269, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9266, + "src": "187:5:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 9270, + "modifierName": { + "argumentTypes": null, + "id": 9268, + "name": "MockNumberCarbonVoting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9076, + "src": "164:22:31", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MockNumberCarbonVoting_$9076_$", + "typeString": "type(contract MockNumberCarbonVoting)" + } + }, + "nodeType": "ModifierInvocation", + "src": "164:29:31" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9267, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9266, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 9273, + "src": "142:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9265, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "142:7:31", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "141:15:31" + }, + "payable": false, + "returnParameters": { + "id": 9271, + "nodeType": "ParameterList", + "parameters": [], + "src": "194:0:31" + }, + "scope": 9274, + "src": "130:66:31", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 9275, + "src": "69:129:31" + } + ], + "src": "0:199:31" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.867Z" +} \ No newline at end of file diff --git a/build/contracts/NumberCarbonVoting2.json b/build/contracts/NumberCarbonVoting2.json new file mode 100644 index 0000000..736bca6 --- /dev/null +++ b/build/contracts/NumberCarbonVoting2.json @@ -0,0 +1,414 @@ +{ + "contractName": "NumberCarbonVoting2", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "voted", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_user", + "type": "address" + } + ], + "name": "mock_set_voted", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "name": "_name", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506040516020806102298339810180604052810190808051906020019092919050505080806000816000191690555050506101d9806100506000396000f300608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461005c578063aec2ccae1461008f578063cb86107b146100ea575b600080fd5b34801561006857600080fd5b5061007161012d565b60405180826000191660001916815260200191505060405180910390f35b34801561009b57600080fd5b506100d0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610133565b604051808215151515815260200191505060405180910390f35b3480156100f657600080fd5b5061012b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610153565b005b60005481565b60016020528060005260406000206000915054906101000a900460ff1681565b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505600a165627a7a72305820bb68742a9b8dda0d1b681045709b05ed14682c9206903aada4c5ec8872c596cb0029", + "deployedBytecode": "0x608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461005c578063aec2ccae1461008f578063cb86107b146100ea575b600080fd5b34801561006857600080fd5b5061007161012d565b60405180826000191660001916815260200191505060405180910390f35b34801561009b57600080fd5b506100d0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610133565b604051808215151515815260200191505060405180910390f35b3480156100f657600080fd5b5061012b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610153565b005b60005481565b60016020528060005260406000206000915054906101000a900460ff1681565b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505600a165627a7a72305820bb68742a9b8dda0d1b681045709b05ed14682c9206903aada4c5ec8872c596cb0029", + "sourceMap": "69:129:32:-;;;130:66;8:9:-1;5:2;;;30:1;27;20:12;5:2;130:66:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;187:5;185::29;178:4;:12;;;;;;;134:63;130:66:32;69:129;;;;;;", + "deployedSourceMap": "69:129:32:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;65:19:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;65:19:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;90:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;90:37:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;203:94;;8:9:-1;5:2;;;30:1;27;20:12;5:2;203:94:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;65:19;;;;:::o;90:37::-;;;;;;;;;;;;;;;;;;;;;;:::o;203:94::-;286:4;271:5;:12;277:5;271:12;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;;;;;;;203:94;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"./../MockNumberCarbonVoting.sol\";\n\ncontract NumberCarbonVoting2 is MockNumberCarbonVoting {\n constructor(bytes32 _name) public MockNumberCarbonVoting(_name) {}\n}\n", + "sourcePath": "/home/vu/digix/dao-contracts/contracts/mock/carbonvoting/NumberCarbonVoting2.sol", + "ast": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/carbonvoting/NumberCarbonVoting2.sol", + "exportedSymbols": { + "NumberCarbonVoting2": [ + 9289 + ] + }, + "id": 9290, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9276, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:32" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/MockNumberCarbonVoting.sol", + "file": "./../MockNumberCarbonVoting.sol", + "id": 9277, + "nodeType": "ImportDirective", + "scope": 9290, + "sourceUnit": 9077, + "src": "26:41:32", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 9278, + "name": "MockNumberCarbonVoting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 9076, + "src": "101:22:32", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockNumberCarbonVoting_$9076", + "typeString": "contract MockNumberCarbonVoting" + } + }, + "id": 9279, + "nodeType": "InheritanceSpecifier", + "src": "101:22:32" + } + ], + "contractDependencies": [ + 9076 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 9289, + "linearizedBaseContracts": [ + 9289, + 9076 + ], + "name": "NumberCarbonVoting2", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 9287, + "nodeType": "Block", + "src": "194:2:32", + "statements": [] + }, + "documentation": null, + "id": 9288, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 9284, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9281, + "src": "187:5:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 9285, + "modifierName": { + "argumentTypes": null, + "id": 9283, + "name": "MockNumberCarbonVoting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9076, + "src": "164:22:32", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MockNumberCarbonVoting_$9076_$", + "typeString": "type(contract MockNumberCarbonVoting)" + } + }, + "nodeType": "ModifierInvocation", + "src": "164:29:32" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9282, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9281, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 9288, + "src": "142:13:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9280, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "142:7:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "141:15:32" + }, + "payable": false, + "returnParameters": { + "id": 9286, + "nodeType": "ParameterList", + "parameters": [], + "src": "194:0:32" + }, + "scope": 9289, + "src": "130:66:32", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 9290, + "src": "69:129:32" + } + ], + "src": "0:199:32" + }, + "legacyAST": { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/carbonvoting/NumberCarbonVoting2.sol", + "exportedSymbols": { + "NumberCarbonVoting2": [ + 9289 + ] + }, + "id": 9290, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 9276, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:32" + }, + { + "absolutePath": "/home/vu/digix/dao-contracts/contracts/mock/MockNumberCarbonVoting.sol", + "file": "./../MockNumberCarbonVoting.sol", + "id": 9277, + "nodeType": "ImportDirective", + "scope": 9290, + "sourceUnit": 9077, + "src": "26:41:32", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 9278, + "name": "MockNumberCarbonVoting", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 9076, + "src": "101:22:32", + "typeDescriptions": { + "typeIdentifier": "t_contract$_MockNumberCarbonVoting_$9076", + "typeString": "contract MockNumberCarbonVoting" + } + }, + "id": 9279, + "nodeType": "InheritanceSpecifier", + "src": "101:22:32" + } + ], + "contractDependencies": [ + 9076 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 9289, + "linearizedBaseContracts": [ + 9289, + 9076 + ], + "name": "NumberCarbonVoting2", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 9287, + "nodeType": "Block", + "src": "194:2:32", + "statements": [] + }, + "documentation": null, + "id": 9288, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "id": 9284, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9281, + "src": "187:5:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 9285, + "modifierName": { + "argumentTypes": null, + "id": 9283, + "name": "MockNumberCarbonVoting", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9076, + "src": "164:22:32", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_MockNumberCarbonVoting_$9076_$", + "typeString": "type(contract MockNumberCarbonVoting)" + } + }, + "nodeType": "ModifierInvocation", + "src": "164:29:32" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9282, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9281, + "name": "_name", + "nodeType": "VariableDeclaration", + "scope": 9288, + "src": "142:13:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 9280, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "142:7:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "141:15:32" + }, + "payable": false, + "returnParameters": { + "id": 9286, + "nodeType": "ParameterList", + "parameters": [], + "src": "194:0:32" + }, + "scope": 9289, + "src": "130:66:32", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 9290, + "src": "69:129:32" + } + ], + "src": "0:199:32" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.867Z" +} \ No newline at end of file diff --git a/build/contracts/Ownable.json b/build/contracts/Ownable.json new file mode 100644 index 0000000..bfd850f --- /dev/null +++ b/build/contracts/Ownable.json @@ -0,0 +1,2192 @@ +{ + "contractName": "Ownable", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + } + ], + "name": "OwnershipRenounced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "constant": false, + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103c1806100606000396000f300608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063715018a61461005c5780638da5cb5b14610073578063f2fde38b146100ca575b600080fd5b34801561006857600080fd5b5061007161010d565b005b34801561007f57600080fd5b5061008861020f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100d657600080fd5b5061010b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610234565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561016857600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561028f57600080fd5b6102988161029b565b50565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156102d757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058208b557804301191112d12d73d3d1249974e4b7ee4c3313f607023354b72801cf10029", + "deployedBytecode": "0x608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063715018a61461005c5780638da5cb5b14610073578063f2fde38b146100ca575b600080fd5b34801561006857600080fd5b5061007161010d565b005b34801561007f57600080fd5b5061008861020f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100d657600080fd5b5061010b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610234565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561016857600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561028f57600080fd5b6102988161029b565b50565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156102d757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058208b557804301191112d12d73d3d1249974e4b7ee4c3313f607023354b72801cf10029", + "sourceMap": "217:1468:86:-;;;540:50;8:9:-1;5:2;;;30:1;27;20:12;5:2;540:50:86;575:10;567:5;;:18;;;;;;;;;;;;;;;;;;217:1468;;;;;;", + "deployedSourceMap": "217:1468:86:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1001:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1001:111:86;;;;;;238:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:86;;;;;;;;;;;;;;;;;;;;;;;;;;;1274:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1274:103:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;1001:111;719:5;;;;;;;;;;;705:19;;:10;:19;;;697:28;;;;;;;;1077:5;;;;;;;;;;;1058:25;;;;;;;;;;;;1105:1;1089:5;;:18;;;;;;;;;;;;;;;;;;1001:111::o;238:20::-;;;;;;;;;;;;;:::o;1274:103::-;719:5;;;;;;;;;;;705:19;;:10;:19;;;697:28;;;;;;;;1343:29;1362:9;1343:18;:29::i;:::-;1274:103;:::o;1512:171::-;1603:1;1582:23;;:9;:23;;;;1574:32;;;;;;;;1645:9;1617:38;;1638:5;;;;;;;;;;;1617:38;;;;;;;;;;;;1669:9;1661:5;;:17;;;;;;;;;;;;;;;;;;1512:171;:::o", + "source": "pragma solidity ^0.4.24;\n\n\n/**\n * @title Ownable\n * @dev The Ownable contract has an owner address, and provides basic authorization control\n * functions, this simplifies the implementation of \"user permissions\".\n */\ncontract Ownable {\n address public owner;\n\n\n event OwnershipRenounced(address indexed previousOwner);\n event OwnershipTransferred(\n address indexed previousOwner,\n address indexed newOwner\n );\n\n\n /**\n * @dev The Ownable constructor sets the original `owner` of the contract to the sender\n * account.\n */\n constructor() public {\n owner = msg.sender;\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n require(msg.sender == owner);\n _;\n }\n\n /**\n * @dev Allows the current owner to relinquish control of the contract.\n * @notice Renouncing to ownership will leave the contract without an owner.\n * It will not be possible to call the functions with the `onlyOwner`\n * modifier anymore.\n */\n function renounceOwnership() public onlyOwner {\n emit OwnershipRenounced(owner);\n owner = address(0);\n }\n\n /**\n * @dev Allows the current owner to transfer control of the contract to a newOwner.\n * @param _newOwner The address to transfer ownership to.\n */\n function transferOwnership(address _newOwner) public onlyOwner {\n _transferOwnership(_newOwner);\n }\n\n /**\n * @dev Transfers control of the contract to a newOwner.\n * @param _newOwner The address to transfer ownership to.\n */\n function _transferOwnership(address _newOwner) internal {\n require(_newOwner != address(0));\n emit OwnershipTransferred(owner, _newOwner);\n owner = _newOwner;\n }\n}\n", + "sourcePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "ast": { + "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "exportedSymbols": { + "Ownable": [ + 26179 + ] + }, + "id": 26180, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 26095, + "literals": [ + "solidity", + "^", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:24:86" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Ownable\n@dev The Ownable contract has an owner address, and provides basic authorization control\nfunctions, this simplifies the implementation of \"user permissions\".", + "fullyImplemented": true, + "id": 26179, + "linearizedBaseContracts": [ + 26179 + ], + "name": "Ownable", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 26097, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 26179, + "src": "238:20:86", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26096, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "238:7:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 26101, + "name": "OwnershipRenounced", + "nodeType": "EventDefinition", + "parameters": { + "id": 26100, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26099, + "indexed": true, + "name": "previousOwner", + "nodeType": "VariableDeclaration", + "scope": 26101, + "src": "289:29:86", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26098, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "289:7:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "288:31:86" + }, + "src": "264:56:86" + }, + { + "anonymous": false, + "documentation": null, + "id": 26107, + "name": "OwnershipTransferred", + "nodeType": "EventDefinition", + "parameters": { + "id": 26106, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26103, + "indexed": true, + "name": "previousOwner", + "nodeType": "VariableDeclaration", + "scope": 26107, + "src": "355:29:86", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26102, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "355:7:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26105, + "indexed": true, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 26107, + "src": "390:24:86", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26104, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "390:7:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "349:69:86" + }, + "src": "323:96:86" + }, + { + "body": { + "id": 26115, + "nodeType": "Block", + "src": "561:29:86", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 26113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 26110, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26097, + "src": "567:5:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26111, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "575:3:86", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "575:10:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "567:18:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 26114, + "nodeType": "ExpressionStatement", + "src": "567:18:86" + } + ] + }, + "documentation": "@dev The Ownable constructor sets the original `owner` of the contract to the sender\naccount.", + "id": 26116, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26108, + "nodeType": "ParameterList", + "parameters": [], + "src": "551:2:86" + }, + "payable": false, + "returnParameters": { + "id": 26109, + "nodeType": "ParameterList", + "parameters": [], + "src": "561:0:86" + }, + "scope": 26179, + "src": "540:50:86", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 26126, + "nodeType": "Block", + "src": "691:46:86", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 26122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26119, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "705:3:86", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "705:10:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 26121, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26097, + "src": "719:5:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "705:19:86", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 26118, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "697:7:86", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 26123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "697:28:86", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26124, + "nodeType": "ExpressionStatement", + "src": "697:28:86" + }, + { + "id": 26125, + "nodeType": "PlaceholderStatement", + "src": "731:1:86" + } + ] + }, + "documentation": "@dev Throws if called by any account other than the owner.", + "id": 26127, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 26117, + "nodeType": "ParameterList", + "parameters": [], + "src": "688:2:86" + }, + "src": "670:67:86", + "visibility": "internal" + }, + { + "body": { + "id": 26142, + "nodeType": "Block", + "src": "1047:65:86", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26133, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26097, + "src": "1077:5:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 26132, + "name": "OwnershipRenounced", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26101, + "src": "1058:18:86", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 26134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1058:25:86", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26135, + "nodeType": "EmitStatement", + "src": "1053:30:86" + }, + { + "expression": { + "argumentTypes": null, + "id": 26140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 26136, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26097, + "src": "1089:5:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 26138, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1105:1:86", + "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": 26137, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1097:7:86", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 26139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1097:10:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1089:18:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 26141, + "nodeType": "ExpressionStatement", + "src": "1089:18:86" + } + ] + }, + "documentation": "@dev Allows the current owner to relinquish control of the contract.\n@notice Renouncing to ownership will leave the contract without an owner.\nIt will not be possible to call the functions with the `onlyOwner`\nmodifier anymore.", + "id": 26143, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 26130, + "modifierName": { + "argumentTypes": null, + "id": 26129, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26127, + "src": "1037:9:86", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1037:9:86" + } + ], + "name": "renounceOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26128, + "nodeType": "ParameterList", + "parameters": [], + "src": "1027:2:86" + }, + "payable": false, + "returnParameters": { + "id": 26131, + "nodeType": "ParameterList", + "parameters": [], + "src": "1047:0:86" + }, + "scope": 26179, + "src": "1001:111:86", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 26154, + "nodeType": "Block", + "src": "1337:40:86", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26151, + "name": "_newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26145, + "src": "1362:9:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 26150, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26178, + "src": "1343:18:86", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 26152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1343:29:86", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26153, + "nodeType": "ExpressionStatement", + "src": "1343:29:86" + } + ] + }, + "documentation": "@dev Allows the current owner to transfer control of the contract to a newOwner.\n@param _newOwner The address to transfer ownership to.", + "id": 26155, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 26148, + "modifierName": { + "argumentTypes": null, + "id": 26147, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26127, + "src": "1327:9:86", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1327:9:86" + } + ], + "name": "transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26146, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26145, + "name": "_newOwner", + "nodeType": "VariableDeclaration", + "scope": 26155, + "src": "1301:17:86", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26144, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1301:7:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1300:19:86" + }, + "payable": false, + "returnParameters": { + "id": 26149, + "nodeType": "ParameterList", + "parameters": [], + "src": "1337:0:86" + }, + "scope": 26179, + "src": "1274:103:86", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 26177, + "nodeType": "Block", + "src": "1568:115:86", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 26165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 26161, + "name": "_newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26157, + "src": "1582:9:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 26163, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1603:1:86", + "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": 26162, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1595:7:86", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 26164, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1595:10:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1582:23:86", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 26160, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1574:7:86", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 26166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1574:32:86", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26167, + "nodeType": "ExpressionStatement", + "src": "1574:32:86" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26169, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26097, + "src": "1638:5:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 26170, + "name": "_newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26157, + "src": "1645:9:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 26168, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26107, + "src": "1617:20:86", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 26171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1617:38:86", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26172, + "nodeType": "EmitStatement", + "src": "1612:43:86" + }, + { + "expression": { + "argumentTypes": null, + "id": 26175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 26173, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26097, + "src": "1661:5:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 26174, + "name": "_newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26157, + "src": "1669:9:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1661:17:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 26176, + "nodeType": "ExpressionStatement", + "src": "1661:17:86" + } + ] + }, + "documentation": "@dev Transfers control of the contract to a newOwner.\n@param _newOwner The address to transfer ownership to.", + "id": 26178, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "_transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26158, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26157, + "name": "_newOwner", + "nodeType": "VariableDeclaration", + "scope": 26178, + "src": "1540:17:86", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26156, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1540:7:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1539:19:86" + }, + "payable": false, + "returnParameters": { + "id": 26159, + "nodeType": "ParameterList", + "parameters": [], + "src": "1568:0:86" + }, + "scope": 26179, + "src": "1512:171:86", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 26180, + "src": "217:1468:86" + } + ], + "src": "0:1686:86" + }, + "legacyAST": { + "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol", + "exportedSymbols": { + "Ownable": [ + 26179 + ] + }, + "id": 26180, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 26095, + "literals": [ + "solidity", + "^", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:24:86" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Ownable\n@dev The Ownable contract has an owner address, and provides basic authorization control\nfunctions, this simplifies the implementation of \"user permissions\".", + "fullyImplemented": true, + "id": 26179, + "linearizedBaseContracts": [ + 26179 + ], + "name": "Ownable", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 26097, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 26179, + "src": "238:20:86", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26096, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "238:7:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 26101, + "name": "OwnershipRenounced", + "nodeType": "EventDefinition", + "parameters": { + "id": 26100, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26099, + "indexed": true, + "name": "previousOwner", + "nodeType": "VariableDeclaration", + "scope": 26101, + "src": "289:29:86", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26098, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "289:7:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "288:31:86" + }, + "src": "264:56:86" + }, + { + "anonymous": false, + "documentation": null, + "id": 26107, + "name": "OwnershipTransferred", + "nodeType": "EventDefinition", + "parameters": { + "id": 26106, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26103, + "indexed": true, + "name": "previousOwner", + "nodeType": "VariableDeclaration", + "scope": 26107, + "src": "355:29:86", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26102, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "355:7:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26105, + "indexed": true, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 26107, + "src": "390:24:86", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26104, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "390:7:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "349:69:86" + }, + "src": "323:96:86" + }, + { + "body": { + "id": 26115, + "nodeType": "Block", + "src": "561:29:86", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 26113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 26110, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26097, + "src": "567:5:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26111, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "575:3:86", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "575:10:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "567:18:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 26114, + "nodeType": "ExpressionStatement", + "src": "567:18:86" + } + ] + }, + "documentation": "@dev The Ownable constructor sets the original `owner` of the contract to the sender\naccount.", + "id": 26116, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26108, + "nodeType": "ParameterList", + "parameters": [], + "src": "551:2:86" + }, + "payable": false, + "returnParameters": { + "id": 26109, + "nodeType": "ParameterList", + "parameters": [], + "src": "561:0:86" + }, + "scope": 26179, + "src": "540:50:86", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 26126, + "nodeType": "Block", + "src": "691:46:86", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 26122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26119, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "705:3:86", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "705:10:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 26121, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26097, + "src": "719:5:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "705:19:86", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 26118, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "697:7:86", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 26123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "697:28:86", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26124, + "nodeType": "ExpressionStatement", + "src": "697:28:86" + }, + { + "id": 26125, + "nodeType": "PlaceholderStatement", + "src": "731:1:86" + } + ] + }, + "documentation": "@dev Throws if called by any account other than the owner.", + "id": 26127, + "name": "onlyOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 26117, + "nodeType": "ParameterList", + "parameters": [], + "src": "688:2:86" + }, + "src": "670:67:86", + "visibility": "internal" + }, + { + "body": { + "id": 26142, + "nodeType": "Block", + "src": "1047:65:86", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26133, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26097, + "src": "1077:5:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 26132, + "name": "OwnershipRenounced", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26101, + "src": "1058:18:86", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 26134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1058:25:86", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26135, + "nodeType": "EmitStatement", + "src": "1053:30:86" + }, + { + "expression": { + "argumentTypes": null, + "id": 26140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 26136, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26097, + "src": "1089:5:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 26138, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1105:1:86", + "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": 26137, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1097:7:86", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 26139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1097:10:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1089:18:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 26141, + "nodeType": "ExpressionStatement", + "src": "1089:18:86" + } + ] + }, + "documentation": "@dev Allows the current owner to relinquish control of the contract.\n@notice Renouncing to ownership will leave the contract without an owner.\nIt will not be possible to call the functions with the `onlyOwner`\nmodifier anymore.", + "id": 26143, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 26130, + "modifierName": { + "argumentTypes": null, + "id": 26129, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26127, + "src": "1037:9:86", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1037:9:86" + } + ], + "name": "renounceOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26128, + "nodeType": "ParameterList", + "parameters": [], + "src": "1027:2:86" + }, + "payable": false, + "returnParameters": { + "id": 26131, + "nodeType": "ParameterList", + "parameters": [], + "src": "1047:0:86" + }, + "scope": 26179, + "src": "1001:111:86", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 26154, + "nodeType": "Block", + "src": "1337:40:86", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26151, + "name": "_newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26145, + "src": "1362:9:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 26150, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26178, + "src": "1343:18:86", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 26152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1343:29:86", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26153, + "nodeType": "ExpressionStatement", + "src": "1343:29:86" + } + ] + }, + "documentation": "@dev Allows the current owner to transfer control of the contract to a newOwner.\n@param _newOwner The address to transfer ownership to.", + "id": 26155, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 26148, + "modifierName": { + "argumentTypes": null, + "id": 26147, + "name": "onlyOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26127, + "src": "1327:9:86", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1327:9:86" + } + ], + "name": "transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26146, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26145, + "name": "_newOwner", + "nodeType": "VariableDeclaration", + "scope": 26155, + "src": "1301:17:86", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26144, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1301:7:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1300:19:86" + }, + "payable": false, + "returnParameters": { + "id": 26149, + "nodeType": "ParameterList", + "parameters": [], + "src": "1337:0:86" + }, + "scope": 26179, + "src": "1274:103:86", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 26177, + "nodeType": "Block", + "src": "1568:115:86", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 26165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 26161, + "name": "_newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26157, + "src": "1582:9:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 26163, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1603:1:86", + "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": 26162, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1595:7:86", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 26164, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1595:10:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1582:23:86", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 26160, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1574:7:86", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 26166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1574:32:86", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26167, + "nodeType": "ExpressionStatement", + "src": "1574:32:86" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26169, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26097, + "src": "1638:5:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 26170, + "name": "_newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26157, + "src": "1645:9:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 26168, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26107, + "src": "1617:20:86", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 26171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1617:38:86", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26172, + "nodeType": "EmitStatement", + "src": "1612:43:86" + }, + { + "expression": { + "argumentTypes": null, + "id": 26175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 26173, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26097, + "src": "1661:5:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 26174, + "name": "_newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26157, + "src": "1669:9:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1661:17:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 26176, + "nodeType": "ExpressionStatement", + "src": "1661:17:86" + } + ] + }, + "documentation": "@dev Transfers control of the contract to a newOwner.\n@param _newOwner The address to transfer ownership to.", + "id": 26178, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "_transferOwnership", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26158, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26157, + "name": "_newOwner", + "nodeType": "VariableDeclaration", + "scope": 26178, + "src": "1540:17:86", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26156, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1540:7:86", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1539:19:86" + }, + "payable": false, + "returnParameters": { + "id": 26159, + "nodeType": "ParameterList", + "parameters": [], + "src": "1568:0:86" + }, + "scope": 26179, + "src": "1512:171:86", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 26180, + "src": "217:1468:86" + } + ], + "src": "0:1686:86" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.945Z" +} \ No newline at end of file diff --git a/build/contracts/ResolverClient.json b/build/contracts/ResolverClient.json new file mode 100644 index 0000000..ffa9ebd --- /dev/null +++ b/build/contracts/ResolverClient.json @@ -0,0 +1,5493 @@ +{ + "contractName": "ResolverClient", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "resolver", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "key", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CONTRACT_ADDRESS", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_key", + "type": "bytes32" + } + ], + "name": "get_contract", + "outputs": [ + { + "name": "_contract", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610312806100206000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100675780633943380c146100be5780633f83acff146100f1578063db4ecbc114610162575b600080fd5b34801561007357600080fd5b5061007c6101b9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100ca57600080fd5b506100d36101de565b60405180826000191660001916815260200191505060405180910390f35b3480156100fd57600080fd5b5061012060048036038101908080356000191690602001909291905050506101e4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016e57600080fd5b506101776102c0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561027e57600080fd5b505af1158015610292573d6000803e3d6000fd5b505050506040513d60208110156102a857600080fd5b81019080805190602001909291905050509050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815600a165627a7a72305820527367c8c8b3952a08c93c28724cf0f5d2942f3a5167d4f9f782ddc33bf9866b0029", + "deployedBytecode": "0x608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304f3bcec146100675780633943380c146100be5780633f83acff146100f1578063db4ecbc114610162575b600080fd5b34801561007357600080fd5b5061007c6101b9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100ca57600080fd5b506100d36101de565b60405180826000191660001916815260200191505060405180910390f35b3480156100fd57600080fd5b5061012060048036038101908080356000191690602001909291905050506101e4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016e57600080fd5b506101776102c0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f83acff836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561027e57600080fd5b505af1158015610292573d6000803e3d6000fd5b505050506040513d60208110156102a857600080fd5b81019080805190602001909291905050509050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16815600a165627a7a72305820527367c8c8b3952a08c93c28724cf0f5d2942f3a5167d4f9f782ddc33bf9866b0029", + "sourceMap": "148:2413:67:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;148:2413:67;;;;;;;", + "deployedSourceMap": "148:2413:67:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;237:23:67;;;;;;;;;;;;;;;;;;;;;;;;;;;264:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:18:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2380:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2380:179:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;344:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;344:31:67;;;;;;;;;;;;;;;;;;;;;;;;;;;237:23;;;;;;;;;;;;;:::o;264:18::-;;;;:::o;2380:179::-;2470:17;2526:8;;;;;;;;;;;2509:39;;;2549:4;2509:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2509:45:67;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2509:45:67;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2509:45:67;;;;;;;;;;;;;;;;2497:57;;2380:179;;;:::o;344:31::-;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.25;\n\nimport \"./ContractResolver.sol\";\nimport \"./ACOwned.sol\";\n\n/// @title Contract Resolver Interface\n/// @author DigixGlobal\n\ncontract ResolverClient {\n\n /// The address of the resolver contract for this project\n address public resolver;\n bytes32 public key;\n\n /// Make our own address available to us as a constant\n address public CONTRACT_ADDRESS;\n\n /// Function modifier to check if msg.sender corresponds to the resolved address of a given key\n /// @param _contract The resolver key\n modifier if_sender_is(bytes32 _contract) {\n require(sender_is(_contract));\n _;\n }\n\n function sender_is(bytes32 _contract) internal view returns (bool _isFrom) {\n _isFrom = msg.sender == ContractResolver(resolver).get_contract(_contract);\n }\n\n modifier if_sender_is_from(bytes32[3] _contracts) {\n require(sender_is_from(_contracts));\n _;\n }\n\n function sender_is_from(bytes32[3] _contracts) internal view returns (bool _isFrom) {\n uint256 _n = _contracts.length;\n for (uint256 i = 0; i < _n; i++) {\n if (_contracts[i] == bytes32(0x0)) continue;\n if (msg.sender == ContractResolver(resolver).get_contract(_contracts[i])) {\n _isFrom = true;\n break;\n }\n }\n }\n\n /// Function modifier to check resolver's locking status.\n modifier unless_resolver_is_locked() {\n require(is_locked() == false);\n _;\n }\n\n /// @dev Initialize new contract\n /// @param _key the resolver key for this contract\n /// @return _success if the initialization is successful\n function init(bytes32 _key, address _resolver)\n internal\n returns (bool _success)\n {\n bool _is_locked = ContractResolver(_resolver).locked_forever();\n if (_is_locked == false) {\n CONTRACT_ADDRESS = address(this);\n resolver = _resolver;\n key = _key;\n require(ContractResolver(resolver).init_register_contract(key, CONTRACT_ADDRESS));\n _success = true;\n } else {\n _success = false;\n }\n }\n\n /// @dev Check if resolver is locked\n /// @return _locked if the resolver is currently locked\n function is_locked()\n private\n view\n returns (bool _locked)\n {\n _locked = ContractResolver(resolver).locked_forever();\n }\n\n /// @dev Get the address of a contract\n /// @param _key the resolver key to look up\n /// @return _contract the address of the contract\n function get_contract(bytes32 _key)\n public\n view\n returns (address _contract)\n {\n _contract = ContractResolver(resolver).get_contract(_key);\n }\n}\n", + "sourcePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "ast": { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "exportedSymbols": { + "ResolverClient": [ + 19058 + ] + }, + "id": 19059, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 18851, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:67" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ContractResolver.sol", + "file": "./ContractResolver.sol", + "id": 18852, + "nodeType": "ImportDirective", + "scope": 19059, + "sourceUnit": 18850, + "src": "26:32:67", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ACOwned.sol", + "file": "./ACOwned.sol", + "id": 18853, + "nodeType": "ImportDirective", + "scope": 19059, + "sourceUnit": 18683, + "src": "59:23:67", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Contract Resolver Interface\n @author DigixGlobal", + "fullyImplemented": true, + "id": 19058, + "linearizedBaseContracts": [ + 19058 + ], + "name": "ResolverClient", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 18855, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 19058, + "src": "237:23:67", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18854, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "237:7:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 18857, + "name": "key", + "nodeType": "VariableDeclaration", + "scope": 19058, + "src": "264:18:67", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18856, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "264:7:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 18859, + "name": "CONTRACT_ADDRESS", + "nodeType": "VariableDeclaration", + "scope": 19058, + "src": "344:31:67", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18858, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "344:7:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 18870, + "nodeType": "Block", + "src": "559:47:67", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18865, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18861, + "src": "583:9:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18864, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "573:9:67", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 18866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "573:20:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18863, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "565:7:67", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "565:29:67", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18868, + "nodeType": "ExpressionStatement", + "src": "565:29:67" + }, + { + "id": 18869, + "nodeType": "PlaceholderStatement", + "src": "600:1:67" + } + ] + }, + "documentation": "Function modifier to check if msg.sender corresponds to the resolved address of a given key\n @param _contract The resolver key", + "id": 18871, + "name": "if_sender_is", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 18862, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18861, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 18871, + "src": "540:17:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18860, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "540:7:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "539:19:67" + }, + "src": "518:88:67", + "visibility": "internal" + }, + { + "body": { + "id": 18890, + "nodeType": "Block", + "src": "685:85:67", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18878, + "name": "_isFrom", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18876, + "src": "691:7:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 18887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18879, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "701:3:67", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 18880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "701:10:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18885, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18873, + "src": "755:9:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18882, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18855, + "src": "732:8:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 18881, + "name": "ContractResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18849, + "src": "715:16:67", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ContractResolver_$18849_$", + "typeString": "type(contract ContractResolver)" + } + }, + "id": 18883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "715:26:67", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ContractResolver_$18849", + "typeString": "contract ContractResolver" + } + }, + "id": 18884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get_contract", + "nodeType": "MemberAccess", + "referencedDeclaration": 18848, + "src": "715:39:67", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 18886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "715:50:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "701:64:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "691:74:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18889, + "nodeType": "ExpressionStatement", + "src": "691:74:67" + } + ] + }, + "documentation": null, + "id": 18891, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "sender_is", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18874, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18873, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 18891, + "src": "629:17:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18872, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "629:7:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "628:19:67" + }, + "payable": false, + "returnParameters": { + "id": 18877, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18876, + "name": "_isFrom", + "nodeType": "VariableDeclaration", + "scope": 18891, + "src": "671:12:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18875, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "671:4:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "670:14:67" + }, + "scope": 19058, + "src": "610:160:67", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 18904, + "nodeType": "Block", + "src": "824:53:67", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18899, + "name": "_contracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18895, + "src": "853:10:67", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 18898, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "838:14:67", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 18900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "838:26:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18897, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "830:7:67", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "830:35:67", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18902, + "nodeType": "ExpressionStatement", + "src": "830:35:67" + }, + { + "id": 18903, + "nodeType": "PlaceholderStatement", + "src": "871:1:67" + } + ] + }, + "documentation": null, + "id": 18905, + "name": "if_sender_is_from", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 18896, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18895, + "name": "_contracts", + "nodeType": "VariableDeclaration", + "scope": 18905, + "src": "801:21:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3]" + }, + "typeName": { + "baseType": { + "id": 18892, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "801:7:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 18894, + "length": { + "argumentTypes": null, + "hexValue": "33", + "id": 18893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "809:1:67", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + }, + "value": "3" + }, + "nodeType": "ArrayTypeName", + "src": "801:10:67", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_storage_ptr", + "typeString": "bytes32[3]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "800:23:67" + }, + "src": "774:103:67", + "visibility": "internal" + }, + { + "body": { + "id": 18958, + "nodeType": "Block", + "src": "965:266:67", + "statements": [ + { + "assignments": [ + 18915 + ], + "declarations": [ + { + "constant": false, + "id": 18915, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 18959, + "src": "971:10:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18914, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "971:7:67", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 18918, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18916, + "name": "_contracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18909, + "src": "984:10:67", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + }, + "id": 18917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "984:17:67", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "971:30:67" + }, + { + "body": { + "id": 18956, + "nodeType": "Block", + "src": "1040:187:67", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 18935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18929, + "name": "_contracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18909, + "src": "1052:10:67", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + }, + "id": 18931, + "indexExpression": { + "argumentTypes": null, + "id": 18930, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18920, + "src": "1063:1:67", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1052:13:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 18933, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1077:3:67", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 18932, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1069:7:67", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 18934, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1069:12:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1052:29:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 18937, + "nodeType": "IfStatement", + "src": "1048:43:67", + "trueBody": { + "id": 18936, + "nodeType": "Continue", + "src": "1083:8:67" + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 18948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18938, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1103:3:67", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 18939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1103:10:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18944, + "name": "_contracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18909, + "src": "1157:10:67", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + }, + "id": 18946, + "indexExpression": { + "argumentTypes": null, + "id": 18945, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18920, + "src": "1168:1:67", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1157:13:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18941, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18855, + "src": "1134:8:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 18940, + "name": "ContractResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18849, + "src": "1117:16:67", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ContractResolver_$18849_$", + "typeString": "type(contract ContractResolver)" + } + }, + "id": 18942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1117:26:67", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ContractResolver_$18849", + "typeString": "contract ContractResolver" + } + }, + "id": 18943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get_contract", + "nodeType": "MemberAccess", + "referencedDeclaration": 18848, + "src": "1117:39:67", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 18947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1117:54:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1103:68:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 18955, + "nodeType": "IfStatement", + "src": "1099:122:67", + "trueBody": { + "id": 18954, + "nodeType": "Block", + "src": "1173:48:67", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18949, + "name": "_isFrom", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18912, + "src": "1183:7:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18950, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1193:4:67", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1183:14:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18952, + "nodeType": "ExpressionStatement", + "src": "1183:14:67" + }, + { + "id": 18953, + "nodeType": "Break", + "src": "1207:5:67" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 18925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 18923, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18920, + "src": "1027:1:67", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 18924, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18915, + "src": "1031:2:67", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1027:6:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18957, + "initializationExpression": { + "assignments": [ + 18920 + ], + "declarations": [ + { + "constant": false, + "id": 18920, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 18959, + "src": "1012:9:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18919, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1012:7:67", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 18922, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 18921, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1024:1:67", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1012:13:67" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 18927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1035:3:67", + "subExpression": { + "argumentTypes": null, + "id": 18926, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18920, + "src": "1035:1:67", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18928, + "nodeType": "ExpressionStatement", + "src": "1035:3:67" + }, + "nodeType": "ForStatement", + "src": "1007:220:67" + } + ] + }, + "documentation": null, + "id": 18959, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "sender_is_from", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18910, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18909, + "name": "_contracts", + "nodeType": "VariableDeclaration", + "scope": 18959, + "src": "905:21:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3]" + }, + "typeName": { + "baseType": { + "id": 18906, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "905:7:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 18908, + "length": { + "argumentTypes": null, + "hexValue": "33", + "id": 18907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "913:1:67", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + }, + "value": "3" + }, + "nodeType": "ArrayTypeName", + "src": "905:10:67", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_storage_ptr", + "typeString": "bytes32[3]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "904:23:67" + }, + "payable": false, + "returnParameters": { + "id": 18913, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18912, + "name": "_isFrom", + "nodeType": "VariableDeclaration", + "scope": 18959, + "src": "951:12:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18911, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "951:4:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "950:14:67" + }, + "scope": 19058, + "src": "881:350:67", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 18969, + "nodeType": "Block", + "src": "1332:47:67", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 18965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 18962, + "name": "is_locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19040, + "src": "1346:9:67", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 18963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1346:11:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 18964, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1361:5:67", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1346:20:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18961, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1338:7:67", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1338:29:67", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18967, + "nodeType": "ExpressionStatement", + "src": "1338:29:67" + }, + { + "id": 18968, + "nodeType": "PlaceholderStatement", + "src": "1373:1:67" + } + ] + }, + "documentation": "Function modifier to check resolver's locking status.", + "id": 18970, + "name": "unless_resolver_is_locked", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 18960, + "nodeType": "ParameterList", + "parameters": [], + "src": "1329:2:67" + }, + "src": "1295:84:67", + "visibility": "internal" + }, + { + "body": { + "id": 19025, + "nodeType": "Block", + "src": "1634:346:67", + "statements": [ + { + "assignments": [ + 18980 + ], + "declarations": [ + { + "constant": false, + "id": 18980, + "name": "_is_locked", + "nodeType": "VariableDeclaration", + "scope": 19026, + "src": "1640:15:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18979, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1640:4:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 18986, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18982, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18974, + "src": "1675:9:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 18981, + "name": "ContractResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18849, + "src": "1658:16:67", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ContractResolver_$18849_$", + "typeString": "type(contract ContractResolver)" + } + }, + "id": 18983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1658:27:67", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ContractResolver_$18849", + "typeString": "contract ContractResolver" + } + }, + "id": 18984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "locked_forever", + "nodeType": "MemberAccess", + "referencedDeclaration": 18714, + "src": "1658:42:67", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", + "typeString": "function () view external returns (bool)" + } + }, + "id": 18985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1658:44:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1640:62:67" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 18989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 18987, + "name": "_is_locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18980, + "src": "1712:10:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 18988, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1726:5:67", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1712:19:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 19023, + "nodeType": "Block", + "src": "1945:31:67", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19019, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18977, + "src": "1953:8:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 19020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1964:5:67", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1953:16:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19022, + "nodeType": "ExpressionStatement", + "src": "1953:16:67" + } + ] + }, + "id": 19024, + "nodeType": "IfStatement", + "src": "1708:268:67", + "trueBody": { + "id": 19018, + "nodeType": "Block", + "src": "1733:205:67", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18990, + "name": "CONTRACT_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18859, + "src": "1741:16:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18992, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26647, + "src": "1768:4:67", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + ], + "id": 18991, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1760:7:67", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 18993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1760:13:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1741:32:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18995, + "nodeType": "ExpressionStatement", + "src": "1741:32:67" + }, + { + "expression": { + "argumentTypes": null, + "id": 18998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18996, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18855, + "src": "1781:8:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18997, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18974, + "src": "1792:9:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1781:20:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18999, + "nodeType": "ExpressionStatement", + "src": "1781:20:67" + }, + { + "expression": { + "argumentTypes": null, + "id": 19002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19000, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18857, + "src": "1809:3:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 19001, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18972, + "src": "1815:4:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1809:10:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 19003, + "nodeType": "ExpressionStatement", + "src": "1809:10:67" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19009, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18857, + "src": "1885:3:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 19010, + "name": "CONTRACT_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18859, + "src": "1890:16:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19006, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18855, + "src": "1852:8:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19005, + "name": "ContractResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18849, + "src": "1835:16:67", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ContractResolver_$18849_$", + "typeString": "type(contract ContractResolver)" + } + }, + "id": 19007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1835:26:67", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ContractResolver_$18849", + "typeString": "contract ContractResolver" + } + }, + "id": 19008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "init_register_contract", + "nodeType": "MemberAccess", + "referencedDeclaration": 18810, + "src": "1835:49:67", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) external returns (bool)" + } + }, + "id": 19011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1835:72:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 19004, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1827:7:67", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 19012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1827:81:67", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19013, + "nodeType": "ExpressionStatement", + "src": "1827:81:67" + }, + { + "expression": { + "argumentTypes": null, + "id": 19016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19014, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18977, + "src": "1916:8:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 19015, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1927:4:67", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1916:15:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19017, + "nodeType": "ExpressionStatement", + "src": "1916:15:67" + } + ] + } + } + ] + }, + "documentation": "@dev Initialize new contract\n @param _key the resolver key for this contract\n @return _success if the initialization is successful", + "id": 19026, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "init", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18975, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18972, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 19026, + "src": "1544:12:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18971, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1544:7:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18974, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 19026, + "src": "1558:17:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18973, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1558:7:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1543:33:67" + }, + "payable": false, + "returnParameters": { + "id": 18978, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18977, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 19026, + "src": "1617:13:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18976, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1617:4:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1616:15:67" + }, + "scope": 19058, + "src": "1530:450:67", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 19039, + "nodeType": "Block", + "src": "2173:64:67", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19031, + "name": "_locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19029, + "src": "2179:7:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19033, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18855, + "src": "2206:8:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19032, + "name": "ContractResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18849, + "src": "2189:16:67", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ContractResolver_$18849_$", + "typeString": "type(contract ContractResolver)" + } + }, + "id": 19034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2189:26:67", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ContractResolver_$18849", + "typeString": "contract ContractResolver" + } + }, + "id": 19035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "locked_forever", + "nodeType": "MemberAccess", + "referencedDeclaration": 18714, + "src": "2189:41:67", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", + "typeString": "function () view external returns (bool)" + } + }, + "id": 19036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2189:43:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2179:53:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19038, + "nodeType": "ExpressionStatement", + "src": "2179:53:67" + } + ] + }, + "documentation": "@dev Check if resolver is locked\n @return _locked if the resolver is currently locked", + "id": 19040, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "is_locked", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19027, + "nodeType": "ParameterList", + "parameters": [], + "src": "2099:2:67" + }, + "payable": false, + "returnParameters": { + "id": 19030, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19029, + "name": "_locked", + "nodeType": "VariableDeclaration", + "scope": 19040, + "src": "2157:12:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19028, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2157:4:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2156:14:67" + }, + "scope": 19058, + "src": "2081:156:67", + "stateMutability": "view", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 19056, + "nodeType": "Block", + "src": "2491:68:67", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19047, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19045, + "src": "2497:9:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19052, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19042, + "src": "2549:4:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19049, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18855, + "src": "2526:8:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19048, + "name": "ContractResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18849, + "src": "2509:16:67", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ContractResolver_$18849_$", + "typeString": "type(contract ContractResolver)" + } + }, + "id": 19050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2509:26:67", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ContractResolver_$18849", + "typeString": "contract ContractResolver" + } + }, + "id": 19051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get_contract", + "nodeType": "MemberAccess", + "referencedDeclaration": 18848, + "src": "2509:39:67", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 19053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2509:45:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2497:57:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 19055, + "nodeType": "ExpressionStatement", + "src": "2497:57:67" + } + ] + }, + "documentation": "@dev Get the address of a contract\n @param _key the resolver key to look up\n @return _contract the address of the contract", + "id": 19057, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get_contract", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19043, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19042, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 19057, + "src": "2402:12:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19041, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2402:7:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2401:14:67" + }, + "payable": false, + "returnParameters": { + "id": 19046, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19045, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 19057, + "src": "2470:17:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19044, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2470:7:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2469:19:67" + }, + "scope": 19058, + "src": "2380:179:67", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 19059, + "src": "148:2413:67" + } + ], + "src": "0:2562:67" + }, + "legacyAST": { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ResolverClient.sol", + "exportedSymbols": { + "ResolverClient": [ + 19058 + ] + }, + "id": 19059, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 18851, + "literals": [ + "solidity", + "^", + "0.4", + ".25" + ], + "nodeType": "PragmaDirective", + "src": "0:24:67" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ContractResolver.sol", + "file": "./ContractResolver.sol", + "id": 18852, + "nodeType": "ImportDirective", + "scope": 19059, + "sourceUnit": 18850, + "src": "26:32:67", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@digix/cacp-contracts-dao/contracts/ACOwned.sol", + "file": "./ACOwned.sol", + "id": 18853, + "nodeType": "ImportDirective", + "scope": 19059, + "sourceUnit": 18683, + "src": "59:23:67", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Contract Resolver Interface\n @author DigixGlobal", + "fullyImplemented": true, + "id": 19058, + "linearizedBaseContracts": [ + 19058 + ], + "name": "ResolverClient", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 18855, + "name": "resolver", + "nodeType": "VariableDeclaration", + "scope": 19058, + "src": "237:23:67", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18854, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "237:7:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 18857, + "name": "key", + "nodeType": "VariableDeclaration", + "scope": 19058, + "src": "264:18:67", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18856, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "264:7:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 18859, + "name": "CONTRACT_ADDRESS", + "nodeType": "VariableDeclaration", + "scope": 19058, + "src": "344:31:67", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18858, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "344:7:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 18870, + "nodeType": "Block", + "src": "559:47:67", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18865, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18861, + "src": "583:9:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 18864, + "name": "sender_is", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18891, + "src": "573:9:67", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (bytes32) view returns (bool)" + } + }, + "id": 18866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "573:20:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18863, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "565:7:67", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "565:29:67", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18868, + "nodeType": "ExpressionStatement", + "src": "565:29:67" + }, + { + "id": 18869, + "nodeType": "PlaceholderStatement", + "src": "600:1:67" + } + ] + }, + "documentation": "Function modifier to check if msg.sender corresponds to the resolved address of a given key\n @param _contract The resolver key", + "id": 18871, + "name": "if_sender_is", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 18862, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18861, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 18871, + "src": "540:17:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18860, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "540:7:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "539:19:67" + }, + "src": "518:88:67", + "visibility": "internal" + }, + { + "body": { + "id": 18890, + "nodeType": "Block", + "src": "685:85:67", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18878, + "name": "_isFrom", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18876, + "src": "691:7:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 18887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18879, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "701:3:67", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 18880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "701:10:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18885, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18873, + "src": "755:9:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18882, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18855, + "src": "732:8:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 18881, + "name": "ContractResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18849, + "src": "715:16:67", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ContractResolver_$18849_$", + "typeString": "type(contract ContractResolver)" + } + }, + "id": 18883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "715:26:67", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ContractResolver_$18849", + "typeString": "contract ContractResolver" + } + }, + "id": 18884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get_contract", + "nodeType": "MemberAccess", + "referencedDeclaration": 18848, + "src": "715:39:67", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 18886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "715:50:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "701:64:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "691:74:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18889, + "nodeType": "ExpressionStatement", + "src": "691:74:67" + } + ] + }, + "documentation": null, + "id": 18891, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "sender_is", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18874, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18873, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 18891, + "src": "629:17:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18872, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "629:7:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "628:19:67" + }, + "payable": false, + "returnParameters": { + "id": 18877, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18876, + "name": "_isFrom", + "nodeType": "VariableDeclaration", + "scope": 18891, + "src": "671:12:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18875, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "671:4:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "670:14:67" + }, + "scope": 19058, + "src": "610:160:67", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 18904, + "nodeType": "Block", + "src": "824:53:67", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18899, + "name": "_contracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18895, + "src": "853:10:67", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + ], + "id": 18898, + "name": "sender_is_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18959, + "src": "838:14:67", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_array$_t_bytes32_$3_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32[3] memory) view returns (bool)" + } + }, + "id": 18900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "838:26:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18897, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "830:7:67", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "830:35:67", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18902, + "nodeType": "ExpressionStatement", + "src": "830:35:67" + }, + { + "id": 18903, + "nodeType": "PlaceholderStatement", + "src": "871:1:67" + } + ] + }, + "documentation": null, + "id": 18905, + "name": "if_sender_is_from", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 18896, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18895, + "name": "_contracts", + "nodeType": "VariableDeclaration", + "scope": 18905, + "src": "801:21:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3]" + }, + "typeName": { + "baseType": { + "id": 18892, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "801:7:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 18894, + "length": { + "argumentTypes": null, + "hexValue": "33", + "id": 18893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "809:1:67", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + }, + "value": "3" + }, + "nodeType": "ArrayTypeName", + "src": "801:10:67", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_storage_ptr", + "typeString": "bytes32[3]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "800:23:67" + }, + "src": "774:103:67", + "visibility": "internal" + }, + { + "body": { + "id": 18958, + "nodeType": "Block", + "src": "965:266:67", + "statements": [ + { + "assignments": [ + 18915 + ], + "declarations": [ + { + "constant": false, + "id": 18915, + "name": "_n", + "nodeType": "VariableDeclaration", + "scope": 18959, + "src": "971:10:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18914, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "971:7:67", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 18918, + "initialValue": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18916, + "name": "_contracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18909, + "src": "984:10:67", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + }, + "id": 18917, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "984:17:67", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "971:30:67" + }, + { + "body": { + "id": 18956, + "nodeType": "Block", + "src": "1040:187:67", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 18935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18929, + "name": "_contracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18909, + "src": "1052:10:67", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + }, + "id": 18931, + "indexExpression": { + "argumentTypes": null, + "id": 18930, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18920, + "src": "1063:1:67", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1052:13:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307830", + "id": 18933, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1077:3:67", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 18932, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1069:7:67", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": "bytes32" + }, + "id": 18934, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1069:12:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1052:29:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 18937, + "nodeType": "IfStatement", + "src": "1048:43:67", + "trueBody": { + "id": 18936, + "nodeType": "Continue", + "src": "1083:8:67" + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 18948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 18938, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1103:3:67", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 18939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1103:10:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 18944, + "name": "_contracts", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18909, + "src": "1157:10:67", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3] memory" + } + }, + "id": 18946, + "indexExpression": { + "argumentTypes": null, + "id": 18945, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18920, + "src": "1168:1:67", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1157:13:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18941, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18855, + "src": "1134:8:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 18940, + "name": "ContractResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18849, + "src": "1117:16:67", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ContractResolver_$18849_$", + "typeString": "type(contract ContractResolver)" + } + }, + "id": 18942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1117:26:67", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ContractResolver_$18849", + "typeString": "contract ContractResolver" + } + }, + "id": 18943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get_contract", + "nodeType": "MemberAccess", + "referencedDeclaration": 18848, + "src": "1117:39:67", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 18947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1117:54:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1103:68:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 18955, + "nodeType": "IfStatement", + "src": "1099:122:67", + "trueBody": { + "id": 18954, + "nodeType": "Block", + "src": "1173:48:67", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18949, + "name": "_isFrom", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18912, + "src": "1183:7:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 18950, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1193:4:67", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1183:14:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18952, + "nodeType": "ExpressionStatement", + "src": "1183:14:67" + }, + { + "id": 18953, + "nodeType": "Break", + "src": "1207:5:67" + } + ] + } + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 18925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 18923, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18920, + "src": "1027:1:67", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 18924, + "name": "_n", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18915, + "src": "1031:2:67", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1027:6:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 18957, + "initializationExpression": { + "assignments": [ + 18920 + ], + "declarations": [ + { + "constant": false, + "id": 18920, + "name": "i", + "nodeType": "VariableDeclaration", + "scope": 18959, + "src": "1012:9:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 18919, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1012:7:67", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 18922, + "initialValue": { + "argumentTypes": null, + "hexValue": "30", + "id": 18921, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1024:1:67", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1012:13:67" + }, + "loopExpression": { + "expression": { + "argumentTypes": null, + "id": 18927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1035:3:67", + "subExpression": { + "argumentTypes": null, + "id": 18926, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18920, + "src": "1035:1:67", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 18928, + "nodeType": "ExpressionStatement", + "src": "1035:3:67" + }, + "nodeType": "ForStatement", + "src": "1007:220:67" + } + ] + }, + "documentation": null, + "id": 18959, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "sender_is_from", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18910, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18909, + "name": "_contracts", + "nodeType": "VariableDeclaration", + "scope": 18959, + "src": "905:21:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_memory_ptr", + "typeString": "bytes32[3]" + }, + "typeName": { + "baseType": { + "id": 18906, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "905:7:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 18908, + "length": { + "argumentTypes": null, + "hexValue": "33", + "id": 18907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "913:1:67", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + }, + "value": "3" + }, + "nodeType": "ArrayTypeName", + "src": "905:10:67", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$3_storage_ptr", + "typeString": "bytes32[3]" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "904:23:67" + }, + "payable": false, + "returnParameters": { + "id": 18913, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18912, + "name": "_isFrom", + "nodeType": "VariableDeclaration", + "scope": 18959, + "src": "951:12:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18911, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "951:4:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "950:14:67" + }, + "scope": 19058, + "src": "881:350:67", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 18969, + "nodeType": "Block", + "src": "1332:47:67", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 18965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 18962, + "name": "is_locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19040, + "src": "1346:9:67", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 18963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1346:11:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 18964, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1361:5:67", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1346:20:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 18961, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1338:7:67", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 18966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1338:29:67", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 18967, + "nodeType": "ExpressionStatement", + "src": "1338:29:67" + }, + { + "id": 18968, + "nodeType": "PlaceholderStatement", + "src": "1373:1:67" + } + ] + }, + "documentation": "Function modifier to check resolver's locking status.", + "id": 18970, + "name": "unless_resolver_is_locked", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 18960, + "nodeType": "ParameterList", + "parameters": [], + "src": "1329:2:67" + }, + "src": "1295:84:67", + "visibility": "internal" + }, + { + "body": { + "id": 19025, + "nodeType": "Block", + "src": "1634:346:67", + "statements": [ + { + "assignments": [ + 18980 + ], + "declarations": [ + { + "constant": false, + "id": 18980, + "name": "_is_locked", + "nodeType": "VariableDeclaration", + "scope": 19026, + "src": "1640:15:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18979, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1640:4:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 18986, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18982, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18974, + "src": "1675:9:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 18981, + "name": "ContractResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18849, + "src": "1658:16:67", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ContractResolver_$18849_$", + "typeString": "type(contract ContractResolver)" + } + }, + "id": 18983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1658:27:67", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ContractResolver_$18849", + "typeString": "contract ContractResolver" + } + }, + "id": 18984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "locked_forever", + "nodeType": "MemberAccess", + "referencedDeclaration": 18714, + "src": "1658:42:67", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", + "typeString": "function () view external returns (bool)" + } + }, + "id": 18985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1658:44:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1640:62:67" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 18989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 18987, + "name": "_is_locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18980, + "src": "1712:10:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 18988, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1726:5:67", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1712:19:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 19023, + "nodeType": "Block", + "src": "1945:31:67", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19019, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18977, + "src": "1953:8:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 19020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1964:5:67", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1953:16:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19022, + "nodeType": "ExpressionStatement", + "src": "1953:16:67" + } + ] + }, + "id": 19024, + "nodeType": "IfStatement", + "src": "1708:268:67", + "trueBody": { + "id": 19018, + "nodeType": "Block", + "src": "1733:205:67", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 18994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18990, + "name": "CONTRACT_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18859, + "src": "1741:16:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 18992, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26647, + "src": "1768:4:67", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ResolverClient_$19058", + "typeString": "contract ResolverClient" + } + ], + "id": 18991, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1760:7:67", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 18993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1760:13:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1741:32:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18995, + "nodeType": "ExpressionStatement", + "src": "1741:32:67" + }, + { + "expression": { + "argumentTypes": null, + "id": 18998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18996, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18855, + "src": "1781:8:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 18997, + "name": "_resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18974, + "src": "1792:9:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1781:20:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 18999, + "nodeType": "ExpressionStatement", + "src": "1781:20:67" + }, + { + "expression": { + "argumentTypes": null, + "id": 19002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19000, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18857, + "src": "1809:3:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 19001, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18972, + "src": "1815:4:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "1809:10:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 19003, + "nodeType": "ExpressionStatement", + "src": "1809:10:67" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19009, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18857, + "src": "1885:3:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 19010, + "name": "CONTRACT_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18859, + "src": "1890:16:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19006, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18855, + "src": "1852:8:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19005, + "name": "ContractResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18849, + "src": "1835:16:67", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ContractResolver_$18849_$", + "typeString": "type(contract ContractResolver)" + } + }, + "id": 19007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1835:26:67", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ContractResolver_$18849", + "typeString": "contract ContractResolver" + } + }, + "id": 19008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "init_register_contract", + "nodeType": "MemberAccess", + "referencedDeclaration": 18810, + "src": "1835:49:67", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) external returns (bool)" + } + }, + "id": 19011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1835:72:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 19004, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1827:7:67", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 19012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1827:81:67", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 19013, + "nodeType": "ExpressionStatement", + "src": "1827:81:67" + }, + { + "expression": { + "argumentTypes": null, + "id": 19016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19014, + "name": "_success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18977, + "src": "1916:8:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 19015, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1927:4:67", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1916:15:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19017, + "nodeType": "ExpressionStatement", + "src": "1916:15:67" + } + ] + } + } + ] + }, + "documentation": "@dev Initialize new contract\n @param _key the resolver key for this contract\n @return _success if the initialization is successful", + "id": 19026, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "init", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18975, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18972, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 19026, + "src": "1544:12:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 18971, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1544:7:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 18974, + "name": "_resolver", + "nodeType": "VariableDeclaration", + "scope": 19026, + "src": "1558:17:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 18973, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1558:7:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1543:33:67" + }, + "payable": false, + "returnParameters": { + "id": 18978, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 18977, + "name": "_success", + "nodeType": "VariableDeclaration", + "scope": 19026, + "src": "1617:13:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 18976, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1617:4:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1616:15:67" + }, + "scope": 19058, + "src": "1530:450:67", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 19039, + "nodeType": "Block", + "src": "2173:64:67", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19031, + "name": "_locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19029, + "src": "2179:7:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19033, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18855, + "src": "2206:8:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19032, + "name": "ContractResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18849, + "src": "2189:16:67", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ContractResolver_$18849_$", + "typeString": "type(contract ContractResolver)" + } + }, + "id": 19034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2189:26:67", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ContractResolver_$18849", + "typeString": "contract ContractResolver" + } + }, + "id": 19035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "locked_forever", + "nodeType": "MemberAccess", + "referencedDeclaration": 18714, + "src": "2189:41:67", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$", + "typeString": "function () view external returns (bool)" + } + }, + "id": 19036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2189:43:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2179:53:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 19038, + "nodeType": "ExpressionStatement", + "src": "2179:53:67" + } + ] + }, + "documentation": "@dev Check if resolver is locked\n @return _locked if the resolver is currently locked", + "id": 19040, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "is_locked", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19027, + "nodeType": "ParameterList", + "parameters": [], + "src": "2099:2:67" + }, + "payable": false, + "returnParameters": { + "id": 19030, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19029, + "name": "_locked", + "nodeType": "VariableDeclaration", + "scope": 19040, + "src": "2157:12:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 19028, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2157:4:67", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2156:14:67" + }, + "scope": 19058, + "src": "2081:156:67", + "stateMutability": "view", + "superFunction": null, + "visibility": "private" + }, + { + "body": { + "id": 19056, + "nodeType": "Block", + "src": "2491:68:67", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 19054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 19047, + "name": "_contract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19045, + "src": "2497:9:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19052, + "name": "_key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19042, + "src": "2549:4:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 19049, + "name": "resolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18855, + "src": "2526:8:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 19048, + "name": "ContractResolver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 18849, + "src": "2509:16:67", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ContractResolver_$18849_$", + "typeString": "type(contract ContractResolver)" + } + }, + "id": 19050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2509:26:67", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ContractResolver_$18849", + "typeString": "contract ContractResolver" + } + }, + "id": 19051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "get_contract", + "nodeType": "MemberAccess", + "referencedDeclaration": 18848, + "src": "2509:39:67", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32) view external returns (address)" + } + }, + "id": 19053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2509:45:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2497:57:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 19055, + "nodeType": "ExpressionStatement", + "src": "2497:57:67" + } + ] + }, + "documentation": "@dev Get the address of a contract\n @param _key the resolver key to look up\n @return _contract the address of the contract", + "id": 19057, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "get_contract", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19043, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19042, + "name": "_key", + "nodeType": "VariableDeclaration", + "scope": 19057, + "src": "2402:12:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 19041, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2402:7:67", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2401:14:67" + }, + "payable": false, + "returnParameters": { + "id": 19046, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 19045, + "name": "_contract", + "nodeType": "VariableDeclaration", + "scope": 19057, + "src": "2470:17:67", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 19044, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2470:7:67", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2469:19:67" + }, + "scope": 19058, + "src": "2380:179:67", + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 19059, + "src": "148:2413:67" + } + ], + "src": "0:2562:67" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.913Z" +} \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json new file mode 100644 index 0000000..3867bd5 --- /dev/null +++ b/build/contracts/SafeMath.json @@ -0,0 +1,2365 @@ +{ + "contractName": "SafeMath", + "abi": [], + "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058203f804909bf490f64a62ccb27d61c9b0dc3d5f36f009286fa595d432cfed69dad0029", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058203f804909bf490f64a62ccb27d61c9b0dc3d5f36f009286fa595d432cfed69dad0029", + "sourceMap": "117:1251:84:-;;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:1251:84:-;;;;;;;;", + "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": "openzeppelin-solidity/contracts/math/SafeMath.sol", + "ast": { + "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", + "exportedSymbols": { + "SafeMath": [ + 26041 + ] + }, + "id": 26042, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 25949, + "literals": [ + "solidity", + "^", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:24:84" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": "@title SafeMath\n@dev Math operations with safety checks that throw on error", + "fullyImplemented": true, + "id": 26041, + "linearizedBaseContracts": [ + 26041 + ], + "name": "SafeMath", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 25981, + "nodeType": "Block", + "src": "274:309:84", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25958, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25951, + "src": "489:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 25959, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "495:1:84", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "489:7:84", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 25964, + "nodeType": "IfStatement", + "src": "485:36:84", + "trueBody": { + "id": 25963, + "nodeType": "Block", + "src": "498:23:84", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 25961, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "513:1:84", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 25957, + "id": 25962, + "nodeType": "Return", + "src": "506:8:84" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 25969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25965, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25956, + "src": "527:1:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25966, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25951, + "src": "531:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 25967, + "name": "_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25953, + "src": "536:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "531:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "527:11:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25970, + "nodeType": "ExpressionStatement", + "src": "527:11:84" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25972, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25956, + "src": "551:1:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 25973, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25951, + "src": "555:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "551:6:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 25975, + "name": "_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25953, + "src": "561:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "551:12:84", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25971, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26601, + "src": "544:6:84", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "544:20:84", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25978, + "nodeType": "ExpressionStatement", + "src": "544:20:84" + }, + { + "expression": { + "argumentTypes": null, + "id": 25979, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25956, + "src": "577:1:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 25957, + "id": 25980, + "nodeType": "Return", + "src": "570:8:84" + } + ] + }, + "documentation": "@dev Multiplies two numbers, throws on overflow.", + "id": 25982, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mul", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25954, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25951, + "name": "_a", + "nodeType": "VariableDeclaration", + "scope": 25982, + "src": "216:10:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25950, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "216:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25953, + "name": "_b", + "nodeType": "VariableDeclaration", + "scope": 25982, + "src": "228:10:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25952, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "228:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "215:24:84" + }, + "payable": false, + "returnParameters": { + "id": 25957, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25956, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 25982, + "src": "263:9:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25955, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "263:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "262:11:84" + }, + "scope": 26041, + "src": "203:380:84", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 25995, + "nodeType": "Block", + "src": "734:214:84", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25991, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25984, + "src": "936:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 25992, + "name": "_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25986, + "src": "941:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "936:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 25990, + "id": 25994, + "nodeType": "Return", + "src": "929:14:84" + } + ] + }, + "documentation": "@dev Integer division of two numbers, truncating the quotient.", + "id": 25996, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "div", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25987, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25984, + "name": "_a", + "nodeType": "VariableDeclaration", + "scope": 25996, + "src": "678:10:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25983, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "678:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25986, + "name": "_b", + "nodeType": "VariableDeclaration", + "scope": 25996, + "src": "690:10:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25985, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "690:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "677:24:84" + }, + "payable": false, + "returnParameters": { + "id": 25990, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25989, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 25996, + "src": "725:7:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25988, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "725:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "724:9:84" + }, + "scope": 26041, + "src": "665:283:84", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 26015, + "nodeType": "Block", + "src": "1129:47:84", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 26006, + "name": "_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26000, + "src": "1142:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 26007, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25998, + "src": "1148:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1142:8:84", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 26005, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26601, + "src": "1135:6:84", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 26009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1135:16:84", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26010, + "nodeType": "ExpressionStatement", + "src": "1135:16:84" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 26011, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25998, + "src": "1164:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 26012, + "name": "_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26000, + "src": "1169:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1164:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 26004, + "id": 26014, + "nodeType": "Return", + "src": "1157:14:84" + } + ] + }, + "documentation": "@dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).", + "id": 26016, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "sub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26001, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25998, + "name": "_a", + "nodeType": "VariableDeclaration", + "scope": 26016, + "src": "1073:10:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25997, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1073:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26000, + "name": "_b", + "nodeType": "VariableDeclaration", + "scope": 26016, + "src": "1085:10:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25999, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1085:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1072:24:84" + }, + "payable": false, + "returnParameters": { + "id": 26004, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26003, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26016, + "src": "1120:7:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26002, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1120:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1119:9:84" + }, + "scope": 26041, + "src": "1060:116:84", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 26039, + "nodeType": "Block", + "src": "1309:57:84", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 26029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 26025, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26023, + "src": "1315:1:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26028, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 26026, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26018, + "src": "1319:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 26027, + "name": "_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26020, + "src": "1324:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1319:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1315:11:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26030, + "nodeType": "ExpressionStatement", + "src": "1315:11:84" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 26032, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26023, + "src": "1339:1:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 26033, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26018, + "src": "1344:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1339:7:84", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 26031, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26601, + "src": "1332:6:84", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 26035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1332:15:84", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26036, + "nodeType": "ExpressionStatement", + "src": "1332:15:84" + }, + { + "expression": { + "argumentTypes": null, + "id": 26037, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26023, + "src": "1360:1:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 26024, + "id": 26038, + "nodeType": "Return", + "src": "1353:8:84" + } + ] + }, + "documentation": "@dev Adds two numbers, throws on overflow.", + "id": 26040, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26021, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26018, + "name": "_a", + "nodeType": "VariableDeclaration", + "scope": 26040, + "src": "1251:10:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26017, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1251:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26020, + "name": "_b", + "nodeType": "VariableDeclaration", + "scope": 26040, + "src": "1263:10:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26019, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1263:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1250:24:84" + }, + "payable": false, + "returnParameters": { + "id": 26024, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26023, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 26040, + "src": "1298:9:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26022, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1298:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1297:11:84" + }, + "scope": 26041, + "src": "1238:128:84", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 26042, + "src": "117:1251:84" + } + ], + "src": "0:1369:84" + }, + "legacyAST": { + "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol", + "exportedSymbols": { + "SafeMath": [ + 26041 + ] + }, + "id": 26042, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 25949, + "literals": [ + "solidity", + "^", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:24:84" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": "@title SafeMath\n@dev Math operations with safety checks that throw on error", + "fullyImplemented": true, + "id": 26041, + "linearizedBaseContracts": [ + 26041 + ], + "name": "SafeMath", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 25981, + "nodeType": "Block", + "src": "274:309:84", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25958, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25951, + "src": "489:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 25959, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "495:1:84", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "489:7:84", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 25964, + "nodeType": "IfStatement", + "src": "485:36:84", + "trueBody": { + "id": 25963, + "nodeType": "Block", + "src": "498:23:84", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 25961, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "513:1:84", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 25957, + "id": 25962, + "nodeType": "Return", + "src": "506:8:84" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "id": 25969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25965, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25956, + "src": "527:1:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25966, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25951, + "src": "531:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 25967, + "name": "_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25953, + "src": "536:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "531:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "527:11:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25970, + "nodeType": "ExpressionStatement", + "src": "527:11:84" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25972, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25956, + "src": "551:1:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 25973, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25951, + "src": "555:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "551:6:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 25975, + "name": "_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25953, + "src": "561:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "551:12:84", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25971, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26601, + "src": "544:6:84", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "544:20:84", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25978, + "nodeType": "ExpressionStatement", + "src": "544:20:84" + }, + { + "expression": { + "argumentTypes": null, + "id": 25979, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25956, + "src": "577:1:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 25957, + "id": 25980, + "nodeType": "Return", + "src": "570:8:84" + } + ] + }, + "documentation": "@dev Multiplies two numbers, throws on overflow.", + "id": 25982, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "mul", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25954, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25951, + "name": "_a", + "nodeType": "VariableDeclaration", + "scope": 25982, + "src": "216:10:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25950, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "216:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25953, + "name": "_b", + "nodeType": "VariableDeclaration", + "scope": 25982, + "src": "228:10:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25952, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "228:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "215:24:84" + }, + "payable": false, + "returnParameters": { + "id": 25957, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25956, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 25982, + "src": "263:9:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25955, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "263:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "262:11:84" + }, + "scope": 26041, + "src": "203:380:84", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 25995, + "nodeType": "Block", + "src": "734:214:84", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25991, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25984, + "src": "936:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 25992, + "name": "_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25986, + "src": "941:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "936:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 25990, + "id": 25994, + "nodeType": "Return", + "src": "929:14:84" + } + ] + }, + "documentation": "@dev Integer division of two numbers, truncating the quotient.", + "id": 25996, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "div", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25987, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25984, + "name": "_a", + "nodeType": "VariableDeclaration", + "scope": 25996, + "src": "678:10:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25983, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "678:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25986, + "name": "_b", + "nodeType": "VariableDeclaration", + "scope": 25996, + "src": "690:10:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25985, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "690:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "677:24:84" + }, + "payable": false, + "returnParameters": { + "id": 25990, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25989, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 25996, + "src": "725:7:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25988, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "725:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "724:9:84" + }, + "scope": 26041, + "src": "665:283:84", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 26015, + "nodeType": "Block", + "src": "1129:47:84", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 26006, + "name": "_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26000, + "src": "1142:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 26007, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25998, + "src": "1148:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1142:8:84", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 26005, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26601, + "src": "1135:6:84", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 26009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1135:16:84", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26010, + "nodeType": "ExpressionStatement", + "src": "1135:16:84" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 26011, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25998, + "src": "1164:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 26012, + "name": "_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26000, + "src": "1169:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1164:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 26004, + "id": 26014, + "nodeType": "Return", + "src": "1157:14:84" + } + ] + }, + "documentation": "@dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).", + "id": 26016, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "sub", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26001, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25998, + "name": "_a", + "nodeType": "VariableDeclaration", + "scope": 26016, + "src": "1073:10:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25997, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1073:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26000, + "name": "_b", + "nodeType": "VariableDeclaration", + "scope": 26016, + "src": "1085:10:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25999, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1085:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1072:24:84" + }, + "payable": false, + "returnParameters": { + "id": 26004, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26003, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26016, + "src": "1120:7:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26002, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1120:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1119:9:84" + }, + "scope": 26041, + "src": "1060:116:84", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 26039, + "nodeType": "Block", + "src": "1309:57:84", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 26029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 26025, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26023, + "src": "1315:1:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26028, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 26026, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26018, + "src": "1319:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 26027, + "name": "_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26020, + "src": "1324:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1319:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1315:11:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26030, + "nodeType": "ExpressionStatement", + "src": "1315:11:84" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 26032, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26023, + "src": "1339:1:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 26033, + "name": "_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26018, + "src": "1344:2:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1339:7:84", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 26031, + "name": "assert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26601, + "src": "1332:6:84", + "typeDescriptions": { + "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 26035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1332:15:84", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26036, + "nodeType": "ExpressionStatement", + "src": "1332:15:84" + }, + { + "expression": { + "argumentTypes": null, + "id": 26037, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26023, + "src": "1360:1:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 26024, + "id": 26038, + "nodeType": "Return", + "src": "1353:8:84" + } + ] + }, + "documentation": "@dev Adds two numbers, throws on overflow.", + "id": 26040, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26021, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26018, + "name": "_a", + "nodeType": "VariableDeclaration", + "scope": 26040, + "src": "1251:10:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26017, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1251:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26020, + "name": "_b", + "nodeType": "VariableDeclaration", + "scope": 26040, + "src": "1263:10:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26019, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1263:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1250:24:84" + }, + "payable": false, + "returnParameters": { + "id": 26024, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26023, + "name": "c", + "nodeType": "VariableDeclaration", + "scope": 26040, + "src": "1298:9:84", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26022, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1298:7:84", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1297:11:84" + }, + "scope": 26041, + "src": "1238:128:84", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 26042, + "src": "117:1251:84" + } + ], + "src": "0:1369:84" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.944Z" +} \ No newline at end of file diff --git a/build/contracts/StandardToken.json b/build/contracts/StandardToken.json new file mode 100644 index 0000000..76bca94 --- /dev/null +++ b/build/contracts/StandardToken.json @@ -0,0 +1,6783 @@ +{ + "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": "0x608060405234801561001057600080fd5b5061103a806100206000396000f30060806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100f857806323b872dd1461012357806366188463146101a857806370a082311461020d578063a9059cbb14610264578063d73dd623146102c9578063dd62ed3e1461032e575b600080fd5b34801561009f57600080fd5b506100de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103a5565b604051808215151515815260200191505060405180910390f35b34801561010457600080fd5b5061010d610497565b6040518082815260200191505060405180910390f35b34801561012f57600080fd5b5061018e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104a1565b604051808215151515815260200191505060405180910390f35b3480156101b457600080fd5b506101f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061085c565b604051808215151515815260200191505060405180910390f35b34801561021957600080fd5b5061024e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aee565b6040518082815260200191505060405180910390f35b34801561027057600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b36565b604051808215151515815260200191505060405180910390f35b3480156102d557600080fd5b50610314600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d56565b604051808215151515815260200191505060405180910390f35b34801561033a57600080fd5b5061038f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f52565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156104f057600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561057b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156105b757600080fd5b610608826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd990919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061069b826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ff290919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061076c82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd990919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808310151561096e576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a02565b6109818382610fd990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610b8557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610bc157600080fd5b610c12826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd990919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ca5826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ff290919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610de782600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ff290919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610fe757fe5b818303905092915050565b6000818301905082811015151561100557fe5b809050929150505600a165627a7a7230582060dd448dac1261e1bdfceaba47e9c282d583085901bc2dfb67323c70e1aabaa50029", + "deployedBytecode": "0x60806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100f857806323b872dd1461012357806366188463146101a857806370a082311461020d578063a9059cbb14610264578063d73dd623146102c9578063dd62ed3e1461032e575b600080fd5b34801561009f57600080fd5b506100de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103a5565b604051808215151515815260200191505060405180910390f35b34801561010457600080fd5b5061010d610497565b6040518082815260200191505060405180910390f35b34801561012f57600080fd5b5061018e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104a1565b604051808215151515815260200191505060405180910390f35b3480156101b457600080fd5b506101f3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061085c565b604051808215151515815260200191505060405180910390f35b34801561021957600080fd5b5061024e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aee565b6040518082815260200191505060405180910390f35b34801561027057600080fd5b506102af600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b36565b604051808215151515815260200191505060405180910390f35b3480156102d557600080fd5b50610314600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d56565b604051808215151515815260200191505060405180910390f35b34801561033a57600080fd5b5061038f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f52565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156104f057600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561057b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156105b757600080fd5b610608826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd990919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061069b826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ff290919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061076c82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd990919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808310151561096e576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610a02565b6109818382610fd990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610b8557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610bc157600080fd5b610c12826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd990919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ca5826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ff290919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610de782600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ff290919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610fe757fe5b818303905092915050565b6000818301905082811015151561100557fe5b809050929150505600a165627a7a7230582060dd448dac1261e1bdfceaba47e9c282d583085901bc2dfb67323c70e1aabaa50029", + "sourceMap": "334:3780:90:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;334:3780:90;;;;;;;", + "deployedSourceMap": "334:3780:90:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1814:188;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1814:188:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;389:83:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;389:83:87;;;;;;;;;;;;;;;;;;;;;;;726:470:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;726:470:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3679:432;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3679:432:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1149:99:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1149:99:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;626:321;;8:9:-1;5:2;;;30:1;27;20:12;5:2;626:321:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2926:296:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2926:296:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2321:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2321:153:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1814:188;1881:4;1925:6;1893:7;:19;1901:10;1893:19;;;;;;;;;;;;;;;:29;1913:8;1893:29;;;;;;;;;;;;;;;:38;;;;1963:8;1942:38;;1951:10;1942:38;;;1973:6;1942:38;;;;;;;;;;;;;;;;;;1993:4;1986:11;;1814:188;;;;:::o;389:83:87:-;433:7;455:12;;448:19;;389:83;:::o;726:470:90:-;832:4;864:8;:15;873:5;864:15;;;;;;;;;;;;;;;;854:6;:25;;846:34;;;;;;;;904:7;:14;912:5;904:14;;;;;;;;;;;;;;;:26;919:10;904:26;;;;;;;;;;;;;;;;894:6;:36;;886:45;;;;;;;;960:1;945:17;;:3;:17;;;;937:26;;;;;;;;988:27;1008:6;988:8;:15;997:5;988:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;970:8;:15;979:5;970:15;;;;;;;;;;;;;;;:45;;;;1037:25;1055:6;1037:8;:13;1046:3;1037:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1021:8;:13;1030:3;1021:13;;;;;;;;;;;;;;;:41;;;;1097:38;1128:6;1097:7;:14;1105:5;1097:14;;;;;;;;;;;;;;;:26;1112:10;1097:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;1068:7;:14;1076:5;1068:14;;;;;;;;;;;;;;;:26;1083:10;1068:26;;;;;;;;;;;;;;;:67;;;;1162:3;1146:28;;1155:5;1146:28;;;1167:6;1146:28;;;;;;;;;;;;;;;;;;1187:4;1180:11;;726:470;;;;;:::o;3679:432::-;3785:4;3799:16;3818:7;:19;3826:10;3818:19;;;;;;;;;;;;;;;:29;3838:8;3818:29;;;;;;;;;;;;;;;;3799:48;;3877:8;3857:16;:28;;3853:165;;;3927:1;3895:7;:19;3903:10;3895:19;;;;;;;;;;;;;;;:29;3915:8;3895:29;;;;;;;;;;;;;;;:33;;;;3853:165;;;3981:30;3994:16;3981:8;:12;;:30;;;;:::i;:::-;3949:7;:19;3957:10;3949:19;;;;;;;;;;;;;;;:29;3969:8;3949:29;;;;;;;;;;;;;;;:62;;;;3853:165;4049:8;4028:61;;4037:10;4028:61;;;4059:7;:19;4067:10;4059:19;;;;;;;;;;;;;;;:29;4079:8;4059:29;;;;;;;;;;;;;;;;4028:61;;;;;;;;;;;;;;;;;;4102:4;4095:11;;3679:432;;;;;:::o;1149:99:87:-;1205:7;1227:8;:16;1236:6;1227:16;;;;;;;;;;;;;;;;1220:23;;1149:99;;;:::o;626:321::-;689:4;719:8;:20;728:10;719:20;;;;;;;;;;;;;;;;709:6;:30;;701:39;;;;;;;;769:1;754:17;;:3;:17;;;;746:26;;;;;;;;802:32;827:6;802:8;:20;811:10;802:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;779:8;:20;788:10;779:20;;;;;;;;;;;;;;;:55;;;;856:25;874:6;856:8;:13;865:3;856:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;840:8;:13;849:3;840:13;;;;;;;;;;;;;;;:41;;;;913:3;892:33;;901:10;892:33;;;918:6;892:33;;;;;;;;;;;;;;;;;;938:4;931:11;;626:321;;;;:::o;2926:296:90:-;3027:4;3081:46;3115:11;3081:7;:19;3089:10;3081:19;;;;;;;;;;;;;;;:29;3101:8;3081:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;3041:7;:19;3049:10;3041:19;;;;;;;;;;;;;;;:29;3061:8;3041:29;;;;;;;;;;;;;;;:87;;;;3160:8;3139:61;;3148:10;3139:61;;;3170:7;:19;3178:10;3170:19;;;;;;;;;;;;;;;:29;3190:8;3170:29;;;;;;;;;;;;;;;;3139:61;;;;;;;;;;;;;;;;;;3213:4;3206:11;;2926:296;;;;:::o;2321:153::-;2420:7;2444;:15;2452:6;2444:15;;;;;;;;;;;;;;;:25;2460:8;2444:25;;;;;;;;;;;;;;;;2437:32;;2321:153;;;;:::o;1060:116:84:-;1120:7;1148:2;1142;:8;;1135:16;;;;;;1169:2;1164;:7;1157:14;;1060:116;;;;:::o;1238:128::-;1298:9;1324:2;1319;:7;1315:11;;1344:2;1339:1;:7;;1332:15;;;;;;1360:1;1353:8;;1238:128;;;;:::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(_value <= balances[_from]);\n require(_value <= allowed[_from][msg.sender]);\n require(_to != address(0));\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": "openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol", + "ast": { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol", + "exportedSymbols": { + "StandardToken": [ + 26597 + ] + }, + "id": 26598, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 26352, + "literals": [ + "solidity", + "^", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:24:90" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/BasicToken.sol", + "file": "./BasicToken.sol", + "id": 26353, + "nodeType": "ImportDirective", + "scope": 26598, + "sourceUnit": 26276, + "src": "26:26:90", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", + "file": "./ERC20.sol", + "id": 26354, + "nodeType": "ImportDirective", + "scope": 26598, + "sourceUnit": 26319, + "src": "53:21:90", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 26355, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 26318, + "src": "360:5:90", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$26318", + "typeString": "contract ERC20" + } + }, + "id": 26356, + "nodeType": "InheritanceSpecifier", + "src": "360:5:90" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 26357, + "name": "BasicToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 26275, + "src": "367:10:90", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BasicToken_$26275", + "typeString": "contract BasicToken" + } + }, + "id": 26358, + "nodeType": "InheritanceSpecifier", + "src": "367:10:90" + } + ], + "contractDependencies": [ + 26275, + 26318, + 26350 + ], + "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": 26597, + "linearizedBaseContracts": [ + 26597, + 26275, + 26318, + 26350 + ], + "name": "StandardToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 26364, + "name": "allowed", + "nodeType": "VariableDeclaration", + "scope": 26597, + "src": "383:66:90", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "typeName": { + "id": 26363, + "keyType": { + "id": 26359, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "392:7:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "383:49:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "valueType": { + "id": 26362, + "keyType": { + "id": 26360, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "412:7:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "403:28:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 26361, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "423:7:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 26449, + "nodeType": "Block", + "src": "840:356:90", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 26376, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26370, + "src": "854:6:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26377, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "864:8:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26379, + "indexExpression": { + "argumentTypes": null, + "id": 26378, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26366, + "src": "873:5:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "864:15:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "854:25:90", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 26375, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "846:7:90", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 26381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "846:34:90", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26382, + "nodeType": "ExpressionStatement", + "src": "846:34:90" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 26384, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26370, + "src": "894:6:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26385, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "904:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26387, + "indexExpression": { + "argumentTypes": null, + "id": 26386, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26366, + "src": "912:5:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "904:14:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26390, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26388, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "919:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "919:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "904:26:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "894:36:90", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 26383, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "886:7:90", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 26392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "886:45:90", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26393, + "nodeType": "ExpressionStatement", + "src": "886:45:90" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 26399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 26395, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26368, + "src": "945:3:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 26397, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "960:1:90", + "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": 26396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "952:7:90", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 26398, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "952:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "945:17:90", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 26394, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "937:7:90", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 26400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "937:26:90", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26401, + "nodeType": "ExpressionStatement", + "src": "937:26:90" + }, + { + "expression": { + "argumentTypes": null, + "id": 26411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26402, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "970:8:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26404, + "indexExpression": { + "argumentTypes": null, + "id": 26403, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26366, + "src": "979:5:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "970:15:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26409, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26370, + "src": "1008:6:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26405, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "988:8:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26407, + "indexExpression": { + "argumentTypes": null, + "id": 26406, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26366, + "src": "997:5:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "988:15:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "988:19:90", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 26410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "988:27:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "970:45:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26412, + "nodeType": "ExpressionStatement", + "src": "970:45:90" + }, + { + "expression": { + "argumentTypes": null, + "id": 26422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26413, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "1021:8:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26415, + "indexExpression": { + "argumentTypes": null, + "id": 26414, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26368, + "src": "1030:3:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1021:13:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26420, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26370, + "src": "1055:6:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26416, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "1037:8:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26418, + "indexExpression": { + "argumentTypes": null, + "id": 26417, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26368, + "src": "1046:3:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1037:13:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "1037:17:90", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 26421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1037:25:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1021:41:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26423, + "nodeType": "ExpressionStatement", + "src": "1021:41:90" + }, + { + "expression": { + "argumentTypes": null, + "id": 26439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26424, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "1068:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26428, + "indexExpression": { + "argumentTypes": null, + "id": 26425, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26366, + "src": "1076:5:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1068:14:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26429, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26426, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1083:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1083:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1068:26:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26437, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26370, + "src": "1128:6:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26430, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "1097:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26432, + "indexExpression": { + "argumentTypes": null, + "id": 26431, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26366, + "src": "1105:5:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1097:14:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26435, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26433, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1112:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1112:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1097:26:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "1097:30:90", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 26438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1097:38:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1068:67:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26440, + "nodeType": "ExpressionStatement", + "src": "1068:67:90" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26442, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26366, + "src": "1155:5:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 26443, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26368, + "src": "1162:3:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 26444, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26370, + "src": "1167:6:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 26441, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26349, + "src": "1146:8:90", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 26445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1146:28:90", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26446, + "nodeType": "EmitStatement", + "src": "1141:33:90" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 26447, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1187:4:90", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 26374, + "id": 26448, + "nodeType": "Return", + "src": "1180:11:90" + } + ] + }, + "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": 26450, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26371, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26366, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 26450, + "src": "753:13:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26365, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "753:7:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26368, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 26450, + "src": "772:11:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26367, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "772:7:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26370, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 26450, + "src": "789:14:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26369, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "789:7:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "747:60:90" + }, + "payable": false, + "returnParameters": { + "id": 26374, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26373, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26450, + "src": "832:4:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26372, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "832:4:90", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "831:6:90" + }, + "scope": 26597, + "src": "726:470:90", + "stateMutability": "nonpayable", + "superFunction": 26300, + "visibility": "public" + }, + { + "body": { + "id": 26477, + "nodeType": "Block", + "src": "1887:115:90", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 26466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26459, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "1893:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26463, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26460, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1901:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1901:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1893:19:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26464, + "indexExpression": { + "argumentTypes": null, + "id": 26462, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26452, + "src": "1913:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1893:29:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 26465, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26454, + "src": "1925:6:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1893:38:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26467, + "nodeType": "ExpressionStatement", + "src": "1893:38:90" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26469, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1951:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1951:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 26471, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26452, + "src": "1963:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 26472, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26454, + "src": "1973:6:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 26468, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26317, + "src": "1942:8:90", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 26473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1942:38:90", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26474, + "nodeType": "EmitStatement", + "src": "1937:43:90" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 26475, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1993:4:90", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 26458, + "id": 26476, + "nodeType": "Return", + "src": "1986:11:90" + } + ] + }, + "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": 26478, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26455, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26452, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 26478, + "src": "1831:16:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26451, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1831:7:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26454, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 26478, + "src": "1849:14:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26453, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1849:7:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1830:34:90" + }, + "payable": false, + "returnParameters": { + "id": 26458, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26457, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26478, + "src": "1881:4:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26456, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1881:4:90", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1880:6:90" + }, + "scope": 26597, + "src": "1814:188:90", + "stateMutability": "nonpayable", + "superFunction": 26309, + "visibility": "public" + }, + { + "body": { + "id": 26493, + "nodeType": "Block", + "src": "2431:43:90", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26487, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "2444:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26489, + "indexExpression": { + "argumentTypes": null, + "id": 26488, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26480, + "src": "2452:6:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2444:15:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26491, + "indexExpression": { + "argumentTypes": null, + "id": 26490, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26482, + "src": "2460:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2444:25:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 26486, + "id": 26492, + "nodeType": "Return", + "src": "2437:32:90" + } + ] + }, + "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": 26494, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26483, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26480, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 26494, + "src": "2345:14:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26479, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2345:7:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26482, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 26494, + "src": "2365:16:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26481, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2365:7:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2339:47:90" + }, + "payable": false, + "returnParameters": { + "id": 26486, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26485, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26494, + "src": "2420:7:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26484, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2420:7:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2419:9:90" + }, + "scope": 26597, + "src": "2321:153:90", + "stateMutability": "view", + "superFunction": 26289, + "visibility": "public" + }, + { + "body": { + "id": 26535, + "nodeType": "Block", + "src": "3035:187:90", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 26519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26503, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "3041:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26507, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26504, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "3049:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3049:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3041:19:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26508, + "indexExpression": { + "argumentTypes": null, + "id": 26506, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26496, + "src": "3061:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3041:29:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26516, + "name": "_addedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26498, + "src": "3115:11:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26509, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "3081:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26512, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26510, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "3089:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3089:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3081:19:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26514, + "indexExpression": { + "argumentTypes": null, + "id": 26513, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26496, + "src": "3101:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3081:29:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "3081:33:90", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 26517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3081:46:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 26518, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3073:55:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3041:87:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26520, + "nodeType": "ExpressionStatement", + "src": "3041:87:90" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26522, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "3148:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3148:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 26524, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26496, + "src": "3160:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26525, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "3170:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26528, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26526, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "3178:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3178:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3170:19:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26530, + "indexExpression": { + "argumentTypes": null, + "id": 26529, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26496, + "src": "3190:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3170:29:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 26521, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26317, + "src": "3139:8:90", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 26531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3139:61:90", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26532, + "nodeType": "EmitStatement", + "src": "3134:66:90" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 26533, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3213:4:90", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 26502, + "id": 26534, + "nodeType": "Return", + "src": "3206:11:90" + } + ] + }, + "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": 26536, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "increaseApproval", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26499, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26496, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 26536, + "src": "2957:16:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26495, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2957:7:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26498, + "name": "_addedValue", + "nodeType": "VariableDeclaration", + "scope": 26536, + "src": "2979:19:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26497, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2979:7:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2951:51:90" + }, + "payable": false, + "returnParameters": { + "id": 26502, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26501, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26536, + "src": "3027:4:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26500, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3027:4:90", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3026:6:90" + }, + "scope": 26597, + "src": "2926:296:90", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 26595, + "nodeType": "Block", + "src": "3793:318:90", + "statements": [ + { + "assignments": [ + 26546 + ], + "declarations": [ + { + "constant": false, + "id": 26546, + "name": "oldValue", + "nodeType": "VariableDeclaration", + "scope": 26596, + "src": "3799:16:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26545, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3799:7:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 26553, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26547, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "3818:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26550, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26548, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "3826:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3826:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3818:19:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26552, + "indexExpression": { + "argumentTypes": null, + "id": 26551, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26538, + "src": "3838:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3818:29:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3799:48:90" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 26554, + "name": "_subtractedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26540, + "src": "3857:16:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 26555, + "name": "oldValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26546, + "src": "3877:8:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3857:28:90", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 26579, + "nodeType": "Block", + "src": "3941:77:90", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 26577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26567, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "3949:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26571, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26568, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "3957:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3957:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3949:19:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26572, + "indexExpression": { + "argumentTypes": null, + "id": 26570, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26538, + "src": "3969:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3949:29:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26575, + "name": "_subtractedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26540, + "src": "3994:16:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 26573, + "name": "oldValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26546, + "src": "3981:8:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "3981:12:90", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 26576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3981:30:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3949:62:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26578, + "nodeType": "ExpressionStatement", + "src": "3949:62:90" + } + ] + }, + "id": 26580, + "nodeType": "IfStatement", + "src": "3853:165:90", + "trueBody": { + "id": 26566, + "nodeType": "Block", + "src": "3887:48:90", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 26564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26557, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "3895:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26561, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26558, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "3903:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3903:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3895:19:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26562, + "indexExpression": { + "argumentTypes": null, + "id": 26560, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26538, + "src": "3915:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3895:29:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 26563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3927:1:90", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3895:33:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26565, + "nodeType": "ExpressionStatement", + "src": "3895:33:90" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26582, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4037:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4037:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 26584, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26538, + "src": "4049:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26585, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "4059:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26588, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26586, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4067:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4067:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4059:19:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26590, + "indexExpression": { + "argumentTypes": null, + "id": 26589, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26538, + "src": "4079:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4059:29:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 26581, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26317, + "src": "4028:8:90", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 26591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4028:61:90", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26592, + "nodeType": "EmitStatement", + "src": "4023:66:90" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 26593, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4102:4:90", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 26544, + "id": 26594, + "nodeType": "Return", + "src": "4095:11:90" + } + ] + }, + "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": 26596, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "decreaseApproval", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26541, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26538, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 26596, + "src": "3710:16:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26537, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3710:7:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26540, + "name": "_subtractedValue", + "nodeType": "VariableDeclaration", + "scope": 26596, + "src": "3732:24:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26539, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3732:7:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3704:56:90" + }, + "payable": false, + "returnParameters": { + "id": 26544, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26543, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26596, + "src": "3785:4:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26542, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3785:4:90", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3784:6:90" + }, + "scope": 26597, + "src": "3679:432:90", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 26598, + "src": "334:3780:90" + } + ], + "src": "0:4115:90" + }, + "legacyAST": { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/StandardToken.sol", + "exportedSymbols": { + "StandardToken": [ + 26597 + ] + }, + "id": 26598, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 26352, + "literals": [ + "solidity", + "^", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:24:90" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/BasicToken.sol", + "file": "./BasicToken.sol", + "id": 26353, + "nodeType": "ImportDirective", + "scope": 26598, + "sourceUnit": 26276, + "src": "26:26:90", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol", + "file": "./ERC20.sol", + "id": 26354, + "nodeType": "ImportDirective", + "scope": 26598, + "sourceUnit": 26319, + "src": "53:21:90", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 26355, + "name": "ERC20", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 26318, + "src": "360:5:90", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC20_$26318", + "typeString": "contract ERC20" + } + }, + "id": 26356, + "nodeType": "InheritanceSpecifier", + "src": "360:5:90" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 26357, + "name": "BasicToken", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 26275, + "src": "367:10:90", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BasicToken_$26275", + "typeString": "contract BasicToken" + } + }, + "id": 26358, + "nodeType": "InheritanceSpecifier", + "src": "367:10:90" + } + ], + "contractDependencies": [ + 26275, + 26318, + 26350 + ], + "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": 26597, + "linearizedBaseContracts": [ + 26597, + 26275, + 26318, + 26350 + ], + "name": "StandardToken", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 26364, + "name": "allowed", + "nodeType": "VariableDeclaration", + "scope": 26597, + "src": "383:66:90", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "typeName": { + "id": 26363, + "keyType": { + "id": 26359, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "392:7:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "383:49:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "valueType": { + "id": 26362, + "keyType": { + "id": 26360, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "412:7:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "403:28:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 26361, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "423:7:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "value": null, + "visibility": "internal" + }, + { + "body": { + "id": 26449, + "nodeType": "Block", + "src": "840:356:90", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 26376, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26370, + "src": "854:6:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26377, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "864:8:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26379, + "indexExpression": { + "argumentTypes": null, + "id": 26378, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26366, + "src": "873:5:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "864:15:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "854:25:90", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 26375, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "846:7:90", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 26381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "846:34:90", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26382, + "nodeType": "ExpressionStatement", + "src": "846:34:90" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 26384, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26370, + "src": "894:6:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26385, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "904:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26387, + "indexExpression": { + "argumentTypes": null, + "id": 26386, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26366, + "src": "912:5:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "904:14:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26390, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26388, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "919:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "919:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "904:26:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "894:36:90", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 26383, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "886:7:90", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 26392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "886:45:90", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26393, + "nodeType": "ExpressionStatement", + "src": "886:45:90" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 26399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 26395, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26368, + "src": "945:3:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 26397, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "960:1:90", + "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": 26396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "952:7:90", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 26398, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "952:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "945:17:90", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 26394, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "937:7:90", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 26400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "937:26:90", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26401, + "nodeType": "ExpressionStatement", + "src": "937:26:90" + }, + { + "expression": { + "argumentTypes": null, + "id": 26411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26402, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "970:8:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26404, + "indexExpression": { + "argumentTypes": null, + "id": 26403, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26366, + "src": "979:5:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "970:15:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26409, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26370, + "src": "1008:6:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26405, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "988:8:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26407, + "indexExpression": { + "argumentTypes": null, + "id": 26406, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26366, + "src": "997:5:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "988:15:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "988:19:90", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 26410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "988:27:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "970:45:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26412, + "nodeType": "ExpressionStatement", + "src": "970:45:90" + }, + { + "expression": { + "argumentTypes": null, + "id": 26422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26413, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "1021:8:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26415, + "indexExpression": { + "argumentTypes": null, + "id": 26414, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26368, + "src": "1030:3:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1021:13:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26420, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26370, + "src": "1055:6:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26416, + "name": "balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26192, + "src": "1037:8:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26418, + "indexExpression": { + "argumentTypes": null, + "id": 26417, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26368, + "src": "1046:3:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1037:13:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "1037:17:90", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 26421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1037:25:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1021:41:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26423, + "nodeType": "ExpressionStatement", + "src": "1021:41:90" + }, + { + "expression": { + "argumentTypes": null, + "id": 26439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26424, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "1068:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26428, + "indexExpression": { + "argumentTypes": null, + "id": 26425, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26366, + "src": "1076:5:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1068:14:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26429, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26426, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1083:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1083:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1068:26:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26437, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26370, + "src": "1128:6:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26430, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "1097:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26432, + "indexExpression": { + "argumentTypes": null, + "id": 26431, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26366, + "src": "1105:5:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1097:14:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26435, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26433, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1112:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1112:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1097:26:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "1097:30:90", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 26438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1097:38:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1068:67:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26440, + "nodeType": "ExpressionStatement", + "src": "1068:67:90" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26442, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26366, + "src": "1155:5:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 26443, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26368, + "src": "1162:3:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 26444, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26370, + "src": "1167:6:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 26441, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26349, + "src": "1146:8:90", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 26445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1146:28:90", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26446, + "nodeType": "EmitStatement", + "src": "1141:33:90" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 26447, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1187:4:90", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 26374, + "id": 26448, + "nodeType": "Return", + "src": "1180:11:90" + } + ] + }, + "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": 26450, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26371, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26366, + "name": "_from", + "nodeType": "VariableDeclaration", + "scope": 26450, + "src": "753:13:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26365, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "753:7:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26368, + "name": "_to", + "nodeType": "VariableDeclaration", + "scope": 26450, + "src": "772:11:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26367, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "772:7:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26370, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 26450, + "src": "789:14:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26369, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "789:7:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "747:60:90" + }, + "payable": false, + "returnParameters": { + "id": 26374, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26373, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26450, + "src": "832:4:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26372, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "832:4:90", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "831:6:90" + }, + "scope": 26597, + "src": "726:470:90", + "stateMutability": "nonpayable", + "superFunction": 26300, + "visibility": "public" + }, + { + "body": { + "id": 26477, + "nodeType": "Block", + "src": "1887:115:90", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 26466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26459, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "1893:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26463, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26460, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1901:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1901:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1893:19:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26464, + "indexExpression": { + "argumentTypes": null, + "id": 26462, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26452, + "src": "1913:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1893:29:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 26465, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26454, + "src": "1925:6:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1893:38:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26467, + "nodeType": "ExpressionStatement", + "src": "1893:38:90" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26469, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "1951:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1951:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 26471, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26452, + "src": "1963:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 26472, + "name": "_value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26454, + "src": "1973:6:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 26468, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26317, + "src": "1942:8:90", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 26473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1942:38:90", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26474, + "nodeType": "EmitStatement", + "src": "1937:43:90" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 26475, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1993:4:90", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 26458, + "id": 26476, + "nodeType": "Return", + "src": "1986:11:90" + } + ] + }, + "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": 26478, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26455, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26452, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 26478, + "src": "1831:16:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26451, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1831:7:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26454, + "name": "_value", + "nodeType": "VariableDeclaration", + "scope": 26478, + "src": "1849:14:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26453, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1849:7:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1830:34:90" + }, + "payable": false, + "returnParameters": { + "id": 26458, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26457, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26478, + "src": "1881:4:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26456, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1881:4:90", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1880:6:90" + }, + "scope": 26597, + "src": "1814:188:90", + "stateMutability": "nonpayable", + "superFunction": 26309, + "visibility": "public" + }, + { + "body": { + "id": 26493, + "nodeType": "Block", + "src": "2431:43:90", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26487, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "2444:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26489, + "indexExpression": { + "argumentTypes": null, + "id": 26488, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26480, + "src": "2452:6:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2444:15:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26491, + "indexExpression": { + "argumentTypes": null, + "id": 26490, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26482, + "src": "2460:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2444:25:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 26486, + "id": 26492, + "nodeType": "Return", + "src": "2437:32:90" + } + ] + }, + "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": 26494, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "allowance", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26483, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26480, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 26494, + "src": "2345:14:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26479, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2345:7:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26482, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 26494, + "src": "2365:16:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26481, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2365:7:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2339:47:90" + }, + "payable": false, + "returnParameters": { + "id": 26486, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26485, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26494, + "src": "2420:7:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26484, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2420:7:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2419:9:90" + }, + "scope": 26597, + "src": "2321:153:90", + "stateMutability": "view", + "superFunction": 26289, + "visibility": "public" + }, + { + "body": { + "id": 26535, + "nodeType": "Block", + "src": "3035:187:90", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 26519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26503, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "3041:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26507, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26504, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "3049:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3049:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3041:19:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26508, + "indexExpression": { + "argumentTypes": null, + "id": 26506, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26496, + "src": "3061:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3041:29:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26516, + "name": "_addedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26498, + "src": "3115:11:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26509, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "3081:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26512, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26510, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "3089:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3089:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3081:19:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26514, + "indexExpression": { + "argumentTypes": null, + "id": 26513, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26496, + "src": "3101:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3081:29:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 26040, + "src": "3081:33:90", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 26517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3081:46:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 26518, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3073:55:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3041:87:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26520, + "nodeType": "ExpressionStatement", + "src": "3041:87:90" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26522, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "3148:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3148:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 26524, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26496, + "src": "3160:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26525, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "3170:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26528, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26526, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "3178:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3178:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3170:19:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26530, + "indexExpression": { + "argumentTypes": null, + "id": 26529, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26496, + "src": "3190:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3170:29:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 26521, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26317, + "src": "3139:8:90", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 26531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3139:61:90", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26532, + "nodeType": "EmitStatement", + "src": "3134:66:90" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 26533, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3213:4:90", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 26502, + "id": 26534, + "nodeType": "Return", + "src": "3206:11:90" + } + ] + }, + "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": 26536, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "increaseApproval", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26499, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26496, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 26536, + "src": "2957:16:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26495, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2957:7:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26498, + "name": "_addedValue", + "nodeType": "VariableDeclaration", + "scope": 26536, + "src": "2979:19:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26497, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2979:7:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2951:51:90" + }, + "payable": false, + "returnParameters": { + "id": 26502, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26501, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26536, + "src": "3027:4:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26500, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3027:4:90", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3026:6:90" + }, + "scope": 26597, + "src": "2926:296:90", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 26595, + "nodeType": "Block", + "src": "3793:318:90", + "statements": [ + { + "assignments": [ + 26546 + ], + "declarations": [ + { + "constant": false, + "id": 26546, + "name": "oldValue", + "nodeType": "VariableDeclaration", + "scope": 26596, + "src": "3799:16:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26545, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3799:7:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 26553, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26547, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "3818:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26550, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26548, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "3826:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3826:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3818:19:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26552, + "indexExpression": { + "argumentTypes": null, + "id": 26551, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26538, + "src": "3838:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3818:29:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3799:48:90" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 26556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 26554, + "name": "_subtractedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26540, + "src": "3857:16:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 26555, + "name": "oldValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26546, + "src": "3877:8:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3857:28:90", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 26579, + "nodeType": "Block", + "src": "3941:77:90", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 26577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26567, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "3949:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26571, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26568, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "3957:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3957:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3949:19:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26572, + "indexExpression": { + "argumentTypes": null, + "id": 26570, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26538, + "src": "3969:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3949:29:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 26575, + "name": "_subtractedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26540, + "src": "3994:16:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 26573, + "name": "oldValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26546, + "src": "3981:8:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sub", + "nodeType": "MemberAccess", + "referencedDeclaration": 26016, + "src": "3981:12:90", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", + "typeString": "function (uint256,uint256) pure returns (uint256)" + } + }, + "id": 26576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3981:30:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3949:62:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26578, + "nodeType": "ExpressionStatement", + "src": "3949:62:90" + } + ] + }, + "id": 26580, + "nodeType": "IfStatement", + "src": "3853:165:90", + "trueBody": { + "id": 26566, + "nodeType": "Block", + "src": "3887:48:90", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 26564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26557, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "3895:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26561, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26558, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "3903:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3903:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3895:19:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26562, + "indexExpression": { + "argumentTypes": null, + "id": 26560, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26538, + "src": "3915:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3895:29:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 26563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3927:1:90", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3895:33:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 26565, + "nodeType": "ExpressionStatement", + "src": "3895:33:90" + } + ] + } + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26582, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4037:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4037:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 26584, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26538, + "src": "4049:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 26585, + "name": "allowed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26364, + "src": "4059:7:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 26588, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 26586, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26612, + "src": "4067:3:90", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 26587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4067:10:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4059:19:90", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 26590, + "indexExpression": { + "argumentTypes": null, + "id": 26589, + "name": "_spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26538, + "src": "4079:8:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4059:29:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 26581, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26317, + "src": "4028:8:90", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 26591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4028:61:90", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 26592, + "nodeType": "EmitStatement", + "src": "4023:66:90" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 26593, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4102:4:90", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 26544, + "id": 26594, + "nodeType": "Return", + "src": "4095:11:90" + } + ] + }, + "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": 26596, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "decreaseApproval", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 26541, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26538, + "name": "_spender", + "nodeType": "VariableDeclaration", + "scope": 26596, + "src": "3710:16:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26537, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3710:7:90", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 26540, + "name": "_subtractedValue", + "nodeType": "VariableDeclaration", + "scope": 26596, + "src": "3732:24:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 26539, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3732:7:90", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3704:56:90" + }, + "payable": false, + "returnParameters": { + "id": 26544, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 26543, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 26596, + "src": "3785:4:90", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 26542, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3785:4:90", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3784:6:90" + }, + "scope": 26597, + "src": "3679:432:90", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 26598, + "src": "334:3780:90" + } + ], + "src": "0:4115:90" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.946Z" +} \ No newline at end of file diff --git a/build/contracts/TokenReceiver.json b/build/contracts/TokenReceiver.json new file mode 100644 index 0000000..35a2892 --- /dev/null +++ b/build/contracts/TokenReceiver.json @@ -0,0 +1,397 @@ +{ + "contractName": "TokenReceiver", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "from", + "type": "address" + }, + { + "name": "amount", + "type": "uint256" + }, + { + "name": "data", + "type": "bytes32" + } + ], + "name": "tokenFallback", + "outputs": [ + { + "name": "success", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.4.19;\n\ncontract TokenReceiver {\n function tokenFallback(address from, uint256 amount, bytes32 data) public returns (bool success);\n}\n", + "sourcePath": "@digix/lite-dgx-contract/contracts/TokenReceiver.sol", + "ast": { + "absolutePath": "@digix/lite-dgx-contract/contracts/TokenReceiver.sol", + "exportedSymbols": { + "TokenReceiver": [ + 21636 + ] + }, + "id": 21637, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 21624, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:71" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 21636, + "linearizedBaseContracts": [ + 21636 + ], + "name": "TokenReceiver", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 21635, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "tokenFallback", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21631, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21626, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 21635, + "src": "76:12:71", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21625, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "76:7:71", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21628, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 21635, + "src": "90:14:71", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21627, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "90:7:71", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21630, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 21635, + "src": "106:12:71", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 21629, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "106:7:71", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "75:44:71" + }, + "payable": false, + "returnParameters": { + "id": 21634, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21633, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 21635, + "src": "136:12:71", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21632, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "136:4:71", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "135:14:71" + }, + "scope": 21636, + "src": "53:97:71", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 21637, + "src": "26:126:71" + } + ], + "src": "0:153:71" + }, + "legacyAST": { + "absolutePath": "@digix/lite-dgx-contract/contracts/TokenReceiver.sol", + "exportedSymbols": { + "TokenReceiver": [ + 21636 + ] + }, + "id": 21637, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 21624, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:71" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "id": 21636, + "linearizedBaseContracts": [ + 21636 + ], + "name": "TokenReceiver", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 21635, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "tokenFallback", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 21631, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21626, + "name": "from", + "nodeType": "VariableDeclaration", + "scope": 21635, + "src": "76:12:71", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21625, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "76:7:71", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21628, + "name": "amount", + "nodeType": "VariableDeclaration", + "scope": 21635, + "src": "90:14:71", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21627, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "90:7:71", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21630, + "name": "data", + "nodeType": "VariableDeclaration", + "scope": 21635, + "src": "106:12:71", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 21629, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "106:7:71", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "75:44:71" + }, + "payable": false, + "returnParameters": { + "id": 21634, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21633, + "name": "success", + "nodeType": "VariableDeclaration", + "scope": 21635, + "src": "136:12:71", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21632, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "136:4:71", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "135:14:71" + }, + "scope": 21636, + "src": "53:97:71", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + } + ], + "scope": 21637, + "src": "26:126:71" + } + ], + "src": "0:153:71" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.921Z" +} \ No newline at end of file diff --git a/build/contracts/TransferStructs.json b/build/contracts/TransferStructs.json new file mode 100644 index 0000000..3dbe087 --- /dev/null +++ b/build/contracts/TransferStructs.json @@ -0,0 +1,1345 @@ +{ + "contractName": "TransferStructs", + "abi": [], + "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a7230582049f74fb084e826aa2be5b5b650785c60e596aa44d17c52fb0180dfd32144df190029", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a7230582049f74fb084e826aa2be5b5b650785c60e596aa44d17c52fb0180dfd32144df190029", + "sourceMap": "88:692:73:-;;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": "88:692:73:-;;;;;;;;", + "source": "pragma solidity ^0.4.19;\n\nimport \"@digix/solidity-core-libraries/contracts/Types.sol\";\n\nlibrary TransferStructs {\n using Types for Types.MutableUint;\n using Types for Types.MutableTimestamp;\n\n struct User {\n address account;\n Types.MutableUint balance;\n bool no_transfer_fee;\n }\n\n struct Spender {\n address account;\n Types.MutableUint allowance;\n }\n\n struct Config {\n Types.MutableUint collector_balance;\n address collector;\n uint256 base;\n uint256 rate;\n bool global_transfer_fee_disabled;\n uint256 minimum_transfer_amount;\n }\n\n struct Transfer {\n User sender;\n User recipient;\n Spender spender;\n Config config;\n Types.MutableUint received_amount;\n uint256 sent_amount;\n uint256 fee;\n bool is_transfer_from;\n }\n}\n", + "sourcePath": "@digix/lite-dgx-contract/contracts/libs/TransferStructs.sol", + "ast": { + "absolutePath": "@digix/lite-dgx-contract/contracts/libs/TransferStructs.sol", + "exportedSymbols": { + "TransferStructs": [ + 21723 + ] + }, + "id": 21724, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 21673, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:73" + }, + { + "absolutePath": "@digix/solidity-core-libraries/contracts/Types.sol", + "file": "@digix/solidity-core-libraries/contracts/Types.sol", + "id": 21674, + "nodeType": "ImportDirective", + "scope": 21724, + "sourceUnit": 25948, + "src": "26:60:73", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 21723, + "linearizedBaseContracts": [ + 21723 + ], + "name": "TransferStructs", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 21677, + "libraryName": { + "contractScope": null, + "id": 21675, + "name": "Types", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25947, + "src": "122:5:73", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Types_$25947", + "typeString": "library Types" + } + }, + "nodeType": "UsingForDirective", + "src": "116:34:73", + "typeName": { + "contractScope": null, + "id": 21676, + "name": "Types.MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "132:17:73", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + } + }, + { + "id": 21680, + "libraryName": { + "contractScope": null, + "id": 21678, + "name": "Types", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25947, + "src": "159:5:73", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Types_$25947", + "typeString": "library Types" + } + }, + "nodeType": "UsingForDirective", + "src": "153:39:73", + "typeName": { + "contractScope": null, + "id": 21679, + "name": "Types.MutableTimestamp", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25639, + "src": "169:22:73", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_storage_ptr", + "typeString": "struct Types.MutableTimestamp" + } + } + }, + { + "canonicalName": "TransferStructs.User", + "id": 21687, + "members": [ + { + "constant": false, + "id": 21682, + "name": "account", + "nodeType": "VariableDeclaration", + "scope": 21687, + "src": "214:15:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21681, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "214:7:73", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21684, + "name": "balance", + "nodeType": "VariableDeclaration", + "scope": 21687, + "src": "235:25:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 21683, + "name": "Types.MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "235:17:73", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21686, + "name": "no_transfer_fee", + "nodeType": "VariableDeclaration", + "scope": 21687, + "src": "266:20:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21685, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "266:4:73", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "User", + "nodeType": "StructDefinition", + "scope": 21723, + "src": "196:95:73", + "visibility": "public" + }, + { + "canonicalName": "TransferStructs.Spender", + "id": 21692, + "members": [ + { + "constant": false, + "id": 21689, + "name": "account", + "nodeType": "VariableDeclaration", + "scope": 21692, + "src": "316:15:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21688, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "316:7:73", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21691, + "name": "allowance", + "nodeType": "VariableDeclaration", + "scope": 21692, + "src": "337:27:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 21690, + "name": "Types.MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "337:17:73", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Spender", + "nodeType": "StructDefinition", + "scope": 21723, + "src": "295:74:73", + "visibility": "public" + }, + { + "canonicalName": "TransferStructs.Config", + "id": 21705, + "members": [ + { + "constant": false, + "id": 21694, + "name": "collector_balance", + "nodeType": "VariableDeclaration", + "scope": 21705, + "src": "393:35:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 21693, + "name": "Types.MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "393:17:73", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21696, + "name": "collector", + "nodeType": "VariableDeclaration", + "scope": 21705, + "src": "434:17:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21695, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "434:7:73", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21698, + "name": "base", + "nodeType": "VariableDeclaration", + "scope": 21705, + "src": "457:12:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21697, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "457:7:73", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21700, + "name": "rate", + "nodeType": "VariableDeclaration", + "scope": 21705, + "src": "475:12:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21699, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "475:7:73", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21702, + "name": "global_transfer_fee_disabled", + "nodeType": "VariableDeclaration", + "scope": 21705, + "src": "493:33:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21701, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "493:4:73", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21704, + "name": "minimum_transfer_amount", + "nodeType": "VariableDeclaration", + "scope": 21705, + "src": "532:31:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21703, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "532:7:73", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Config", + "nodeType": "StructDefinition", + "scope": 21723, + "src": "373:195:73", + "visibility": "public" + }, + { + "canonicalName": "TransferStructs.Transfer", + "id": 21722, + "members": [ + { + "constant": false, + "id": 21707, + "name": "sender", + "nodeType": "VariableDeclaration", + "scope": 21722, + "src": "594:11:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_storage_ptr", + "typeString": "struct TransferStructs.User" + }, + "typeName": { + "contractScope": null, + "id": 21706, + "name": "User", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21687, + "src": "594:4:73", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_storage_ptr", + "typeString": "struct TransferStructs.User" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21709, + "name": "recipient", + "nodeType": "VariableDeclaration", + "scope": 21722, + "src": "611:14:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_storage_ptr", + "typeString": "struct TransferStructs.User" + }, + "typeName": { + "contractScope": null, + "id": 21708, + "name": "User", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21687, + "src": "611:4:73", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_storage_ptr", + "typeString": "struct TransferStructs.User" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21711, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 21722, + "src": "631:15:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Spender_$21692_storage_ptr", + "typeString": "struct TransferStructs.Spender" + }, + "typeName": { + "contractScope": null, + "id": 21710, + "name": "Spender", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21692, + "src": "631:7:73", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Spender_$21692_storage_ptr", + "typeString": "struct TransferStructs.Spender" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21713, + "name": "config", + "nodeType": "VariableDeclaration", + "scope": 21722, + "src": "652:13:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_storage_ptr", + "typeString": "struct TransferStructs.Config" + }, + "typeName": { + "contractScope": null, + "id": 21712, + "name": "Config", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21705, + "src": "652:6:73", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_storage_ptr", + "typeString": "struct TransferStructs.Config" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21715, + "name": "received_amount", + "nodeType": "VariableDeclaration", + "scope": 21722, + "src": "671:33:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 21714, + "name": "Types.MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "671:17:73", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21717, + "name": "sent_amount", + "nodeType": "VariableDeclaration", + "scope": 21722, + "src": "710:19:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21716, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "710:7:73", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21719, + "name": "fee", + "nodeType": "VariableDeclaration", + "scope": 21722, + "src": "735:11:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21718, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "735:7:73", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21721, + "name": "is_transfer_from", + "nodeType": "VariableDeclaration", + "scope": 21722, + "src": "752:21:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21720, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "752:4:73", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Transfer", + "nodeType": "StructDefinition", + "scope": 21723, + "src": "572:206:73", + "visibility": "public" + } + ], + "scope": 21724, + "src": "88:692:73" + } + ], + "src": "0:781:73" + }, + "legacyAST": { + "absolutePath": "@digix/lite-dgx-contract/contracts/libs/TransferStructs.sol", + "exportedSymbols": { + "TransferStructs": [ + 21723 + ] + }, + "id": 21724, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 21673, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:73" + }, + { + "absolutePath": "@digix/solidity-core-libraries/contracts/Types.sol", + "file": "@digix/solidity-core-libraries/contracts/Types.sol", + "id": 21674, + "nodeType": "ImportDirective", + "scope": 21724, + "sourceUnit": 25948, + "src": "26:60:73", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 21723, + "linearizedBaseContracts": [ + 21723 + ], + "name": "TransferStructs", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 21677, + "libraryName": { + "contractScope": null, + "id": 21675, + "name": "Types", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25947, + "src": "122:5:73", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Types_$25947", + "typeString": "library Types" + } + }, + "nodeType": "UsingForDirective", + "src": "116:34:73", + "typeName": { + "contractScope": null, + "id": 21676, + "name": "Types.MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "132:17:73", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + } + }, + { + "id": 21680, + "libraryName": { + "contractScope": null, + "id": 21678, + "name": "Types", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25947, + "src": "159:5:73", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Types_$25947", + "typeString": "library Types" + } + }, + "nodeType": "UsingForDirective", + "src": "153:39:73", + "typeName": { + "contractScope": null, + "id": 21679, + "name": "Types.MutableTimestamp", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25639, + "src": "169:22:73", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_storage_ptr", + "typeString": "struct Types.MutableTimestamp" + } + } + }, + { + "canonicalName": "TransferStructs.User", + "id": 21687, + "members": [ + { + "constant": false, + "id": 21682, + "name": "account", + "nodeType": "VariableDeclaration", + "scope": 21687, + "src": "214:15:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21681, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "214:7:73", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21684, + "name": "balance", + "nodeType": "VariableDeclaration", + "scope": 21687, + "src": "235:25:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 21683, + "name": "Types.MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "235:17:73", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21686, + "name": "no_transfer_fee", + "nodeType": "VariableDeclaration", + "scope": 21687, + "src": "266:20:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21685, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "266:4:73", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "User", + "nodeType": "StructDefinition", + "scope": 21723, + "src": "196:95:73", + "visibility": "public" + }, + { + "canonicalName": "TransferStructs.Spender", + "id": 21692, + "members": [ + { + "constant": false, + "id": 21689, + "name": "account", + "nodeType": "VariableDeclaration", + "scope": 21692, + "src": "316:15:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21688, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "316:7:73", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21691, + "name": "allowance", + "nodeType": "VariableDeclaration", + "scope": 21692, + "src": "337:27:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 21690, + "name": "Types.MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "337:17:73", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Spender", + "nodeType": "StructDefinition", + "scope": 21723, + "src": "295:74:73", + "visibility": "public" + }, + { + "canonicalName": "TransferStructs.Config", + "id": 21705, + "members": [ + { + "constant": false, + "id": 21694, + "name": "collector_balance", + "nodeType": "VariableDeclaration", + "scope": 21705, + "src": "393:35:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 21693, + "name": "Types.MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "393:17:73", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21696, + "name": "collector", + "nodeType": "VariableDeclaration", + "scope": 21705, + "src": "434:17:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21695, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "434:7:73", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21698, + "name": "base", + "nodeType": "VariableDeclaration", + "scope": 21705, + "src": "457:12:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21697, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "457:7:73", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21700, + "name": "rate", + "nodeType": "VariableDeclaration", + "scope": 21705, + "src": "475:12:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21699, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "475:7:73", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21702, + "name": "global_transfer_fee_disabled", + "nodeType": "VariableDeclaration", + "scope": 21705, + "src": "493:33:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21701, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "493:4:73", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21704, + "name": "minimum_transfer_amount", + "nodeType": "VariableDeclaration", + "scope": 21705, + "src": "532:31:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21703, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "532:7:73", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Config", + "nodeType": "StructDefinition", + "scope": 21723, + "src": "373:195:73", + "visibility": "public" + }, + { + "canonicalName": "TransferStructs.Transfer", + "id": 21722, + "members": [ + { + "constant": false, + "id": 21707, + "name": "sender", + "nodeType": "VariableDeclaration", + "scope": 21722, + "src": "594:11:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_storage_ptr", + "typeString": "struct TransferStructs.User" + }, + "typeName": { + "contractScope": null, + "id": 21706, + "name": "User", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21687, + "src": "594:4:73", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_storage_ptr", + "typeString": "struct TransferStructs.User" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21709, + "name": "recipient", + "nodeType": "VariableDeclaration", + "scope": 21722, + "src": "611:14:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_storage_ptr", + "typeString": "struct TransferStructs.User" + }, + "typeName": { + "contractScope": null, + "id": 21708, + "name": "User", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21687, + "src": "611:4:73", + "typeDescriptions": { + "typeIdentifier": "t_struct$_User_$21687_storage_ptr", + "typeString": "struct TransferStructs.User" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21711, + "name": "spender", + "nodeType": "VariableDeclaration", + "scope": 21722, + "src": "631:15:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Spender_$21692_storage_ptr", + "typeString": "struct TransferStructs.Spender" + }, + "typeName": { + "contractScope": null, + "id": 21710, + "name": "Spender", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21692, + "src": "631:7:73", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Spender_$21692_storage_ptr", + "typeString": "struct TransferStructs.Spender" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21713, + "name": "config", + "nodeType": "VariableDeclaration", + "scope": 21722, + "src": "652:13:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_storage_ptr", + "typeString": "struct TransferStructs.Config" + }, + "typeName": { + "contractScope": null, + "id": 21712, + "name": "Config", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 21705, + "src": "652:6:73", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Config_$21705_storage_ptr", + "typeString": "struct TransferStructs.Config" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21715, + "name": "received_amount", + "nodeType": "VariableDeclaration", + "scope": 21722, + "src": "671:33:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 21714, + "name": "Types.MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "671:17:73", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21717, + "name": "sent_amount", + "nodeType": "VariableDeclaration", + "scope": 21722, + "src": "710:19:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21716, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "710:7:73", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21719, + "name": "fee", + "nodeType": "VariableDeclaration", + "scope": 21722, + "src": "735:11:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 21718, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "735:7:73", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 21721, + "name": "is_transfer_from", + "nodeType": "VariableDeclaration", + "scope": 21722, + "src": "752:21:73", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 21720, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "752:4:73", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Transfer", + "nodeType": "StructDefinition", + "scope": 21723, + "src": "572:206:73", + "visibility": "public" + } + ], + "scope": 21724, + "src": "88:692:73" + } + ], + "src": "0:781:73" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.925Z" +} \ No newline at end of file diff --git a/build/contracts/Types.json b/build/contracts/Types.json new file mode 100644 index 0000000..bedf48e --- /dev/null +++ b/build/contracts/Types.json @@ -0,0 +1,8291 @@ +{ + "contractName": "Types", + "abi": [], + "bytecode": "0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a7230582029c0c049c25503a90403a2e48869c0e98132fd44a135492e63477e335540ebe20029", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fd00a165627a7a7230582029c0c049c25503a90403a2e48869c0e98132fd44a135492e63477e335540ebe20029", + "sourceMap": "26:4171:83:-;;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:4171:83:-;;;;;;;;", + "source": "pragma solidity ^0.4.19;\n\nlibrary Types {\n\n struct MutableUint {\n uint256 pre;\n uint256 post;\n }\n\n struct MutableTimestamp {\n MutableUint time;\n uint256 in_units;\n }\n\n function advance_by(MutableTimestamp memory _original, uint256 _units)\n internal\n constant\n returns (MutableTimestamp _transformed)\n {\n _transformed = _original;\n require(now >= _original.time.pre);\n uint256 _lapsed = now - _original.time.pre;\n _transformed.in_units = _lapsed / _units;\n uint256 _ticks = _transformed.in_units * _units;\n if (_transformed.in_units == 0) {\n _transformed.time.post = _original.time.pre;\n } else {\n _transformed.time = add(_transformed.time, _ticks);\n }\n }\n\n // DEPRECATED\n /*function add_two(MutableUint memory _original, uint256 _first, uint256 _second)\n internal\n constant\n returns (MutableUint _transformed)\n {\n require((_original.pre + _first + _second) >= _original.pre);\n _transformed = _original;\n _transformed.post = (_original.pre + _first + _second);\n }*/\n\n function subtract_two(MutableUint memory _original, uint256 _first, uint256 _second)\n internal\n pure\n returns (MutableUint _transformed)\n {\n require(_original.pre >= _first);\n uint256 _after_first = _original.pre - _first;\n require(_after_first >= _second);\n _transformed = _original;\n _original.post = (_after_first - _second);\n }\n\n function subtract_and_add(MutableUint memory _original, uint256 _to_subtract, uint256 _to_add)\n internal\n pure\n returns (MutableUint _transformed)\n {\n require(_original.pre >= _to_subtract);\n uint256 _after_subtract = _original.pre - _to_subtract;\n require((_after_subtract + _to_add) >= _after_subtract);\n _transformed.post = _after_subtract + _to_add;\n }\n\n /// DEPRECATED\n /*function increment(MutableUint memory _original)\n internal\n constant\n returns (MutableUint _transformed)\n {\n _transformed = _original;\n _transformed.post = _original.pre + 1;\n }*/\n\n /// DEPRECATED\n /*function decrement(MutableUint memory _original)\n internal\n constant\n returns (MutableUint _transformed)\n {\n _transformed = _original;\n require((_original.pre + 1) > _original.pre);\n _transformed.post = _original.pre - 1;\n }*/\n\n function add_and_subtract(MutableUint memory _original, uint256 _to_add, uint256 _to_subtract)\n internal\n pure\n returns (MutableUint _transformed)\n {\n require((_original.pre + _to_add) >= _original.pre);\n uint256 _after_add = _original.pre + _to_add;\n require(_after_add >= _to_subtract);\n _transformed = _original;\n _transformed.post = (_after_add - _to_subtract);\n }\n\n function add(MutableUint memory _original, uint256 _amount)\n internal\n pure\n returns (MutableUint _transformed)\n {\n require((_original.pre + _amount) >= _original.pre);\n _transformed = _original;\n _transformed.post = _original.pre + _amount;\n }\n\n function subtract(MutableUint memory _original, uint256 _amount)\n internal\n pure\n returns (MutableUint _transformed)\n {\n require(_amount <= _original.pre);\n _transformed = _original;\n _transformed.post = _original.pre - _amount;\n }\n\n function swap(MutableUint memory _original_a, MutableUint memory _original_b)\n internal\n pure\n returns (MutableUint _transformed_a, MutableUint _transformed_b)\n {\n _transformed_a = _original_a;\n _transformed_b = _original_b;\n _transformed_a.post = _original_b.pre;\n _transformed_b.post = _original_a.pre;\n }\n\n /*function transfer(MutableUint memory _original_from, MutableUint memory _original_to, uint256 _amount)\n internal\n constant\n returns (MutableUint _transformed_from, MutableUint _transformed_to)\n {\n _original_from = _transformed_from;\n _original_to = _transformed_to;\n _transformed_from.post = subtract(_transformed_from, _amount).post;\n _transformed_to.post = add(_transformed_to, _amount).post;\n }*/\n\n}\n", + "sourcePath": "@digix/solidity-core-libraries/contracts/Types.sol", + "ast": { + "absolutePath": "@digix/solidity-core-libraries/contracts/Types.sol", + "exportedSymbols": { + "Types": [ + 25947 + ] + }, + "id": 25948, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 25629, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:83" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 25947, + "linearizedBaseContracts": [ + 25947 + ], + "name": "Types", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Types.MutableUint", + "id": 25634, + "members": [ + { + "constant": false, + "id": 25631, + "name": "pre", + "nodeType": "VariableDeclaration", + "scope": 25634, + "src": "70:11:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25630, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "70:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25633, + "name": "post", + "nodeType": "VariableDeclaration", + "scope": 25634, + "src": "87:12:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25632, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "87:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "MutableUint", + "nodeType": "StructDefinition", + "scope": 25947, + "src": "45:59:83", + "visibility": "public" + }, + { + "canonicalName": "Types.MutableTimestamp", + "id": 25639, + "members": [ + { + "constant": false, + "id": 25636, + "name": "time", + "nodeType": "VariableDeclaration", + "scope": 25639, + "src": "138:16:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25635, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "138:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25638, + "name": "in_units", + "nodeType": "VariableDeclaration", + "scope": 25639, + "src": "160:16:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25637, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "160:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "MutableTimestamp", + "nodeType": "StructDefinition", + "scope": 25947, + "src": "108:73:83", + "visibility": "public" + }, + { + "body": { + "id": 25710, + "nodeType": "Block", + "src": "349:388:83", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25648, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25646, + "src": "355:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 25649, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25641, + "src": "370:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "src": "355:24:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 25651, + "nodeType": "ExpressionStatement", + "src": "355:24:83" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25653, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "393:3:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25654, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25641, + "src": "400:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 25655, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "time", + "nodeType": "MemberAccess", + "referencedDeclaration": 25636, + "src": "400:14:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25656, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "400:18:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "393:25:83", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25652, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "385:7:83", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "385:34:83", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25659, + "nodeType": "ExpressionStatement", + "src": "385:34:83" + }, + { + "assignments": [ + 25661 + ], + "declarations": [ + { + "constant": false, + "id": 25661, + "name": "_lapsed", + "nodeType": "VariableDeclaration", + "scope": 25711, + "src": "425:15:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25660, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "425:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 25667, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25662, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "443:3:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25663, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25641, + "src": "449:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 25664, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "time", + "nodeType": "MemberAccess", + "referencedDeclaration": 25636, + "src": "449:14:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25665, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "449:18:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "443:24:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "425:42:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25668, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25646, + "src": "473:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 25670, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "in_units", + "nodeType": "MemberAccess", + "referencedDeclaration": 25638, + "src": "473:21:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25671, + "name": "_lapsed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25661, + "src": "497:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 25672, + "name": "_units", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25643, + "src": "507:6:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "497:16:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "473:40:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25675, + "nodeType": "ExpressionStatement", + "src": "473:40:83" + }, + { + "assignments": [ + 25677 + ], + "declarations": [ + { + "constant": false, + "id": 25677, + "name": "_ticks", + "nodeType": "VariableDeclaration", + "scope": 25711, + "src": "519:14:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25676, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "519:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 25682, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25678, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25646, + "src": "536:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 25679, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "in_units", + "nodeType": "MemberAccess", + "referencedDeclaration": 25638, + "src": "536:21:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 25680, + "name": "_units", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25643, + "src": "560:6:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "536:30:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "519:47:83" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25683, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25646, + "src": "576:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 25684, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "in_units", + "nodeType": "MemberAccess", + "referencedDeclaration": 25638, + "src": "576:21:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 25685, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "601:1:83", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "576:26:83", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 25708, + "nodeType": "Block", + "src": "668:65:83", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25698, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25646, + "src": "676:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 25700, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "time", + "nodeType": "MemberAccess", + "referencedDeclaration": 25636, + "src": "676:17:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25702, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25646, + "src": "700:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 25703, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "time", + "nodeType": "MemberAccess", + "referencedDeclaration": 25636, + "src": "700:17:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + { + "argumentTypes": null, + "id": 25704, + "name": "_ticks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25677, + "src": "719:6:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 25701, + "name": "add", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25882, + "src": "696:3:83", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_MutableUint_$25634_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableUint_$25634_memory_ptr_$", + "typeString": "function (struct Types.MutableUint memory,uint256) pure returns (struct Types.MutableUint memory)" + } + }, + "id": 25705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "696:30:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "676:50:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25707, + "nodeType": "ExpressionStatement", + "src": "676:50:83" + } + ] + }, + "id": 25709, + "nodeType": "IfStatement", + "src": "572:161:83", + "trueBody": { + "id": 25697, + "nodeType": "Block", + "src": "604:58:83", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25687, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25646, + "src": "612:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 25690, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "time", + "nodeType": "MemberAccess", + "referencedDeclaration": 25636, + "src": "612:17:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25691, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "612:22:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25692, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25641, + "src": "637:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 25693, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "time", + "nodeType": "MemberAccess", + "referencedDeclaration": 25636, + "src": "637:14:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25694, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "637:18:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "612:43:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25696, + "nodeType": "ExpressionStatement", + "src": "612:43:83" + } + ] + } + } + ] + }, + "documentation": null, + "id": 25711, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "advance_by", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25644, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25641, + "name": "_original", + "nodeType": "VariableDeclaration", + "scope": 25711, + "src": "205:33:83", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp" + }, + "typeName": { + "contractScope": null, + "id": 25640, + "name": "MutableTimestamp", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25639, + "src": "205:16:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_storage_ptr", + "typeString": "struct Types.MutableTimestamp" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25643, + "name": "_units", + "nodeType": "VariableDeclaration", + "scope": 25711, + "src": "240:14:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25642, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "240:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "204:51:83" + }, + "payable": false, + "returnParameters": { + "id": 25647, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25646, + "name": "_transformed", + "nodeType": "VariableDeclaration", + "scope": 25711, + "src": "316:29:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp" + }, + "typeName": { + "contractScope": null, + "id": 25645, + "name": "MutableTimestamp", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25639, + "src": "316:16:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_storage_ptr", + "typeString": "struct Types.MutableTimestamp" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "315:31:83" + }, + "scope": 25947, + "src": "185:552:83", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 25755, + "nodeType": "Block", + "src": "1263:209:83", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25723, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25713, + "src": "1277:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25724, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "1277:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 25725, + "name": "_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25715, + "src": "1294:6:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1277:23:83", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25722, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1269:7:83", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1269:32:83", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25728, + "nodeType": "ExpressionStatement", + "src": "1269:32:83" + }, + { + "assignments": [ + 25730 + ], + "declarations": [ + { + "constant": false, + "id": 25730, + "name": "_after_first", + "nodeType": "VariableDeclaration", + "scope": 25756, + "src": "1307:20:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25729, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1307:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 25735, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25731, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25713, + "src": "1330:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25732, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "1330:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 25733, + "name": "_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25715, + "src": "1346:6:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1330:22:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1307:45:83" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25737, + "name": "_after_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25730, + "src": "1366:12:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 25738, + "name": "_second", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25717, + "src": "1382:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1366:23:83", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25736, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1358:7:83", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1358:32:83", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25741, + "nodeType": "ExpressionStatement", + "src": "1358:32:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25742, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25720, + "src": "1396:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 25743, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25713, + "src": "1411:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "1396:24:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25745, + "nodeType": "ExpressionStatement", + "src": "1396:24:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25746, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25713, + "src": "1426:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25748, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "1426:14:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25749, + "name": "_after_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25730, + "src": "1444:12:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 25750, + "name": "_second", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25717, + "src": "1459:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1444:22:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 25752, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1443:24:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1426:41:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25754, + "nodeType": "ExpressionStatement", + "src": "1426:41:83" + } + ] + }, + "documentation": null, + "id": 25756, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "subtract_two", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25718, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25713, + "name": "_original", + "nodeType": "VariableDeclaration", + "scope": 25756, + "src": "1116:28:83", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25712, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "1116:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25715, + "name": "_first", + "nodeType": "VariableDeclaration", + "scope": 25756, + "src": "1146:14:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25714, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1146:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25717, + "name": "_second", + "nodeType": "VariableDeclaration", + "scope": 25756, + "src": "1162:15:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25716, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1162:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1115:63:83" + }, + "payable": false, + "returnParameters": { + "id": 25721, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25720, + "name": "_transformed", + "nodeType": "VariableDeclaration", + "scope": 25756, + "src": "1235:24:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25719, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "1235:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1234:26:83" + }, + "scope": 25947, + "src": "1094:378:83", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 25798, + "nodeType": "Block", + "src": "1655:221:83", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25768, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25758, + "src": "1669:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25769, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "1669:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 25770, + "name": "_to_subtract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25760, + "src": "1686:12:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1669:29:83", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25767, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1661:7:83", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1661:38:83", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25773, + "nodeType": "ExpressionStatement", + "src": "1661:38:83" + }, + { + "assignments": [ + 25775 + ], + "declarations": [ + { + "constant": false, + "id": 25775, + "name": "_after_subtract", + "nodeType": "VariableDeclaration", + "scope": 25799, + "src": "1705:23:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25774, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1705:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 25780, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25776, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25758, + "src": "1731:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25777, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "1731:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 25778, + "name": "_to_subtract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25760, + "src": "1747:12:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1731:28:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1705:54:83" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25782, + "name": "_after_subtract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25775, + "src": "1774:15:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 25783, + "name": "_to_add", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25762, + "src": "1792:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1774:25:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 25785, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1773:27:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 25786, + "name": "_after_subtract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25775, + "src": "1804:15:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1773:46:83", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25781, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1765:7:83", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1765:55:83", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25789, + "nodeType": "ExpressionStatement", + "src": "1765:55:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25790, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25765, + "src": "1826:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25792, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "1826:17:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25793, + "name": "_after_subtract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25775, + "src": "1846:15:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 25794, + "name": "_to_add", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25762, + "src": "1864:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1846:25:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1826:45:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25797, + "nodeType": "ExpressionStatement", + "src": "1826:45:83" + } + ] + }, + "documentation": null, + "id": 25799, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "subtract_and_add", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25763, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25758, + "name": "_original", + "nodeType": "VariableDeclaration", + "scope": 25799, + "src": "1502:28:83", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25757, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "1502:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25760, + "name": "_to_subtract", + "nodeType": "VariableDeclaration", + "scope": 25799, + "src": "1532:20:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25759, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1532:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25762, + "name": "_to_add", + "nodeType": "VariableDeclaration", + "scope": 25799, + "src": "1554:15:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25761, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1554:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1501:69:83" + }, + "payable": false, + "returnParameters": { + "id": 25766, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25765, + "name": "_transformed", + "nodeType": "VariableDeclaration", + "scope": 25799, + "src": "1627:24:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25764, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "1627:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1626:26:83" + }, + "scope": 25947, + "src": "1476:400:83", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 25847, + "nodeType": "Block", + "src": "2589:236:83", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25811, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25801, + "src": "2604:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25812, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "2604:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 25813, + "name": "_to_add", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25803, + "src": "2620:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2604:23:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 25815, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2603:25:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25816, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25801, + "src": "2632:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25817, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "2632:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2603:42:83", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25810, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2595:7:83", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2595:51:83", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25820, + "nodeType": "ExpressionStatement", + "src": "2595:51:83" + }, + { + "assignments": [ + 25822 + ], + "declarations": [ + { + "constant": false, + "id": 25822, + "name": "_after_add", + "nodeType": "VariableDeclaration", + "scope": 25848, + "src": "2652:18:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25821, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2652:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 25827, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25823, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25801, + "src": "2673:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25824, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "2673:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 25825, + "name": "_to_add", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25803, + "src": "2689:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2673:23:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2652:44:83" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25829, + "name": "_after_add", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25822, + "src": "2710:10:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 25830, + "name": "_to_subtract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25805, + "src": "2724:12:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2710:26:83", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25828, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2702:7:83", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2702:35:83", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25833, + "nodeType": "ExpressionStatement", + "src": "2702:35:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25834, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25808, + "src": "2743:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 25835, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25801, + "src": "2758:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "2743:24:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25837, + "nodeType": "ExpressionStatement", + "src": "2743:24:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25838, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25808, + "src": "2773:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25840, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "2773:17:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25841, + "name": "_after_add", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25822, + "src": "2794:10:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 25842, + "name": "_to_subtract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25805, + "src": "2807:12:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2794:25:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 25844, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2793:27:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2773:47:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25846, + "nodeType": "ExpressionStatement", + "src": "2773:47:83" + } + ] + }, + "documentation": "DEPRECATED", + "id": 25848, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "add_and_subtract", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25806, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25801, + "name": "_original", + "nodeType": "VariableDeclaration", + "scope": 25848, + "src": "2436:28:83", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25800, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "2436:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25803, + "name": "_to_add", + "nodeType": "VariableDeclaration", + "scope": 25848, + "src": "2466:15:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25802, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2466:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25805, + "name": "_to_subtract", + "nodeType": "VariableDeclaration", + "scope": 25848, + "src": "2483:20:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25804, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2483:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2435:69:83" + }, + "payable": false, + "returnParameters": { + "id": 25809, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25808, + "name": "_transformed", + "nodeType": "VariableDeclaration", + "scope": 25848, + "src": "2561:24:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25807, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "2561:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2560:26:83" + }, + "scope": 25947, + "src": "2410:415:83", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 25881, + "nodeType": "Block", + "src": "2973:141:83", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25858, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25850, + "src": "2988:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25859, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "2988:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 25860, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25852, + "src": "3004:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2988:23:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 25862, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2987:25:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25863, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25850, + "src": "3016:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25864, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "3016:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2987:42:83", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25857, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2979:7:83", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2979:51:83", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25867, + "nodeType": "ExpressionStatement", + "src": "2979:51:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25868, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25855, + "src": "3036:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 25869, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25850, + "src": "3051:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "3036:24:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25871, + "nodeType": "ExpressionStatement", + "src": "3036:24:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25872, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25855, + "src": "3066:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25874, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "3066:17:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25875, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25850, + "src": "3086:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25876, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "3086:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 25877, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25852, + "src": "3102:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3086:23:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3066:43:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25880, + "nodeType": "ExpressionStatement", + "src": "3066:43:83" + } + ] + }, + "documentation": null, + "id": 25882, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25853, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25850, + "name": "_original", + "nodeType": "VariableDeclaration", + "scope": 25882, + "src": "2842:28:83", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25849, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "2842:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25852, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 25882, + "src": "2872:15:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25851, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2872:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2841:47:83" + }, + "payable": false, + "returnParameters": { + "id": 25856, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25855, + "name": "_transformed", + "nodeType": "VariableDeclaration", + "scope": 25882, + "src": "2945:24:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25854, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "2945:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2944:26:83" + }, + "scope": 25947, + "src": "2829:285:83", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 25911, + "nodeType": "Block", + "src": "3267:123:83", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25892, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25886, + "src": "3281:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25893, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25884, + "src": "3292:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25894, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "3292:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3281:24:83", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25891, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3273:7:83", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3273:33:83", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25897, + "nodeType": "ExpressionStatement", + "src": "3273:33:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25898, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25889, + "src": "3312:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 25899, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25884, + "src": "3327:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "3312:24:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25901, + "nodeType": "ExpressionStatement", + "src": "3312:24:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25902, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25889, + "src": "3342:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25904, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "3342:17:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25905, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25884, + "src": "3362:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25906, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "3362:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 25907, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25886, + "src": "3378:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3362:23:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3342:43:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25910, + "nodeType": "ExpressionStatement", + "src": "3342:43:83" + } + ] + }, + "documentation": null, + "id": 25912, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "subtract", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25887, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25884, + "name": "_original", + "nodeType": "VariableDeclaration", + "scope": 25912, + "src": "3136:28:83", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25883, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "3136:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25886, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 25912, + "src": "3166:15:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25885, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3166:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3135:47:83" + }, + "payable": false, + "returnParameters": { + "id": 25890, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25889, + "name": "_transformed", + "nodeType": "VariableDeclaration", + "scope": 25912, + "src": "3239:24:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25888, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "3239:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3238:26:83" + }, + "scope": 25947, + "src": "3118:272:83", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 25945, + "nodeType": "Block", + "src": "3586:159:83", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25923, + "name": "_transformed_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25919, + "src": "3592:14:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 25924, + "name": "_original_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25914, + "src": "3609:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "3592:28:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25926, + "nodeType": "ExpressionStatement", + "src": "3592:28:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25927, + "name": "_transformed_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25921, + "src": "3626:14:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 25928, + "name": "_original_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25916, + "src": "3643:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "3626:28:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25930, + "nodeType": "ExpressionStatement", + "src": "3626:28:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25936, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25931, + "name": "_transformed_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25919, + "src": "3660:14:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25933, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "3660:19:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25934, + "name": "_original_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25916, + "src": "3682:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25935, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "3682:15:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3660:37:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25937, + "nodeType": "ExpressionStatement", + "src": "3660:37:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25938, + "name": "_transformed_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25921, + "src": "3703:14:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25940, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "3703:19:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25941, + "name": "_original_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25914, + "src": "3725:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25942, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "3725:15:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3703:37:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25944, + "nodeType": "ExpressionStatement", + "src": "3703:37:83" + } + ] + }, + "documentation": null, + "id": 25946, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "swap", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25917, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25914, + "name": "_original_a", + "nodeType": "VariableDeclaration", + "scope": 25946, + "src": "3408:30:83", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25913, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "3408:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25916, + "name": "_original_b", + "nodeType": "VariableDeclaration", + "scope": 25946, + "src": "3440:30:83", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25915, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "3440:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3407:64:83" + }, + "payable": false, + "returnParameters": { + "id": 25922, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25919, + "name": "_transformed_a", + "nodeType": "VariableDeclaration", + "scope": 25946, + "src": "3528:26:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25918, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "3528:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25921, + "name": "_transformed_b", + "nodeType": "VariableDeclaration", + "scope": 25946, + "src": "3556:26:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25920, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "3556:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3527:56:83" + }, + "scope": 25947, + "src": "3394:351:83", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 25948, + "src": "26:4171:83" + } + ], + "src": "0:4198:83" + }, + "legacyAST": { + "absolutePath": "@digix/solidity-core-libraries/contracts/Types.sol", + "exportedSymbols": { + "Types": [ + 25947 + ] + }, + "id": 25948, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 25629, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:83" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": null, + "fullyImplemented": true, + "id": 25947, + "linearizedBaseContracts": [ + 25947 + ], + "name": "Types", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Types.MutableUint", + "id": 25634, + "members": [ + { + "constant": false, + "id": 25631, + "name": "pre", + "nodeType": "VariableDeclaration", + "scope": 25634, + "src": "70:11:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25630, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "70:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25633, + "name": "post", + "nodeType": "VariableDeclaration", + "scope": 25634, + "src": "87:12:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25632, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "87:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "MutableUint", + "nodeType": "StructDefinition", + "scope": 25947, + "src": "45:59:83", + "visibility": "public" + }, + { + "canonicalName": "Types.MutableTimestamp", + "id": 25639, + "members": [ + { + "constant": false, + "id": 25636, + "name": "time", + "nodeType": "VariableDeclaration", + "scope": 25639, + "src": "138:16:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25635, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "138:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25638, + "name": "in_units", + "nodeType": "VariableDeclaration", + "scope": 25639, + "src": "160:16:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25637, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "160:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "MutableTimestamp", + "nodeType": "StructDefinition", + "scope": 25947, + "src": "108:73:83", + "visibility": "public" + }, + { + "body": { + "id": 25710, + "nodeType": "Block", + "src": "349:388:83", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25648, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25646, + "src": "355:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 25649, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25641, + "src": "370:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "src": "355:24:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 25651, + "nodeType": "ExpressionStatement", + "src": "355:24:83" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25653, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "393:3:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25654, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25641, + "src": "400:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 25655, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "time", + "nodeType": "MemberAccess", + "referencedDeclaration": 25636, + "src": "400:14:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25656, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "400:18:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "393:25:83", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25652, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "385:7:83", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "385:34:83", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25659, + "nodeType": "ExpressionStatement", + "src": "385:34:83" + }, + { + "assignments": [ + 25661 + ], + "declarations": [ + { + "constant": false, + "id": 25661, + "name": "_lapsed", + "nodeType": "VariableDeclaration", + "scope": 25711, + "src": "425:15:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25660, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "425:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 25667, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25662, + "name": "now", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 26614, + "src": "443:3:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25663, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25641, + "src": "449:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 25664, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "time", + "nodeType": "MemberAccess", + "referencedDeclaration": 25636, + "src": "449:14:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25665, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "449:18:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "443:24:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "425:42:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25668, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25646, + "src": "473:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 25670, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "in_units", + "nodeType": "MemberAccess", + "referencedDeclaration": 25638, + "src": "473:21:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25671, + "name": "_lapsed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25661, + "src": "497:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 25672, + "name": "_units", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25643, + "src": "507:6:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "497:16:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "473:40:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25675, + "nodeType": "ExpressionStatement", + "src": "473:40:83" + }, + { + "assignments": [ + 25677 + ], + "declarations": [ + { + "constant": false, + "id": 25677, + "name": "_ticks", + "nodeType": "VariableDeclaration", + "scope": 25711, + "src": "519:14:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25676, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "519:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 25682, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25678, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25646, + "src": "536:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 25679, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "in_units", + "nodeType": "MemberAccess", + "referencedDeclaration": 25638, + "src": "536:21:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 25680, + "name": "_units", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25643, + "src": "560:6:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "536:30:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "519:47:83" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25686, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25683, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25646, + "src": "576:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 25684, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "in_units", + "nodeType": "MemberAccess", + "referencedDeclaration": 25638, + "src": "576:21:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 25685, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "601:1:83", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "576:26:83", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 25708, + "nodeType": "Block", + "src": "668:65:83", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25706, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25698, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25646, + "src": "676:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 25700, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "time", + "nodeType": "MemberAccess", + "referencedDeclaration": 25636, + "src": "676:17:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25702, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25646, + "src": "700:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 25703, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "time", + "nodeType": "MemberAccess", + "referencedDeclaration": 25636, + "src": "700:17:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + { + "argumentTypes": null, + "id": 25704, + "name": "_ticks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25677, + "src": "719:6:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 25701, + "name": "add", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25882, + "src": "696:3:83", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_struct$_MutableUint_$25634_memory_ptr_$_t_uint256_$returns$_t_struct$_MutableUint_$25634_memory_ptr_$", + "typeString": "function (struct Types.MutableUint memory,uint256) pure returns (struct Types.MutableUint memory)" + } + }, + "id": 25705, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "696:30:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "676:50:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25707, + "nodeType": "ExpressionStatement", + "src": "676:50:83" + } + ] + }, + "id": 25709, + "nodeType": "IfStatement", + "src": "572:161:83", + "trueBody": { + "id": 25697, + "nodeType": "Block", + "src": "604:58:83", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25687, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25646, + "src": "612:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 25690, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "time", + "nodeType": "MemberAccess", + "referencedDeclaration": 25636, + "src": "612:17:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25691, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "612:22:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25692, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25641, + "src": "637:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp memory" + } + }, + "id": 25693, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "time", + "nodeType": "MemberAccess", + "referencedDeclaration": 25636, + "src": "637:14:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25694, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "637:18:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "612:43:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25696, + "nodeType": "ExpressionStatement", + "src": "612:43:83" + } + ] + } + } + ] + }, + "documentation": null, + "id": 25711, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "advance_by", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25644, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25641, + "name": "_original", + "nodeType": "VariableDeclaration", + "scope": 25711, + "src": "205:33:83", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp" + }, + "typeName": { + "contractScope": null, + "id": 25640, + "name": "MutableTimestamp", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25639, + "src": "205:16:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_storage_ptr", + "typeString": "struct Types.MutableTimestamp" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25643, + "name": "_units", + "nodeType": "VariableDeclaration", + "scope": 25711, + "src": "240:14:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25642, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "240:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "204:51:83" + }, + "payable": false, + "returnParameters": { + "id": 25647, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25646, + "name": "_transformed", + "nodeType": "VariableDeclaration", + "scope": 25711, + "src": "316:29:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_memory_ptr", + "typeString": "struct Types.MutableTimestamp" + }, + "typeName": { + "contractScope": null, + "id": 25645, + "name": "MutableTimestamp", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25639, + "src": "316:16:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableTimestamp_$25639_storage_ptr", + "typeString": "struct Types.MutableTimestamp" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "315:31:83" + }, + "scope": 25947, + "src": "185:552:83", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 25755, + "nodeType": "Block", + "src": "1263:209:83", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25723, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25713, + "src": "1277:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25724, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "1277:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 25725, + "name": "_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25715, + "src": "1294:6:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1277:23:83", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25722, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1269:7:83", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1269:32:83", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25728, + "nodeType": "ExpressionStatement", + "src": "1269:32:83" + }, + { + "assignments": [ + 25730 + ], + "declarations": [ + { + "constant": false, + "id": 25730, + "name": "_after_first", + "nodeType": "VariableDeclaration", + "scope": 25756, + "src": "1307:20:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25729, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1307:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 25735, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25731, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25713, + "src": "1330:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25732, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "1330:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 25733, + "name": "_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25715, + "src": "1346:6:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1330:22:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1307:45:83" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25737, + "name": "_after_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25730, + "src": "1366:12:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 25738, + "name": "_second", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25717, + "src": "1382:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1366:23:83", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25736, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1358:7:83", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1358:32:83", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25741, + "nodeType": "ExpressionStatement", + "src": "1358:32:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25742, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25720, + "src": "1396:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 25743, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25713, + "src": "1411:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "1396:24:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25745, + "nodeType": "ExpressionStatement", + "src": "1396:24:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25746, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25713, + "src": "1426:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25748, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "1426:14:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25749, + "name": "_after_first", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25730, + "src": "1444:12:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 25750, + "name": "_second", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25717, + "src": "1459:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1444:22:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 25752, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1443:24:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1426:41:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25754, + "nodeType": "ExpressionStatement", + "src": "1426:41:83" + } + ] + }, + "documentation": null, + "id": 25756, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "subtract_two", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25718, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25713, + "name": "_original", + "nodeType": "VariableDeclaration", + "scope": 25756, + "src": "1116:28:83", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25712, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "1116:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25715, + "name": "_first", + "nodeType": "VariableDeclaration", + "scope": 25756, + "src": "1146:14:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25714, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1146:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25717, + "name": "_second", + "nodeType": "VariableDeclaration", + "scope": 25756, + "src": "1162:15:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25716, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1162:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1115:63:83" + }, + "payable": false, + "returnParameters": { + "id": 25721, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25720, + "name": "_transformed", + "nodeType": "VariableDeclaration", + "scope": 25756, + "src": "1235:24:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25719, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "1235:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1234:26:83" + }, + "scope": 25947, + "src": "1094:378:83", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 25798, + "nodeType": "Block", + "src": "1655:221:83", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25768, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25758, + "src": "1669:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25769, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "1669:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 25770, + "name": "_to_subtract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25760, + "src": "1686:12:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1669:29:83", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25767, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1661:7:83", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1661:38:83", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25773, + "nodeType": "ExpressionStatement", + "src": "1661:38:83" + }, + { + "assignments": [ + 25775 + ], + "declarations": [ + { + "constant": false, + "id": 25775, + "name": "_after_subtract", + "nodeType": "VariableDeclaration", + "scope": 25799, + "src": "1705:23:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25774, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1705:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 25780, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25776, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25758, + "src": "1731:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25777, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "1731:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 25778, + "name": "_to_subtract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25760, + "src": "1747:12:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1731:28:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1705:54:83" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25782, + "name": "_after_subtract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25775, + "src": "1774:15:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 25783, + "name": "_to_add", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25762, + "src": "1792:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1774:25:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 25785, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1773:27:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 25786, + "name": "_after_subtract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25775, + "src": "1804:15:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1773:46:83", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25781, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "1765:7:83", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1765:55:83", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25789, + "nodeType": "ExpressionStatement", + "src": "1765:55:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25790, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25765, + "src": "1826:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25792, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "1826:17:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25793, + "name": "_after_subtract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25775, + "src": "1846:15:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 25794, + "name": "_to_add", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25762, + "src": "1864:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1846:25:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1826:45:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25797, + "nodeType": "ExpressionStatement", + "src": "1826:45:83" + } + ] + }, + "documentation": null, + "id": 25799, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "subtract_and_add", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25763, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25758, + "name": "_original", + "nodeType": "VariableDeclaration", + "scope": 25799, + "src": "1502:28:83", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25757, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "1502:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25760, + "name": "_to_subtract", + "nodeType": "VariableDeclaration", + "scope": 25799, + "src": "1532:20:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25759, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1532:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25762, + "name": "_to_add", + "nodeType": "VariableDeclaration", + "scope": 25799, + "src": "1554:15:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25761, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1554:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1501:69:83" + }, + "payable": false, + "returnParameters": { + "id": 25766, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25765, + "name": "_transformed", + "nodeType": "VariableDeclaration", + "scope": 25799, + "src": "1627:24:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25764, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "1627:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1626:26:83" + }, + "scope": 25947, + "src": "1476:400:83", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 25847, + "nodeType": "Block", + "src": "2589:236:83", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25811, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25801, + "src": "2604:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25812, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "2604:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 25813, + "name": "_to_add", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25803, + "src": "2620:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2604:23:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 25815, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2603:25:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25816, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25801, + "src": "2632:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25817, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "2632:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2603:42:83", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25810, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2595:7:83", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2595:51:83", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25820, + "nodeType": "ExpressionStatement", + "src": "2595:51:83" + }, + { + "assignments": [ + 25822 + ], + "declarations": [ + { + "constant": false, + "id": 25822, + "name": "_after_add", + "nodeType": "VariableDeclaration", + "scope": 25848, + "src": "2652:18:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25821, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2652:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 25827, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25823, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25801, + "src": "2673:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25824, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "2673:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 25825, + "name": "_to_add", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25803, + "src": "2689:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2673:23:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2652:44:83" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25829, + "name": "_after_add", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25822, + "src": "2710:10:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 25830, + "name": "_to_subtract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25805, + "src": "2724:12:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2710:26:83", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25828, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2702:7:83", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2702:35:83", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25833, + "nodeType": "ExpressionStatement", + "src": "2702:35:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25834, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25808, + "src": "2743:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 25835, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25801, + "src": "2758:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "2743:24:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25837, + "nodeType": "ExpressionStatement", + "src": "2743:24:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25838, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25808, + "src": "2773:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25840, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "2773:17:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25841, + "name": "_after_add", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25822, + "src": "2794:10:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 25842, + "name": "_to_subtract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25805, + "src": "2807:12:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2794:25:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 25844, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2793:27:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2773:47:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25846, + "nodeType": "ExpressionStatement", + "src": "2773:47:83" + } + ] + }, + "documentation": "DEPRECATED", + "id": 25848, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "add_and_subtract", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25806, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25801, + "name": "_original", + "nodeType": "VariableDeclaration", + "scope": 25848, + "src": "2436:28:83", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25800, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "2436:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25803, + "name": "_to_add", + "nodeType": "VariableDeclaration", + "scope": 25848, + "src": "2466:15:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25802, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2466:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25805, + "name": "_to_subtract", + "nodeType": "VariableDeclaration", + "scope": 25848, + "src": "2483:20:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25804, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2483:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2435:69:83" + }, + "payable": false, + "returnParameters": { + "id": 25809, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25808, + "name": "_transformed", + "nodeType": "VariableDeclaration", + "scope": 25848, + "src": "2561:24:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25807, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "2561:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2560:26:83" + }, + "scope": 25947, + "src": "2410:415:83", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 25881, + "nodeType": "Block", + "src": "2973:141:83", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25858, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25850, + "src": "2988:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25859, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "2988:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 25860, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25852, + "src": "3004:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2988:23:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 25862, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2987:25:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25863, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25850, + "src": "3016:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25864, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "3016:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2987:42:83", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25857, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "2979:7:83", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2979:51:83", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25867, + "nodeType": "ExpressionStatement", + "src": "2979:51:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25868, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25855, + "src": "3036:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 25869, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25850, + "src": "3051:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "3036:24:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25871, + "nodeType": "ExpressionStatement", + "src": "3036:24:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25872, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25855, + "src": "3066:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25874, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "3066:17:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25875, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25850, + "src": "3086:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25876, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "3086:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 25877, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25852, + "src": "3102:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3086:23:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3066:43:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25880, + "nodeType": "ExpressionStatement", + "src": "3066:43:83" + } + ] + }, + "documentation": null, + "id": 25882, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25853, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25850, + "name": "_original", + "nodeType": "VariableDeclaration", + "scope": 25882, + "src": "2842:28:83", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25849, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "2842:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25852, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 25882, + "src": "2872:15:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25851, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2872:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2841:47:83" + }, + "payable": false, + "returnParameters": { + "id": 25856, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25855, + "name": "_transformed", + "nodeType": "VariableDeclaration", + "scope": 25882, + "src": "2945:24:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25854, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "2945:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2944:26:83" + }, + "scope": 25947, + "src": "2829:285:83", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 25911, + "nodeType": "Block", + "src": "3267:123:83", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 25892, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25886, + "src": "3281:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25893, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25884, + "src": "3292:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25894, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "3292:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3281:24:83", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 25891, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 26615, + 26616 + ], + "referencedDeclaration": 26615, + "src": "3273:7:83", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 25896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3273:33:83", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 25897, + "nodeType": "ExpressionStatement", + "src": "3273:33:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25898, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25889, + "src": "3312:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 25899, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25884, + "src": "3327:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "3312:24:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25901, + "nodeType": "ExpressionStatement", + "src": "3312:24:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25902, + "name": "_transformed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25889, + "src": "3342:12:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25904, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "3342:17:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 25908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25905, + "name": "_original", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25884, + "src": "3362:9:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25906, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "3362:13:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 25907, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25886, + "src": "3378:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3362:23:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3342:43:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25910, + "nodeType": "ExpressionStatement", + "src": "3342:43:83" + } + ] + }, + "documentation": null, + "id": 25912, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "subtract", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25887, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25884, + "name": "_original", + "nodeType": "VariableDeclaration", + "scope": 25912, + "src": "3136:28:83", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25883, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "3136:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25886, + "name": "_amount", + "nodeType": "VariableDeclaration", + "scope": 25912, + "src": "3166:15:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 25885, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3166:7:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3135:47:83" + }, + "payable": false, + "returnParameters": { + "id": 25890, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25889, + "name": "_transformed", + "nodeType": "VariableDeclaration", + "scope": 25912, + "src": "3239:24:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25888, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "3239:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3238:26:83" + }, + "scope": 25947, + "src": "3118:272:83", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 25945, + "nodeType": "Block", + "src": "3586:159:83", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 25925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25923, + "name": "_transformed_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25919, + "src": "3592:14:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 25924, + "name": "_original_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25914, + "src": "3609:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "3592:28:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25926, + "nodeType": "ExpressionStatement", + "src": "3592:28:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 25927, + "name": "_transformed_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25921, + "src": "3626:14:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 25928, + "name": "_original_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25916, + "src": "3643:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "src": "3626:28:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25930, + "nodeType": "ExpressionStatement", + "src": "3626:28:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25936, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25931, + "name": "_transformed_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25919, + "src": "3660:14:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25933, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "3660:19:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25934, + "name": "_original_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25916, + "src": "3682:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25935, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "3682:15:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3660:37:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25937, + "nodeType": "ExpressionStatement", + "src": "3660:37:83" + }, + { + "expression": { + "argumentTypes": null, + "id": 25943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25938, + "name": "_transformed_b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25921, + "src": "3703:14:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25940, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "post", + "nodeType": "MemberAccess", + "referencedDeclaration": 25633, + "src": "3703:19:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 25941, + "name": "_original_a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25914, + "src": "3725:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint memory" + } + }, + "id": 25942, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "pre", + "nodeType": "MemberAccess", + "referencedDeclaration": 25631, + "src": "3725:15:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3703:37:83", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 25944, + "nodeType": "ExpressionStatement", + "src": "3703:37:83" + } + ] + }, + "documentation": null, + "id": 25946, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "swap", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25917, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25914, + "name": "_original_a", + "nodeType": "VariableDeclaration", + "scope": 25946, + "src": "3408:30:83", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25913, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "3408:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25916, + "name": "_original_b", + "nodeType": "VariableDeclaration", + "scope": 25946, + "src": "3440:30:83", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25915, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "3440:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3407:64:83" + }, + "payable": false, + "returnParameters": { + "id": 25922, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25919, + "name": "_transformed_a", + "nodeType": "VariableDeclaration", + "scope": 25946, + "src": "3528:26:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25918, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "3528:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 25921, + "name": "_transformed_b", + "nodeType": "VariableDeclaration", + "scope": 25946, + "src": "3556:26:83", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_memory_ptr", + "typeString": "struct Types.MutableUint" + }, + "typeName": { + "contractScope": null, + "id": 25920, + "name": "MutableUint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25634, + "src": "3556:11:83", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MutableUint_$25634_storage_ptr", + "typeString": "struct Types.MutableUint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3527:56:83" + }, + "scope": 25947, + "src": "3394:351:83", + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 25948, + "src": "26:4171:83" + } + ], + "src": "0:4198:83" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.943Z" +} \ No newline at end of file diff --git a/build/contracts/UintIteratorStorage.json b/build/contracts/UintIteratorStorage.json new file mode 100644 index 0000000..a05d72c --- /dev/null +++ b/build/contracts/UintIteratorStorage.json @@ -0,0 +1,2059 @@ +{ + "contractName": "UintIteratorStorage", + "abi": [], + "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a72305820eacea536ea2fd01d223a358d6f7fca81080a242400ed4aaa73bc2591360218750029", + "deployedBytecode": "0x6080604052600080fd00a165627a7a72305820eacea536ea2fd01d223a358d6f7fca81080a242400ed4aaa73bc2591360218750029", + "sourceMap": "133:2115:80:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;133:2115:80;;;;;;;", + "deployedSourceMap": "133:2115:80:-;;;;;", + "source": "pragma solidity ^0.4.19;\n\nimport \"../lib/DoublyLinkedList.sol\";\n\n/**\n @title Uint Iterator Storage\n @author DigixGlobal Pte Ltd\n*/\ncontract UintIteratorStorage {\n\n using DoublyLinkedList for DoublyLinkedList.Uint;\n\n /**\n @notice Returns the first item from a `DoublyLinkedList.Uint` list\n @param _list The DoublyLinkedList.Uint list\n @return {\"_item\": \"The first item\"}\n */\n function read_first_from_uints(DoublyLinkedList.Uint storage _list)\n internal\n constant\n returns (uint256 _item)\n {\n _item = _list.start_item();\n }\n\n /**\n @notice Returns the last item from a `DoublyLinkedList.Uint` list\n @param _list The DoublyLinkedList.Uint list\n @return {\"_item\": \"The last item\"}\n */\n function read_last_from_uints(DoublyLinkedList.Uint storage _list)\n internal\n constant\n returns (uint256 _item)\n {\n _item = _list.end_item();\n }\n\n /**\n @notice Returns the next item from a `DoublyLinkedList.Uint` list based on the specified `_current_item`\n @param _list The DoublyLinkedList.Uint list\n @param _current_item The current item\n @return {\"_item\": \"The next item\"}\n */\n function read_next_from_uints(DoublyLinkedList.Uint storage _list, uint256 _current_item)\n internal\n constant\n returns (uint256 _item)\n {\n _item = _list.next_item(_current_item);\n }\n\n /**\n @notice Returns the previous item from a `DoublyLinkedList.Uint` list based on the specified `_current_item`\n @param _list The DoublyLinkedList.Uint list\n @param _current_item The current item\n @return {\"_item\": \"The previous item\"}\n */\n function read_previous_from_uints(DoublyLinkedList.Uint storage _list, uint256 _current_item)\n internal\n constant\n returns (uint256 _item)\n {\n _item = _list.previous_item(_current_item);\n }\n\n /**\n @notice Returns the total count of itemsfrom a `DoublyLinkedList.Uint` list\n @param _list The DoublyLinkedList.Uint list\n @return {\"_count\": \"The total count of items\"}\n */\n function read_total_uints(DoublyLinkedList.Uint storage _list)\n internal\n constant\n returns (uint256 _count)\n {\n _count = _list.total();\n }\n\n}\n", + "sourcePath": "@digix/solidity-collections/contracts/abstract/UintIteratorStorage.sol", + "ast": { + "absolutePath": "@digix/solidity-collections/contracts/abstract/UintIteratorStorage.sol", + "exportedSymbols": { + "UintIteratorStorage": [ + 22987 + ] + }, + "id": 22988, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 22906, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:80" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "file": "../lib/DoublyLinkedList.sol", + "id": 22907, + "nodeType": "ImportDirective", + "scope": 22988, + "sourceUnit": 25547, + "src": "26:37:80", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Uint Iterator Storage\n@author DigixGlobal Pte Ltd", + "fullyImplemented": true, + "id": 22987, + "linearizedBaseContracts": [ + 22987 + ], + "name": "UintIteratorStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 22910, + "libraryName": { + "contractScope": null, + "id": 22908, + "name": "DoublyLinkedList", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25546, + "src": "173:16:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DoublyLinkedList_$25546", + "typeString": "library DoublyLinkedList" + } + }, + "nodeType": "UsingForDirective", + "src": "167:49:80", + "typeName": { + "contractScope": null, + "id": 22909, + "name": "DoublyLinkedList.Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "194:21:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + } + }, + { + "body": { + "id": 22923, + "nodeType": "Block", + "src": "535:37:80", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22917, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22915, + "src": "541:5:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 22918, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22912, + "src": "549:5:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 22919, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "start_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 23846, + "src": "549:16:80", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Uint_$23038_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Uint_$23038_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer) view returns (uint256)" + } + }, + "id": 22920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "549:18:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "541:26:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22922, + "nodeType": "ExpressionStatement", + "src": "541:26:80" + } + ] + }, + "documentation": "@notice Returns the first item from a `DoublyLinkedList.Uint` list\n@param _list The DoublyLinkedList.Uint list\n@return {\"_item\": \"The first item\"}", + "id": 22924, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_first_from_uints", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22913, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22912, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22924, + "src": "421:35:80", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 22911, + "name": "DoublyLinkedList.Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "421:21:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "420:37:80" + }, + "payable": false, + "returnParameters": { + "id": 22916, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22915, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22924, + "src": "518:13:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22914, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "518:7:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "517:15:80" + }, + "scope": 22987, + "src": "390:182:80", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22937, + "nodeType": "Block", + "src": "888:35:80", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22931, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22929, + "src": "894:5:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 22932, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22926, + "src": "902:5:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 22933, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "end_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 23878, + "src": "902:14:80", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Uint_$23038_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Uint_$23038_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer) view returns (uint256)" + } + }, + "id": 22934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "902:16:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "894:24:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22936, + "nodeType": "ExpressionStatement", + "src": "894:24:80" + } + ] + }, + "documentation": "@notice Returns the last item from a `DoublyLinkedList.Uint` list\n@param _list The DoublyLinkedList.Uint list\n@return {\"_item\": \"The last item\"}", + "id": 22938, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_last_from_uints", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22927, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22926, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22938, + "src": "774:35:80", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 22925, + "name": "DoublyLinkedList.Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "774:21:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "773:37:80" + }, + "payable": false, + "returnParameters": { + "id": 22930, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22929, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22938, + "src": "871:13:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22928, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "871:7:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "870:15:80" + }, + "scope": 22987, + "src": "744:179:80", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22954, + "nodeType": "Block", + "src": "1343:49:80", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22947, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22945, + "src": "1349:5:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22950, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22942, + "src": "1373:13:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 22948, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22940, + "src": "1357:5:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 22949, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "next_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 23996, + "src": "1357:15:80", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Uint_$23038_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Uint_$23038_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer,uint256) view returns (uint256)" + } + }, + "id": 22951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1357:30:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1349:38:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22953, + "nodeType": "ExpressionStatement", + "src": "1349:38:80" + } + ] + }, + "documentation": "@notice Returns the next item from a `DoublyLinkedList.Uint` list based on the specified `_current_item`\n@param _list The DoublyLinkedList.Uint list\n@param _current_item The current item\n@return {\"_item\": \"The next item\"}", + "id": 22955, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_next_from_uints", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22943, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22940, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22955, + "src": "1206:35:80", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 22939, + "name": "DoublyLinkedList.Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "1206:21:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22942, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22955, + "src": "1243:21:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22941, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1243:7:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1205:60:80" + }, + "payable": false, + "returnParameters": { + "id": 22946, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22945, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22955, + "src": "1326:13:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22944, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1326:7:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1325:15:80" + }, + "scope": 22987, + "src": "1176:216:80", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22971, + "nodeType": "Block", + "src": "1824:53:80", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22964, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22962, + "src": "1830:5:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22967, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22959, + "src": "1858:13:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 22965, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22957, + "src": "1838:5:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 22966, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previous_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 23956, + "src": "1838:19:80", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Uint_$23038_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Uint_$23038_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer,uint256) view returns (uint256)" + } + }, + "id": 22968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1838:34:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1830:42:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22970, + "nodeType": "ExpressionStatement", + "src": "1830:42:80" + } + ] + }, + "documentation": "@notice Returns the previous item from a `DoublyLinkedList.Uint` list based on the specified `_current_item`\n@param _list The DoublyLinkedList.Uint list\n@param _current_item The current item\n@return {\"_item\": \"The previous item\"}", + "id": 22972, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_previous_from_uints", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22960, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22957, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22972, + "src": "1687:35:80", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 22956, + "name": "DoublyLinkedList.Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "1687:21:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22959, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22972, + "src": "1724:21:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22958, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1724:7:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1686:60:80" + }, + "payable": false, + "returnParameters": { + "id": 22963, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22962, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22972, + "src": "1807:13:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22961, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1807:7:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1806:15:80" + }, + "scope": 22987, + "src": "1653:224:80", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22985, + "nodeType": "Block", + "src": "2212:33:80", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22979, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22977, + "src": "2218:6:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 22980, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22974, + "src": "2227:5:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 22981, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "total", + "nodeType": "MemberAccess", + "referencedDeclaration": 23814, + "src": "2227:11:80", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Uint_$23038_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Uint_$23038_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer) view returns (uint256)" + } + }, + "id": 22982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2227:13:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2218:22:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22984, + "nodeType": "ExpressionStatement", + "src": "2218:22:80" + } + ] + }, + "documentation": "@notice Returns the total count of itemsfrom a `DoublyLinkedList.Uint` list\n@param _list The DoublyLinkedList.Uint list\n@return {\"_count\": \"The total count of items\"}", + "id": 22986, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_total_uints", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22975, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22974, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22986, + "src": "2097:35:80", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 22973, + "name": "DoublyLinkedList.Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "2097:21:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2096:37:80" + }, + "payable": false, + "returnParameters": { + "id": 22978, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22977, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 22986, + "src": "2194:14:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22976, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2194:7:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2193:16:80" + }, + "scope": 22987, + "src": "2071:174:80", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 22988, + "src": "133:2115:80" + } + ], + "src": "0:2249:80" + }, + "legacyAST": { + "absolutePath": "@digix/solidity-collections/contracts/abstract/UintIteratorStorage.sol", + "exportedSymbols": { + "UintIteratorStorage": [ + 22987 + ] + }, + "id": 22988, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 22906, + "literals": [ + "solidity", + "^", + "0.4", + ".19" + ], + "nodeType": "PragmaDirective", + "src": "0:24:80" + }, + { + "absolutePath": "@digix/solidity-collections/contracts/lib/DoublyLinkedList.sol", + "file": "../lib/DoublyLinkedList.sol", + "id": 22907, + "nodeType": "ImportDirective", + "scope": 22988, + "sourceUnit": 25547, + "src": "26:37:80", + "symbolAliases": [], + "unitAlias": "" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": "@title Uint Iterator Storage\n@author DigixGlobal Pte Ltd", + "fullyImplemented": true, + "id": 22987, + "linearizedBaseContracts": [ + 22987 + ], + "name": "UintIteratorStorage", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 22910, + "libraryName": { + "contractScope": null, + "id": 22908, + "name": "DoublyLinkedList", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 25546, + "src": "173:16:80", + "typeDescriptions": { + "typeIdentifier": "t_contract$_DoublyLinkedList_$25546", + "typeString": "library DoublyLinkedList" + } + }, + "nodeType": "UsingForDirective", + "src": "167:49:80", + "typeName": { + "contractScope": null, + "id": 22909, + "name": "DoublyLinkedList.Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "194:21:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + } + }, + { + "body": { + "id": 22923, + "nodeType": "Block", + "src": "535:37:80", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22917, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22915, + "src": "541:5:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 22918, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22912, + "src": "549:5:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 22919, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "start_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 23846, + "src": "549:16:80", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Uint_$23038_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Uint_$23038_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer) view returns (uint256)" + } + }, + "id": 22920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "549:18:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "541:26:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22922, + "nodeType": "ExpressionStatement", + "src": "541:26:80" + } + ] + }, + "documentation": "@notice Returns the first item from a `DoublyLinkedList.Uint` list\n@param _list The DoublyLinkedList.Uint list\n@return {\"_item\": \"The first item\"}", + "id": 22924, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_first_from_uints", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22913, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22912, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22924, + "src": "421:35:80", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 22911, + "name": "DoublyLinkedList.Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "421:21:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "420:37:80" + }, + "payable": false, + "returnParameters": { + "id": 22916, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22915, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22924, + "src": "518:13:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22914, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "518:7:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "517:15:80" + }, + "scope": 22987, + "src": "390:182:80", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22937, + "nodeType": "Block", + "src": "888:35:80", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22931, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22929, + "src": "894:5:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 22932, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22926, + "src": "902:5:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 22933, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "end_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 23878, + "src": "902:14:80", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Uint_$23038_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Uint_$23038_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer) view returns (uint256)" + } + }, + "id": 22934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "902:16:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "894:24:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22936, + "nodeType": "ExpressionStatement", + "src": "894:24:80" + } + ] + }, + "documentation": "@notice Returns the last item from a `DoublyLinkedList.Uint` list\n@param _list The DoublyLinkedList.Uint list\n@return {\"_item\": \"The last item\"}", + "id": 22938, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_last_from_uints", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22927, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22926, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22938, + "src": "774:35:80", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 22925, + "name": "DoublyLinkedList.Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "774:21:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "773:37:80" + }, + "payable": false, + "returnParameters": { + "id": 22930, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22929, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22938, + "src": "871:13:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22928, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "871:7:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "870:15:80" + }, + "scope": 22987, + "src": "744:179:80", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22954, + "nodeType": "Block", + "src": "1343:49:80", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22947, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22945, + "src": "1349:5:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22950, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22942, + "src": "1373:13:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 22948, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22940, + "src": "1357:5:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 22949, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "next_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 23996, + "src": "1357:15:80", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Uint_$23038_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Uint_$23038_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer,uint256) view returns (uint256)" + } + }, + "id": 22951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1357:30:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1349:38:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22953, + "nodeType": "ExpressionStatement", + "src": "1349:38:80" + } + ] + }, + "documentation": "@notice Returns the next item from a `DoublyLinkedList.Uint` list based on the specified `_current_item`\n@param _list The DoublyLinkedList.Uint list\n@param _current_item The current item\n@return {\"_item\": \"The next item\"}", + "id": 22955, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_next_from_uints", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22943, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22940, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22955, + "src": "1206:35:80", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 22939, + "name": "DoublyLinkedList.Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "1206:21:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22942, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22955, + "src": "1243:21:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22941, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1243:7:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1205:60:80" + }, + "payable": false, + "returnParameters": { + "id": 22946, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22945, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22955, + "src": "1326:13:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22944, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1326:7:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1325:15:80" + }, + "scope": 22987, + "src": "1176:216:80", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22971, + "nodeType": "Block", + "src": "1824:53:80", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22969, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22964, + "name": "_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22962, + "src": "1830:5:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 22967, + "name": "_current_item", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22959, + "src": "1858:13:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 22965, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22957, + "src": "1838:5:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 22966, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "previous_item", + "nodeType": "MemberAccess", + "referencedDeclaration": 23956, + "src": "1838:19:80", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Uint_$23038_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Uint_$23038_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer,uint256) view returns (uint256)" + } + }, + "id": 22968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1838:34:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1830:42:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22970, + "nodeType": "ExpressionStatement", + "src": "1830:42:80" + } + ] + }, + "documentation": "@notice Returns the previous item from a `DoublyLinkedList.Uint` list based on the specified `_current_item`\n@param _list The DoublyLinkedList.Uint list\n@param _current_item The current item\n@return {\"_item\": \"The previous item\"}", + "id": 22972, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_previous_from_uints", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22960, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22957, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22972, + "src": "1687:35:80", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 22956, + "name": "DoublyLinkedList.Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "1687:21:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22959, + "name": "_current_item", + "nodeType": "VariableDeclaration", + "scope": 22972, + "src": "1724:21:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22958, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1724:7:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1686:60:80" + }, + "payable": false, + "returnParameters": { + "id": 22963, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22962, + "name": "_item", + "nodeType": "VariableDeclaration", + "scope": 22972, + "src": "1807:13:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22961, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1807:7:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1806:15:80" + }, + "scope": 22987, + "src": "1653:224:80", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + { + "body": { + "id": 22985, + "nodeType": "Block", + "src": "2212:33:80", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 22983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 22979, + "name": "_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22977, + "src": "2218:6:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 22980, + "name": "_list", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22974, + "src": "2227:5:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint storage pointer" + } + }, + "id": 22981, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "total", + "nodeType": "MemberAccess", + "referencedDeclaration": 23814, + "src": "2227:11:80", + "typeDescriptions": { + "typeIdentifier": "t_function_delegatecall_view$_t_struct$_Uint_$23038_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Uint_$23038_storage_ptr_$", + "typeString": "function (struct DoublyLinkedList.Uint storage pointer) view returns (uint256)" + } + }, + "id": 22982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2227:13:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2218:22:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 22984, + "nodeType": "ExpressionStatement", + "src": "2218:22:80" + } + ] + }, + "documentation": "@notice Returns the total count of itemsfrom a `DoublyLinkedList.Uint` list\n@param _list The DoublyLinkedList.Uint list\n@return {\"_count\": \"The total count of items\"}", + "id": 22986, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "read_total_uints", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 22975, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22974, + "name": "_list", + "nodeType": "VariableDeclaration", + "scope": 22986, + "src": "2097:35:80", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + }, + "typeName": { + "contractScope": null, + "id": 22973, + "name": "DoublyLinkedList.Uint", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 23038, + "src": "2097:21:80", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint_$23038_storage_ptr", + "typeString": "struct DoublyLinkedList.Uint" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2096:37:80" + }, + "payable": false, + "returnParameters": { + "id": 22978, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 22977, + "name": "_count", + "nodeType": "VariableDeclaration", + "scope": 22986, + "src": "2194:14:80", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 22976, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2194:7:80", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2193:16:80" + }, + "scope": 22987, + "src": "2071:174:80", + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 22988, + "src": "133:2115:80" + } + ], + "src": "0:2249:80" + }, + "compiler": { + "name": "solc", + "version": "0.4.25+commit.59dbf8f1.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "2.0.2", + "updatedAt": "2019-03-12T07:53:08.929Z" +} \ No newline at end of file diff --git a/contract-full-sources/DaoContracts.sol b/contract-full-sources/DaoContracts.sol index d912d60..e8b6511 100644 --- a/contract-full-sources/DaoContracts.sol +++ b/contract-full-sources/DaoContracts.sol @@ -1922,6 +1922,7 @@ contract DaoConstants { bytes32 EMPTY_BYTES = bytes32(0x0); address EMPTY_ADDRESS = address(0x0); + bytes32 PROPOSAL_STATE_PREPROPOSAL = "proposal_state_preproposal"; bytes32 PROPOSAL_STATE_DRAFT = "proposal_state_draft"; bytes32 PROPOSAL_STATE_MODERATED = "proposal_state_moderated"; @@ -4492,6 +4493,9 @@ contract DaoConfigsStorage is ResolverClient, DaoConstants { // config names can be found in DaoConstants contract mapping (bytes32 => bytes32) public bytesConfigs; + uint256 ONE_BILLION = 1000000000; + uint256 ONE_MILLION = 1000000; + constructor(address _resolver) public { @@ -4499,84 +4503,93 @@ contract DaoConfigsStorage is ResolverClient, DaoConstants { uintConfigs[CONFIG_LOCKING_PHASE_DURATION] = 10 days; uintConfigs[CONFIG_QUARTER_DURATION] = QUARTER_DURATION; - uintConfigs[CONFIG_VOTING_COMMIT_PHASE] = 3 weeks; - uintConfigs[CONFIG_VOTING_PHASE_TOTAL] = 4 weeks; + uintConfigs[CONFIG_VOTING_COMMIT_PHASE] = 14 days; + uintConfigs[CONFIG_VOTING_PHASE_TOTAL] = 21 days; uintConfigs[CONFIG_INTERIM_COMMIT_PHASE] = 7 days; - uintConfigs[CONFIG_INTERIM_PHASE_TOTAL] = 10 days; + uintConfigs[CONFIG_INTERIM_PHASE_TOTAL] = 14 days; + + + + uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR] = 5; // 5% + uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR] = 100; // 5% + uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR] = 35; // 35% + uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR] = 100; // 35% + + + uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR] = 5; // 5% + uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR] = 100; // 5% + uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR] = 25; // 25% + uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR] = 100; // 25% + + uintConfigs[CONFIG_DRAFT_QUOTA_NUMERATOR] = 1; // >50% + uintConfigs[CONFIG_DRAFT_QUOTA_DENOMINATOR] = 2; // >50% + uintConfigs[CONFIG_VOTING_QUOTA_NUMERATOR] = 1; // >50% + uintConfigs[CONFIG_VOTING_QUOTA_DENOMINATOR] = 2; // >50% - uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR] = 20; - uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR] = 100; - uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR] = 60; - uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR] = 100; - uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR] = 20; - uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR] = 100; - uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR] = 60; - uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR] = 100; + uintConfigs[CONFIG_QUARTER_POINT_DRAFT_VOTE] = ONE_BILLION; + uintConfigs[CONFIG_QUARTER_POINT_VOTE] = ONE_BILLION; + uintConfigs[CONFIG_QUARTER_POINT_INTERIM_VOTE] = ONE_BILLION; - uintConfigs[CONFIG_DRAFT_QUOTA_NUMERATOR] = 30; - uintConfigs[CONFIG_DRAFT_QUOTA_DENOMINATOR] = 100; - uintConfigs[CONFIG_VOTING_QUOTA_NUMERATOR] = 30; - uintConfigs[CONFIG_VOTING_QUOTA_DENOMINATOR] = 100; + uintConfigs[CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH] = 20000 * ONE_BILLION; - uintConfigs[CONFIG_QUARTER_POINT_DRAFT_VOTE] = 1; - uintConfigs[CONFIG_QUARTER_POINT_VOTE] = 1; - uintConfigs[CONFIG_QUARTER_POINT_INTERIM_VOTE] = 1; + uintConfigs[CONFIG_BONUS_REPUTATION_NUMERATOR] = 15; // 15% bonus for consistent votes + uintConfigs[CONFIG_BONUS_REPUTATION_DENOMINATOR] = 100; // 15% bonus for consistent votes - uintConfigs[CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH] = 3; + uintConfigs[CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE] = 28 days; + uintConfigs[CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL] = 35 days; - uintConfigs[CONFIG_BONUS_REPUTATION_NUMERATOR] = 200; - uintConfigs[CONFIG_BONUS_REPUTATION_DENOMINATOR] = 100; - uintConfigs[CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE] = 3 weeks; - uintConfigs[CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL] = 4 weeks; - uintConfigs[CONFIG_SPECIAL_QUOTA_NUMERATOR] = 51; - uintConfigs[CONFIG_SPECIAL_QUOTA_DENOMINATOR] = 100; - uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR] = 70; - uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR] = 100; + uintConfigs[CONFIG_SPECIAL_QUOTA_NUMERATOR] = 1; // >50% + uintConfigs[CONFIG_SPECIAL_QUOTA_DENOMINATOR] = 2; // >50% - uintConfigs[CONFIG_MAXIMUM_REPUTATION_DEDUCTION] = 20; - uintConfigs[CONFIG_PUNISHMENT_FOR_NOT_LOCKING] = 5; + uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR] = 40; // 40% + uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR] = 100; // 40% + + uintConfigs[CONFIG_MAXIMUM_REPUTATION_DEDUCTION] = 8334 * ONE_MILLION; + + uintConfigs[CONFIG_PUNISHMENT_FOR_NOT_LOCKING] = 1666 * ONE_MILLION; uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_NUM] = 1; // 1 extra QP gains 1/1 RP uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_DEN] = 1; - uintConfigs[CONFIG_MINIMAL_QUARTER_POINT] = 3; - uintConfigs[CONFIG_QUARTER_POINT_SCALING_FACTOR] = 10; - uintConfigs[CONFIG_REPUTATION_POINT_SCALING_FACTOR] = 10; - uintConfigs[CONFIG_MODERATOR_MINIMAL_QUARTER_POINT] = 3; - uintConfigs[CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR] = 10; - uintConfigs[CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR] = 10; + uintConfigs[CONFIG_MINIMAL_QUARTER_POINT] = 2 * ONE_BILLION; + uintConfigs[CONFIG_QUARTER_POINT_SCALING_FACTOR] = 400 * ONE_BILLION; + uintConfigs[CONFIG_REPUTATION_POINT_SCALING_FACTOR] = 2000 * ONE_BILLION; + + uintConfigs[CONFIG_MODERATOR_MINIMAL_QUARTER_POINT] = 4 * ONE_BILLION; + uintConfigs[CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR] = 400 * ONE_BILLION; + uintConfigs[CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR] = 2000 * ONE_BILLION; + + uintConfigs[CONFIG_PORTION_TO_MODERATORS_NUM] = 42; //4.2% of DGX to moderator voting activity + uintConfigs[CONFIG_PORTION_TO_MODERATORS_DEN] = 1000; - uintConfigs[CONFIG_PORTION_TO_MODERATORS_NUM] = 5; //5% of DGX to Badge holder voting activity - uintConfigs[CONFIG_PORTION_TO_MODERATORS_DEN] = 100; + uintConfigs[CONFIG_DRAFT_VOTING_PHASE] = 10 days; - uintConfigs[CONFIG_DRAFT_VOTING_PHASE] = 2 weeks; - uintConfigs[CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE] = 1000; + uintConfigs[CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE] = 412500 * ONE_MILLION; - uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR] = 30; - uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR] = 100; + uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR] = 7; // 7% + uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR] = 100; // 7% - uintConfigs[CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION] = 20; + uintConfigs[CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION] = 12500 * ONE_MILLION; uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM] = 1; uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN] = 1; - uintConfigs[CONFIG_VOTE_CLAIMING_DEADLINE] = 5 days; + uintConfigs[CONFIG_VOTE_CLAIMING_DEADLINE] = 10 days; - uintConfigs[CONFIG_MINIMUM_LOCKED_DGD] = 10 ** 9; - uintConfigs[CONFIG_MINIMUM_DGD_FOR_MODERATOR] = 100 * (10 ** 9); - uintConfigs[CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR] = 100; + uintConfigs[CONFIG_MINIMUM_LOCKED_DGD] = 10 * ONE_BILLION; + uintConfigs[CONFIG_MINIMUM_DGD_FOR_MODERATOR] = 842 * ONE_BILLION; + uintConfigs[CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR] = 400 * ONE_BILLION; uintConfigs[CONFIG_PREPROPOSAL_COLLATERAL] = 2 ether; - uintConfigs[CONFIG_MAX_FUNDING_FOR_NON_DIGIX] = 20 ether; - uintConfigs[CONFIG_MAX_MILESTONES_FOR_NON_DIGIX] = 2; - uintConfigs[CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER] = 10; + uintConfigs[CONFIG_MAX_FUNDING_FOR_NON_DIGIX] = 100 ether; + uintConfigs[CONFIG_MAX_MILESTONES_FOR_NON_DIGIX] = 5; + uintConfigs[CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER] = 80; - uintConfigs[CONFIG_PROPOSAL_DEAD_DURATION] = 180 days; - - uintConfigs[CONFIG_CARBON_VOTE_REPUTATION_BONUS] = 35; + uintConfigs[CONFIG_PROPOSAL_DEAD_DURATION] = 90 days; + uintConfigs[CONFIG_CARBON_VOTE_REPUTATION_BONUS] = 10 * ONE_BILLION; } function updateUintConfigs(uint256[] _uintConfigs) @@ -5669,21 +5682,6 @@ contract DaoCommon is DaoCommonMini { using MathHelper for MathHelper; - /** - @notice Check if a proposal is currently paused/stopped - @dev If a proposal is paused/stopped (by the PRLs): proposer cannot call for voting, a current on-going voting round can still pass, but no funding can be withdrawn. - @dev A paused proposal can still be unpaused - @dev If a proposal is stopped, this function also returns true - @return _isPausedOrStopped true if the proposal is paused(or stopped) - */ - function isProposalPaused(bytes32 _proposalId) - public - view - returns (bool _isPausedOrStopped) - { - (,,,,,,,,_isPausedOrStopped,) = daoStorage().readProposal(_proposalId); - } - /** @notice Check if the transaction is called by the proposer of a proposal @return _isFromProposer true if the caller is the proposer @@ -5773,14 +5771,6 @@ contract DaoCommon is DaoCommonMini { _; } - /** - @notice Check if the DAO has enough ETHs for a particular funding request - */ - modifier ifFundingPossible(uint256[] _fundings, uint256 _finalReward) { - require(MathHelper.sumNumbers(_fundings).add(_finalReward) <= weiInDao()); - _; - } - modifier ifDraftNotClaimed(bytes32 _proposalId) { require(daoStorage().isDraftClaimed(_proposalId) == false); _; @@ -7348,6 +7338,21 @@ contract DaoFundingManager is DaoCommon { _contract = Dao(get_contract(CONTRACT_DAO)); } + /** + @notice Check if a proposal is currently paused/stopped + @dev If a proposal is paused/stopped (by the PRLs): proposer cannot call for voting, a current on-going voting round can still pass, but no funding can be withdrawn. + @dev A paused proposal can still be unpaused + @dev If a proposal is stopped, this function also returns true + @return _isPausedOrStopped true if the proposal is paused(or stopped) + */ + function isProposalPaused(bytes32 _proposalId) + public + view + returns (bool _isPausedOrStopped) + { + (,,,,,,,,_isPausedOrStopped,) = daoStorage().readProposal(_proposalId); + } + /** @notice Function to set the source of DigixDAO funding @dev only this source address will be able to fund the DaoFundingManager contract, along with CONTRACT_DAO @@ -7546,16846 +7551,6 @@ contract Dao is DaoCommon { daoUpgradeStorage().setStartOfFirstQuarter(_start); } - /** - @notice Submit a new preliminary idea / Pre-proposal - @dev The proposer has to send in a collateral == getUintConfig(CONFIG_PREPROPOSAL_COLLATERAL) - which he could claim back in these scenarios: - - Before the proposal is finalized, by calling closeProposal() - - After all milestones are done and the final voting round is passed - - @param _docIpfsHash Hash of the IPFS doc containing details of proposal - @param _milestonesFundings Array of fundings of the proposal milestones (in wei) - @param _finalReward Final reward asked by proposer at successful completion of all milestones of proposal - */ - function submitPreproposal( - bytes32 _docIpfsHash, - uint256[] _milestonesFundings, - uint256 _finalReward - ) - external - payable - ifFundingPossible(_milestonesFundings, _finalReward) - { - senderCanDoProposerOperations(); - bool _isFounder = is_founder(); - - require(msg.value == getUintConfig(CONFIG_PREPROPOSAL_COLLATERAL)); - require(address(daoFundingManager()).call.gas(25000).value(msg.value)()); - - checkNonDigixFundings(_milestonesFundings, _finalReward); - - daoStorage().addProposal(_docIpfsHash, msg.sender, _milestonesFundings, _finalReward, _isFounder); - daoStorage().setProposalCollateralStatus(_docIpfsHash, COLLATERAL_STATUS_UNLOCKED); - daoStorage().setProposalCollateralAmount(_docIpfsHash, msg.value); - - emit NewProposal(_docIpfsHash, msg.sender); - } - - /** - @notice Modify a proposal (this can be done only before setting the final version) - @param _proposalId Proposal ID (hash of IPFS doc of the first version of the proposal) - @param _docIpfsHash Hash of IPFS doc of the modified version of the proposal - @param _milestonesFundings Array of fundings of the modified version of the proposal (in wei) - @param _finalReward Final reward on successful completion of all milestones of the modified version of proposal (in wei) - */ - function modifyProposal( - bytes32 _proposalId, - bytes32 _docIpfsHash, - uint256[] _milestonesFundings, - uint256 _finalReward - ) - external - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - - require(isEditable(_proposalId)); - bytes32 _currentState; - (,,,_currentState,,,,,,) = daoStorage().readProposal(_proposalId); - require(_currentState == PROPOSAL_STATE_PREPROPOSAL || - _currentState == PROPOSAL_STATE_DRAFT); - - checkNonDigixFundings(_milestonesFundings, _finalReward); - - daoStorage().editProposal(_proposalId, _docIpfsHash, _milestonesFundings, _finalReward); - - emit ModifyProposal(_proposalId, _docIpfsHash); - } - - /** - @notice Function to change the funding structure for a proposal - @dev Proposers can only change fundings for the subsequent milestones, - during the duration of an on-going milestone (so, cannot be before proposal finalization or during any voting phase) - @param _proposalId ID of the proposal - @param _milestonesFundings Array of fundings for milestones - @param _finalReward Final reward needed for completion of proposal - @param _currentMilestone the milestone number the proposal is currently in - */ - function changeFundings( - bytes32 _proposalId, - uint256[] _milestonesFundings, - uint256 _finalReward, - uint256 _currentMilestone - ) - external - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - - checkNonDigixFundings(_milestonesFundings, _finalReward); - - uint256[] memory _currentFundings; - (_currentFundings,) = daoStorage().readProposalFunding(_proposalId); - - // If there are N milestones, the milestone index must be < N. Otherwise, putting a milestone index of N will actually return a valid timestamp that is - // right after the final voting round (voting round index N is the final voting round) - // Which could be abused ( to add more milestones even after the final voting round) - require(_currentMilestone < _currentFundings.length); - - uint256 _startOfCurrentMilestone = startOfMilestone(_proposalId, _currentMilestone); - - // must be after the start of the milestone, and the milestone has not been finished yet (next voting hasnt started) - require(now > _startOfCurrentMilestone); - require(daoStorage().readProposalVotingTime(_proposalId, _currentMilestone.add(1)) == 0); - - // can only modify the fundings after _currentMilestone - // so, all the fundings from 0 to _currentMilestone must be the same - for (uint256 i=0;i<=_currentMilestone;i++) { - require(_milestonesFundings[i] == _currentFundings[i]); - } - - daoStorage().changeFundings(_proposalId, _milestonesFundings, _finalReward); - - emit ChangeProposalFunding(_proposalId); - } - - /** - @notice Finalize a proposal - @dev After finalizing a proposal, no more proposal version can be added. Proposer will only be able to change fundings and add more docs - Right after finalizing a proposal, the draft voting round starts. The proposer would also not be able to closeProposal() anymore - (hence, cannot claim back the collateral anymore, until the final voting round passes) - @param _proposalId ID of the proposal - */ - function finalizeProposal(bytes32 _proposalId) - public - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - require(isEditable(_proposalId)); - checkNonDigixProposalLimit(_proposalId); - - // make sure we have reasonably enough time left in the quarter to conduct the Draft Voting. - // Otherwise, the proposer must wait until the next quarter to finalize the proposal - require(getTimeLeftInQuarter(now) > getUintConfig(CONFIG_DRAFT_VOTING_PHASE).add(getUintConfig(CONFIG_VOTE_CLAIMING_DEADLINE))); - address _endorser; - (,,_endorser,,,,,,,) = daoStorage().readProposal(_proposalId); - require(_endorser != EMPTY_ADDRESS); - daoStorage().finalizeProposal(_proposalId); - daoStorage().setProposalDraftVotingTime(_proposalId, now); - - emit FinalizeProposal(_proposalId); - } - - /** - @notice Function to set milestone to be completed - @dev This can only be called in the Main Phase of DigixDAO by the proposer. It sets the - voting time for the next milestone, which is immediately, for most of the times. If there is not enough time left in the current - quarter, then the next voting is postponed to the start of next quarter - @param _proposalId ID of the proposal - @param _milestoneIndex Index of the milestone. Index starts from 0 (for the first milestone) - */ - function finishMilestone(bytes32 _proposalId, uint256 _milestoneIndex) - public - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - - uint256[] memory _currentFundings; - (_currentFundings,) = daoStorage().readProposalFunding(_proposalId); - - // If there are N milestones, the milestone index must be < N. Otherwise, putting a milestone index of N will actually return a valid timestamp that is - // right after the final voting round (voting round index N is the final voting round) - // Which could be abused ( to "finish" a milestone even after the final voting round) - require(_milestoneIndex < _currentFundings.length); - - // must be after the start of this milestone, and the milestone has not been finished yet (voting hasnt started) - uint256 _startOfCurrentMilestone = startOfMilestone(_proposalId, _milestoneIndex); - require(now > _startOfCurrentMilestone); - require(daoStorage().readProposalVotingTime(_proposalId, _milestoneIndex.add(1)) == 0); - - daoStorage().setProposalVotingTime( - _proposalId, - _milestoneIndex.add(1), - getTimelineForNextVote(_milestoneIndex.add(1), now) - ); // set the voting time of next voting - - emit FinishMilestone(_proposalId, _milestoneIndex); - } - - /** - @notice Add IPFS docs to a proposal - @dev This is allowed only after a proposal is finalized. Before finalizing - a proposal, proposer can modifyProposal and basically create a different ProposalVersion. After the proposal is finalized, - they can only allProposalDoc to the final version of that proposal - @param _proposalId ID of the proposal - @param _newDoc hash of the new IPFS doc - */ - function addProposalDoc(bytes32 _proposalId, bytes32 _newDoc) - public - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - bytes32 _finalVersion; - (,,,,,,,_finalVersion,,) = daoStorage().readProposal(_proposalId); - require(_finalVersion != EMPTY_BYTES); - daoStorage().addProposalDoc(_proposalId, _newDoc); - - emit AddProposalDoc(_proposalId, _newDoc); - } - - /** - @notice Function to endorse a pre-proposal (can be called only by DAO Moderator) - @param _proposalId ID of the proposal (hash of IPFS doc of the first version of the proposal) - */ - function endorseProposal(bytes32 _proposalId) - public - isProposalState(_proposalId, PROPOSAL_STATE_PREPROPOSAL) - { - require(isMainPhase()); - require(isModerator(msg.sender)); - daoStorage().updateProposalEndorse(_proposalId, msg.sender); - } - - /** - @notice Function to update the PRL (regulatory status) status of a proposal - @dev if a proposal is paused or stopped, the proposer wont be able to withdraw the funding - @param _proposalId ID of the proposal - @param _doc hash of IPFS uploaded document, containing details of PRL Action - */ - function updatePRL( - bytes32 _proposalId, - uint256 _action, - bytes32 _doc - ) - public - if_prl() - { - require(_action == PRL_ACTION_STOP || _action == PRL_ACTION_PAUSE || _action == PRL_ACTION_UNPAUSE); - daoStorage().updateProposalPRL(_proposalId, _action, _doc, now); - - emit PRLAction(_proposalId, _action, _doc); - } - - /** - @notice Function to close proposal (also get back collateral) - @dev Can only be closed if the proposal has not been finalized yet - @param _proposalId ID of the proposal - */ - function closeProposal(bytes32 _proposalId) - public - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - bytes32 _finalVersion; - bytes32 _status; - (,,,_status,,,,_finalVersion,,) = daoStorage().readProposal(_proposalId); - require(_finalVersion == EMPTY_BYTES); - require(_status != PROPOSAL_STATE_CLOSED); - require(daoStorage().readProposalCollateralStatus(_proposalId) == COLLATERAL_STATUS_UNLOCKED); - - daoStorage().closeProposal(_proposalId); - daoStorage().setProposalCollateralStatus(_proposalId, COLLATERAL_STATUS_CLAIMED); - emit CloseProposal(_proposalId); - require(daoFundingManager().refundCollateral(msg.sender, _proposalId)); - } - - /** - @notice Function for founders to close all the dead proposals - @dev Dead proposals = all proposals who are not yet finalized, and been there for more than the threshold time - The proposers of dead proposals will not get the collateral back - @param _proposalIds Array of proposal IDs - */ - function founderCloseProposals(bytes32[] _proposalIds) - external - if_founder() - { - uint256 _length = _proposalIds.length; - uint256 _timeCreated; - bytes32 _finalVersion; - bytes32 _currentState; - for (uint256 _i = 0; _i < _length; _i++) { - (,,,_currentState,_timeCreated,,,_finalVersion,,) = daoStorage().readProposal(_proposalIds[_i]); - require(_finalVersion == EMPTY_BYTES); - require( - (_currentState == PROPOSAL_STATE_PREPROPOSAL) || - (_currentState == PROPOSAL_STATE_DRAFT) - ); - require(now > _timeCreated.add(getUintConfig(CONFIG_PROPOSAL_DEAD_DURATION))); - emit CloseProposal(_proposalIds[_i]); - daoStorage().closeProposal(_proposalIds[_i]); - } - } -} -pragma solidity ^0.4.25; - -/// @title Owner based access control -/// @author DigixGlobal - -contract ACOwned { - - address public owner; - address public new_owner; - bool is_ac_owned_init; - - /// @dev Modifier to check if msg.sender is the contract owner - modifier if_owner() { - require(is_owner()); - _; - } - - function init_ac_owned() - internal - returns (bool _success) - { - if (is_ac_owned_init == false) { - owner = msg.sender; - is_ac_owned_init = true; - } - _success = true; - } - - function is_owner() - private - constant - returns (bool _is_owner) - { - _is_owner = (msg.sender == owner); - } - - function change_owner(address _new_owner) - if_owner() - public - returns (bool _success) - { - new_owner = _new_owner; - _success = true; - } - - function claim_ownership() - public - returns (bool _success) - { - require(msg.sender == new_owner); - owner = new_owner; - _success = true; - } - -} - - - - - -/// @title Contract Resolver Interface -/// @author DigixGlobal - -contract ResolverClient { - - /// The address of the resolver contract for this project - address public resolver; - bytes32 public key; - - /// Make our own address available to us as a constant - address public CONTRACT_ADDRESS; - - /// Function modifier to check if msg.sender corresponds to the resolved address of a given key - /// @param _contract The resolver key - modifier if_sender_is(bytes32 _contract) { - require(sender_is(_contract)); - _; - } - - function sender_is(bytes32 _contract) internal view returns (bool _isFrom) { - _isFrom = msg.sender == ContractResolver(resolver).get_contract(_contract); - } - - modifier if_sender_is_from(bytes32[3] _contracts) { - require(sender_is_from(_contracts)); - _; - } - - function sender_is_from(bytes32[3] _contracts) internal view returns (bool _isFrom) { - uint256 _n = _contracts.length; - for (uint256 i = 0; i < _n; i++) { - if (_contracts[i] == bytes32(0x0)) continue; - if (msg.sender == ContractResolver(resolver).get_contract(_contracts[i])) { - _isFrom = true; - break; - } - } - } - - /// Function modifier to check resolver's locking status. - modifier unless_resolver_is_locked() { - require(is_locked() == false); - _; - } - - /// @dev Initialize new contract - /// @param _key the resolver key for this contract - /// @return _success if the initialization is successful - function init(bytes32 _key, address _resolver) - internal - returns (bool _success) - { - bool _is_locked = ContractResolver(_resolver).locked_forever(); - if (_is_locked == false) { - CONTRACT_ADDRESS = address(this); - resolver = _resolver; - key = _key; - require(ContractResolver(resolver).init_register_contract(key, CONTRACT_ADDRESS)); - _success = true; - } else { - _success = false; - } - } - - /// @dev Check if resolver is locked - /// @return _locked if the resolver is currently locked - function is_locked() - private - constant - returns (bool _locked) - { - _locked = ContractResolver(resolver).locked_forever(); - } - - /// @dev Get the address of a contract - /// @param _key the resolver key to look up - /// @return _contract the address of the contract - function get_contract(bytes32 _key) - public - constant - returns (address _contract) - { - _contract = ContractResolver(resolver).get_contract(_key); - } -} - -/** - @title Address Iterator Interactive - @author DigixGlobal Pte Ltd -*/ -contract AddressIteratorInteractive { - - /** - @notice Lists a Address collection from start or end - @param _count Total number of Address items to return - @param _function_first Function that returns the First Address item in the list - @param _function_last Function that returns the last Address item in the list - @param _function_next Function that returns the Next Address item in the list - @param _function_previous Function that returns previous Address item in the list - @param _from_start whether to read from start (or end) of the list - @return {"_address_items" : "Collection of reversed Address list"} - */ - function list_addresses(uint256 _count, - function () external constant returns (address) _function_first, - function () external constant returns (address) _function_last, - function (address) external constant returns (address) _function_next, - function (address) external constant returns (address) _function_previous, - bool _from_start) - internal - constant - returns (address[] _address_items) - { - if (_from_start) { - _address_items = private_list_addresses_from_address(_function_first(), _count, true, _function_last, _function_next); - } else { - _address_items = private_list_addresses_from_address(_function_last(), _count, true, _function_first, _function_previous); - } - } - - - - /** - @notice Lists a Address collection from some `_current_item`, going forwards or backwards depending on `_from_start` - @param _current_item The current Item - @param _count Total number of Address items to return - @param _function_first Function that returns the First Address item in the list - @param _function_last Function that returns the last Address item in the list - @param _function_next Function that returns the Next Address item in the list - @param _function_previous Function that returns previous Address item in the list - @param _from_start whether to read in the forwards ( or backwards) direction - @return {"_address_items" :"Collection/list of Address"} - */ - function list_addresses_from(address _current_item, uint256 _count, - function () external constant returns (address) _function_first, - function () external constant returns (address) _function_last, - function (address) external constant returns (address) _function_next, - function (address) external constant returns (address) _function_previous, - bool _from_start) - internal - constant - returns (address[] _address_items) - { - if (_from_start) { - _address_items = private_list_addresses_from_address(_current_item, _count, false, _function_last, _function_next); - } else { - _address_items = private_list_addresses_from_address(_current_item, _count, false, _function_first, _function_previous); - } - } - - - /** - @notice a private function to lists a Address collection starting from some `_current_item` (which could be included or excluded), in the forwards or backwards direction - @param _current_item The current Item - @param _count Total number of Address items to return - @param _including_current Whether the `_current_item` should be included in the result - @param _function_last Function that returns the address where we stop reading more address - @param _function_next Function that returns the next address to read after some address (could be backwards or forwards in the physical collection) - @return {"_address_items" :"Collection/list of Address"} - */ - function private_list_addresses_from_address(address _current_item, uint256 _count, bool _including_current, - function () external constant returns (address) _function_last, - function (address) external constant returns (address) _function_next) - private - constant - returns (address[] _address_items) - { - uint256 _i; - uint256 _real_count = 0; - address _last_item; - - _last_item = _function_last(); - if (_count == 0 || _last_item == address(0x0)) { - _address_items = new address[](0); - } else { - address[] memory _items_temp = new address[](_count); - address _this_item; - if (_including_current == true) { - _items_temp[0] = _current_item; - _real_count = 1; - } - _this_item = _current_item; - for (_i = _real_count; (_i < _count) && (_this_item != _last_item);_i++) { - _this_item = _function_next(_this_item); - if (_this_item != address(0x0)) { - _real_count++; - _items_temp[_i] = _this_item; - } - } - - _address_items = new address[](_real_count); - for(_i = 0;_i < _real_count;_i++) { - _address_items[_i] = _items_temp[_i]; - } - } - } - - - /** DEPRECATED - @notice private function to list a Address collection starting from the start or end of the list - @param _count Total number of Address item to return - @param _function_total Function that returns the Total number of Address item in the list - @param _function_first Function that returns the First Address item in the list - @param _function_next Function that returns the Next Address item in the list - @return {"_address_items" :"Collection/list of Address"} - */ - /*function list_addresses_from_start_or_end(uint256 _count, - function () external constant returns (uint256) _function_total, - function () external constant returns (address) _function_first, - function (address) external constant returns (address) _function_next) - - private - constant - returns (address[] _address_items) - { - uint256 _i; - address _current_item; - uint256 _real_count = _function_total(); - - if (_count > _real_count) { - _count = _real_count; - } - - address[] memory _items_tmp = new address[](_count); - - if (_count > 0) { - _current_item = _function_first(); - _items_tmp[0] = _current_item; - - for(_i = 1;_i <= (_count - 1);_i++) { - _current_item = _function_next(_current_item); - if (_current_item != address(0x0)) { - _items_tmp[_i] = _current_item; - } - } - _address_items = _items_tmp; - } else { - _address_items = new address[](0); - } - }*/ - - /** DEPRECATED - @notice a private function to lists a Address collection starting from some `_current_item`, could be forwards or backwards - @param _current_item The current Item - @param _count Total number of Address items to return - @param _function_last Function that returns the bytes where we stop reading more bytes - @param _function_next Function that returns the next bytes to read after some bytes (could be backwards or forwards in the physical collection) - @return {"_address_items" :"Collection/list of Address"} - */ - /*function list_addresses_from_byte(address _current_item, uint256 _count, - function () external constant returns (address) _function_last, - function (address) external constant returns (address) _function_next) - private - constant - returns (address[] _address_items) - { - uint256 _i; - uint256 _real_count = 0; - - if (_count == 0) { - _address_items = new address[](0); - } else { - address[] memory _items_temp = new address[](_count); - - address _start_item; - address _last_item; - - _last_item = _function_last(); - - if (_last_item != _current_item) { - _start_item = _function_next(_current_item); - if (_start_item != address(0x0)) { - _items_temp[0] = _start_item; - _real_count = 1; - for(_i = 1;(_i <= (_count - 1)) && (_start_item != _last_item);_i++) { - _start_item = _function_next(_start_item); - if (_start_item != address(0x0)) { - _real_count++; - _items_temp[_i] = _start_item; - } - } - _address_items = new address[](_real_count); - for(_i = 0;_i <= (_real_count - 1);_i++) { - _address_items[_i] = _items_temp[_i]; - } - } else { - _address_items = new address[](0); - } - } else { - _address_items = new address[](0); - } - } - }*/ - -} - -/** - @title Bytes Iterator Interactive - @author DigixGlobal Pte Ltd -*/ -contract BytesIteratorInteractive { - - /** - @notice Lists a Bytes collection from start or end - @param _count Total number of Bytes items to return - @param _function_first Function that returns the First Bytes item in the list - @param _function_last Function that returns the last Bytes item in the list - @param _function_next Function that returns the Next Bytes item in the list - @param _function_previous Function that returns previous Bytes item in the list - @param _from_start whether to read from start (or end) of the list - @return {"_bytes_items" : "Collection of reversed Bytes list"} - */ - function list_bytesarray(uint256 _count, - function () external constant returns (bytes32) _function_first, - function () external constant returns (bytes32) _function_last, - function (bytes32) external constant returns (bytes32) _function_next, - function (bytes32) external constant returns (bytes32) _function_previous, - bool _from_start) - internal - constant - returns (bytes32[] _bytes_items) - { - if (_from_start) { - _bytes_items = private_list_bytes_from_bytes(_function_first(), _count, true, _function_last, _function_next); - } else { - _bytes_items = private_list_bytes_from_bytes(_function_last(), _count, true, _function_first, _function_previous); - } - } - - /** - @notice Lists a Bytes collection from some `_current_item`, going forwards or backwards depending on `_from_start` - @param _current_item The current Item - @param _count Total number of Bytes items to return - @param _function_first Function that returns the First Bytes item in the list - @param _function_last Function that returns the last Bytes item in the list - @param _function_next Function that returns the Next Bytes item in the list - @param _function_previous Function that returns previous Bytes item in the list - @param _from_start whether to read in the forwards ( or backwards) direction - @return {"_bytes_items" :"Collection/list of Bytes"} - */ - function list_bytesarray_from(bytes32 _current_item, uint256 _count, - function () external constant returns (bytes32) _function_first, - function () external constant returns (bytes32) _function_last, - function (bytes32) external constant returns (bytes32) _function_next, - function (bytes32) external constant returns (bytes32) _function_previous, - bool _from_start) - internal - constant - returns (bytes32[] _bytes_items) - { - if (_from_start) { - _bytes_items = private_list_bytes_from_bytes(_current_item, _count, false, _function_last, _function_next); - } else { - _bytes_items = private_list_bytes_from_bytes(_current_item, _count, false, _function_first, _function_previous); - } - } - - /** - @notice A private function to lists a Bytes collection starting from some `_current_item` (which could be included or excluded), in the forwards or backwards direction - @param _current_item The current Item - @param _count Total number of Bytes items to return - @param _including_current Whether the `_current_item` should be included in the result - @param _function_last Function that returns the bytes where we stop reading more bytes - @param _function_next Function that returns the next bytes to read after some bytes (could be backwards or forwards in the physical collection) - @return {"_address_items" :"Collection/list of Bytes"} - */ - function private_list_bytes_from_bytes(bytes32 _current_item, uint256 _count, bool _including_current, - function () external constant returns (bytes32) _function_last, - function (bytes32) external constant returns (bytes32) _function_next) - private - constant - returns (bytes32[] _bytes32_items) - { - uint256 _i; - uint256 _real_count = 0; - bytes32 _last_item; - - _last_item = _function_last(); - if (_count == 0 || _last_item == bytes32(0x0)) { - _bytes32_items = new bytes32[](0); - } else { - bytes32[] memory _items_temp = new bytes32[](_count); - bytes32 _this_item; - if (_including_current == true) { - _items_temp[0] = _current_item; - _real_count = 1; - } - _this_item = _current_item; - for (_i = _real_count; (_i < _count) && (_this_item != _last_item);_i++) { - _this_item = _function_next(_this_item); - if (_this_item != bytes32(0x0)) { - _real_count++; - _items_temp[_i] = _this_item; - } - } - - _bytes32_items = new bytes32[](_real_count); - for(_i = 0;_i < _real_count;_i++) { - _bytes32_items[_i] = _items_temp[_i]; - } - } - } - - - - - ////// DEPRECATED FUNCTIONS (old versions) - - /** - @notice a private function to lists a Bytes collection starting from some `_current_item`, could be forwards or backwards - @param _current_item The current Item - @param _count Total number of Bytes items to return - @param _function_last Function that returns the bytes where we stop reading more bytes - @param _function_next Function that returns the next bytes to read after some bytes (could be backwards or forwards in the physical collection) - @return {"_bytes_items" :"Collection/list of Bytes"} - */ - /*function list_bytes_from_bytes(bytes32 _current_item, uint256 _count, - function () external constant returns (bytes32) _function_last, - function (bytes32) external constant returns (bytes32) _function_next) - private - constant - returns (bytes32[] _bytes_items) - { - uint256 _i; - uint256 _real_count = 0; - - if (_count == 0) { - _bytes_items = new bytes32[](0); - } else { - bytes32[] memory _items_temp = new bytes32[](_count); - - bytes32 _start_item; - bytes32 _last_item; - - _last_item = _function_last(); - - if (_last_item != _current_item) { - _start_item = _function_next(_current_item); - if (_start_item != bytes32(0x0)) { - _items_temp[0] = _start_item; - _real_count = 1; - for(_i = 1;(_i <= (_count - 1)) && (_start_item != _last_item);_i++) { - _start_item = _function_next(_start_item); - if (_start_item != bytes32(0x0)) { - _real_count++; - _items_temp[_i] = _start_item; - } - } - _bytes_items = new bytes32[](_real_count); - for(_i = 0;_i <= (_real_count - 1);_i++) { - _bytes_items[_i] = _items_temp[_i]; - } - } else { - _bytes_items = new bytes32[](0); - } - } else { - _bytes_items = new bytes32[](0); - } - } - }*/ - - /** - @notice private function to list a Bytes collection starting from the start or end of the list - @param _count Total number of Bytes item to return - @param _function_total Function that returns the Total number of Bytes item in the list - @param _function_first Function that returns the First Bytes item in the list - @param _function_next Function that returns the Next Bytes item in the list - @return {"_bytes_items" :"Collection/list of Bytes"} - */ - /*function list_bytes_from_start_or_end(uint256 _count, - function () external constant returns (uint256) _function_total, - function () external constant returns (bytes32) _function_first, - function (bytes32) external constant returns (bytes32) _function_next) - - private - constant - returns (bytes32[] _bytes_items) - { - uint256 _i; - bytes32 _current_item; - uint256 _real_count = _function_total(); - - if (_count > _real_count) { - _count = _real_count; - } - - bytes32[] memory _items_tmp = new bytes32[](_count); - - if (_count > 0) { - _current_item = _function_first(); - _items_tmp[0] = _current_item; - - for(_i = 1;_i <= (_count - 1);_i++) { - _current_item = _function_next(_current_item); - if (_current_item != bytes32(0x0)) { - _items_tmp[_i] = _current_item; - } - } - _bytes_items = _items_tmp; - } else { - _bytes_items = new bytes32[](0); - } - }*/ -} - - -/** - @title Indexed Bytes Iterator Interactive - @author DigixGlobal Pte Ltd -*/ -contract IndexedBytesIteratorInteractive { - - /** - @notice Lists an indexed Bytes collection from start or end - @param _collection_index Index of the Collection to list - @param _count Total number of Bytes items to return - @param _function_first Function that returns the First Bytes item in the list - @param _function_last Function that returns the last Bytes item in the list - @param _function_next Function that returns the Next Bytes item in the list - @param _function_previous Function that returns previous Bytes item in the list - @param _from_start whether to read from start (or end) of the list - @return {"_bytes_items" : "Collection of reversed Bytes list"} - */ - function list_indexed_bytesarray(bytes32 _collection_index, uint256 _count, - function (bytes32) external constant returns (bytes32) _function_first, - function (bytes32) external constant returns (bytes32) _function_last, - function (bytes32, bytes32) external constant returns (bytes32) _function_next, - function (bytes32, bytes32) external constant returns (bytes32) _function_previous, - bool _from_start) - internal - constant - returns (bytes32[] _indexed_bytes_items) - { - if (_from_start) { - _indexed_bytes_items = private_list_indexed_bytes_from_bytes(_collection_index, _function_first(_collection_index), _count, true, _function_last, _function_next); - } else { - _indexed_bytes_items = private_list_indexed_bytes_from_bytes(_collection_index, _function_last(_collection_index), _count, true, _function_first, _function_previous); - } - } - - /** - @notice Lists an indexed Bytes collection from some `_current_item`, going forwards or backwards depending on `_from_start` - @param _collection_index Index of the Collection to list - @param _current_item The current Item - @param _count Total number of Bytes items to return - @param _function_first Function that returns the First Bytes item in the list - @param _function_last Function that returns the last Bytes item in the list - @param _function_next Function that returns the Next Bytes item in the list - @param _function_previous Function that returns previous Bytes item in the list - @param _from_start whether to read in the forwards ( or backwards) direction - @return {"_bytes_items" :"Collection/list of Bytes"} - */ - function list_indexed_bytesarray_from(bytes32 _collection_index, bytes32 _current_item, uint256 _count, - function (bytes32) external constant returns (bytes32) _function_first, - function (bytes32) external constant returns (bytes32) _function_last, - function (bytes32, bytes32) external constant returns (bytes32) _function_next, - function (bytes32, bytes32) external constant returns (bytes32) _function_previous, - bool _from_start) - internal - constant - returns (bytes32[] _indexed_bytes_items) - { - if (_from_start) { - _indexed_bytes_items = private_list_indexed_bytes_from_bytes(_collection_index, _current_item, _count, false, _function_last, _function_next); - } else { - _indexed_bytes_items = private_list_indexed_bytes_from_bytes(_collection_index, _current_item, _count, false, _function_first, _function_previous); - } - } - - /** - @notice a private function to lists an indexed Bytes collection starting from some `_current_item` (which could be included or excluded), in the forwards or backwards direction - @param _collection_index Index of the Collection to list - @param _current_item The item where we start reading from the list - @param _count Total number of Bytes items to return - @param _including_current Whether the `_current_item` should be included in the result - @param _function_last Function that returns the bytes where we stop reading more bytes - @param _function_next Function that returns the next bytes to read after another bytes (could be backwards or forwards in the physical collection) - @return {"_bytes_items" :"Collection/list of Bytes"} - */ - function private_list_indexed_bytes_from_bytes(bytes32 _collection_index, bytes32 _current_item, uint256 _count, bool _including_current, - function (bytes32) external constant returns (bytes32) _function_last, - function (bytes32, bytes32) external constant returns (bytes32) _function_next) - private - constant - returns (bytes32[] _indexed_bytes_items) - { - uint256 _i; - uint256 _real_count = 0; - bytes32 _last_item; - - _last_item = _function_last(_collection_index); - if (_count == 0 || _last_item == bytes32(0x0)) { // if count is 0 or the collection is empty, returns empty array - _indexed_bytes_items = new bytes32[](0); - } else { - bytes32[] memory _items_temp = new bytes32[](_count); - bytes32 _this_item; - if (_including_current) { - _items_temp[0] = _current_item; - _real_count = 1; - } - _this_item = _current_item; - for (_i = _real_count; (_i < _count) && (_this_item != _last_item);_i++) { - _this_item = _function_next(_collection_index, _this_item); - if (_this_item != bytes32(0x0)) { - _real_count++; - _items_temp[_i] = _this_item; - } - } - - _indexed_bytes_items = new bytes32[](_real_count); - for(_i = 0;_i < _real_count;_i++) { - _indexed_bytes_items[_i] = _items_temp[_i]; - } - } - } - - - // old function, DEPRECATED - /*function list_indexed_bytes_from_bytes(bytes32 _collection_index, bytes32 _current_item, uint256 _count, - function (bytes32) external constant returns (bytes32) _function_last, - function (bytes32, bytes32) external constant returns (bytes32) _function_next) - private - constant - returns (bytes32[] _indexed_bytes_items) - { - uint256 _i; - uint256 _real_count = 0; - if (_count == 0) { - _indexed_bytes_items = new bytes32[](0); - } else { - bytes32[] memory _items_temp = new bytes32[](_count); - - bytes32 _start_item; - bytes32 _last_item; - - _last_item = _function_last(_collection_index); - - if (_last_item != _current_item) { - _start_item = _function_next(_collection_index, _current_item); - if (_start_item != bytes32(0x0)) { - _items_temp[0] = _start_item; - _real_count = 1; - for(_i = 1;(_i <= (_count - 1)) && (_start_item != _last_item);_i++) { - _start_item = _function_next(_collection_index, _start_item); - if (_start_item != bytes32(0x0)) { - _real_count++; - _items_temp[_i] = _start_item; - } - } - _indexed_bytes_items = new bytes32[](_real_count); - for(_i = 0;_i <= (_real_count - 1);_i++) { - _indexed_bytes_items[_i] = _items_temp[_i]; - } - } else { - _indexed_bytes_items = new bytes32[](0); - } - } else { - _indexed_bytes_items = new bytes32[](0); - } - } - }*/ - - -} - - -library DoublyLinkedList { - - struct Item { - bytes32 item; - uint256 previous_index; - uint256 next_index; - } - - struct Data { - uint256 first_index; - uint256 last_index; - uint256 count; - mapping(bytes32 => uint256) item_index; - mapping(uint256 => bool) valid_indexes; - Item[] collection; - } - - struct IndexedUint { - mapping(bytes32 => Data) data; - } - - struct IndexedAddress { - mapping(bytes32 => Data) data; - } - - struct IndexedBytes { - mapping(bytes32 => Data) data; - } - - struct Address { - Data data; - } - - struct Bytes { - Data data; - } - - struct Uint { - Data data; - } - - uint256 constant NONE = uint256(0); - bytes32 constant EMPTY_BYTES = bytes32(0x0); - address constant NULL_ADDRESS = address(0x0); - - function find(Data storage self, bytes32 _item) - public - constant - returns (uint256 _item_index) - { - if ((self.item_index[_item] == NONE) && (self.count == NONE)) { - _item_index = NONE; - } else { - _item_index = self.item_index[_item]; - } - } - - function get(Data storage self, uint256 _item_index) - public - constant - returns (bytes32 _item) - { - if (self.valid_indexes[_item_index] == true) { - _item = self.collection[_item_index - 1].item; - } else { - _item = EMPTY_BYTES; - } - } - - function append(Data storage self, bytes32 _data) - internal - returns (bool _success) - { - if (find(self, _data) != NONE || _data == bytes32("")) { // rejects addition of empty values - _success = false; - } else { - uint256 _index = uint256(self.collection.push(Item({item: _data, previous_index: self.last_index, next_index: NONE}))); - if (self.last_index == NONE) { - if ((self.first_index != NONE) || (self.count != NONE)) { - revert(); - } else { - self.first_index = self.last_index = _index; - self.count = 1; - } - } else { - self.collection[self.last_index - 1].next_index = _index; - self.last_index = _index; - self.count++; - } - self.valid_indexes[_index] = true; - self.item_index[_data] = _index; - _success = true; - } - } - - function remove(Data storage self, uint256 _index) - internal - returns (bool _success) - { - if (self.valid_indexes[_index] == true) { - Item memory item = self.collection[_index - 1]; - if (item.previous_index == NONE) { - self.first_index = item.next_index; - } else { - self.collection[item.previous_index - 1].next_index = item.next_index; - } - - if (item.next_index == NONE) { - self.last_index = item.previous_index; - } else { - self.collection[item.next_index - 1].previous_index = item.previous_index; - } - delete self.collection[_index - 1]; - self.valid_indexes[_index] = false; - delete self.item_index[item.item]; - self.count--; - _success = true; - } else { - _success = false; - } - } - - function remove_item(Data storage self, bytes32 _item) - internal - returns (bool _success) - { - uint256 _item_index = find(self, _item); - if (_item_index != NONE) { - require(remove(self, _item_index)); - _success = true; - } else { - _success = false; - } - return _success; - } - - function total(Data storage self) - public - constant - returns (uint256 _total_count) - { - _total_count = self.count; - } - - function start(Data storage self) - public - constant - returns (uint256 _item_index) - { - _item_index = self.first_index; - return _item_index; - } - - function start_item(Data storage self) - public - constant - returns (bytes32 _item) - { - uint256 _item_index = start(self); - if (_item_index != NONE) { - _item = get(self, _item_index); - } else { - _item = EMPTY_BYTES; - } - } - - function end(Data storage self) - public - constant - returns (uint256 _item_index) - { - _item_index = self.last_index; - return _item_index; - } - - function end_item(Data storage self) - public - constant - returns (bytes32 _item) - { - uint256 _item_index = end(self); - if (_item_index != NONE) { - _item = get(self, _item_index); - } else { - _item = EMPTY_BYTES; - } - } - - function valid(Data storage self, uint256 _item_index) - public - constant - returns (bool _yes) - { - _yes = self.valid_indexes[_item_index]; - //_yes = ((_item_index - 1) < self.collection.length); - } - - function valid_item(Data storage self, bytes32 _item) - public - constant - returns (bool _yes) - { - uint256 _item_index = self.item_index[_item]; - _yes = self.valid_indexes[_item_index]; - } - - function previous(Data storage self, uint256 _current_index) - public - constant - returns (uint256 _previous_index) - { - if (self.valid_indexes[_current_index] == true) { - _previous_index = self.collection[_current_index - 1].previous_index; - } else { - _previous_index = NONE; - } - } - - function previous_item(Data storage self, bytes32 _current_item) - public - constant - returns (bytes32 _previous_item) - { - uint256 _current_index = find(self, _current_item); - if (_current_index != NONE) { - uint256 _previous_index = previous(self, _current_index); - _previous_item = get(self, _previous_index); - } else { - _previous_item = EMPTY_BYTES; - } - } - - function next(Data storage self, uint256 _current_index) - public - constant - returns (uint256 _next_index) - { - if (self.valid_indexes[_current_index] == true) { - _next_index = self.collection[_current_index - 1].next_index; - } else { - _next_index = NONE; - } - } - - function next_item(Data storage self, bytes32 _current_item) - public - constant - returns (bytes32 _next_item) - { - uint256 _current_index = find(self, _current_item); - if (_current_index != NONE) { - uint256 _next_index = next(self, _current_index); - _next_item = get(self, _next_index); - } else { - _next_item = EMPTY_BYTES; - } - } - - function find(Uint storage self, uint256 _item) - public - constant - returns (uint256 _item_index) - { - _item_index = find(self.data, bytes32(_item)); - } - - function get(Uint storage self, uint256 _item_index) - public - constant - returns (uint256 _item) - { - _item = uint256(get(self.data, _item_index)); - } - - - function append(Uint storage self, uint256 _data) - public - returns (bool _success) - { - _success = append(self.data, bytes32(_data)); - } - - function remove(Uint storage self, uint256 _index) - internal - returns (bool _success) - { - _success = remove(self.data, _index); - } - - function remove_item(Uint storage self, uint256 _item) - public - returns (bool _success) - { - _success = remove_item(self.data, bytes32(_item)); - } - - function total(Uint storage self) - public - constant - returns (uint256 _total_count) - { - _total_count = total(self.data); - } - - function start(Uint storage self) - public - constant - returns (uint256 _index) - { - _index = start(self.data); - } - - function start_item(Uint storage self) - public - constant - returns (uint256 _start_item) - { - _start_item = uint256(start_item(self.data)); - } - - - function end(Uint storage self) - public - constant - returns (uint256 _index) - { - _index = end(self.data); - } - - function end_item(Uint storage self) - public - constant - returns (uint256 _end_item) - { - _end_item = uint256(end_item(self.data)); - } - - function valid(Uint storage self, uint256 _item_index) - public - constant - returns (bool _yes) - { - _yes = valid(self.data, _item_index); - } - - function valid_item(Uint storage self, uint256 _item) - public - constant - returns (bool _yes) - { - _yes = valid_item(self.data, bytes32(_item)); - } - - function previous(Uint storage self, uint256 _current_index) - public - constant - returns (uint256 _previous_index) - { - _previous_index = previous(self.data, _current_index); - } - - function previous_item(Uint storage self, uint256 _current_item) - public - constant - returns (uint256 _previous_item) - { - _previous_item = uint256(previous_item(self.data, bytes32(_current_item))); - } - - function next(Uint storage self, uint256 _current_index) - public - constant - returns (uint256 _next_index) - { - _next_index = next(self.data, _current_index); - } - - function next_item(Uint storage self, uint256 _current_item) - public - constant - returns (uint256 _next_item) - { - _next_item = uint256(next_item(self.data, bytes32(_current_item))); - } - - function find(Address storage self, address _item) - public - constant - returns (uint256 _item_index) - { - _item_index = find(self.data, bytes32(_item)); - } - - function get(Address storage self, uint256 _item_index) - public - constant - returns (address _item) - { - _item = address(get(self.data, _item_index)); - } - - - function find(IndexedUint storage self, bytes32 _collection_index, uint256 _item) - public - constant - returns (uint256 _item_index) - { - _item_index = find(self.data[_collection_index], bytes32(_item)); - } - - function get(IndexedUint storage self, bytes32 _collection_index, uint256 _item_index) - public - constant - returns (uint256 _item) - { - _item = uint256(get(self.data[_collection_index], _item_index)); - } - - - function append(IndexedUint storage self, bytes32 _collection_index, uint256 _data) - public - returns (bool _success) - { - _success = append(self.data[_collection_index], bytes32(_data)); - } - - function remove(IndexedUint storage self, bytes32 _collection_index, uint256 _index) - internal - returns (bool _success) - { - _success = remove(self.data[_collection_index], _index); - } - - function remove_item(IndexedUint storage self, bytes32 _collection_index, uint256 _item) - public - returns (bool _success) - { - _success = remove_item(self.data[_collection_index], bytes32(_item)); - } - - function total(IndexedUint storage self, bytes32 _collection_index) - public - constant - returns (uint256 _total_count) - { - _total_count = total(self.data[_collection_index]); - } - - function start(IndexedUint storage self, bytes32 _collection_index) - public - constant - returns (uint256 _index) - { - _index = start(self.data[_collection_index]); - } - - function start_item(IndexedUint storage self, bytes32 _collection_index) - public - constant - returns (uint256 _start_item) - { - _start_item = uint256(start_item(self.data[_collection_index])); - } - - - function end(IndexedUint storage self, bytes32 _collection_index) - public - constant - returns (uint256 _index) - { - _index = end(self.data[_collection_index]); - } - - function end_item(IndexedUint storage self, bytes32 _collection_index) - public - constant - returns (uint256 _end_item) - { - _end_item = uint256(end_item(self.data[_collection_index])); - } - - function valid(IndexedUint storage self, bytes32 _collection_index, uint256 _item_index) - public - constant - returns (bool _yes) - { - _yes = valid(self.data[_collection_index], _item_index); - } - - function valid_item(IndexedUint storage self, bytes32 _collection_index, uint256 _item) - public - constant - returns (bool _yes) - { - _yes = valid_item(self.data[_collection_index], bytes32(_item)); - } - - function previous(IndexedUint storage self, bytes32 _collection_index, uint256 _current_index) - public - constant - returns (uint256 _previous_index) - { - _previous_index = previous(self.data[_collection_index], _current_index); - } - - function previous_item(IndexedUint storage self, bytes32 _collection_index, uint256 _current_item) - public - constant - returns (uint256 _previous_item) - { - _previous_item = uint256(previous_item(self.data[_collection_index], bytes32(_current_item))); - } - - function next(IndexedUint storage self, bytes32 _collection_index, uint256 _current_index) - public - constant - returns (uint256 _next_index) - { - _next_index = next(self.data[_collection_index], _current_index); - } - - function next_item(IndexedUint storage self, bytes32 _collection_index, uint256 _current_item) - public - constant - returns (uint256 _next_item) - { - _next_item = uint256(next_item(self.data[_collection_index], bytes32(_current_item))); - } - - function append(Address storage self, address _data) - public - returns (bool _success) - { - _success = append(self.data, bytes32(_data)); - } - - function remove(Address storage self, uint256 _index) - internal - returns (bool _success) - { - _success = remove(self.data, _index); - } - - - function remove_item(Address storage self, address _item) - public - returns (bool _success) - { - _success = remove_item(self.data, bytes32(_item)); - } - - function total(Address storage self) - public - constant - returns (uint256 _total_count) - { - _total_count = total(self.data); - } - - function start(Address storage self) - public - constant - returns (uint256 _index) - { - _index = start(self.data); - } - - function start_item(Address storage self) - public - constant - returns (address _start_item) - { - _start_item = address(start_item(self.data)); - } - - - function end(Address storage self) - public - constant - returns (uint256 _index) - { - _index = end(self.data); - } - - function end_item(Address storage self) - public - constant - returns (address _end_item) - { - _end_item = address(end_item(self.data)); - } - - function valid(Address storage self, uint256 _item_index) - public - constant - returns (bool _yes) - { - _yes = valid(self.data, _item_index); - } - - function valid_item(Address storage self, address _item) - public - constant - returns (bool _yes) - { - _yes = valid_item(self.data, bytes32(_item)); - } - - function previous(Address storage self, uint256 _current_index) - public - constant - returns (uint256 _previous_index) - { - _previous_index = previous(self.data, _current_index); - } - - function previous_item(Address storage self, address _current_item) - public - constant - returns (address _previous_item) - { - _previous_item = address(previous_item(self.data, bytes32(_current_item))); - } - - function next(Address storage self, uint256 _current_index) - public - constant - returns (uint256 _next_index) - { - _next_index = next(self.data, _current_index); - } - - function next_item(Address storage self, address _current_item) - public - constant - returns (address _next_item) - { - _next_item = address(next_item(self.data, bytes32(_current_item))); - } - - function append(IndexedAddress storage self, bytes32 _collection_index, address _data) - public - returns (bool _success) - { - _success = append(self.data[_collection_index], bytes32(_data)); - } - - function remove(IndexedAddress storage self, bytes32 _collection_index, uint256 _index) - internal - returns (bool _success) - { - _success = remove(self.data[_collection_index], _index); - } - - - function remove_item(IndexedAddress storage self, bytes32 _collection_index, address _item) - public - returns (bool _success) - { - _success = remove_item(self.data[_collection_index], bytes32(_item)); - } - - function total(IndexedAddress storage self, bytes32 _collection_index) - public - constant - returns (uint256 _total_count) - { - _total_count = total(self.data[_collection_index]); - } - - function start(IndexedAddress storage self, bytes32 _collection_index) - public - constant - returns (uint256 _index) - { - _index = start(self.data[_collection_index]); - } - - function start_item(IndexedAddress storage self, bytes32 _collection_index) - public - constant - returns (address _start_item) - { - _start_item = address(start_item(self.data[_collection_index])); - } - - - function end(IndexedAddress storage self, bytes32 _collection_index) - public - constant - returns (uint256 _index) - { - _index = end(self.data[_collection_index]); - } - - function end_item(IndexedAddress storage self, bytes32 _collection_index) - public - constant - returns (address _end_item) - { - _end_item = address(end_item(self.data[_collection_index])); - } - - function valid(IndexedAddress storage self, bytes32 _collection_index, uint256 _item_index) - public - constant - returns (bool _yes) - { - _yes = valid(self.data[_collection_index], _item_index); - } - - function valid_item(IndexedAddress storage self, bytes32 _collection_index, address _item) - public - constant - returns (bool _yes) - { - _yes = valid_item(self.data[_collection_index], bytes32(_item)); - } - - function previous(IndexedAddress storage self, bytes32 _collection_index, uint256 _current_index) - public - constant - returns (uint256 _previous_index) - { - _previous_index = previous(self.data[_collection_index], _current_index); - } - - function previous_item(IndexedAddress storage self, bytes32 _collection_index, address _current_item) - public - constant - returns (address _previous_item) - { - _previous_item = address(previous_item(self.data[_collection_index], bytes32(_current_item))); - } - - function next(IndexedAddress storage self, bytes32 _collection_index, uint256 _current_index) - public - constant - returns (uint256 _next_index) - { - _next_index = next(self.data[_collection_index], _current_index); - } - - function next_item(IndexedAddress storage self, bytes32 _collection_index, address _current_item) - public - constant - returns (address _next_item) - { - _next_item = address(next_item(self.data[_collection_index], bytes32(_current_item))); - } - - - function find(Bytes storage self, bytes32 _item) - public - constant - returns (uint256 _item_index) - { - _item_index = find(self.data, _item); - } - - function get(Bytes storage self, uint256 _item_index) - public - constant - returns (bytes32 _item) - { - _item = get(self.data, _item_index); - } - - - function append(Bytes storage self, bytes32 _data) - public - returns (bool _success) - { - _success = append(self.data, _data); - } - - function remove(Bytes storage self, uint256 _index) - internal - returns (bool _success) - { - _success = remove(self.data, _index); - } - - - function remove_item(Bytes storage self, bytes32 _item) - public - returns (bool _success) - { - _success = remove_item(self.data, _item); - } - - function total(Bytes storage self) - public - constant - returns (uint256 _total_count) - { - _total_count = total(self.data); - } - - function start(Bytes storage self) - public - constant - returns (uint256 _index) - { - _index = start(self.data); - } - - function start_item(Bytes storage self) - public - constant - returns (bytes32 _start_item) - { - _start_item = start_item(self.data); - } - - - function end(Bytes storage self) - public - constant - returns (uint256 _index) - { - _index = end(self.data); - } - - function end_item(Bytes storage self) - public - constant - returns (bytes32 _end_item) - { - _end_item = end_item(self.data); - } - - function valid(Bytes storage self, uint256 _item_index) - public - constant - returns (bool _yes) - { - _yes = valid(self.data, _item_index); - } - - function valid_item(Bytes storage self, bytes32 _item) - public - constant - returns (bool _yes) - { - _yes = valid_item(self.data, _item); - } - - function previous(Bytes storage self, uint256 _current_index) - public - constant - returns (uint256 _previous_index) - { - _previous_index = previous(self.data, _current_index); - } - - function previous_item(Bytes storage self, bytes32 _current_item) - public - constant - returns (bytes32 _previous_item) - { - _previous_item = previous_item(self.data, _current_item); - } - - function next(Bytes storage self, uint256 _current_index) - public - constant - returns (uint256 _next_index) - { - _next_index = next(self.data, _current_index); - } - - function next_item(Bytes storage self, bytes32 _current_item) - public - constant - returns (bytes32 _next_item) - { - _next_item = next_item(self.data, _current_item); - } - - function append(IndexedBytes storage self, bytes32 _collection_index, bytes32 _data) - public - returns (bool _success) - { - _success = append(self.data[_collection_index], bytes32(_data)); - } - - function remove(IndexedBytes storage self, bytes32 _collection_index, uint256 _index) - internal - returns (bool _success) - { - _success = remove(self.data[_collection_index], _index); - } - - - function remove_item(IndexedBytes storage self, bytes32 _collection_index, bytes32 _item) - public - returns (bool _success) - { - _success = remove_item(self.data[_collection_index], bytes32(_item)); - } - - function total(IndexedBytes storage self, bytes32 _collection_index) - public - constant - returns (uint256 _total_count) - { - _total_count = total(self.data[_collection_index]); - } - - function start(IndexedBytes storage self, bytes32 _collection_index) - public - constant - returns (uint256 _index) - { - _index = start(self.data[_collection_index]); - } - - function start_item(IndexedBytes storage self, bytes32 _collection_index) - public - constant - returns (bytes32 _start_item) - { - _start_item = bytes32(start_item(self.data[_collection_index])); - } - - - function end(IndexedBytes storage self, bytes32 _collection_index) - public - constant - returns (uint256 _index) - { - _index = end(self.data[_collection_index]); - } - - function end_item(IndexedBytes storage self, bytes32 _collection_index) - public - constant - returns (bytes32 _end_item) - { - _end_item = bytes32(end_item(self.data[_collection_index])); - } - - function valid(IndexedBytes storage self, bytes32 _collection_index, uint256 _item_index) - public - constant - returns (bool _yes) - { - _yes = valid(self.data[_collection_index], _item_index); - } - - function valid_item(IndexedBytes storage self, bytes32 _collection_index, bytes32 _item) - public - constant - returns (bool _yes) - { - _yes = valid_item(self.data[_collection_index], bytes32(_item)); - } - - function previous(IndexedBytes storage self, bytes32 _collection_index, uint256 _current_index) - public - constant - returns (uint256 _previous_index) - { - _previous_index = previous(self.data[_collection_index], _current_index); - } - - function previous_item(IndexedBytes storage self, bytes32 _collection_index, bytes32 _current_item) - public - constant - returns (bytes32 _previous_item) - { - _previous_item = bytes32(previous_item(self.data[_collection_index], bytes32(_current_item))); - } - - function next(IndexedBytes storage self, bytes32 _collection_index, uint256 _current_index) - public - constant - returns (uint256 _next_index) - { - _next_index = next(self.data[_collection_index], _current_index); - } - - function next_item(IndexedBytes storage self, bytes32 _collection_index, bytes32 _current_item) - public - constant - returns (bytes32 _next_item) - { - _next_item = bytes32(next_item(self.data[_collection_index], bytes32(_current_item))); - } - - -} - - - - - -/** - @title Bytes Iterator Storage - @author DigixGlobal Pte Ltd -*/ -contract BytesIteratorStorage { - - // Initialize Doubly Linked List of Bytes - using DoublyLinkedList for DoublyLinkedList.Bytes; - - /** - @notice Reads the first item from the list of Bytes - @param _list The source list - @return {"_item": "The first item from the list"} - */ - function read_first_from_bytesarray(DoublyLinkedList.Bytes storage _list) - internal - constant - returns (bytes32 _item) - { - _item = _list.start_item(); - } - - /** - @notice Reads the last item from the list of Bytes - @param _list The source list - @return {"_item": "The last item from the list"} - */ - function read_last_from_bytesarray(DoublyLinkedList.Bytes storage _list) - internal - constant - returns (bytes32 _item) - { - _item = _list.end_item(); - } - - /** - @notice Reads the next item on the list of Bytes - @param _list The source list - @param _current_item The current item to be used as base line - @return {"_item": "The next item from the list based on the specieid `_current_item`"} - TODO: Need to verify what happens if the specified `_current_item` is the last item from the list - */ - function read_next_from_bytesarray(DoublyLinkedList.Bytes storage _list, bytes32 _current_item) - internal - constant - returns (bytes32 _item) - { - _item = _list.next_item(_current_item); - } - - /** - @notice Reads the previous item on the list of Bytes - @param _list The source list - @param _current_item The current item to be used as base line - @return {"_item": "The previous item from the list based on the spcified `_current_item`"} - TODO: Need to verify what happens if the specified `_current_item` is the first item from the list - */ - function read_previous_from_bytesarray(DoublyLinkedList.Bytes storage _list, bytes32 _current_item) - internal - constant - returns (bytes32 _item) - { - _item = _list.previous_item(_current_item); - } - - /** - @notice Reads the list of Bytes and returns the length of the list - @param _list The source list - @return {"count": "`uint256` The lenght of the list"} - - */ - function read_total_bytesarray(DoublyLinkedList.Bytes storage _list) - internal - constant - returns (uint256 _count) - { - _count = _list.total(); - } - -} - - - -/** - * @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; - } -} - - - - -contract DaoConstants { - using SafeMath for uint256; - bytes32 EMPTY_BYTES = bytes32(0x0); - address EMPTY_ADDRESS = address(0x0); - - bytes32 PROPOSAL_STATE_PREPROPOSAL = "proposal_state_preproposal"; - bytes32 PROPOSAL_STATE_DRAFT = "proposal_state_draft"; - bytes32 PROPOSAL_STATE_MODERATED = "proposal_state_moderated"; - bytes32 PROPOSAL_STATE_ONGOING = "proposal_state_ongoing"; - bytes32 PROPOSAL_STATE_CLOSED = "proposal_state_closed"; - bytes32 PROPOSAL_STATE_ARCHIVED = "proposal_state_archived"; - - uint256 PRL_ACTION_STOP = 1; - uint256 PRL_ACTION_PAUSE = 2; - uint256 PRL_ACTION_UNPAUSE = 3; - - uint256 COLLATERAL_STATUS_UNLOCKED = 1; - uint256 COLLATERAL_STATUS_LOCKED = 2; - uint256 COLLATERAL_STATUS_CLAIMED = 3; - - bytes32 INTERMEDIATE_DGD_IDENTIFIER = "inter_dgd_id"; - bytes32 INTERMEDIATE_MODERATOR_DGD_IDENTIFIER = "inter_mod_dgd_id"; - bytes32 INTERMEDIATE_BONUS_CALCULATION_IDENTIFIER = "inter_bonus_calculation_id"; - - // interactive contracts - bytes32 CONTRACT_DAO = "dao"; - bytes32 CONTRACT_DAO_SPECIAL_PROPOSAL = "dao:special:proposal"; - bytes32 CONTRACT_DAO_STAKE_LOCKING = "dao:stake-locking"; - bytes32 CONTRACT_DAO_VOTING = "dao:voting"; - bytes32 CONTRACT_DAO_VOTING_CLAIMS = "dao:voting:claims"; - bytes32 CONTRACT_DAO_SPECIAL_VOTING_CLAIMS = "dao:svoting:claims"; - bytes32 CONTRACT_DAO_IDENTITY = "dao:identity"; - bytes32 CONTRACT_DAO_REWARDS_MANAGER = "dao:rewards-manager"; - bytes32 CONTRACT_DAO_REWARDS_MANAGER_EXTRAS = "dao:rewards-extras"; - bytes32 CONTRACT_DAO_ROLES = "dao:roles"; - bytes32 CONTRACT_DAO_FUNDING_MANAGER = "dao:funding-manager"; - bytes32 CONTRACT_DAO_WHITELISTING = "dao:whitelisting"; - bytes32 CONTRACT_DAO_INFORMATION = "dao:information"; - - // service contracts - bytes32 CONTRACT_SERVICE_ROLE = "service:role"; - bytes32 CONTRACT_SERVICE_DAO_INFO = "service:dao:info"; - bytes32 CONTRACT_SERVICE_DAO_LISTING = "service:dao:listing"; - bytes32 CONTRACT_SERVICE_DAO_CALCULATOR = "service:dao:calculator"; - - // storage contracts - bytes32 CONTRACT_STORAGE_DAO = "storage:dao"; - bytes32 CONTRACT_STORAGE_DAO_COUNTER = "storage:dao:counter"; - bytes32 CONTRACT_STORAGE_DAO_UPGRADE = "storage:dao:upgrade"; - bytes32 CONTRACT_STORAGE_DAO_IDENTITY = "storage:dao:identity"; - bytes32 CONTRACT_STORAGE_DAO_POINTS = "storage:dao:points"; - bytes32 CONTRACT_STORAGE_DAO_SPECIAL = "storage:dao:special"; - bytes32 CONTRACT_STORAGE_DAO_CONFIG = "storage:dao:config"; - bytes32 CONTRACT_STORAGE_DAO_STAKE = "storage:dao:stake"; - bytes32 CONTRACT_STORAGE_DAO_REWARDS = "storage:dao:rewards"; - bytes32 CONTRACT_STORAGE_DAO_WHITELISTING = "storage:dao:whitelisting"; - bytes32 CONTRACT_STORAGE_INTERMEDIATE_RESULTS = "storage:intermediate:results"; - - bytes32 CONTRACT_DGD_TOKEN = "t:dgd"; - bytes32 CONTRACT_DGX_TOKEN = "t:dgx"; - bytes32 CONTRACT_BADGE_TOKEN = "t:badge"; - - uint8 ROLES_ROOT = 1; - uint8 ROLES_FOUNDERS = 2; - uint8 ROLES_PRLS = 3; - uint8 ROLES_KYC_ADMINS = 4; - - uint256 QUARTER_DURATION = 90 days; - - bytes32 CONFIG_MINIMUM_LOCKED_DGD = "min_dgd_participant"; - bytes32 CONFIG_MINIMUM_DGD_FOR_MODERATOR = "min_dgd_moderator"; - bytes32 CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR = "min_reputation_moderator"; - - bytes32 CONFIG_LOCKING_PHASE_DURATION = "locking_phase_duration"; - bytes32 CONFIG_QUARTER_DURATION = "quarter_duration"; - bytes32 CONFIG_VOTING_COMMIT_PHASE = "voting_commit_phase"; - bytes32 CONFIG_VOTING_PHASE_TOTAL = "voting_phase_total"; - bytes32 CONFIG_INTERIM_COMMIT_PHASE = "interim_voting_commit_phase"; - bytes32 CONFIG_INTERIM_PHASE_TOTAL = "interim_voting_phase_total"; - - bytes32 CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR = "draft_quorum_fixed_numerator"; - bytes32 CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR = "draft_quorum_fixed_denominator"; - bytes32 CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR = "draft_quorum_sfactor_numerator"; - bytes32 CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR = "draft_quorum_sfactor_denominator"; - bytes32 CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR = "vote_quorum_fixed_numerator"; - bytes32 CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR = "vote_quorum_fixed_denominator"; - bytes32 CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR = "vote_quorum_sfactor_numerator"; - bytes32 CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR = "vote_quorum_sfactor_denominator"; - bytes32 CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR = "final_reward_sfactor_numerator"; - bytes32 CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR = "final_reward_sfactor_denominator"; - - bytes32 CONFIG_DRAFT_QUOTA_NUMERATOR = "draft_quota_numerator"; - bytes32 CONFIG_DRAFT_QUOTA_DENOMINATOR = "draft_quota_denominator"; - bytes32 CONFIG_VOTING_QUOTA_NUMERATOR = "voting_quota_numerator"; - bytes32 CONFIG_VOTING_QUOTA_DENOMINATOR = "voting_quota_denominator"; - - bytes32 CONFIG_MINIMAL_QUARTER_POINT = "minimal_qp"; - bytes32 CONFIG_QUARTER_POINT_SCALING_FACTOR = "quarter_point_scaling_factor"; - bytes32 CONFIG_REPUTATION_POINT_SCALING_FACTOR = "rep_point_scaling_factor"; - - bytes32 CONFIG_MODERATOR_MINIMAL_QUARTER_POINT = "minimal_mod_qp"; - bytes32 CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR = "mod_qp_scaling_factor"; - bytes32 CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR = "mod_rep_point_scaling_factor"; - - bytes32 CONFIG_QUARTER_POINT_DRAFT_VOTE = "quarter_point_draft_vote"; - bytes32 CONFIG_QUARTER_POINT_VOTE = "quarter_point_vote"; - bytes32 CONFIG_QUARTER_POINT_INTERIM_VOTE = "quarter_point_interim_vote"; - - /// this is per 10000 ETHs - bytes32 CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH = "q_p_milestone_completion"; - - bytes32 CONFIG_BONUS_REPUTATION_NUMERATOR = "bonus_reputation_numerator"; - bytes32 CONFIG_BONUS_REPUTATION_DENOMINATOR = "bonus_reputation_denominator"; - - bytes32 CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE = "special_proposal_commit_phase"; - bytes32 CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL = "special_proposal_phase_total"; - - bytes32 CONFIG_SPECIAL_QUOTA_NUMERATOR = "config_special_quota_numerator"; - bytes32 CONFIG_SPECIAL_QUOTA_DENOMINATOR = "config_special_quota_denominator"; - - bytes32 CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR = "special_quorum_numerator"; - bytes32 CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR = "special_quorum_denominator"; - - bytes32 CONFIG_MAXIMUM_REPUTATION_DEDUCTION = "config_max_reputation_deduction"; - bytes32 CONFIG_PUNISHMENT_FOR_NOT_LOCKING = "config_punishment_not_locking"; - - bytes32 CONFIG_REPUTATION_PER_EXTRA_QP_NUM = "config_rep_per_extra_qp_num"; - bytes32 CONFIG_REPUTATION_PER_EXTRA_QP_DEN = "config_rep_per_extra_qp_den"; - - bytes32 CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION = "config_max_m_rp_deduction"; - bytes32 CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM = "config_rep_per_extra_m_qp_num"; - bytes32 CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN = "config_rep_per_extra_m_qp_den"; - - bytes32 CONFIG_PORTION_TO_MODERATORS_NUM = "config_mod_portion_num"; - bytes32 CONFIG_PORTION_TO_MODERATORS_DEN = "config_mod_portion_den"; - - bytes32 CONFIG_DRAFT_VOTING_PHASE = "config_draft_voting_phase"; - - bytes32 CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE = "config_rp_boost_per_badge"; - - bytes32 CONFIG_VOTE_CLAIMING_DEADLINE = "config_claiming_deadline"; - - bytes32 CONFIG_PREPROPOSAL_COLLATERAL = "config_preproposal_collateral"; - - bytes32 CONFIG_MAX_FUNDING_FOR_NON_DIGIX = "config_max_funding_nonDigix"; - bytes32 CONFIG_MAX_MILESTONES_FOR_NON_DIGIX = "config_max_milestones_nonDigix"; - bytes32 CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER = "config_nonDigix_proposal_cap"; - - bytes32 CONFIG_PROPOSAL_DEAD_DURATION = "config_dead_duration"; - bytes32 CONFIG_CARBON_VOTE_REPUTATION_BONUS = "config_cv_reputation"; -} - - - - - -// This contract is basically created to restrict read access to -// ethereum accounts, and whitelisted contracts -contract DaoWhitelistingStorage is ResolverClient, DaoConstants { - - // we want to avoid the scenario in which an on-chain bribing contract - // can be deployed to distribute funds in a trustless way by verifying - // on-chain votes. This mapping marks whether a contract address is whitelisted - // to read from the read functions in DaoStorage, DaoSpecialStorage, etc. - mapping (address => bool) public whitelist; - - constructor(address _resolver) - public - { - require(init(CONTRACT_STORAGE_DAO_WHITELISTING, _resolver)); - } - - function setWhitelisted(address _contractAddress, bool _senderIsAllowedToRead) - public - { - require(sender_is(CONTRACT_DAO_WHITELISTING)); - whitelist[_contractAddress] = _senderIsAllowedToRead; - } -} - - - - - - - -contract DaoWhitelistingCommon is ResolverClient, DaoConstants { - - function daoWhitelistingStorage() - internal - view - returns (DaoWhitelistingStorage _contract) - { - _contract = DaoWhitelistingStorage(get_contract(CONTRACT_STORAGE_DAO_WHITELISTING)); - } - - /** - @notice Check if a certain address is whitelisted to read sensitive information in the storage layer - @dev if the address is an account, it is allowed to read. If the address is a contract, it has to be in the whitelist - */ - function senderIsAllowedToRead() - internal - view - returns (bool _senderIsAllowedToRead) - { - // msg.sender is allowed to read only if its an EOA or a whitelisted contract - _senderIsAllowedToRead = (msg.sender == tx.origin) || daoWhitelistingStorage().whitelist(msg.sender); - } -} - - - - - -library DaoStructs { - using DoublyLinkedList for DoublyLinkedList.Bytes; - using SafeMath for uint256; - bytes32 constant EMPTY_BYTES = bytes32(0x0); - - struct PrlAction { - // UTC timestamp at which the PRL action was done - uint256 at; - - // IPFS hash of the document summarizing the action - bytes32 doc; - - // Type of action - // check PRL_ACTION_* in "./../common/DaoConstants.sol" - uint256 actionId; - } - - struct Voting { - // UTC timestamp at which the voting round starts - uint256 startTime; - - // Mapping of whether a commit was used in this voting round - mapping (bytes32 => bool) usedCommits; - - // Mapping of commits by address. These are the commits during the commit phase in a voting round - // This only stores the most recent commit in the voting round - // In case a vote is edited, the previous commit is overwritten by the new commit - // Only this new commit is verified at the reveal phase - mapping (address => bytes32) commits; - - // This mapping is updated after the reveal phase, when votes are revealed - // It is a mapping of address to weight of vote - // Weight implies the lockedDGDStake of the address, at the time of revealing - // If the address voted "NO", or didn't vote, this would be 0 - mapping (address => uint256) yesVotes; - - // This mapping is updated after the reveal phase, when votes are revealed - // It is a mapping of address to weight of vote - // Weight implies the lockedDGDStake of the address, at the time of revealing - // If the address voted "YES", or didn't vote, this would be 0 - mapping (address => uint256) noVotes; - - // Boolean whether the voting round passed or not - bool passed; - - // Boolean whether the voting round results were claimed or not - // refer the claimProposalVotingResult function in "./../interative/DaoVotingClaims.sol" - bool claimed; - - // Boolean whether the milestone following this voting round was funded or not - // The milestone is funded when the proposer calls claimFunding in "./../interactive/DaoFundingManager.sol" - bool funded; - } - - struct ProposalVersion { - // IPFS doc hash of this version of the proposal - bytes32 docIpfsHash; - - // UTC timestamp at which this version was created - uint256 created; - - // The number of milestones in the proposal as per this version - uint256 milestoneCount; - - // The final reward asked by the proposer for completion of the entire proposal - uint256 finalReward; - - // List of fundings required by the proposal as per this version - // The numbers are in wei - uint256[] milestoneFundings; - - // When a proposal is finalized (calling Dao.finalizeProposal), the proposer can no longer add proposal versions - // However, they can still add more details to this final proposal version, in the form of IPFS docs. - // These IPFS docs are stored in this array - bytes32[] moreDocs; - } - - struct Proposal { - // ID of the proposal. Also the IPFS hash of the first ProposalVersion - bytes32 proposalId; - - // current state of the proposal - // refer PROPOSAL_STATE_* in "./../common/DaoConstants.sol" - bytes32 currentState; - - // UTC timestamp at which the proposal was created - uint256 timeCreated; - - // DoublyLinkedList of IPFS doc hashes of the various versions of the proposal - DoublyLinkedList.Bytes proposalVersionDocs; - - // Mapping of version (IPFS doc hash) to ProposalVersion struct - mapping (bytes32 => ProposalVersion) proposalVersions; - - // Voting struct for the draft voting round - Voting draftVoting; - - // Mapping of voting round index (starts from 0) to Voting struct - // votingRounds[0] is the Voting round of the proposal, which lasts for get_uint_config(CONFIG_VOTING_PHASE_TOTAL) - // votingRounds[i] for i>0 are the Interim Voting rounds of the proposal, which lasts for get_uint_config(CONFIG_INTERIM_PHASE_TOTAL) - mapping (uint256 => Voting) votingRounds; - - // Every proposal has a collateral tied to it with a value of - // get_uint_config(CONFIG_PREPROPOSAL_COLLATERAL) (refer "./../storage/DaoConfigsStorage.sol") - // Collateral can be in different states - // refer COLLATERAL_STATUS_* in "./../common/DaoConstants.sol" - uint256 collateralStatus; - uint256 collateralAmount; - - // The final version of the proposal - // Every proposal needs to be finalized before it can be voted on - // This is the IPFS doc hash of the final version - bytes32 finalVersion; - - // List of PrlAction structs - // These are all the actions done by the PRL on the proposal - PrlAction[] prlActions; - - // Address of the user who created the proposal - address proposer; - - // Address of the moderator who endorsed the proposal - address endorser; - - // Boolean whether the proposal is paused/stopped at the moment - bool isPausedOrStopped; - - // Boolean whether the proposal was created by a founder role - bool isDigix; - } - - function countVotes(Voting storage _voting, address[] _allUsers) - external - view - returns (uint256 _for, uint256 _against) - { - uint256 _n = _allUsers.length; - for (uint256 i = 0; i < _n; i++) { - if (_voting.yesVotes[_allUsers[i]] > 0) { - _for = _for.add(_voting.yesVotes[_allUsers[i]]); - } else if (_voting.noVotes[_allUsers[i]] > 0) { - _against = _against.add(_voting.noVotes[_allUsers[i]]); - } - } - } - - // get the list of voters who voted _vote (true-yes/false-no) - function listVotes(Voting storage _voting, address[] _allUsers, bool _vote) - external - view - returns (address[] memory _voters, uint256 _length) - { - uint256 _n = _allUsers.length; - uint256 i; - _length = 0; - _voters = new address[](_n); - if (_vote == true) { - for (i = 0; i < _n; i++) { - if (_voting.yesVotes[_allUsers[i]] > 0) { - _voters[_length] = _allUsers[i]; - _length++; - } - } - } else { - for (i = 0; i < _n; i++) { - if (_voting.noVotes[_allUsers[i]] > 0) { - _voters[_length] = _allUsers[i]; - _length++; - } - } - } - } - - function readVote(Voting storage _voting, address _voter) - public - view - returns (bool _vote, uint256 _weight) - { - if (_voting.yesVotes[_voter] > 0) { - _weight = _voting.yesVotes[_voter]; - _vote = true; - } else { - _weight = _voting.noVotes[_voter]; // if _voter didnt vote at all, the weight will be 0 anyway - _vote = false; - } - } - - function revealVote( - Voting storage _voting, - address _voter, - bool _vote, - uint256 _weight - ) - public - { - if (_vote) { - _voting.yesVotes[_voter] = _weight; - } else { - _voting.noVotes[_voter] = _weight; - } - } - - function readVersion(ProposalVersion storage _version) - public - view - returns ( - bytes32 _doc, - uint256 _created, - uint256[] _milestoneFundings, - uint256 _finalReward - ) - { - _doc = _version.docIpfsHash; - _created = _version.created; - _milestoneFundings = _version.milestoneFundings; - _finalReward = _version.finalReward; - } - - // read the funding for a particular milestone of a finalized proposal - // if _milestoneId is the same as _milestoneCount, it returns the final reward - function readProposalMilestone(Proposal storage _proposal, uint256 _milestoneIndex) - public - view - returns (uint256 _funding) - { - bytes32 _finalVersion = _proposal.finalVersion; - uint256 _milestoneCount = _proposal.proposalVersions[_finalVersion].milestoneFundings.length; - require(_milestoneIndex <= _milestoneCount); - require(_finalVersion != EMPTY_BYTES); // the proposal must have been finalized - - if (_milestoneIndex < _milestoneCount) { - _funding = _proposal.proposalVersions[_finalVersion].milestoneFundings[_milestoneIndex]; - } else { - _funding = _proposal.proposalVersions[_finalVersion].finalReward; - } - } - - function addProposalVersion( - Proposal storage _proposal, - bytes32 _newDoc, - uint256[] _newMilestoneFundings, - uint256 _finalReward - ) - public - { - _proposal.proposalVersionDocs.append(_newDoc); - _proposal.proposalVersions[_newDoc].docIpfsHash = _newDoc; - _proposal.proposalVersions[_newDoc].created = now; - _proposal.proposalVersions[_newDoc].milestoneCount = _newMilestoneFundings.length; - _proposal.proposalVersions[_newDoc].milestoneFundings = _newMilestoneFundings; - _proposal.proposalVersions[_newDoc].finalReward = _finalReward; - } - - struct SpecialProposal { - // ID of the special proposal - // This is the IPFS doc hash of the proposal - bytes32 proposalId; - - // UTC timestamp at which the proposal was created - uint256 timeCreated; - - // Address of the user who created the special proposal - // This address should also be in the ROLES_FOUNDERS group - // refer "./../storage/DaoIdentityStorage.sol" - address proposer; - - // Voting struct for the special proposal - Voting voting; - - // List of the new uint256 configs as per the special proposal - uint256[] uintConfigs; - - // List of the new address configs as per the special proposal - address[] addressConfigs; - - // List of the new bytes32 configs as per the special proposal - bytes32[] bytesConfigs; - - } - - // All configs are as per the DaoConfigsStorage values at the time when - // calculateGlobalRewardsBeforeNewQuarter is called by founder in that quarter - struct DaoQuarterInfo { - // The minimum quarter points required - // below this, reputation will be deducted - uint256 minimalParticipationPoint; - - // The scaling factor for quarter point - uint256 quarterPointScalingFactor; - - // The scaling factor for reputation point - uint256 reputationPointScalingFactor; - - // The summation of effectiveDGDs in the previous quarter - // The effectiveDGDs represents the effective participation in DigixDAO in a quarter - // Which depends on lockedDGDStake, quarter point and reputation point - // This value is the summation of all participant effectiveDGDs - // It will be used to calculate the fraction of effectiveDGD a user has, - // which will determine his portion of DGX rewards for that quarter - uint256 totalEffectiveDGDPreviousQuarter; - - // The minimum moderator quarter point required - // below this, reputation will be deducted for moderators - uint256 moderatorMinimalParticipationPoint; - - // the scaling factor for moderator quarter point - uint256 moderatorQuarterPointScalingFactor; - - // the scaling factor for moderator reputation point - uint256 moderatorReputationPointScalingFactor; - - // The summation of effectiveDGDs (only specific to moderators) - uint256 totalEffectiveModeratorDGDLastQuarter; - - // UTC timestamp from which the DGX rewards for the previous quarter are distributable to Holders - uint256 dgxDistributionDay; - - // This is the rewards pool for the previous quarter. This is the sum of the DGX fees coming in from the collector, and the demurrage that has incurred - // when user call claimRewards() in the previous quarter. - // more graphical explanation: https://ipfs.io/ipfs/QmZDgFFMbyF3dvuuDfoXv5F6orq4kaDPo7m3QvnseUguzo - uint256 dgxRewardsPoolLastQuarter; - - // The summation of all dgxRewardsPoolLastQuarter up until this quarter - uint256 sumRewardsFromBeginning; - } - - // There are many function calls where all calculations/summations cannot be done in one transaction - // and require multiple transactions. - // This struct stores the intermediate results in between the calculating transactions - // These intermediate results are stored in IntermediateResultsStorage - struct IntermediateResults { - // weight of "FOR" votes counted up until the current calculation step - uint256 currentForCount; - - // weight of "AGAINST" votes counted up until the current calculation step - uint256 currentAgainstCount; - - // summation of effectiveDGDs up until the iteration of calculation - uint256 currentSumOfEffectiveBalance; - - // Address of user until which the calculation has been done - address countedUntil; - } -} - - - - - - - - -contract DaoStorage is DaoWhitelistingCommon, BytesIteratorStorage { - using DoublyLinkedList for DoublyLinkedList.Bytes; - using DaoStructs for DaoStructs.Voting; - using DaoStructs for DaoStructs.Proposal; - using DaoStructs for DaoStructs.ProposalVersion; - - // List of all the proposals ever created in DigixDAO - DoublyLinkedList.Bytes allProposals; - - // mapping of Proposal struct by its ID - // ID is also the IPFS doc hash of the first ever version of this proposal - mapping (bytes32 => DaoStructs.Proposal) proposalsById; - - // mapping from state of a proposal to list of all proposals in that state - // proposals are added/removed from the state's list as their states change - // eg. when proposal is endorsed, when proposal is funded, etc - mapping (bytes32 => DoublyLinkedList.Bytes) proposalsByState; - - constructor(address _resolver) public { - require(init(CONTRACT_STORAGE_DAO, _resolver)); - } - - /////////////////////////////// READ FUNCTIONS ////////////////////////////// - - /// @notice read all information and details of proposal - /// @param _proposalId Proposal ID, i.e. hash of IPFS doc Proposal ID, i.e. hash of IPFS doc - /// return { - /// "_doc": "Original IPFS doc of proposal, also ID of proposal", - /// "_proposer": "Address of the proposer", - /// "_endorser": "Address of the moderator that endorsed the proposal", - /// "_state": "Current state of the proposal", - /// "_timeCreated": "UTC timestamp at which proposal was created", - /// "_nVersions": "Number of versions of the proposal", - /// "_latestVersionDoc": "IPFS doc hash of the latest version of this proposal", - /// "_finalVersion": "If finalized, the version of the final proposal", - /// "_pausedOrStopped": "If the proposal is paused/stopped at the moment", - /// "_isDigixProposal": "If the proposal has been created by founder or not" - /// } - function readProposal(bytes32 _proposalId) - public - view - returns ( - bytes32 _doc, - address _proposer, - address _endorser, - bytes32 _state, - uint256 _timeCreated, - uint256 _nVersions, - bytes32 _latestVersionDoc, - bytes32 _finalVersion, - bool _pausedOrStopped, - bool _isDigixProposal - ) - { - require(senderIsAllowedToRead()); - DaoStructs.Proposal storage _proposal = proposalsById[_proposalId]; - _doc = _proposal.proposalId; - _proposer = _proposal.proposer; - _endorser = _proposal.endorser; - _state = _proposal.currentState; - _timeCreated = _proposal.timeCreated; - _nVersions = read_total_bytesarray(_proposal.proposalVersionDocs); - _latestVersionDoc = read_last_from_bytesarray(_proposal.proposalVersionDocs); - _finalVersion = _proposal.finalVersion; - _pausedOrStopped = _proposal.isPausedOrStopped; - _isDigixProposal = _proposal.isDigix; - } - - function readProposalProposer(bytes32 _proposalId) - public - view - returns (address _proposer) - { - _proposer = proposalsById[_proposalId].proposer; - } - - function readTotalPrlActions(bytes32 _proposalId) - public - view - returns (uint256 _length) - { - _length = proposalsById[_proposalId].prlActions.length; - } - - function readPrlAction(bytes32 _proposalId, uint256 _index) - public - view - returns (uint256 _actionId, uint256 _time, bytes32 _doc) - { - DaoStructs.PrlAction[] memory _actions = proposalsById[_proposalId].prlActions; - require(_index < _actions.length); - _actionId = _actions[_index].actionId; - _time = _actions[_index].at; - _doc = _actions[_index].doc; - } - - function readProposalDraftVotingResult(bytes32 _proposalId) - public - view - returns (bool _result) - { - require(senderIsAllowedToRead()); - _result = proposalsById[_proposalId].draftVoting.passed; - } - - function readProposalVotingResult(bytes32 _proposalId, uint256 _index) - public - view - returns (bool _result) - { - require(senderIsAllowedToRead()); - _result = proposalsById[_proposalId].votingRounds[_index].passed; - } - - function readProposalDraftVotingTime(bytes32 _proposalId) - public - view - returns (uint256 _start) - { - require(senderIsAllowedToRead()); - _start = proposalsById[_proposalId].draftVoting.startTime; - } - - function readProposalVotingTime(bytes32 _proposalId, uint256 _index) - public - view - returns (uint256 _start) - { - require(senderIsAllowedToRead()); - _start = proposalsById[_proposalId].votingRounds[_index].startTime; - } - - function readDraftVotingCount(bytes32 _proposalId, address[] _allUsers) - external - view - returns (uint256 _for, uint256 _against) - { - require(senderIsAllowedToRead()); - return proposalsById[_proposalId].draftVoting.countVotes(_allUsers); - } - - function readVotingCount(bytes32 _proposalId, uint256 _index, address[] _allUsers) - external - view - returns (uint256 _for, uint256 _against) - { - require(senderIsAllowedToRead()); - return proposalsById[_proposalId].votingRounds[_index].countVotes(_allUsers); - } - - function readVotingRoundVotes(bytes32 _proposalId, uint256 _index, address[] _allUsers, bool _vote) - external - view - returns (address[] memory _voters, uint256 _length) - { - require(senderIsAllowedToRead()); - return proposalsById[_proposalId].votingRounds[_index].listVotes(_allUsers, _vote); - } - - function readDraftVote(bytes32 _proposalId, address _voter) - public - view - returns (bool _vote, uint256 _weight) - { - require(senderIsAllowedToRead()); - return proposalsById[_proposalId].draftVoting.readVote(_voter); - } - - /// @notice returns the latest committed vote by a voter on a proposal - /// @param _proposalId proposal ID - /// @param _voter address of the voter - /// @return { - /// "_commitHash": "" - /// } - function readComittedVote(bytes32 _proposalId, uint256 _index, address _voter) - public - view - returns (bytes32 _commitHash) - { - require(senderIsAllowedToRead()); - _commitHash = proposalsById[_proposalId].votingRounds[_index].commits[_voter]; - } - - function readVote(bytes32 _proposalId, uint256 _index, address _voter) - public - view - returns (bool _vote, uint256 _weight) - { - require(senderIsAllowedToRead()); - return proposalsById[_proposalId].votingRounds[_index].readVote(_voter); - } - - /// @notice get all information and details of the first proposal - /// return { - /// "_id": "" - /// } - function getFirstProposal() - public - view - returns (bytes32 _id) - { - _id = read_first_from_bytesarray(allProposals); - } - - /// @notice get all information and details of the last proposal - /// return { - /// "_id": "" - /// } - function getLastProposal() - public - view - returns (bytes32 _id) - { - _id = read_last_from_bytesarray(allProposals); - } - - /// @notice get all information and details of proposal next to _proposalId - /// @param _proposalId Proposal ID, i.e. hash of IPFS doc - /// return { - /// "_id": "" - /// } - function getNextProposal(bytes32 _proposalId) - public - view - returns (bytes32 _id) - { - _id = read_next_from_bytesarray( - allProposals, - _proposalId - ); - } - - /// @notice get all information and details of proposal previous to _proposalId - /// @param _proposalId Proposal ID, i.e. hash of IPFS doc - /// return { - /// "_id": "" - /// } - function getPreviousProposal(bytes32 _proposalId) - public - view - returns (bytes32 _id) - { - _id = read_previous_from_bytesarray( - allProposals, - _proposalId - ); - } - - /// @notice get all information and details of the first proposal in state _stateId - /// @param _stateId State ID of the proposal - /// return { - /// "_id": "" - /// } - function getFirstProposalInState(bytes32 _stateId) - public - view - returns (bytes32 _id) - { - require(senderIsAllowedToRead()); - _id = read_first_from_bytesarray(proposalsByState[_stateId]); - } - - /// @notice get all information and details of the last proposal in state _stateId - /// @param _stateId State ID of the proposal - /// return { - /// "_id": "" - /// } - function getLastProposalInState(bytes32 _stateId) - public - view - returns (bytes32 _id) - { - require(senderIsAllowedToRead()); - _id = read_last_from_bytesarray(proposalsByState[_stateId]); - } - - /// @notice get all information and details of the next proposal to _proposalId in state _stateId - /// @param _stateId State ID of the proposal - /// return { - /// "_id": "" - /// } - function getNextProposalInState(bytes32 _stateId, bytes32 _proposalId) - public - view - returns (bytes32 _id) - { - require(senderIsAllowedToRead()); - _id = read_next_from_bytesarray( - proposalsByState[_stateId], - _proposalId - ); - } - - /// @notice get all information and details of the previous proposal to _proposalId in state _stateId - /// @param _stateId State ID of the proposal - /// return { - /// "_id": "" - /// } - function getPreviousProposalInState(bytes32 _stateId, bytes32 _proposalId) - public - view - returns (bytes32 _id) - { - require(senderIsAllowedToRead()); - _id = read_previous_from_bytesarray( - proposalsByState[_stateId], - _proposalId - ); - } - - /// @notice read proposal version details for a specific version - /// @param _proposalId Proposal ID, i.e. hash of IPFS doc - /// @param _version Version of proposal, i.e. hash of IPFS doc for specific version - /// return { - /// "_doc": "", - /// "_created": "", - /// "_milestoneFundings": "" - /// } - function readProposalVersion(bytes32 _proposalId, bytes32 _version) - public - view - returns ( - bytes32 _doc, - uint256 _created, - uint256[] _milestoneFundings, - uint256 _finalReward - ) - { - return proposalsById[_proposalId].proposalVersions[_version].readVersion(); - } - - /** - @notice Read the fundings of a finalized proposal - @return { - "_fundings": "fundings for the milestones", - "_finalReward": "the final reward" - } - */ - function readProposalFunding(bytes32 _proposalId) - public - view - returns (uint256[] memory _fundings, uint256 _finalReward) - { - require(senderIsAllowedToRead()); - bytes32 _finalVersion = proposalsById[_proposalId].finalVersion; - require(_finalVersion != EMPTY_BYTES); - _fundings = proposalsById[_proposalId].proposalVersions[_finalVersion].milestoneFundings; - _finalReward = proposalsById[_proposalId].proposalVersions[_finalVersion].finalReward; - } - - function readProposalMilestone(bytes32 _proposalId, uint256 _index) - public - view - returns (uint256 _funding) - { - require(senderIsAllowedToRead()); - _funding = proposalsById[_proposalId].readProposalMilestone(_index); - } - - /// @notice get proposal version details for the first version - /// @param _proposalId Proposal ID, i.e. hash of IPFS doc - /// return { - /// "_version": "" - /// } - function getFirstProposalVersion(bytes32 _proposalId) - public - view - returns (bytes32 _version) - { - DaoStructs.Proposal storage _proposal = proposalsById[_proposalId]; - _version = read_first_from_bytesarray(_proposal.proposalVersionDocs); - } - - /// @notice get proposal version details for the last version - /// @param _proposalId Proposal ID, i.e. hash of IPFS doc - /// return { - /// "_version": "" - /// } - function getLastProposalVersion(bytes32 _proposalId) - public - view - returns (bytes32 _version) - { - DaoStructs.Proposal storage _proposal = proposalsById[_proposalId]; - _version = read_last_from_bytesarray(_proposal.proposalVersionDocs); - } - - /// @notice get proposal version details for the next version to _version - /// @param _proposalId Proposal ID, i.e. hash of IPFS doc - /// @param _version Version of proposal - /// return { - /// "_nextVersion": "" - /// } - function getNextProposalVersion(bytes32 _proposalId, bytes32 _version) - public - view - returns (bytes32 _nextVersion) - { - DaoStructs.Proposal storage _proposal = proposalsById[_proposalId]; - _nextVersion = read_next_from_bytesarray( - _proposal.proposalVersionDocs, - _version - ); - } - - /// @notice get proposal version details for the previous version to _version - /// @param _proposalId Proposal ID, i.e. hash of IPFS doc - /// @param _version Version of proposal - /// return { - /// "_previousVersion": "" - /// } - function getPreviousProposalVersion(bytes32 _proposalId, bytes32 _version) - public - view - returns (bytes32 _previousVersion) - { - DaoStructs.Proposal storage _proposal = proposalsById[_proposalId]; - _previousVersion = read_previous_from_bytesarray( - _proposal.proposalVersionDocs, - _version - ); - } - - function isDraftClaimed(bytes32 _proposalId) - public - view - returns (bool _claimed) - { - _claimed = proposalsById[_proposalId].draftVoting.claimed; - } - - function isClaimed(bytes32 _proposalId, uint256 _index) - public - view - returns (bool _claimed) - { - _claimed = proposalsById[_proposalId].votingRounds[_index].claimed; - } - - function readProposalCollateralStatus(bytes32 _proposalId) - public - view - returns (uint256 _status) - { - require(senderIsAllowedToRead()); - _status = proposalsById[_proposalId].collateralStatus; - } - - function readProposalCollateralAmount(bytes32 _proposalId) - public - view - returns (uint256 _amount) - { - _amount = proposalsById[_proposalId].collateralAmount; - } - - /// @notice Read the additional docs that are added after the proposal is finalized - /// @dev Will throw if the propsal is not finalized yet - function readProposalDocs(bytes32 _proposalId) - public - view - returns (bytes32[] _moreDocs) - { - bytes32 _finalVersion = proposalsById[_proposalId].finalVersion; - require(_finalVersion != EMPTY_BYTES); - _moreDocs = proposalsById[_proposalId].proposalVersions[_finalVersion].moreDocs; - } - - function readIfMilestoneFunded(bytes32 _proposalId, uint256 _milestoneId) - public - view - returns (bool _funded) - { - require(senderIsAllowedToRead()); - _funded = proposalsById[_proposalId].votingRounds[_milestoneId].funded; - } - - ////////////////////////////// WRITE FUNCTIONS ////////////////////////////// - - function addProposal( - bytes32 _doc, - address _proposer, - uint256[] _milestoneFundings, - uint256 _finalReward, - bool _isFounder - ) - external - { - require(sender_is(CONTRACT_DAO)); - require( - (proposalsById[_doc].proposalId == EMPTY_BYTES) && - (_doc != EMPTY_BYTES) - ); - - allProposals.append(_doc); - proposalsByState[PROPOSAL_STATE_PREPROPOSAL].append(_doc); - proposalsById[_doc].proposalId = _doc; - proposalsById[_doc].proposer = _proposer; - proposalsById[_doc].currentState = PROPOSAL_STATE_PREPROPOSAL; - proposalsById[_doc].timeCreated = now; - proposalsById[_doc].isDigix = _isFounder; - proposalsById[_doc].addProposalVersion(_doc, _milestoneFundings, _finalReward); - } - - function editProposal( - bytes32 _proposalId, - bytes32 _newDoc, - uint256[] _newMilestoneFundings, - uint256 _finalReward - ) - external - { - require(sender_is(CONTRACT_DAO)); - - proposalsById[_proposalId].addProposalVersion(_newDoc, _newMilestoneFundings, _finalReward); - } - - /// @notice change fundings of a proposal - /// @dev Will throw if the proposal is not finalized yet - function changeFundings(bytes32 _proposalId, uint256[] _newMilestoneFundings, uint256 _finalReward) - external - { - require(sender_is(CONTRACT_DAO)); - - bytes32 _finalVersion = proposalsById[_proposalId].finalVersion; - require(_finalVersion != EMPTY_BYTES); - proposalsById[_proposalId].proposalVersions[_finalVersion].milestoneFundings = _newMilestoneFundings; - proposalsById[_proposalId].proposalVersions[_finalVersion].finalReward = _finalReward; - } - - /// @dev Will throw if the proposal is not finalized yet - function addProposalDoc(bytes32 _proposalId, bytes32 _newDoc) - public - { - require(sender_is(CONTRACT_DAO)); - - bytes32 _finalVersion = proposalsById[_proposalId].finalVersion; - require(_finalVersion != EMPTY_BYTES); //already checked in interactive layer, but why not - proposalsById[_proposalId].proposalVersions[_finalVersion].moreDocs.push(_newDoc); - } - - function finalizeProposal(bytes32 _proposalId) - public - { - require(sender_is(CONTRACT_DAO)); - - proposalsById[_proposalId].finalVersion = getLastProposalVersion(_proposalId); - } - - function updateProposalEndorse( - bytes32 _proposalId, - address _endorser - ) - public - { - require(sender_is(CONTRACT_DAO)); - - DaoStructs.Proposal storage _proposal = proposalsById[_proposalId]; - _proposal.endorser = _endorser; - _proposal.currentState = PROPOSAL_STATE_DRAFT; - proposalsByState[PROPOSAL_STATE_PREPROPOSAL].remove_item(_proposalId); - proposalsByState[PROPOSAL_STATE_DRAFT].append(_proposalId); - } - - function setProposalDraftPass(bytes32 _proposalId, bool _result) - public - { - require(sender_is(CONTRACT_DAO_VOTING_CLAIMS)); - - proposalsById[_proposalId].draftVoting.passed = _result; - if (_result) { - proposalsByState[PROPOSAL_STATE_DRAFT].remove_item(_proposalId); - proposalsByState[PROPOSAL_STATE_MODERATED].append(_proposalId); - proposalsById[_proposalId].currentState = PROPOSAL_STATE_MODERATED; - } else { - closeProposalInternal(_proposalId); - } - } - - function setProposalPass(bytes32 _proposalId, uint256 _index, bool _result) - public - { - require(sender_is(CONTRACT_DAO_VOTING_CLAIMS)); - - if (!_result) { - closeProposalInternal(_proposalId); - } else if (_index == 0) { - proposalsByState[PROPOSAL_STATE_MODERATED].remove_item(_proposalId); - proposalsByState[PROPOSAL_STATE_ONGOING].append(_proposalId); - proposalsById[_proposalId].currentState = PROPOSAL_STATE_ONGOING; - } - proposalsById[_proposalId].votingRounds[_index].passed = _result; - } - - function setProposalDraftVotingTime( - bytes32 _proposalId, - uint256 _time - ) - public - { - require(sender_is(CONTRACT_DAO)); - - proposalsById[_proposalId].draftVoting.startTime = _time; - } - - function setProposalVotingTime( - bytes32 _proposalId, - uint256 _index, - uint256 _time - ) - public - { - require(sender_is_from([CONTRACT_DAO, CONTRACT_DAO_VOTING_CLAIMS, EMPTY_BYTES])); - - proposalsById[_proposalId].votingRounds[_index].startTime = _time; - } - - function setDraftVotingClaim(bytes32 _proposalId, bool _claimed) - public - { - require(sender_is(CONTRACT_DAO_VOTING_CLAIMS)); - proposalsById[_proposalId].draftVoting.claimed = _claimed; - } - - function setVotingClaim(bytes32 _proposalId, uint256 _index, bool _claimed) - public - { - require(sender_is(CONTRACT_DAO_VOTING_CLAIMS)); - proposalsById[_proposalId].votingRounds[_index].claimed = _claimed; - } - - function setProposalCollateralStatus(bytes32 _proposalId, uint256 _status) - public - { - require(sender_is_from([CONTRACT_DAO_VOTING_CLAIMS, CONTRACT_DAO_FUNDING_MANAGER, CONTRACT_DAO])); - proposalsById[_proposalId].collateralStatus = _status; - } - - function setProposalCollateralAmount(bytes32 _proposalId, uint256 _amount) - public - { - require(sender_is(CONTRACT_DAO)); - proposalsById[_proposalId].collateralAmount = _amount; - } - - function updateProposalPRL( - bytes32 _proposalId, - uint256 _action, - bytes32 _doc, - uint256 _time - ) - public - { - require(sender_is(CONTRACT_DAO)); - require(proposalsById[_proposalId].currentState != PROPOSAL_STATE_CLOSED); - - DaoStructs.PrlAction memory prlAction; - prlAction.at = _time; - prlAction.doc = _doc; - prlAction.actionId = _action; - proposalsById[_proposalId].prlActions.push(prlAction); - - if (_action == PRL_ACTION_PAUSE) { - proposalsById[_proposalId].isPausedOrStopped = true; - } else if (_action == PRL_ACTION_UNPAUSE) { - proposalsById[_proposalId].isPausedOrStopped = false; - } else { // STOP - proposalsById[_proposalId].isPausedOrStopped = true; - closeProposalInternal(_proposalId); - } - } - - function closeProposalInternal(bytes32 _proposalId) - internal - { - bytes32 _currentState = proposalsById[_proposalId].currentState; - proposalsByState[_currentState].remove_item(_proposalId); - proposalsByState[PROPOSAL_STATE_CLOSED].append(_proposalId); - proposalsById[_proposalId].currentState = PROPOSAL_STATE_CLOSED; - } - - function addDraftVote( - bytes32 _proposalId, - address _voter, - bool _vote, - uint256 _weight - ) - public - { - require(sender_is(CONTRACT_DAO_VOTING)); - - DaoStructs.Proposal storage _proposal = proposalsById[_proposalId]; - if (_vote) { - _proposal.draftVoting.yesVotes[_voter] = _weight; - if (_proposal.draftVoting.noVotes[_voter] > 0) { // minimize number of writes to storage, since EIP-1087 is not implemented yet - _proposal.draftVoting.noVotes[_voter] = 0; - } - } else { - _proposal.draftVoting.noVotes[_voter] = _weight; - if (_proposal.draftVoting.yesVotes[_voter] > 0) { - _proposal.draftVoting.yesVotes[_voter] = 0; - } - } - } - - function commitVote( - bytes32 _proposalId, - bytes32 _hash, - address _voter, - uint256 _index - ) - public - { - require(sender_is(CONTRACT_DAO_VOTING)); - - proposalsById[_proposalId].votingRounds[_index].commits[_voter] = _hash; - } - - function revealVote( - bytes32 _proposalId, - address _voter, - bool _vote, - uint256 _weight, - uint256 _index - ) - public - { - require(sender_is(CONTRACT_DAO_VOTING)); - - proposalsById[_proposalId].votingRounds[_index].revealVote(_voter, _vote, _weight); - } - - function closeProposal(bytes32 _proposalId) - public - { - require(sender_is(CONTRACT_DAO)); - closeProposalInternal(_proposalId); - } - - function archiveProposal(bytes32 _proposalId) - public - { - require(sender_is(CONTRACT_DAO_VOTING_CLAIMS)); - bytes32 _currentState = proposalsById[_proposalId].currentState; - proposalsByState[_currentState].remove_item(_proposalId); - proposalsByState[PROPOSAL_STATE_ARCHIVED].append(_proposalId); - proposalsById[_proposalId].currentState = PROPOSAL_STATE_ARCHIVED; - } - - function setMilestoneFunded(bytes32 _proposalId, uint256 _milestoneId) - public - { - require(sender_is(CONTRACT_DAO_FUNDING_MANAGER)); - proposalsById[_proposalId].votingRounds[_milestoneId].funded = true; - } -} - - - - -/** - @title Address Iterator Storage - @author DigixGlobal Pte Ltd - @notice See: [Doubly Linked List](/DoublyLinkedList) -*/ -contract AddressIteratorStorage { - - // Initialize Doubly Linked List of Address - using DoublyLinkedList for DoublyLinkedList.Address; - - /** - @notice Reads the first item from the list of Address - @param _list The source list - @return {"_item" : "The first item from the list"} - */ - function read_first_from_addresses(DoublyLinkedList.Address storage _list) - internal - constant - returns (address _item) - { - _item = _list.start_item(); - } - - - /** - @notice Reads the last item from the list of Address - @param _list The source list - @return {"_item" : "The last item from the list"} - */ - function read_last_from_addresses(DoublyLinkedList.Address storage _list) - internal - constant - returns (address _item) - { - _item = _list.end_item(); - } - - /** - @notice Reads the next item on the list of Address - @param _list The source list - @param _current_item The current item to be used as base line - @return {"_item" : "The next item from the list based on the specieid `_current_item`"} - */ - function read_next_from_addresses(DoublyLinkedList.Address storage _list, address _current_item) - internal - constant - returns (address _item) - { - _item = _list.next_item(_current_item); - } - - /** - @notice Reads the previous item on the list of Address - @param _list The source list - @param _current_item The current item to be used as base line - @return {"_item" : "The previous item from the list based on the spcified `_current_item`"} - */ - function read_previous_from_addresses(DoublyLinkedList.Address storage _list, address _current_item) - internal - constant - returns (address _item) - { - _item = _list.previous_item(_current_item); - } - - /** - @notice Reads the list of Address and returns the length of the list - @param _list The source list - @return {"_count": "The lenght of the list"} - */ - function read_total_addresses(DoublyLinkedList.Address storage _list) - internal - constant - returns (uint256 _count) - { - _count = _list.total(); - } - -} - - -/// @title Some useful constants -/// @author DigixGlobal - -contract Constants { - address constant NULL_ADDRESS = address(0x0); - uint256 constant ZERO = uint256(0); - bytes32 constant EMPTY = bytes32(0x0); -} - - - - - - - -contract DaoStakeStorage is ResolverClient, DaoConstants, AddressIteratorStorage { - using DoublyLinkedList for DoublyLinkedList.Address; - - // This is the DGD stake of a user (one that is considered in the DAO) - mapping (address => uint256) public lockedDGDStake; - - // This is the actual number of DGDs locked by user - // may be more than the lockedDGDStake - // in case they locked during the main phase - mapping (address => uint256) public actualLockedDGD; - - // The total locked DGDs in the DAO (summation of lockedDGDStake) - uint256 public totalLockedDGDStake; - - // The total locked DGDs by moderators - uint256 public totalModeratorLockedDGDStake; - - // The list of participants in DAO - // actual participants will be subset of this list - DoublyLinkedList.Address allParticipants; - - // The list of moderators in DAO - // actual moderators will be subset of this list - DoublyLinkedList.Address allModerators; - - // Boolean to mark if an address has redeemed - // reputation points for their DGD Badge - mapping (address => bool) public redeemedBadge; - - // mapping to note whether an address has claimed their - // reputation bonus for carbon vote participation - mapping (address => bool) public carbonVoteBonusClaimed; - - constructor(address _resolver) public { - require(init(CONTRACT_STORAGE_DAO_STAKE, _resolver)); - } - - function redeemBadge(address _user) - public - { - require(sender_is(CONTRACT_DAO_STAKE_LOCKING)); - redeemedBadge[_user] = true; - } - - function setCarbonVoteBonusClaimed(address _user) - public - { - require(sender_is(CONTRACT_DAO_STAKE_LOCKING)); - carbonVoteBonusClaimed[_user] = true; - } - - function updateTotalLockedDGDStake(uint256 _totalLockedDGDStake) - public - { - require(sender_is_from([CONTRACT_DAO_STAKE_LOCKING, CONTRACT_DAO_REWARDS_MANAGER, EMPTY_BYTES])); - totalLockedDGDStake = _totalLockedDGDStake; - } - - function updateTotalModeratorLockedDGDs(uint256 _totalLockedDGDStake) - public - { - require(sender_is_from([CONTRACT_DAO_STAKE_LOCKING, CONTRACT_DAO_REWARDS_MANAGER, EMPTY_BYTES])); - totalModeratorLockedDGDStake = _totalLockedDGDStake; - } - - function updateUserDGDStake(address _user, uint256 _actualLockedDGD, uint256 _lockedDGDStake) - public - { - require(sender_is(CONTRACT_DAO_STAKE_LOCKING)); - actualLockedDGD[_user] = _actualLockedDGD; - lockedDGDStake[_user] = _lockedDGDStake; - } - - function readUserDGDStake(address _user) - public - view - returns ( - uint256 _actualLockedDGD, - uint256 _lockedDGDStake - ) - { - _actualLockedDGD = actualLockedDGD[_user]; - _lockedDGDStake = lockedDGDStake[_user]; - } - - function addToParticipantList(address _user) - public - returns (bool _success) - { - require(sender_is(CONTRACT_DAO_STAKE_LOCKING)); - _success = allParticipants.append(_user); - } - - function removeFromParticipantList(address _user) - public - returns (bool _success) - { - require(sender_is(CONTRACT_DAO_STAKE_LOCKING)); - _success = allParticipants.remove_item(_user); - } - - function addToModeratorList(address _user) - public - returns (bool _success) - { - require(sender_is(CONTRACT_DAO_STAKE_LOCKING)); - _success = allModerators.append(_user); - } - - function removeFromModeratorList(address _user) - public - returns (bool _success) - { - require(sender_is(CONTRACT_DAO_STAKE_LOCKING)); - _success = allModerators.remove_item(_user); - } - - function isInParticipantList(address _user) - public - view - returns (bool _is) - { - _is = allParticipants.find(_user) != 0; - } - - function isInModeratorsList(address _user) - public - view - returns (bool _is) - { - _is = allModerators.find(_user) != 0; - } - - function readFirstModerator() - public - view - returns (address _item) - { - _item = read_first_from_addresses(allModerators); - } - - function readLastModerator() - public - view - returns (address _item) - { - _item = read_last_from_addresses(allModerators); - } - - function readNextModerator(address _current_item) - public - view - returns (address _item) - { - _item = read_next_from_addresses(allModerators, _current_item); - } - - function readPreviousModerator(address _current_item) - public - view - returns (address _item) - { - _item = read_previous_from_addresses(allModerators, _current_item); - } - - function readTotalModerators() - public - view - returns (uint256 _total_count) - { - _total_count = read_total_addresses(allModerators); - } - - function readFirstParticipant() - public - view - returns (address _item) - { - _item = read_first_from_addresses(allParticipants); - } - - function readLastParticipant() - public - view - returns (address _item) - { - _item = read_last_from_addresses(allParticipants); - } - - function readNextParticipant(address _current_item) - public - view - returns (address _item) - { - _item = read_next_from_addresses(allParticipants, _current_item); - } - - function readPreviousParticipant(address _current_item) - public - view - returns (address _item) - { - _item = read_previous_from_addresses(allParticipants, _current_item); - } - - function readTotalParticipant() - public - view - returns (uint256 _total_count) - { - _total_count = read_total_addresses(allParticipants); - } -} - - -/* */ - - - - - - - - -/** -@title Contract to list various storage states from DigixDAO -@author Digix Holdings -*/ -contract DaoListingService is - AddressIteratorInteractive, - BytesIteratorInteractive, - IndexedBytesIteratorInteractive, - DaoWhitelistingCommon -{ - - /** - @notice Constructor - @param _resolver address of contract resolver - */ - constructor(address _resolver) public { - require(init(CONTRACT_SERVICE_DAO_LISTING, _resolver)); - } - - function daoStakeStorage() - internal - view - returns (DaoStakeStorage _contract) - { - _contract = DaoStakeStorage(get_contract(CONTRACT_STORAGE_DAO_STAKE)); - } - - function daoStorage() - internal - view - returns (DaoStorage _contract) - { - _contract = DaoStorage(get_contract(CONTRACT_STORAGE_DAO)); - } - - /** - @notice function to list moderators - @dev note that this list may include some additional entries that are - not moderators in the current quarter. This may happen if they - were moderators in the previous quarter, but have not confirmed - their participation in the current quarter. For a single address, - a better way to know if moderator or not is: - Dao.isModerator(_user) - @param _count number of addresses to list - @param _from_start boolean, whether to list from start or end - @return { - "_moderators": "list of moderator addresses" - } - */ - function listModerators(uint256 _count, bool _from_start) - public - view - returns (address[] _moderators) - { - _moderators = list_addresses( - _count, - daoStakeStorage().readFirstModerator, - daoStakeStorage().readLastModerator, - daoStakeStorage().readNextModerator, - daoStakeStorage().readPreviousModerator, - _from_start - ); - } - - /** - @notice function to list moderators from a particular moderator - @dev note that this list may include some additional entries that are - not moderators in the current quarter. This may happen if they - were moderators in the previous quarter, but have not confirmed - their participation in the current quarter. For a single address, - a better way to know if moderator or not is: - Dao.isModerator(_user) - - Another note: this function will start listing AFTER the _currentModerator - For example: we have [address1, address2, address3, address4]. listModeratorsFrom(address1, 2, true) = [address2, address3] - @param _currentModerator start the list after this moderator address - @param _count number of addresses to list - @param _from_start boolean, whether to list from start or end - @return { - "_moderators": "list of moderator addresses" - } - */ - function listModeratorsFrom( - address _currentModerator, - uint256 _count, - bool _from_start - ) - public - view - returns (address[] _moderators) - { - _moderators = list_addresses_from( - _currentModerator, - _count, - daoStakeStorage().readFirstModerator, - daoStakeStorage().readLastModerator, - daoStakeStorage().readNextModerator, - daoStakeStorage().readPreviousModerator, - _from_start - ); - } - - /** - @notice function to list participants - @dev note that this list may include some additional entries that are - not participants in the current quarter. This may happen if they - were participants in the previous quarter, but have not confirmed - their participation in the current quarter. For a single address, - a better way to know if participant or not is: - Dao.isParticipant(_user) - @param _count number of addresses to list - @param _from_start boolean, whether to list from start or end - @return { - "_participants": "list of participant addresses" - } - */ - function listParticipants(uint256 _count, bool _from_start) - public - view - returns (address[] _participants) - { - _participants = list_addresses( - _count, - daoStakeStorage().readFirstParticipant, - daoStakeStorage().readLastParticipant, - daoStakeStorage().readNextParticipant, - daoStakeStorage().readPreviousParticipant, - _from_start - ); - } - - /** - @notice function to list participants from a particular participant - @dev note that this list may include some additional entries that are - not participants in the current quarter. This may happen if they - were participants in the previous quarter, but have not confirmed - their participation in the current quarter. For a single address, - a better way to know if participant or not is: - contracts.dao.isParticipant(_user) - - Another note: this function will start listing AFTER the _currentParticipant - For example: we have [address1, address2, address3, address4]. listParticipantsFrom(address1, 2, true) = [address2, address3] - @param _currentParticipant list from AFTER this participant address - @param _count number of addresses to list - @param _from_start boolean, whether to list from start or end - @return { - "_participants": "list of participant addresses" - } - */ - function listParticipantsFrom( - address _currentParticipant, - uint256 _count, - bool _from_start - ) - public - view - returns (address[] _participants) - { - _participants = list_addresses_from( - _currentParticipant, - _count, - daoStakeStorage().readFirstParticipant, - daoStakeStorage().readLastParticipant, - daoStakeStorage().readNextParticipant, - daoStakeStorage().readPreviousParticipant, - _from_start - ); - } - - /** - @notice function to list _count no. of proposals - @param _count number of proposals to list - @param _from_start boolean value, true if count from start, false if count from end - @return { - "_proposals": "the list of proposal IDs" - } - */ - function listProposals( - uint256 _count, - bool _from_start - ) - public - view - returns (bytes32[] _proposals) - { - _proposals = list_bytesarray( - _count, - daoStorage().getFirstProposal, - daoStorage().getLastProposal, - daoStorage().getNextProposal, - daoStorage().getPreviousProposal, - _from_start - ); - } - - /** - @notice function to list _count no. of proposals from AFTER _currentProposal - @param _currentProposal ID of proposal to list proposals from - @param _count number of proposals to list - @param _from_start boolean value, true if count forwards, false if count backwards - @return { - "_proposals": "the list of proposal IDs" - } - */ - function listProposalsFrom( - bytes32 _currentProposal, - uint256 _count, - bool _from_start - ) - public - view - returns (bytes32[] _proposals) - { - _proposals = list_bytesarray_from( - _currentProposal, - _count, - daoStorage().getFirstProposal, - daoStorage().getLastProposal, - daoStorage().getNextProposal, - daoStorage().getPreviousProposal, - _from_start - ); - } - - /** - @notice function to list _count no. of proposals in state _stateId - @param _stateId state of proposal - @param _count number of proposals to list - @param _from_start boolean value, true if count from start, false if count from end - @return { - "_proposals": "the list of proposal IDs" - } - */ - function listProposalsInState( - bytes32 _stateId, - uint256 _count, - bool _from_start - ) - public - view - returns (bytes32[] _proposals) - { - require(senderIsAllowedToRead()); - _proposals = list_indexed_bytesarray( - _stateId, - _count, - daoStorage().getFirstProposalInState, - daoStorage().getLastProposalInState, - daoStorage().getNextProposalInState, - daoStorage().getPreviousProposalInState, - _from_start - ); - } - - /** - @notice function to list _count no. of proposals in state _stateId from AFTER _currentProposal - @param _stateId state of proposal - @param _currentProposal ID of proposal to list proposals from - @param _count number of proposals to list - @param _from_start boolean value, true if count forwards, false if count backwards - @return { - "_proposals": "the list of proposal IDs" - } - */ - function listProposalsInStateFrom( - bytes32 _stateId, - bytes32 _currentProposal, - uint256 _count, - bool _from_start - ) - public - view - returns (bytes32[] _proposals) - { - require(senderIsAllowedToRead()); - _proposals = list_indexed_bytesarray_from( - _stateId, - _currentProposal, - _count, - daoStorage().getFirstProposalInState, - daoStorage().getLastProposalInState, - daoStorage().getNextProposalInState, - daoStorage().getPreviousProposalInState, - _from_start - ); - } - - /** - @notice function to list proposal versions - @param _proposalId ID of the proposal - @param _count number of proposal versions to list - @param _from_start boolean, true to list from start, false to list from end - @return { - "_versions": "list of proposal versions" - } - */ - function listProposalVersions( - bytes32 _proposalId, - uint256 _count, - bool _from_start - ) - public - view - returns (bytes32[] _versions) - { - _versions = list_indexed_bytesarray( - _proposalId, - _count, - daoStorage().getFirstProposalVersion, - daoStorage().getLastProposalVersion, - daoStorage().getNextProposalVersion, - daoStorage().getPreviousProposalVersion, - _from_start - ); - } - - /** - @notice function to list proposal versions from AFTER a particular version - @param _proposalId ID of the proposal - @param _currentVersion version to list _count versions from - @param _count number of proposal versions to list - @param _from_start boolean, true to list from start, false to list from end - @return { - "_versions": "list of proposal versions" - } - */ - function listProposalVersionsFrom( - bytes32 _proposalId, - bytes32 _currentVersion, - uint256 _count, - bool _from_start - ) - public - view - returns (bytes32[] _versions) - { - _versions = list_indexed_bytesarray_from( - _proposalId, - _currentVersion, - _count, - daoStorage().getFirstProposalVersion, - daoStorage().getLastProposalVersion, - daoStorage().getNextProposalVersion, - daoStorage().getPreviousProposalVersion, - _from_start - ); - } -} - - - - -/** - @title Indexed Address IteratorStorage - @author DigixGlobal Pte Ltd - @notice This contract utilizes: [Doubly Linked List](/DoublyLinkedList) -*/ -contract IndexedAddressIteratorStorage { - - using DoublyLinkedList for DoublyLinkedList.IndexedAddress; - /** - @notice Reads the first item from an Indexed Address Doubly Linked List - @param _list The source list - @param _collection_index Index of the Collection to evaluate - @return {"_item" : "First item on the list"} - */ - function read_first_from_indexed_addresses(DoublyLinkedList.IndexedAddress storage _list, bytes32 _collection_index) - internal - constant - returns (address _item) - { - _item = _list.start_item(_collection_index); - } - - /** - @notice Reads the last item from an Indexed Address Doubly Linked list - @param _list The source list - @param _collection_index Index of the Collection to evaluate - @return {"_item" : "First item on the list"} - */ - function read_last_from_indexed_addresses(DoublyLinkedList.IndexedAddress storage _list, bytes32 _collection_index) - internal - constant - returns (address _item) - { - _item = _list.end_item(_collection_index); - } - - /** - @notice Reads the next item from an Indexed Address Doubly Linked List based on the specified `_current_item` - @param _list The source list - @param _collection_index Index of the Collection to evaluate - @param _current_item The current item to use as base line - @return {"_item": "The next item on the list"} - */ - function read_next_from_indexed_addresses(DoublyLinkedList.IndexedAddress storage _list, bytes32 _collection_index, address _current_item) - internal - constant - returns (address _item) - { - _item = _list.next_item(_collection_index, _current_item); - } - - /** - @notice Reads the previous item from an Index Address Doubly Linked List based on the specified `_current_item` - @param _list The source list - @param _collection_index Index of the Collection to evaluate - @param _current_item The current item to use as base line - @return {"_item" : "The previous item on the list"} - */ - function read_previous_from_indexed_addresses(DoublyLinkedList.IndexedAddress storage _list, bytes32 _collection_index, address _current_item) - internal - constant - returns (address _item) - { - _item = _list.previous_item(_collection_index, _current_item); - } - - - /** - @notice Reads the total number of items in an Indexed Address Doubly Linked List - @param _list The source list - @param _collection_index Index of the Collection to evaluate - @return {"_count": "Length of the Doubly Linked list"} - */ - function read_total_indexed_addresses(DoublyLinkedList.IndexedAddress storage _list, bytes32 _collection_index) - internal - constant - returns (uint256 _count) - { - _count = _list.total(_collection_index); - } - -} - - - - - -/** -@title Directory Storage contains information of a directory -@author DigixGlobal -*/ -contract DirectoryStorage is IndexedAddressIteratorStorage, UintIteratorStorage { - - using DoublyLinkedList for DoublyLinkedList.IndexedAddress; - using DoublyLinkedList for DoublyLinkedList.Uint; - - struct User { - bytes32 document; - bool active; - } - - struct Group { - bytes32 name; - bytes32 document; - uint256 role_id; - mapping(address => User) members_by_address; - } - - struct System { - DoublyLinkedList.Uint groups; - DoublyLinkedList.IndexedAddress groups_collection; - mapping (uint256 => Group) groups_by_id; - mapping (address => uint256) group_ids_by_address; - mapping (uint256 => bytes32) roles_by_id; - bool initialized; - uint256 total_groups; - } - - System system; - - /** - @notice Initializes directory settings - @return _success If directory initialization is successful - */ - function initialize_directory() - internal - returns (bool _success) - { - require(system.initialized == false); - system.total_groups = 0; - system.initialized = true; - internal_create_role(1, "root"); - internal_create_group(1, "root", ""); - _success = internal_update_add_user_to_group(1, tx.origin, ""); - } - - /** - @notice Creates a new role with the given information - @param _role_id Id of the new role - @param _name Name of the new role - @return {"_success": "If creation of new role is successful"} - */ - function internal_create_role(uint256 _role_id, bytes32 _name) - internal - returns (bool _success) - { - require(_role_id > 0); - require(_name != bytes32(0x0)); - system.roles_by_id[_role_id] = _name; - _success = true; - } - - /** - @notice Returns the role's name of a role id - @param _role_id Id of the role - @return {"_name": "Name of the role"} - */ - function read_role(uint256 _role_id) - public - constant - returns (bytes32 _name) - { - _name = system.roles_by_id[_role_id]; - } - - /** - @notice Creates a new group with the given information - @param _role_id Role id of the new group - @param _name Name of the new group - @param _document Document of the new group - @return { - "_success": "If creation of the new group is successful", - "_group_id: "Id of the new group" - } - */ - function internal_create_group(uint256 _role_id, bytes32 _name, bytes32 _document) - internal - returns (bool _success, uint256 _group_id) - { - require(_role_id > 0); - require(read_role(_role_id) != bytes32(0x0)); - _group_id = ++system.total_groups; - system.groups.append(_group_id); - system.groups_by_id[_group_id].role_id = _role_id; - system.groups_by_id[_group_id].name = _name; - system.groups_by_id[_group_id].document = _document; - _success = true; - } - - /** - @notice Returns the group's information - @param _group_id Id of the group - @return { - "_role_id": "Role id of the group", - "_name: "Name of the group", - "_document: "Document of the group" - } - */ - function read_group(uint256 _group_id) - public - constant - returns (uint256 _role_id, bytes32 _name, bytes32 _document, uint256 _members_count) - { - if (system.groups.valid_item(_group_id)) { - _role_id = system.groups_by_id[_group_id].role_id; - _name = system.groups_by_id[_group_id].name; - _document = system.groups_by_id[_group_id].document; - _members_count = read_total_indexed_addresses(system.groups_collection, bytes32(_group_id)); - } else { - _role_id = 0; - _name = "invalid"; - _document = ""; - _members_count = 0; - } - } - - /** - @notice Adds new user with the given information to a group - @param _group_id Id of the group - @param _user Address of the new user - @param _document Information of the new user - @return {"_success": "If adding new user to a group is successful"} - */ - function internal_update_add_user_to_group(uint256 _group_id, address _user, bytes32 _document) - internal - returns (bool _success) - { - if (system.groups_by_id[_group_id].members_by_address[_user].active == false && system.group_ids_by_address[_user] == 0 && system.groups_by_id[_group_id].role_id != 0) { - - system.groups_by_id[_group_id].members_by_address[_user].active = true; - system.group_ids_by_address[_user] = _group_id; - system.groups_collection.append(bytes32(_group_id), _user); - system.groups_by_id[_group_id].members_by_address[_user].document = _document; - _success = true; - } else { - _success = false; - } - } - - /** - @notice Removes user from its group - @param _user Address of the user - @return {"_success": "If removing of user is successful"} - */ - function internal_destroy_group_user(address _user) - internal - returns (bool _success) - { - uint256 _group_id = system.group_ids_by_address[_user]; - if ((_group_id == 1) && (system.groups_collection.total(bytes32(_group_id)) == 1)) { - _success = false; - } else { - system.groups_by_id[_group_id].members_by_address[_user].active = false; - system.group_ids_by_address[_user] = 0; - delete system.groups_by_id[_group_id].members_by_address[_user]; - _success = system.groups_collection.remove_item(bytes32(_group_id), _user); - } - } - - /** - @notice Returns the role id of a user - @param _user Address of a user - @return {"_role_id": "Role id of the user"} - */ - function read_user_role_id(address _user) - constant - public - returns (uint256 _role_id) - { - uint256 _group_id = system.group_ids_by_address[_user]; - _role_id = system.groups_by_id[_group_id].role_id; - } - - /** - @notice Returns the user's information - @param _user Address of the user - @return { - "_group_id": "Group id of the user", - "_role_id": "Role id of the user", - "_document": "Information of the user" - } - */ - function read_user(address _user) - public - constant - returns (uint256 _group_id, uint256 _role_id, bytes32 _document) - { - _group_id = system.group_ids_by_address[_user]; - _role_id = system.groups_by_id[_group_id].role_id; - _document = system.groups_by_id[_group_id].members_by_address[_user].document; - } - - /** - @notice Returns the id of the first group - @return {"_group_id": "Id of the first group"} - */ - function read_first_group() - view - external - returns (uint256 _group_id) - { - _group_id = read_first_from_uints(system.groups); - } - - /** - @notice Returns the id of the last group - @return {"_group_id": "Id of the last group"} - */ - function read_last_group() - view - external - returns (uint256 _group_id) - { - _group_id = read_last_from_uints(system.groups); - } - - /** - @notice Returns the id of the previous group depending on the given current group - @param _current_group_id Id of the current group - @return {"_group_id": "Id of the previous group"} - */ - function read_previous_group_from_group(uint256 _current_group_id) - view - external - returns (uint256 _group_id) - { - _group_id = read_previous_from_uints(system.groups, _current_group_id); - } - - /** - @notice Returns the id of the next group depending on the given current group - @param _current_group_id Id of the current group - @return {"_group_id": "Id of the next group"} - */ - function read_next_group_from_group(uint256 _current_group_id) - view - external - returns (uint256 _group_id) - { - _group_id = read_next_from_uints(system.groups, _current_group_id); - } - - /** - @notice Returns the total number of groups - @return {"_total_groups": "Total number of groups"} - */ - function read_total_groups() - view - external - returns (uint256 _total_groups) - { - _total_groups = read_total_uints(system.groups); - } - - /** - @notice Returns the first user of a group - @param _group_id Id of the group - @return {"_user": "Address of the user"} - */ - function read_first_user_in_group(bytes32 _group_id) - view - external - returns (address _user) - { - _user = read_first_from_indexed_addresses(system.groups_collection, bytes32(_group_id)); - } - - /** - @notice Returns the last user of a group - @param _group_id Id of the group - @return {"_user": "Address of the user"} - */ - function read_last_user_in_group(bytes32 _group_id) - view - external - returns (address _user) - { - _user = read_last_from_indexed_addresses(system.groups_collection, bytes32(_group_id)); - } - - /** - @notice Returns the next user of a group depending on the given current user - @param _group_id Id of the group - @param _current_user Address of the current user - @return {"_user": "Address of the next user"} - */ - function read_next_user_in_group(bytes32 _group_id, address _current_user) - view - external - returns (address _user) - { - _user = read_next_from_indexed_addresses(system.groups_collection, bytes32(_group_id), _current_user); - } - - /** - @notice Returns the previous user of a group depending on the given current user - @param _group_id Id of the group - @param _current_user Address of the current user - @return {"_user": "Address of the last user"} - */ - function read_previous_user_in_group(bytes32 _group_id, address _current_user) - view - external - returns (address _user) - { - _user = read_previous_from_indexed_addresses(system.groups_collection, bytes32(_group_id), _current_user); - } - - /** - @notice Returns the total number of users of a group - @param _group_id Id of the group - @return {"_total_users": "Total number of users"} - */ - function read_total_users_in_group(bytes32 _group_id) - view - external - returns (uint256 _total_users) - { - _total_users = read_total_indexed_addresses(system.groups_collection, bytes32(_group_id)); - } -} - - - - -/** - @title Uint Iterator Storage - @author DigixGlobal Pte Ltd -*/ -contract UintIteratorStorage { - - using DoublyLinkedList for DoublyLinkedList.Uint; - - /** - @notice Returns the first item from a `DoublyLinkedList.Uint` list - @param _list The DoublyLinkedList.Uint list - @return {"_item": "The first item"} - */ - function read_first_from_uints(DoublyLinkedList.Uint storage _list) - internal - constant - returns (uint256 _item) - { - _item = _list.start_item(); - } - - /** - @notice Returns the last item from a `DoublyLinkedList.Uint` list - @param _list The DoublyLinkedList.Uint list - @return {"_item": "The last item"} - */ - function read_last_from_uints(DoublyLinkedList.Uint storage _list) - internal - constant - returns (uint256 _item) - { - _item = _list.end_item(); - } - - /** - @notice Returns the next item from a `DoublyLinkedList.Uint` list based on the specified `_current_item` - @param _list The DoublyLinkedList.Uint list - @param _current_item The current item - @return {"_item": "The next item"} - */ - function read_next_from_uints(DoublyLinkedList.Uint storage _list, uint256 _current_item) - internal - constant - returns (uint256 _item) - { - _item = _list.next_item(_current_item); - } - - /** - @notice Returns the previous item from a `DoublyLinkedList.Uint` list based on the specified `_current_item` - @param _list The DoublyLinkedList.Uint list - @param _current_item The current item - @return {"_item": "The previous item"} - */ - function read_previous_from_uints(DoublyLinkedList.Uint storage _list, uint256 _current_item) - internal - constant - returns (uint256 _item) - { - _item = _list.previous_item(_current_item); - } - - /** - @notice Returns the total count of itemsfrom a `DoublyLinkedList.Uint` list - @param _list The DoublyLinkedList.Uint list - @return {"_count": "The total count of items"} - */ - function read_total_uints(DoublyLinkedList.Uint storage _list) - internal - constant - returns (uint256 _count) - { - _count = _list.total(); - } - -} - - - - - - -contract DaoIdentityStorage is ResolverClient, DaoConstants, DirectoryStorage { - - // struct for KYC details - // doc is the IPFS doc hash for any information regarding this KYC - // id_expiration is the UTC timestamp at which this KYC will expire - // at any time after this, the user's KYC is invalid, and that user - // MUST re-KYC before doing any proposer related operation in DigixDAO - struct KycDetails { - bytes32 doc; - uint256 id_expiration; - } - - // a mapping of address to the KYC details - mapping (address => KycDetails) kycInfo; - - constructor(address _resolver) - public - { - require(init(CONTRACT_STORAGE_DAO_IDENTITY, _resolver)); - require(initialize_directory()); - } - - function create_group(uint256 _role_id, bytes32 _name, bytes32 _document) - public - returns (bool _success, uint256 _group_id) - { - require(sender_is(CONTRACT_DAO_IDENTITY)); - (_success, _group_id) = internal_create_group(_role_id, _name, _document); - require(_success); - } - - function create_role(uint256 _role_id, bytes32 _name) - public - returns (bool _success) - { - require(sender_is(CONTRACT_DAO_IDENTITY)); - _success = internal_create_role(_role_id, _name); - require(_success); - } - - function update_add_user_to_group(uint256 _group_id, address _user, bytes32 _document) - public - returns (bool _success) - { - require(sender_is(CONTRACT_DAO_IDENTITY)); - _success = internal_update_add_user_to_group(_group_id, _user, _document); - require(_success); - } - - function update_remove_group_user(address _user) - public - returns (bool _success) - { - require(sender_is(CONTRACT_DAO_IDENTITY)); - _success = internal_destroy_group_user(_user); - require(_success); - } - - function update_kyc(address _user, bytes32 _doc, uint256 _id_expiration) - public - { - require(sender_is(CONTRACT_DAO_IDENTITY)); - kycInfo[_user].doc = _doc; - kycInfo[_user].id_expiration = _id_expiration; - } - - function read_kyc_info(address _user) - public - view - returns (bytes32 _doc, uint256 _id_expiration) - { - _doc = kycInfo[_user].doc; - _id_expiration = kycInfo[_user].id_expiration; - } - - function is_kyc_approved(address _user) - public - view - returns (bool _approved) - { - uint256 _id_expiration; - (,_id_expiration) = read_kyc_info(_user); - _approved = _id_expiration > now; - } -} - - -/* */ - - - -contract IdentityCommon is DaoWhitelistingCommon { - - modifier if_root() { - require(identity_storage().read_user_role_id(msg.sender) == ROLES_ROOT); - _; - } - - modifier if_founder() { - require(is_founder()); - _; - } - - function is_founder() - internal - view - returns (bool _isFounder) - { - _isFounder = identity_storage().read_user_role_id(msg.sender) == ROLES_FOUNDERS; - } - - modifier if_prl() { - require(identity_storage().read_user_role_id(msg.sender) == ROLES_PRLS); - _; - } - - modifier if_kyc_admin() { - require(identity_storage().read_user_role_id(msg.sender) == ROLES_KYC_ADMINS); - _; - } - - function identity_storage() - internal - view - returns (DaoIdentityStorage _contract) - { - _contract = DaoIdentityStorage(get_contract(CONTRACT_STORAGE_DAO_IDENTITY)); - } -} - - - - - -contract DaoConfigsStorage is ResolverClient, DaoConstants { - - // mapping of config name to config value - // config names can be found in DaoConstants contract - mapping (bytes32 => uint256) public uintConfigs; - - // mapping of config name to config value - // config names can be found in DaoConstants contract - mapping (bytes32 => address) public addressConfigs; - - // mapping of config name to config value - // config names can be found in DaoConstants contract - mapping (bytes32 => bytes32) public bytesConfigs; - - constructor(address _resolver) - public - { - require(init(CONTRACT_STORAGE_DAO_CONFIG, _resolver)); - - uintConfigs[CONFIG_LOCKING_PHASE_DURATION] = 10 days; - uintConfigs[CONFIG_QUARTER_DURATION] = QUARTER_DURATION; - uintConfigs[CONFIG_VOTING_COMMIT_PHASE] = 3 weeks; - uintConfigs[CONFIG_VOTING_PHASE_TOTAL] = 4 weeks; - uintConfigs[CONFIG_INTERIM_COMMIT_PHASE] = 7 days; - uintConfigs[CONFIG_INTERIM_PHASE_TOTAL] = 10 days; - - uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR] = 20; - uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR] = 100; - uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR] = 60; - uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR] = 100; - - uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR] = 20; - uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR] = 100; - uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR] = 60; - uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR] = 100; - - uintConfigs[CONFIG_DRAFT_QUOTA_NUMERATOR] = 30; - uintConfigs[CONFIG_DRAFT_QUOTA_DENOMINATOR] = 100; - uintConfigs[CONFIG_VOTING_QUOTA_NUMERATOR] = 30; - uintConfigs[CONFIG_VOTING_QUOTA_DENOMINATOR] = 100; - - uintConfigs[CONFIG_QUARTER_POINT_DRAFT_VOTE] = 1; - uintConfigs[CONFIG_QUARTER_POINT_VOTE] = 1; - uintConfigs[CONFIG_QUARTER_POINT_INTERIM_VOTE] = 1; - - uintConfigs[CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH] = 3; - - uintConfigs[CONFIG_BONUS_REPUTATION_NUMERATOR] = 200; - uintConfigs[CONFIG_BONUS_REPUTATION_DENOMINATOR] = 100; - - uintConfigs[CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE] = 3 weeks; - uintConfigs[CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL] = 4 weeks; - - uintConfigs[CONFIG_SPECIAL_QUOTA_NUMERATOR] = 51; - uintConfigs[CONFIG_SPECIAL_QUOTA_DENOMINATOR] = 100; - uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR] = 70; - uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR] = 100; - - uintConfigs[CONFIG_MAXIMUM_REPUTATION_DEDUCTION] = 20; - uintConfigs[CONFIG_PUNISHMENT_FOR_NOT_LOCKING] = 5; - uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_NUM] = 1; // 1 extra QP gains 1/1 RP - uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_DEN] = 1; - - uintConfigs[CONFIG_MINIMAL_QUARTER_POINT] = 3; - uintConfigs[CONFIG_QUARTER_POINT_SCALING_FACTOR] = 10; - uintConfigs[CONFIG_REPUTATION_POINT_SCALING_FACTOR] = 10; - - uintConfigs[CONFIG_MODERATOR_MINIMAL_QUARTER_POINT] = 3; - uintConfigs[CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR] = 10; - uintConfigs[CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR] = 10; - - uintConfigs[CONFIG_PORTION_TO_MODERATORS_NUM] = 5; //5% of DGX to Badge holder voting activity - uintConfigs[CONFIG_PORTION_TO_MODERATORS_DEN] = 100; - - uintConfigs[CONFIG_DRAFT_VOTING_PHASE] = 2 weeks; - uintConfigs[CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE] = 1000; - - uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR] = 30; - uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR] = 100; - - uintConfigs[CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION] = 20; - uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM] = 1; - uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN] = 1; - - uintConfigs[CONFIG_VOTE_CLAIMING_DEADLINE] = 5 days; - - uintConfigs[CONFIG_MINIMUM_LOCKED_DGD] = 10 ** 9; - uintConfigs[CONFIG_MINIMUM_DGD_FOR_MODERATOR] = 100 * (10 ** 9); - uintConfigs[CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR] = 100; - - uintConfigs[CONFIG_PREPROPOSAL_COLLATERAL] = 2 ether; - - uintConfigs[CONFIG_MAX_FUNDING_FOR_NON_DIGIX] = 20 ether; - uintConfigs[CONFIG_MAX_MILESTONES_FOR_NON_DIGIX] = 2; - uintConfigs[CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER] = 10; - - uintConfigs[CONFIG_PROPOSAL_DEAD_DURATION] = 180 days; - - uintConfigs[CONFIG_CARBON_VOTE_REPUTATION_BONUS] = 35; - } - - function updateUintConfigs(uint256[] _uintConfigs) - external - { - require(sender_is(CONTRACT_DAO_SPECIAL_VOTING_CLAIMS)); - uintConfigs[CONFIG_LOCKING_PHASE_DURATION] = _uintConfigs[0]; - /* - This used to be a config that can be changed. Now, _uintConfigs[1] is just a dummy config that doesnt do anything - uintConfigs[CONFIG_QUARTER_DURATION] = _uintConfigs[1]; - */ - uintConfigs[CONFIG_VOTING_COMMIT_PHASE] = _uintConfigs[2]; - uintConfigs[CONFIG_VOTING_PHASE_TOTAL] = _uintConfigs[3]; - uintConfigs[CONFIG_INTERIM_COMMIT_PHASE] = _uintConfigs[4]; - uintConfigs[CONFIG_INTERIM_PHASE_TOTAL] = _uintConfigs[5]; - uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR] = _uintConfigs[6]; - uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR] = _uintConfigs[7]; - uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR] = _uintConfigs[8]; - uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR] = _uintConfigs[9]; - uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR] = _uintConfigs[10]; - uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR] = _uintConfigs[11]; - uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR] = _uintConfigs[12]; - uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR] = _uintConfigs[13]; - uintConfigs[CONFIG_DRAFT_QUOTA_NUMERATOR] = _uintConfigs[14]; - uintConfigs[CONFIG_DRAFT_QUOTA_DENOMINATOR] = _uintConfigs[15]; - uintConfigs[CONFIG_VOTING_QUOTA_NUMERATOR] = _uintConfigs[16]; - uintConfigs[CONFIG_VOTING_QUOTA_DENOMINATOR] = _uintConfigs[17]; - uintConfigs[CONFIG_QUARTER_POINT_DRAFT_VOTE] = _uintConfigs[18]; - uintConfigs[CONFIG_QUARTER_POINT_VOTE] = _uintConfigs[19]; - uintConfigs[CONFIG_QUARTER_POINT_INTERIM_VOTE] = _uintConfigs[20]; - uintConfigs[CONFIG_MINIMAL_QUARTER_POINT] = _uintConfigs[21]; - uintConfigs[CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH] = _uintConfigs[22]; - uintConfigs[CONFIG_BONUS_REPUTATION_NUMERATOR] = _uintConfigs[23]; - uintConfigs[CONFIG_BONUS_REPUTATION_DENOMINATOR] = _uintConfigs[24]; - uintConfigs[CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE] = _uintConfigs[25]; - uintConfigs[CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL] = _uintConfigs[26]; - uintConfigs[CONFIG_SPECIAL_QUOTA_NUMERATOR] = _uintConfigs[27]; - uintConfigs[CONFIG_SPECIAL_QUOTA_DENOMINATOR] = _uintConfigs[28]; - uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR] = _uintConfigs[29]; - uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR] = _uintConfigs[30]; - uintConfigs[CONFIG_MAXIMUM_REPUTATION_DEDUCTION] = _uintConfigs[31]; - uintConfigs[CONFIG_PUNISHMENT_FOR_NOT_LOCKING] = _uintConfigs[32]; - uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_NUM] = _uintConfigs[33]; - uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_DEN] = _uintConfigs[34]; - uintConfigs[CONFIG_QUARTER_POINT_SCALING_FACTOR] = _uintConfigs[35]; - uintConfigs[CONFIG_REPUTATION_POINT_SCALING_FACTOR] = _uintConfigs[36]; - uintConfigs[CONFIG_MODERATOR_MINIMAL_QUARTER_POINT] = _uintConfigs[37]; - uintConfigs[CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR] = _uintConfigs[38]; - uintConfigs[CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR] = _uintConfigs[39]; - uintConfigs[CONFIG_PORTION_TO_MODERATORS_NUM] = _uintConfigs[40]; - uintConfigs[CONFIG_PORTION_TO_MODERATORS_DEN] = _uintConfigs[41]; - uintConfigs[CONFIG_DRAFT_VOTING_PHASE] = _uintConfigs[42]; - uintConfigs[CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE] = _uintConfigs[43]; - uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR] = _uintConfigs[44]; - uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR] = _uintConfigs[45]; - uintConfigs[CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION] = _uintConfigs[46]; - uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM] = _uintConfigs[47]; - uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN] = _uintConfigs[48]; - uintConfigs[CONFIG_VOTE_CLAIMING_DEADLINE] = _uintConfigs[49]; - uintConfigs[CONFIG_MINIMUM_LOCKED_DGD] = _uintConfigs[50]; - uintConfigs[CONFIG_MINIMUM_DGD_FOR_MODERATOR] = _uintConfigs[51]; - uintConfigs[CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR] = _uintConfigs[52]; - uintConfigs[CONFIG_PREPROPOSAL_COLLATERAL] = _uintConfigs[53]; - uintConfigs[CONFIG_MAX_FUNDING_FOR_NON_DIGIX] = _uintConfigs[54]; - uintConfigs[CONFIG_MAX_MILESTONES_FOR_NON_DIGIX] = _uintConfigs[55]; - uintConfigs[CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER] = _uintConfigs[56]; - uintConfigs[CONFIG_PROPOSAL_DEAD_DURATION] = _uintConfigs[57]; - uintConfigs[CONFIG_CARBON_VOTE_REPUTATION_BONUS] = _uintConfigs[58]; - } - - function readUintConfigs() - public - view - returns (uint256[]) - { - uint256[] memory _uintConfigs = new uint256[](59); - _uintConfigs[0] = uintConfigs[CONFIG_LOCKING_PHASE_DURATION]; - _uintConfigs[1] = uintConfigs[CONFIG_QUARTER_DURATION]; - _uintConfigs[2] = uintConfigs[CONFIG_VOTING_COMMIT_PHASE]; - _uintConfigs[3] = uintConfigs[CONFIG_VOTING_PHASE_TOTAL]; - _uintConfigs[4] = uintConfigs[CONFIG_INTERIM_COMMIT_PHASE]; - _uintConfigs[5] = uintConfigs[CONFIG_INTERIM_PHASE_TOTAL]; - _uintConfigs[6] = uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR]; - _uintConfigs[7] = uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR]; - _uintConfigs[8] = uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR]; - _uintConfigs[9] = uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR]; - _uintConfigs[10] = uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR]; - _uintConfigs[11] = uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR]; - _uintConfigs[12] = uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR]; - _uintConfigs[13] = uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR]; - _uintConfigs[14] = uintConfigs[CONFIG_DRAFT_QUOTA_NUMERATOR]; - _uintConfigs[15] = uintConfigs[CONFIG_DRAFT_QUOTA_DENOMINATOR]; - _uintConfigs[16] = uintConfigs[CONFIG_VOTING_QUOTA_NUMERATOR]; - _uintConfigs[17] = uintConfigs[CONFIG_VOTING_QUOTA_DENOMINATOR]; - _uintConfigs[18] = uintConfigs[CONFIG_QUARTER_POINT_DRAFT_VOTE]; - _uintConfigs[19] = uintConfigs[CONFIG_QUARTER_POINT_VOTE]; - _uintConfigs[20] = uintConfigs[CONFIG_QUARTER_POINT_INTERIM_VOTE]; - _uintConfigs[21] = uintConfigs[CONFIG_MINIMAL_QUARTER_POINT]; - _uintConfigs[22] = uintConfigs[CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH]; - _uintConfigs[23] = uintConfigs[CONFIG_BONUS_REPUTATION_NUMERATOR]; - _uintConfigs[24] = uintConfigs[CONFIG_BONUS_REPUTATION_DENOMINATOR]; - _uintConfigs[25] = uintConfigs[CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE]; - _uintConfigs[26] = uintConfigs[CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL]; - _uintConfigs[27] = uintConfigs[CONFIG_SPECIAL_QUOTA_NUMERATOR]; - _uintConfigs[28] = uintConfigs[CONFIG_SPECIAL_QUOTA_DENOMINATOR]; - _uintConfigs[29] = uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR]; - _uintConfigs[30] = uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR]; - _uintConfigs[31] = uintConfigs[CONFIG_MAXIMUM_REPUTATION_DEDUCTION]; - _uintConfigs[32] = uintConfigs[CONFIG_PUNISHMENT_FOR_NOT_LOCKING]; - _uintConfigs[33] = uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_NUM]; - _uintConfigs[34] = uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_DEN]; - _uintConfigs[35] = uintConfigs[CONFIG_QUARTER_POINT_SCALING_FACTOR]; - _uintConfigs[36] = uintConfigs[CONFIG_REPUTATION_POINT_SCALING_FACTOR]; - _uintConfigs[37] = uintConfigs[CONFIG_MODERATOR_MINIMAL_QUARTER_POINT]; - _uintConfigs[38] = uintConfigs[CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR]; - _uintConfigs[39] = uintConfigs[CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR]; - _uintConfigs[40] = uintConfigs[CONFIG_PORTION_TO_MODERATORS_NUM]; - _uintConfigs[41] = uintConfigs[CONFIG_PORTION_TO_MODERATORS_DEN]; - _uintConfigs[42] = uintConfigs[CONFIG_DRAFT_VOTING_PHASE]; - _uintConfigs[43] = uintConfigs[CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE]; - _uintConfigs[44] = uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR]; - _uintConfigs[45] = uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR]; - _uintConfigs[46] = uintConfigs[CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION]; - _uintConfigs[47] = uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM]; - _uintConfigs[48] = uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN]; - _uintConfigs[49] = uintConfigs[CONFIG_VOTE_CLAIMING_DEADLINE]; - _uintConfigs[50] = uintConfigs[CONFIG_MINIMUM_LOCKED_DGD]; - _uintConfigs[51] = uintConfigs[CONFIG_MINIMUM_DGD_FOR_MODERATOR]; - _uintConfigs[52] = uintConfigs[CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR]; - _uintConfigs[53] = uintConfigs[CONFIG_PREPROPOSAL_COLLATERAL]; - _uintConfigs[54] = uintConfigs[CONFIG_MAX_FUNDING_FOR_NON_DIGIX]; - _uintConfigs[55] = uintConfigs[CONFIG_MAX_MILESTONES_FOR_NON_DIGIX]; - _uintConfigs[56] = uintConfigs[CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER]; - _uintConfigs[57] = uintConfigs[CONFIG_PROPOSAL_DEAD_DURATION]; - _uintConfigs[58] = uintConfigs[CONFIG_CARBON_VOTE_REPUTATION_BONUS]; - return _uintConfigs; - } -} - - - - - -contract DaoProposalCounterStorage is ResolverClient, DaoConstants { - - constructor(address _resolver) public { - require(init(CONTRACT_STORAGE_DAO_COUNTER, _resolver)); - } - - // This is to mark the number of proposals that have been funded in a specific quarter - // this is to take care of the cap on the number of funded proposals in a quarter - mapping (uint256 => uint256) public proposalCountByQuarter; - - function addNonDigixProposalCountInQuarter(uint256 _quarterNumber) - public - { - require(sender_is(CONTRACT_DAO_VOTING_CLAIMS)); - proposalCountByQuarter[_quarterNumber] = proposalCountByQuarter[_quarterNumber].add(1); - } -} - - - - - -contract DaoUpgradeStorage is ResolverClient, DaoConstants { - - // this UTC timestamp marks the start of the first quarter - // of DigixDAO. All time related calculations in DaoCommon - // depend on this value - uint256 public startOfFirstQuarter; - - // this boolean marks whether the DAO contracts have been replaced - // by newer versions or not. The process of migration is done by deploying - // a new set of contracts, transferring funds from these contracts to the new ones - // migrating some state variables, and finally setting this boolean to true - // All operations in these contracts that may transfer tokens, claim ether, - // boost one's reputation, etc. SHOULD fail if this is true - bool public isReplacedByNewDao; - - // this is the address of the new Dao contract - address public newDaoContract; - - // this is the address of the new DaoFundingManager contract - // ether funds will be moved from the current version's contract to this - // new contract - address public newDaoFundingManager; - - // this is the address of the new DaoRewardsManager contract - // DGX funds will be moved from the current version of contract to this - // new contract - address public newDaoRewardsManager; - - constructor(address _resolver) public { - require(init(CONTRACT_STORAGE_DAO_UPGRADE, _resolver)); - } - - function setStartOfFirstQuarter(uint256 _start) - public - { - require(sender_is(CONTRACT_DAO)); - startOfFirstQuarter = _start; - } - - - function setNewContractAddresses( - address _newDaoContract, - address _newDaoFundingManager, - address _newDaoRewardsManager - ) - public - { - require(sender_is(CONTRACT_DAO)); - newDaoContract = _newDaoContract; - newDaoFundingManager = _newDaoFundingManager; - newDaoRewardsManager = _newDaoRewardsManager; - } - - - function updateForDaoMigration() - public - { - require(sender_is(CONTRACT_DAO)); - isReplacedByNewDao = true; - } -} - - - - - - - -contract DaoSpecialStorage is DaoWhitelistingCommon { - using DoublyLinkedList for DoublyLinkedList.Bytes; - using DaoStructs for DaoStructs.SpecialProposal; - using DaoStructs for DaoStructs.Voting; - - // List of all the special proposals ever created in DigixDAO - DoublyLinkedList.Bytes proposals; - - // mapping of the SpecialProposal struct by its ID - // ID is also the IPFS doc hash of the proposal - mapping (bytes32 => DaoStructs.SpecialProposal) proposalsById; - - constructor(address _resolver) public { - require(init(CONTRACT_STORAGE_DAO_SPECIAL, _resolver)); - } - - function addSpecialProposal( - bytes32 _proposalId, - address _proposer, - uint256[] _uintConfigs, - address[] _addressConfigs, - bytes32[] _bytesConfigs - ) - public - { - require(sender_is(CONTRACT_DAO_SPECIAL_PROPOSAL)); - require( - (proposalsById[_proposalId].proposalId == EMPTY_BYTES) && - (_proposalId != EMPTY_BYTES) - ); - proposals.append(_proposalId); - proposalsById[_proposalId].proposalId = _proposalId; - proposalsById[_proposalId].proposer = _proposer; - proposalsById[_proposalId].timeCreated = now; - proposalsById[_proposalId].uintConfigs = _uintConfigs; - proposalsById[_proposalId].addressConfigs = _addressConfigs; - proposalsById[_proposalId].bytesConfigs = _bytesConfigs; - } - - function readProposal(bytes32 _proposalId) - public - view - returns ( - bytes32 _id, - address _proposer, - uint256 _timeCreated, - uint256 _timeVotingStarted - ) - { - _id = proposalsById[_proposalId].proposalId; - _proposer = proposalsById[_proposalId].proposer; - _timeCreated = proposalsById[_proposalId].timeCreated; - _timeVotingStarted = proposalsById[_proposalId].voting.startTime; - } - - function readProposalProposer(bytes32 _proposalId) - public - view - returns (address _proposer) - { - _proposer = proposalsById[_proposalId].proposer; - } - - function readConfigs(bytes32 _proposalId) - public - view - returns ( - uint256[] memory _uintConfigs, - address[] memory _addressConfigs, - bytes32[] memory _bytesConfigs - ) - { - _uintConfigs = proposalsById[_proposalId].uintConfigs; - _addressConfigs = proposalsById[_proposalId].addressConfigs; - _bytesConfigs = proposalsById[_proposalId].bytesConfigs; - } - - function readVotingCount(bytes32 _proposalId, address[] _allUsers) - external - view - returns (uint256 _for, uint256 _against) - { - require(senderIsAllowedToRead()); - return proposalsById[_proposalId].voting.countVotes(_allUsers); - } - - function readVotingTime(bytes32 _proposalId) - public - view - returns (uint256 _start) - { - require(senderIsAllowedToRead()); - _start = proposalsById[_proposalId].voting.startTime; - } - - function commitVote( - bytes32 _proposalId, - bytes32 _hash, - address _voter - ) - public - { - require(sender_is(CONTRACT_DAO_VOTING)); - proposalsById[_proposalId].voting.commits[_voter] = _hash; - } - - function readComittedVote(bytes32 _proposalId, address _voter) - public - view - returns (bytes32 _commitHash) - { - require(senderIsAllowedToRead()); - _commitHash = proposalsById[_proposalId].voting.commits[_voter]; - } - - function setVotingTime(bytes32 _proposalId, uint256 _time) - public - { - require(sender_is(CONTRACT_DAO_SPECIAL_PROPOSAL)); - proposalsById[_proposalId].voting.startTime = _time; - } - - function readVotingResult(bytes32 _proposalId) - public - view - returns (bool _result) - { - require(senderIsAllowedToRead()); - _result = proposalsById[_proposalId].voting.passed; - } - - function setPass(bytes32 _proposalId, bool _result) - public - { - require(sender_is(CONTRACT_DAO_SPECIAL_VOTING_CLAIMS)); - proposalsById[_proposalId].voting.passed = _result; - } - - function setVotingClaim(bytes32 _proposalId, bool _claimed) - public - { - require(sender_is(CONTRACT_DAO_SPECIAL_VOTING_CLAIMS)); - DaoStructs.SpecialProposal storage _proposal = proposalsById[_proposalId]; - _proposal.voting.claimed = _claimed; - } - - function isClaimed(bytes32 _proposalId) - public - view - returns (bool _claimed) - { - require(senderIsAllowedToRead()); - _claimed = proposalsById[_proposalId].voting.claimed; - } - - function readVote(bytes32 _proposalId, address _voter) - public - view - returns (bool _vote, uint256 _weight) - { - require(senderIsAllowedToRead()); - return proposalsById[_proposalId].voting.readVote(_voter); - } - - function revealVote( - bytes32 _proposalId, - address _voter, - bool _vote, - uint256 _weight - ) - public - { - require(sender_is(CONTRACT_DAO_VOTING)); - proposalsById[_proposalId].voting.revealVote(_voter, _vote, _weight); - } -} - - - - - -contract DaoPointsStorage is ResolverClient, DaoConstants { - - // struct for a non-transferrable token - struct Token { - uint256 totalSupply; - mapping (address => uint256) balance; - } - - // the reputation point token - // since reputation is cumulative, we only need to store one value - Token reputationPoint; - - // since quarter points are specific to quarters, we need a mapping from - // quarter number to the quarter point token for that quarter - mapping (uint256 => Token) quarterPoint; - - // the same is the case with quarter moderator points - // these are specific to quarters - mapping (uint256 => Token) quarterModeratorPoint; - - constructor(address _resolver) - public - { - require(init(CONTRACT_STORAGE_DAO_POINTS, _resolver)); - } - - /// @notice add quarter points for a _participant for a _quarterNumber - function addQuarterPoint(address _participant, uint256 _point, uint256 _quarterNumber) - public - returns (uint256 _newPoint, uint256 _newTotalPoint) - { - require(sender_is_from([CONTRACT_DAO_VOTING, CONTRACT_DAO_VOTING_CLAIMS, EMPTY_BYTES])); - quarterPoint[_quarterNumber].totalSupply = quarterPoint[_quarterNumber].totalSupply.add(_point); - quarterPoint[_quarterNumber].balance[_participant] = quarterPoint[_quarterNumber].balance[_participant].add(_point); - - _newPoint = quarterPoint[_quarterNumber].balance[_participant]; - _newTotalPoint = quarterPoint[_quarterNumber].totalSupply; - } - - function addModeratorQuarterPoint(address _participant, uint256 _point, uint256 _quarterNumber) - public - returns (uint256 _newPoint, uint256 _newTotalPoint) - { - require(sender_is_from([CONTRACT_DAO_VOTING, CONTRACT_DAO_VOTING_CLAIMS, EMPTY_BYTES])); - quarterModeratorPoint[_quarterNumber].totalSupply = quarterModeratorPoint[_quarterNumber].totalSupply.add(_point); - quarterModeratorPoint[_quarterNumber].balance[_participant] = quarterModeratorPoint[_quarterNumber].balance[_participant].add(_point); - - _newPoint = quarterModeratorPoint[_quarterNumber].balance[_participant]; - _newTotalPoint = quarterModeratorPoint[_quarterNumber].totalSupply; - } - - /// @notice get quarter points for a _participant in a _quarterNumber - function getQuarterPoint(address _participant, uint256 _quarterNumber) - public - view - returns (uint256 _point) - { - _point = quarterPoint[_quarterNumber].balance[_participant]; - } - - function getQuarterModeratorPoint(address _participant, uint256 _quarterNumber) - public - view - returns (uint256 _point) - { - _point = quarterModeratorPoint[_quarterNumber].balance[_participant]; - } - - /// @notice get total quarter points for a particular _quarterNumber - function getTotalQuarterPoint(uint256 _quarterNumber) - public - view - returns (uint256 _totalPoint) - { - _totalPoint = quarterPoint[_quarterNumber].totalSupply; - } - - function getTotalQuarterModeratorPoint(uint256 _quarterNumber) - public - view - returns (uint256 _totalPoint) - { - _totalPoint = quarterModeratorPoint[_quarterNumber].totalSupply; - } - - /// @notice add reputation points for a _participant - function increaseReputation(address _participant, uint256 _point) - public - returns (uint256 _newPoint, uint256 _totalPoint) - { - require(sender_is_from([CONTRACT_DAO_VOTING_CLAIMS, CONTRACT_DAO_REWARDS_MANAGER, CONTRACT_DAO_STAKE_LOCKING])); - reputationPoint.totalSupply = reputationPoint.totalSupply.add(_point); - reputationPoint.balance[_participant] = reputationPoint.balance[_participant].add(_point); - - _newPoint = reputationPoint.balance[_participant]; - _totalPoint = reputationPoint.totalSupply; - } - - /// @notice subtract reputation points for a _participant - function reduceReputation(address _participant, uint256 _point) - public - returns (uint256 _newPoint, uint256 _totalPoint) - { - require(sender_is_from([CONTRACT_DAO_VOTING_CLAIMS, CONTRACT_DAO_REWARDS_MANAGER, EMPTY_BYTES])); - uint256 _toDeduct = _point; - if (reputationPoint.balance[_participant] > _point) { - reputationPoint.balance[_participant] = reputationPoint.balance[_participant].sub(_point); - } else { - _toDeduct = reputationPoint.balance[_participant]; - reputationPoint.balance[_participant] = 0; - } - - reputationPoint.totalSupply = reputationPoint.totalSupply.sub(_toDeduct); - - _newPoint = reputationPoint.balance[_participant]; - _totalPoint = reputationPoint.totalSupply; - } - - /// @notice get reputation points for a _participant - function getReputation(address _participant) - public - view - returns (uint256 _point) - { - _point = reputationPoint.balance[_participant]; - } - - /// @notice get total reputation points distributed in the dao - function getTotalReputation() - public - view - returns (uint256 _totalPoint) - { - _totalPoint = reputationPoint.totalSupply; - } -} - - - - - - -// this contract will receive DGXs fees from the DGX fees distributors -contract DaoRewardsStorage is ResolverClient, DaoConstants { - using DaoStructs for DaoStructs.DaoQuarterInfo; - - // DaoQuarterInfo is a struct that stores the quarter specific information - // regarding totalEffectiveDGDs, DGX distribution day, etc. pls check - // docs in lib/DaoStructs - mapping(uint256 => DaoStructs.DaoQuarterInfo) public allQuartersInfo; - - // Mapping that stores the DGX that can be claimed as rewards by - // an address (a participant of DigixDAO) - mapping(address => uint256) public claimableDGXs; - - // This stores the total DGX value that has been claimed by participants - // this can be done by calling the DaoRewardsManager.claimRewards method - // Note that this value is the only outgoing DGX from DaoRewardsManager contract - // Note that this value also takes into account the demurrage that has been paid - // by participants for simply holding their DGXs in the DaoRewardsManager contract - uint256 public totalDGXsClaimed; - - // The Quarter ID in which the user last participated in - // To participate means they had locked more than CONFIG_MINIMUM_LOCKED_DGD - // DGD tokens. In addition, they should not have withdrawn those tokens in the same - // quarter. Basically, in the main phase of the quarter, if DaoCommon.isParticipant(_user) - // was true, they were participants. And that quarter was their lastParticipatedQuarter - mapping (address => uint256) public lastParticipatedQuarter; - - // This mapping is only used to update the lastParticipatedQuarter to the - // previousLastParticipatedQuarter in case users lock and withdraw DGDs - // within the same quarter's locking phase - mapping (address => uint256) public previousLastParticipatedQuarter; - - // This number marks the Quarter in which the rewards were last updated for that user - // Since the rewards calculation for a specific quarter is only done once that - // quarter is completed, we need this value to note the last quarter when the rewards were updated - // We then start adding the rewards for all quarters after that quarter, until the current quarter - mapping (address => uint256) public lastQuarterThatRewardsWasUpdated; - - // Similar as the lastQuarterThatRewardsWasUpdated, but this is for reputation updates - // Note that reputation can also be deducted for no participation (not locking DGDs) - // This value is used to update the reputation based on all quarters from the lastQuarterThatReputationWasUpdated - // to the current quarter - mapping (address => uint256) public lastQuarterThatReputationWasUpdated; - - constructor(address _resolver) - public - { - require(init(CONTRACT_STORAGE_DAO_REWARDS, _resolver)); - } - - function updateQuarterInfo( - uint256 _quarterNumber, - uint256 _minimalParticipationPoint, - uint256 _quarterPointScalingFactor, - uint256 _reputationPointScalingFactor, - uint256 _totalEffectiveDGDPreviousQuarter, - - uint256 _moderatorMinimalQuarterPoint, - uint256 _moderatorQuarterPointScalingFactor, - uint256 _moderatorReputationPointScalingFactor, - uint256 _totalEffectiveModeratorDGDLastQuarter, - - uint256 _dgxDistributionDay, - uint256 _dgxRewardsPoolLastQuarter, - uint256 _sumRewardsFromBeginning - ) - public - { - require(sender_is(CONTRACT_DAO_REWARDS_MANAGER)); - allQuartersInfo[_quarterNumber].minimalParticipationPoint = _minimalParticipationPoint; - allQuartersInfo[_quarterNumber].quarterPointScalingFactor = _quarterPointScalingFactor; - allQuartersInfo[_quarterNumber].reputationPointScalingFactor = _reputationPointScalingFactor; - allQuartersInfo[_quarterNumber].totalEffectiveDGDPreviousQuarter = _totalEffectiveDGDPreviousQuarter; - - allQuartersInfo[_quarterNumber].moderatorMinimalParticipationPoint = _moderatorMinimalQuarterPoint; - allQuartersInfo[_quarterNumber].moderatorQuarterPointScalingFactor = _moderatorQuarterPointScalingFactor; - allQuartersInfo[_quarterNumber].moderatorReputationPointScalingFactor = _moderatorReputationPointScalingFactor; - allQuartersInfo[_quarterNumber].totalEffectiveModeratorDGDLastQuarter = _totalEffectiveModeratorDGDLastQuarter; - - allQuartersInfo[_quarterNumber].dgxDistributionDay = _dgxDistributionDay; - allQuartersInfo[_quarterNumber].dgxRewardsPoolLastQuarter = _dgxRewardsPoolLastQuarter; - allQuartersInfo[_quarterNumber].sumRewardsFromBeginning = _sumRewardsFromBeginning; - } - - function updateClaimableDGX(address _user, uint256 _newClaimableDGX) - public - { - require(sender_is(CONTRACT_DAO_REWARDS_MANAGER)); - claimableDGXs[_user] = _newClaimableDGX; - } - - function updateLastParticipatedQuarter(address _user, uint256 _lastQuarter) - public - { - require(sender_is(CONTRACT_DAO_STAKE_LOCKING)); - lastParticipatedQuarter[_user] = _lastQuarter; - } - - function updatePreviousLastParticipatedQuarter(address _user, uint256 _lastQuarter) - public - { - require(sender_is(CONTRACT_DAO_STAKE_LOCKING)); - previousLastParticipatedQuarter[_user] = _lastQuarter; - } - - function updateLastQuarterThatRewardsWasUpdated(address _user, uint256 _lastQuarter) - public - { - require(sender_is_from([CONTRACT_DAO_REWARDS_MANAGER, CONTRACT_DAO_STAKE_LOCKING, EMPTY_BYTES])); - lastQuarterThatRewardsWasUpdated[_user] = _lastQuarter; - } - - function updateLastQuarterThatReputationWasUpdated(address _user, uint256 _lastQuarter) - public - { - require(sender_is_from([CONTRACT_DAO_REWARDS_MANAGER, CONTRACT_DAO_STAKE_LOCKING, EMPTY_BYTES])); - lastQuarterThatReputationWasUpdated[_user] = _lastQuarter; - } - - function addToTotalDgxClaimed(uint256 _dgxClaimed) - public - { - require(sender_is(CONTRACT_DAO_REWARDS_MANAGER)); - totalDGXsClaimed = totalDGXsClaimed.add(_dgxClaimed); - } - - function readQuarterInfo(uint256 _quarterNumber) - public - view - returns ( - uint256 _minimalParticipationPoint, - uint256 _quarterPointScalingFactor, - uint256 _reputationPointScalingFactor, - uint256 _totalEffectiveDGDPreviousQuarter, - - uint256 _moderatorMinimalQuarterPoint, - uint256 _moderatorQuarterPointScalingFactor, - uint256 _moderatorReputationPointScalingFactor, - uint256 _totalEffectiveModeratorDGDLastQuarter, - - uint256 _dgxDistributionDay, - uint256 _dgxRewardsPoolLastQuarter, - uint256 _sumRewardsFromBeginning - ) - { - _minimalParticipationPoint = allQuartersInfo[_quarterNumber].minimalParticipationPoint; - _quarterPointScalingFactor = allQuartersInfo[_quarterNumber].quarterPointScalingFactor; - _reputationPointScalingFactor = allQuartersInfo[_quarterNumber].reputationPointScalingFactor; - _totalEffectiveDGDPreviousQuarter = allQuartersInfo[_quarterNumber].totalEffectiveDGDPreviousQuarter; - _moderatorMinimalQuarterPoint = allQuartersInfo[_quarterNumber].moderatorMinimalParticipationPoint; - _moderatorQuarterPointScalingFactor = allQuartersInfo[_quarterNumber].moderatorQuarterPointScalingFactor; - _moderatorReputationPointScalingFactor = allQuartersInfo[_quarterNumber].moderatorReputationPointScalingFactor; - _totalEffectiveModeratorDGDLastQuarter = allQuartersInfo[_quarterNumber].totalEffectiveModeratorDGDLastQuarter; - _dgxDistributionDay = allQuartersInfo[_quarterNumber].dgxDistributionDay; - _dgxRewardsPoolLastQuarter = allQuartersInfo[_quarterNumber].dgxRewardsPoolLastQuarter; - _sumRewardsFromBeginning = allQuartersInfo[_quarterNumber].sumRewardsFromBeginning; - } - - function readQuarterGeneralInfo(uint256 _quarterNumber) - public - view - returns ( - uint256 _dgxDistributionDay, - uint256 _dgxRewardsPoolLastQuarter, - uint256 _sumRewardsFromBeginning - ) - { - _dgxDistributionDay = allQuartersInfo[_quarterNumber].dgxDistributionDay; - _dgxRewardsPoolLastQuarter = allQuartersInfo[_quarterNumber].dgxRewardsPoolLastQuarter; - _sumRewardsFromBeginning = allQuartersInfo[_quarterNumber].sumRewardsFromBeginning; - } - - function readQuarterModeratorInfo(uint256 _quarterNumber) - public - view - returns ( - uint256 _moderatorMinimalQuarterPoint, - uint256 _moderatorQuarterPointScalingFactor, - uint256 _moderatorReputationPointScalingFactor, - uint256 _totalEffectiveModeratorDGDLastQuarter - ) - { - _moderatorMinimalQuarterPoint = allQuartersInfo[_quarterNumber].moderatorMinimalParticipationPoint; - _moderatorQuarterPointScalingFactor = allQuartersInfo[_quarterNumber].moderatorQuarterPointScalingFactor; - _moderatorReputationPointScalingFactor = allQuartersInfo[_quarterNumber].moderatorReputationPointScalingFactor; - _totalEffectiveModeratorDGDLastQuarter = allQuartersInfo[_quarterNumber].totalEffectiveModeratorDGDLastQuarter; - } - - function readQuarterParticipantInfo(uint256 _quarterNumber) - public - view - returns ( - uint256 _minimalParticipationPoint, - uint256 _quarterPointScalingFactor, - uint256 _reputationPointScalingFactor, - uint256 _totalEffectiveDGDPreviousQuarter - ) - { - _minimalParticipationPoint = allQuartersInfo[_quarterNumber].minimalParticipationPoint; - _quarterPointScalingFactor = allQuartersInfo[_quarterNumber].quarterPointScalingFactor; - _reputationPointScalingFactor = allQuartersInfo[_quarterNumber].reputationPointScalingFactor; - _totalEffectiveDGDPreviousQuarter = allQuartersInfo[_quarterNumber].totalEffectiveDGDPreviousQuarter; - } - - function readDgxDistributionDay(uint256 _quarterNumber) - public - view - returns (uint256 _distributionDay) - { - _distributionDay = allQuartersInfo[_quarterNumber].dgxDistributionDay; - } - - function readTotalEffectiveDGDLastQuarter(uint256 _quarterNumber) - public - view - returns (uint256 _totalEffectiveDGDPreviousQuarter) - { - _totalEffectiveDGDPreviousQuarter = allQuartersInfo[_quarterNumber].totalEffectiveDGDPreviousQuarter; - } - - function readTotalEffectiveModeratorDGDLastQuarter(uint256 _quarterNumber) - public - view - returns (uint256 _totalEffectiveModeratorDGDLastQuarter) - { - _totalEffectiveModeratorDGDLastQuarter = allQuartersInfo[_quarterNumber].totalEffectiveModeratorDGDLastQuarter; - } - - function readRewardsPoolOfLastQuarter(uint256 _quarterNumber) - public - view - returns (uint256 _rewardsPool) - { - _rewardsPool = allQuartersInfo[_quarterNumber].dgxRewardsPoolLastQuarter; - } -} - - - - - - -contract IntermediateResultsStorage is ResolverClient, DaoConstants { - using DaoStructs for DaoStructs.IntermediateResults; - - constructor(address _resolver) public { - require(init(CONTRACT_STORAGE_INTERMEDIATE_RESULTS, _resolver)); - } - - // There are scenarios in which we must loop across all participants/moderators - // in a function call. For a big number of operations, the function call may be short of gas - // To tackle this, we use an IntermediateResults struct to store the intermediate results - // The same function is then called multiple times until all operations are completed - // If the operations cannot be done in that iteration, the intermediate results are stored - // else, the final outcome is returned - // Please check the lib/DaoStructs for docs on this struct - mapping (bytes32 => DaoStructs.IntermediateResults) allIntermediateResults; - - function getIntermediateResults(bytes32 _key) - public - view - returns ( - address _countedUntil, - uint256 _currentForCount, - uint256 _currentAgainstCount, - uint256 _currentSumOfEffectiveBalance - ) - { - _countedUntil = allIntermediateResults[_key].countedUntil; - _currentForCount = allIntermediateResults[_key].currentForCount; - _currentAgainstCount = allIntermediateResults[_key].currentAgainstCount; - _currentSumOfEffectiveBalance = allIntermediateResults[_key].currentSumOfEffectiveBalance; - } - - function resetIntermediateResults(bytes32 _key) - public - { - require(sender_is_from([CONTRACT_DAO_REWARDS_MANAGER, CONTRACT_DAO_VOTING_CLAIMS, CONTRACT_DAO_SPECIAL_VOTING_CLAIMS])); - allIntermediateResults[_key].countedUntil = address(0x0); - } - - function setIntermediateResults( - bytes32 _key, - address _countedUntil, - uint256 _currentForCount, - uint256 _currentAgainstCount, - uint256 _currentSumOfEffectiveBalance - ) - public - { - require(sender_is_from([CONTRACT_DAO_REWARDS_MANAGER, CONTRACT_DAO_VOTING_CLAIMS, CONTRACT_DAO_SPECIAL_VOTING_CLAIMS])); - allIntermediateResults[_key].countedUntil = _countedUntil; - allIntermediateResults[_key].currentForCount = _currentForCount; - allIntermediateResults[_key].currentAgainstCount = _currentAgainstCount; - allIntermediateResults[_key].currentSumOfEffectiveBalance = _currentSumOfEffectiveBalance; - } -} - - - - - -library MathHelper { - - using SafeMath for uint256; - - function max(uint256 a, uint256 b) internal pure returns (uint256 _max){ - _max = b; - if (a > b) { - _max = a; - } - } - - function min(uint256 a, uint256 b) internal pure returns (uint256 _min){ - _min = b; - if (a < b) { - _min = a; - } - } - - function sumNumbers(uint256[] _numbers) internal pure returns (uint256 _sum) { - for (uint256 i=0;i<_numbers.length;i++) { - _sum = _sum.add(_numbers[i]); - } - } -} - - - - - - - - - - - - - - - - -contract DaoCommonMini is IdentityCommon { - - using MathHelper for MathHelper; - - /** - @notice Check if the DAO contracts have been replaced by a new set of contracts - @return _isNotReplaced true if it is not replaced, false if it has already been replaced - */ - function isDaoNotReplaced() - public - view - returns (bool _isNotReplaced) - { - _isNotReplaced = !daoUpgradeStorage().isReplacedByNewDao(); - } - - /** - @notice Check if it is currently in the locking phase - @dev No governance activities can happen in the locking phase. The locking phase is from t=0 to t=CONFIG_LOCKING_PHASE_DURATION-1 - @return _isLockingPhase true if it is in the locking phase - */ - function isLockingPhase() - public - view - returns (bool _isLockingPhase) - { - _isLockingPhase = currentTimeInQuarter() < getUintConfig(CONFIG_LOCKING_PHASE_DURATION); - } - - /** - @notice Check if it is currently in a main phase. - @dev The main phase is where all the governance activities could take plase. If the DAO is replaced, there can never be any more main phase. - @return _isMainPhase true if it is in a main phase - */ - function isMainPhase() - public - view - returns (bool _isMainPhase) - { - _isMainPhase = - isDaoNotReplaced() && - currentTimeInQuarter() >= getUintConfig(CONFIG_LOCKING_PHASE_DURATION); - } - - /** - @notice Check if the calculateGlobalRewardsBeforeNewQuarter function has been done for a certain quarter - @dev However, there is no need to run calculateGlobalRewardsBeforeNewQuarter for the first quarter - */ - modifier ifGlobalRewardsSet(uint256 _quarterNumber) { - if (_quarterNumber > 1) { - require(daoRewardsStorage().readDgxDistributionDay(_quarterNumber) > 0); - } - _; - } - - /** - @notice require that it is currently during a phase, which is within _relativePhaseStart and _relativePhaseEnd seconds, after the _startingPoint - */ - function requireInPhase(uint256 _startingPoint, uint256 _relativePhaseStart, uint256 _relativePhaseEnd) - internal - view - { - require(_startingPoint > 0); - require(now < _startingPoint.add(_relativePhaseEnd)); - require(now >= _startingPoint.add(_relativePhaseStart)); - } - - /** - @notice Get the current quarter index - @dev Quarter indexes starts from 1 - @return _quarterNumber the current quarter index - */ - function currentQuarterNumber() - public - view - returns(uint256 _quarterNumber) - { - _quarterNumber = getQuarterNumber(now); - } - - /** - @notice Get the quarter index of a timestamp - @dev Quarter indexes starts from 1 - @return _index the quarter index - */ - function getQuarterNumber(uint256 _time) - internal - view - returns (uint256 _index) - { - require(startOfFirstQuarterIsSet()); - _index = - _time.sub(daoUpgradeStorage().startOfFirstQuarter()) - .div(getUintConfig(CONFIG_QUARTER_DURATION)) - .add(1); - } - - /** - @notice Get the relative time in quarter of a timestamp - @dev For example, the timeInQuarter of the first second of any quarter n-th is always 1 - */ - function timeInQuarter(uint256 _time) - internal - view - returns (uint256 _timeInQuarter) - { - require(startOfFirstQuarterIsSet()); // must be already set - _timeInQuarter = - _time.sub(daoUpgradeStorage().startOfFirstQuarter()) - % getUintConfig(CONFIG_QUARTER_DURATION); - } - - /** - @notice Check if the start of first quarter is already set - @return _isSet true if start of first quarter is already set - */ - function startOfFirstQuarterIsSet() - internal - view - returns (bool _isSet) - { - _isSet = daoUpgradeStorage().startOfFirstQuarter() != 0; - } - - /** - @notice Get the current relative time in the quarter - @dev For example: the currentTimeInQuarter of the first second of any quarter is 1 - @return _currentT the current relative time in the quarter - */ - function currentTimeInQuarter() - public - view - returns (uint256 _currentT) - { - _currentT = timeInQuarter(now); - } - - /** - @notice Get the time remaining in the quarter - */ - function getTimeLeftInQuarter(uint256 _time) - internal - view - returns (uint256 _timeLeftInQuarter) - { - _timeLeftInQuarter = getUintConfig(CONFIG_QUARTER_DURATION).sub(timeInQuarter(_time)); - } - - function daoListingService() - internal - view - returns (DaoListingService _contract) - { - _contract = DaoListingService(get_contract(CONTRACT_SERVICE_DAO_LISTING)); - } - - function daoConfigsStorage() - internal - view - returns (DaoConfigsStorage _contract) - { - _contract = DaoConfigsStorage(get_contract(CONTRACT_STORAGE_DAO_CONFIG)); - } - - function daoStakeStorage() - internal - view - returns (DaoStakeStorage _contract) - { - _contract = DaoStakeStorage(get_contract(CONTRACT_STORAGE_DAO_STAKE)); - } - - function daoStorage() - internal - view - returns (DaoStorage _contract) - { - _contract = DaoStorage(get_contract(CONTRACT_STORAGE_DAO)); - } - - function daoProposalCounterStorage() - internal - view - returns (DaoProposalCounterStorage _contract) - { - _contract = DaoProposalCounterStorage(get_contract(CONTRACT_STORAGE_DAO_COUNTER)); - } - - function daoUpgradeStorage() - internal - view - returns (DaoUpgradeStorage _contract) - { - _contract = DaoUpgradeStorage(get_contract(CONTRACT_STORAGE_DAO_UPGRADE)); - } - - function daoSpecialStorage() - internal - view - returns (DaoSpecialStorage _contract) - { - _contract = DaoSpecialStorage(get_contract(CONTRACT_STORAGE_DAO_SPECIAL)); - } - - function daoPointsStorage() - internal - view - returns (DaoPointsStorage _contract) - { - _contract = DaoPointsStorage(get_contract(CONTRACT_STORAGE_DAO_POINTS)); - } - - function daoRewardsStorage() - internal - view - returns (DaoRewardsStorage _contract) - { - _contract = DaoRewardsStorage(get_contract(CONTRACT_STORAGE_DAO_REWARDS)); - } - - function intermediateResultsStorage() - internal - view - returns (IntermediateResultsStorage _contract) - { - _contract = IntermediateResultsStorage(get_contract(CONTRACT_STORAGE_INTERMEDIATE_RESULTS)); - } - - function getUintConfig(bytes32 _configKey) - public - view - returns (uint256 _configValue) - { - _configValue = daoConfigsStorage().uintConfigs(_configKey); - } -} - - - - - -contract DaoCommon is DaoCommonMini { - - using MathHelper for MathHelper; - - /** - @notice Check if a proposal is currently paused/stopped - @dev If a proposal is paused/stopped (by the PRLs): proposer cannot call for voting, a current on-going voting round can still pass, but no funding can be withdrawn. - @dev A paused proposal can still be unpaused - @dev If a proposal is stopped, this function also returns true - @return _isPausedOrStopped true if the proposal is paused(or stopped) - */ - function isProposalPaused(bytes32 _proposalId) - public - view - returns (bool _isPausedOrStopped) - { - (,,,,,,,,_isPausedOrStopped,) = daoStorage().readProposal(_proposalId); - } - - /** - @notice Check if the transaction is called by the proposer of a proposal - @return _isFromProposer true if the caller is the proposer - */ - function isFromProposer(bytes32 _proposalId) - internal - view - returns (bool _isFromProposer) - { - _isFromProposer = msg.sender == daoStorage().readProposalProposer(_proposalId); - } - - /** - @notice Check if the proposal can still be "editted", or in other words, added more versions - @dev Once the proposal is finalized, it can no longer be editted. The proposer will still be able to add docs and change fundings though. - @return _isEditable true if the proposal is editable - */ - function isEditable(bytes32 _proposalId) - internal - view - returns (bool _isEditable) - { - bytes32 _finalVersion; - (,,,,,,,_finalVersion,,) = daoStorage().readProposal(_proposalId); - _isEditable = _finalVersion == EMPTY_BYTES; - } - - /** - @notice returns the balance of DaoFundingManager, which is the wei in DigixDAO - */ - function weiInDao() - internal - view - returns (uint256 _wei) - { - _wei = get_contract(CONTRACT_DAO_FUNDING_MANAGER).balance; - } - - /** - @notice Check if it is after the draft voting phase of the proposal - */ - modifier ifAfterDraftVotingPhase(bytes32 _proposalId) { - uint256 _start = daoStorage().readProposalDraftVotingTime(_proposalId); - require(_start > 0); // Draft voting must have started. In other words, proposer must have finalized the proposal - require(now >= _start.add(getUintConfig(CONFIG_DRAFT_VOTING_PHASE))); - _; - } - - modifier ifCommitPhase(bytes32 _proposalId, uint8 _index) { - requireInPhase( - daoStorage().readProposalVotingTime(_proposalId, _index), - 0, - getUintConfig(_index == 0 ? CONFIG_VOTING_COMMIT_PHASE : CONFIG_INTERIM_COMMIT_PHASE) - ); - _; - } - - modifier ifRevealPhase(bytes32 _proposalId, uint256 _index) { - requireInPhase( - daoStorage().readProposalVotingTime(_proposalId, _index), - getUintConfig(_index == 0 ? CONFIG_VOTING_COMMIT_PHASE : CONFIG_INTERIM_COMMIT_PHASE), - getUintConfig(_index == 0 ? CONFIG_VOTING_PHASE_TOTAL : CONFIG_INTERIM_PHASE_TOTAL) - ); - _; - } - - modifier ifAfterProposalRevealPhase(bytes32 _proposalId, uint256 _index) { - uint256 _start = daoStorage().readProposalVotingTime(_proposalId, _index); - require(_start > 0); - require(now >= _start.add(getUintConfig(_index == 0 ? CONFIG_VOTING_PHASE_TOTAL : CONFIG_INTERIM_PHASE_TOTAL))); - _; - } - - modifier ifDraftVotingPhase(bytes32 _proposalId) { - requireInPhase( - daoStorage().readProposalDraftVotingTime(_proposalId), - 0, - getUintConfig(CONFIG_DRAFT_VOTING_PHASE) - ); - _; - } - - modifier isProposalState(bytes32 _proposalId, bytes32 _STATE) { - bytes32 _currentState; - (,,,_currentState,,,,,,) = daoStorage().readProposal(_proposalId); - require(_currentState == _STATE); - _; - } - - modifier ifDraftNotClaimed(bytes32 _proposalId) { - require(daoStorage().isDraftClaimed(_proposalId) == false); - _; - } - - modifier ifNotClaimed(bytes32 _proposalId, uint256 _index) { - require(daoStorage().isClaimed(_proposalId, _index) == false); - _; - } - - modifier ifNotClaimedSpecial(bytes32 _proposalId) { - require(daoSpecialStorage().isClaimed(_proposalId) == false); - _; - } - - modifier hasNotRevealed(bytes32 _proposalId, uint256 _index) { - uint256 _voteWeight; - (, _voteWeight) = daoStorage().readVote(_proposalId, _index, msg.sender); - require(_voteWeight == uint(0)); - _; - } - - modifier hasNotRevealedSpecial(bytes32 _proposalId) { - uint256 _weight; - (,_weight) = daoSpecialStorage().readVote(_proposalId, msg.sender); - require(_weight == uint256(0)); - _; - } - - modifier ifAfterRevealPhaseSpecial(bytes32 _proposalId) { - uint256 _start = daoSpecialStorage().readVotingTime(_proposalId); - require(_start > 0); - require(now.sub(_start) >= getUintConfig(CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL)); - _; - } - - modifier ifCommitPhaseSpecial(bytes32 _proposalId) { - requireInPhase( - daoSpecialStorage().readVotingTime(_proposalId), - 0, - getUintConfig(CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE) - ); - _; - } - - modifier ifRevealPhaseSpecial(bytes32 _proposalId) { - requireInPhase( - daoSpecialStorage().readVotingTime(_proposalId), - getUintConfig(CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE), - getUintConfig(CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL) - ); - _; - } - - function daoWhitelistingStorage() - internal - view - returns (DaoWhitelistingStorage _contract) - { - _contract = DaoWhitelistingStorage(get_contract(CONTRACT_STORAGE_DAO_WHITELISTING)); - } - - function getAddressConfig(bytes32 _configKey) - public - view - returns (address _configValue) - { - _configValue = daoConfigsStorage().addressConfigs(_configKey); - } - - function getBytesConfig(bytes32 _configKey) - public - view - returns (bytes32 _configValue) - { - _configValue = daoConfigsStorage().bytesConfigs(_configKey); - } - - /** - @notice Check if a user is a participant in the current quarter - */ - function isParticipant(address _user) - public - view - returns (bool _is) - { - _is = - (daoRewardsStorage().lastParticipatedQuarter(_user) == currentQuarterNumber()) - && (daoStakeStorage().lockedDGDStake(_user) >= getUintConfig(CONFIG_MINIMUM_LOCKED_DGD)); - } - - /** - @notice Check if a user is a moderator in the current quarter - */ - function isModerator(address _user) - public - view - returns (bool _is) - { - _is = - (daoRewardsStorage().lastParticipatedQuarter(_user) == currentQuarterNumber()) - && (daoStakeStorage().lockedDGDStake(_user) >= getUintConfig(CONFIG_MINIMUM_DGD_FOR_MODERATOR)) - && (daoPointsStorage().getReputation(_user) >= getUintConfig(CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR)); - } - - /** - @notice Calculate the start of a specific milestone of a specific proposal. - @dev This is calculated from the voting start of the voting round preceding the milestone - This would throw if the voting start is 0 (the voting round has not started yet) - Note that if the milestoneIndex is exactly the same as the number of milestones, - This will just return the end of the last voting round. - */ - function startOfMilestone(bytes32 _proposalId, uint256 _milestoneIndex) - internal - view - returns (uint256 _milestoneStart) - { - uint256 _startOfPrecedingVotingRound = daoStorage().readProposalVotingTime(_proposalId, _milestoneIndex); - require(_startOfPrecedingVotingRound > 0); - // the preceding voting round must have started - - if (_milestoneIndex == 0) { // This is the 1st milestone, which starts after voting round 0 - _milestoneStart = - _startOfPrecedingVotingRound - .add(getUintConfig(CONFIG_VOTING_PHASE_TOTAL)); - } else { // if its the n-th milestone, it starts after voting round n-th - _milestoneStart = - _startOfPrecedingVotingRound - .add(getUintConfig(CONFIG_INTERIM_PHASE_TOTAL)); - } - } - - /** - @notice Calculate the actual voting start for a voting round, given the tentative start - @dev The tentative start is the ideal start. For example, when a proposer finish a milestone, it should be now - However, sometimes the tentative start is too close to the end of the quarter, hence, the actual voting start should be pushed to the next quarter - */ - function getTimelineForNextVote( - uint256 _index, - uint256 _tentativeVotingStart - ) - internal - view - returns (uint256 _actualVotingStart) - { - uint256 _timeLeftInQuarter = getTimeLeftInQuarter(_tentativeVotingStart); - uint256 _votingDuration = getUintConfig(_index == 0 ? CONFIG_VOTING_PHASE_TOTAL : CONFIG_INTERIM_PHASE_TOTAL); - _actualVotingStart = _tentativeVotingStart; - if (timeInQuarter(_tentativeVotingStart) < getUintConfig(CONFIG_LOCKING_PHASE_DURATION)) { // if the tentative start is during a locking phase - _actualVotingStart = _tentativeVotingStart.add( - getUintConfig(CONFIG_LOCKING_PHASE_DURATION).sub(timeInQuarter(_tentativeVotingStart)) - ); - } else if (_timeLeftInQuarter < _votingDuration.add(getUintConfig(CONFIG_VOTE_CLAIMING_DEADLINE))) { // if the time left in quarter is not enough to vote and claim voting - _actualVotingStart = _tentativeVotingStart.add( - _timeLeftInQuarter.add(getUintConfig(CONFIG_LOCKING_PHASE_DURATION)).add(1) - ); - } - } - - /** - @notice Check if we can add another non-Digix proposal in this quarter - @dev There is a max cap to the number of non-Digix proposals CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER - */ - function checkNonDigixProposalLimit(bytes32 _proposalId) - internal - view - { - require(isNonDigixProposalsWithinLimit(_proposalId)); - } - - function isNonDigixProposalsWithinLimit(bytes32 _proposalId) - internal - view - returns (bool _withinLimit) - { - bool _isDigixProposal; - (,,,,,,,,,_isDigixProposal) = daoStorage().readProposal(_proposalId); - _withinLimit = true; - if (!_isDigixProposal) { - _withinLimit = daoProposalCounterStorage().proposalCountByQuarter(currentQuarterNumber()) < getUintConfig(CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER); - } - } - - /** - @notice If its a non-Digix proposal, check if the fundings are within limit - @dev There is a max cap to the fundings and number of milestones for non-Digix proposals - */ - function checkNonDigixFundings(uint256[] _milestonesFundings, uint256 _finalReward) - internal - view - { - if (!is_founder()) { - require(_milestonesFundings.length <= getUintConfig(CONFIG_MAX_MILESTONES_FOR_NON_DIGIX)); - require(MathHelper.sumNumbers(_milestonesFundings).add(_finalReward) <= getUintConfig(CONFIG_MAX_FUNDING_FOR_NON_DIGIX)); - } - } - - /** - @notice Check if msg.sender can do operations as a proposer - @dev Note that this function does not check if he is the proposer of the proposal - */ - function senderCanDoProposerOperations() - internal - view - { - require(isMainPhase()); - require(isParticipant(msg.sender)); - require(identity_storage().is_kyc_approved(msg.sender)); - } -} - - - - - -contract DaoRewardsManagerCommon is DaoCommonMini { - - using DaoStructs for DaoStructs.DaoQuarterInfo; - - // this is a struct that store information relevant for calculating the user rewards - // for the last participating quarter - struct UserRewards { - uint256 lastParticipatedQuarter; - uint256 lastQuarterThatRewardsWasUpdated; - uint256 effectiveDGDBalance; - uint256 effectiveModeratorDGDBalance; - DaoStructs.DaoQuarterInfo qInfo; - } - - // struct to store variables needed in the execution of calculateGlobalRewardsBeforeNewQuarter - struct QuarterRewardsInfo { - uint256 previousQuarter; - uint256 totalEffectiveDGDPreviousQuarter; - uint256 totalEffectiveModeratorDGDLastQuarter; - uint256 dgxRewardsPoolLastQuarter; - uint256 userCount; - uint256 i; - DaoStructs.DaoQuarterInfo qInfo; - address currentUser; - address[] users; - bool doneCalculatingEffectiveBalance; - bool doneCalculatingModeratorEffectiveBalance; - } - - // get the struct for the relevant information for calculating a user's DGX rewards for the last participated quarter - function getUserRewardsStruct(address _user) - internal - view - returns (UserRewards memory _data) - { - _data.lastParticipatedQuarter = daoRewardsStorage().lastParticipatedQuarter(_user); - _data.lastQuarterThatRewardsWasUpdated = daoRewardsStorage().lastQuarterThatRewardsWasUpdated(_user); - _data.qInfo = readQuarterInfo(_data.lastParticipatedQuarter); - } - - // read the DaoQuarterInfo struct of a certain quarter - function readQuarterInfo(uint256 _quarterNumber) - internal - view - returns (DaoStructs.DaoQuarterInfo _qInfo) - { - ( - _qInfo.minimalParticipationPoint, - _qInfo.quarterPointScalingFactor, - _qInfo.reputationPointScalingFactor, - _qInfo.totalEffectiveDGDPreviousQuarter - ) = daoRewardsStorage().readQuarterParticipantInfo(_quarterNumber); - ( - _qInfo.moderatorMinimalParticipationPoint, - _qInfo.moderatorQuarterPointScalingFactor, - _qInfo.moderatorReputationPointScalingFactor, - _qInfo.totalEffectiveModeratorDGDLastQuarter - ) = daoRewardsStorage().readQuarterModeratorInfo(_quarterNumber); - ( - _qInfo.dgxDistributionDay, - _qInfo.dgxRewardsPoolLastQuarter, - _qInfo.sumRewardsFromBeginning - ) = daoRewardsStorage().readQuarterGeneralInfo(_quarterNumber); - } -} - - -/// @title Digix Gold Token Demurrage Calculator -/// @author Digix Holdings Pte Ltd -/// @notice This contract is meant to be used by exchanges/other parties who want to calculate the DGX demurrage fees, provided an initial balance and the days elapsed -contract DgxDemurrageCalculator { - function calculateDemurrage(uint256 _initial_balance, uint256 _days_elapsed) - public - view - returns (uint256 _demurrage_fees, bool _no_demurrage_fees); -} - - - - - - - -contract DaoCalculatorService is DaoCommon { - - address public dgxDemurrageCalculatorAddress; - - using MathHelper for MathHelper; - - constructor(address _resolver, address _dgxDemurrageCalculatorAddress) - public - { - require(init(CONTRACT_SERVICE_DAO_CALCULATOR, _resolver)); - dgxDemurrageCalculatorAddress = _dgxDemurrageCalculatorAddress; - } - - - /** - @notice Calculate the additional lockedDGDStake, given the DGDs that the user has just locked in - @dev The earlier the locking happens, the more lockedDGDStake the user will get - The formula is: additionalLockedDGDStake = (90 - t)/80 * additionalDGD if t is more than 10. If t<=10, additionalLockedDGDStake = additionalDGD - */ - function calculateAdditionalLockedDGDStake(uint256 _additionalDgd) - public - view - returns (uint256 _additionalLockedDGDStake) - { - _additionalLockedDGDStake = - _additionalDgd.mul( - getUintConfig(CONFIG_QUARTER_DURATION) - .sub( - MathHelper.max( - currentTimeInQuarter(), - getUintConfig(CONFIG_LOCKING_PHASE_DURATION) - ) - ) - ) - .div( - getUintConfig(CONFIG_QUARTER_DURATION) - .sub(getUintConfig(CONFIG_LOCKING_PHASE_DURATION)) - ); - } - - - // Quorum is in terms of lockedDGDStake - function minimumDraftQuorum(bytes32 _proposalId) - public - view - returns (uint256 _minQuorum) - { - uint256[] memory _fundings; - - (_fundings,) = daoStorage().readProposalFunding(_proposalId); - _minQuorum = calculateMinQuorum( - daoStakeStorage().totalModeratorLockedDGDStake(), - getUintConfig(CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR), - getUintConfig(CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR), - getUintConfig(CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR), - getUintConfig(CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR), - _fundings[0] - ); - } - - - function draftQuotaPass(uint256 _for, uint256 _against) - public - view - returns (bool _passed) - { - _passed = _for.mul(getUintConfig(CONFIG_DRAFT_QUOTA_DENOMINATOR)) - > getUintConfig(CONFIG_DRAFT_QUOTA_NUMERATOR).mul(_for.add(_against)); - } - - - // Quorum is in terms of lockedDGDStake - function minimumVotingQuorum(bytes32 _proposalId, uint256 _milestone_id) - public - view - returns (uint256 _minQuorum) - { - require(senderIsAllowedToRead()); - uint256[] memory _weiAskedPerMilestone; - uint256 _finalReward; - (_weiAskedPerMilestone,_finalReward) = daoStorage().readProposalFunding(_proposalId); - require(_milestone_id <= _weiAskedPerMilestone.length); - if (_milestone_id == _weiAskedPerMilestone.length) { - // calculate quorum for the final voting round - _minQuorum = calculateMinQuorum( - daoStakeStorage().totalLockedDGDStake(), - getUintConfig(CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR), - getUintConfig(CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR), - getUintConfig(CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR), - getUintConfig(CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR), - _finalReward - ); - } else { - // calculate quorum for a voting round - _minQuorum = calculateMinQuorum( - daoStakeStorage().totalLockedDGDStake(), - getUintConfig(CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR), - getUintConfig(CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR), - getUintConfig(CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR), - getUintConfig(CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR), - _weiAskedPerMilestone[_milestone_id] - ); - } - } - - - // Quorum is in terms of lockedDGDStake - function minimumVotingQuorumForSpecial() - public - view - returns (uint256 _minQuorum) - { - _minQuorum = getUintConfig(CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR).mul( - daoStakeStorage().totalLockedDGDStake() - ).div( - getUintConfig(CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR) - ); - } - - - function votingQuotaPass(uint256 _for, uint256 _against) - public - view - returns (bool _passed) - { - _passed = _for.mul(getUintConfig(CONFIG_VOTING_QUOTA_DENOMINATOR)) - > getUintConfig(CONFIG_VOTING_QUOTA_NUMERATOR).mul(_for.add(_against)); - } - - - function votingQuotaForSpecialPass(uint256 _for, uint256 _against) - public - view - returns (bool _passed) - { - _passed =_for.mul(getUintConfig(CONFIG_SPECIAL_QUOTA_DENOMINATOR)) - > getUintConfig(CONFIG_SPECIAL_QUOTA_NUMERATOR).mul(_for.add(_against)); - } - - - function calculateMinQuorum( - uint256 _totalStake, - uint256 _fixedQuorumPortionNumerator, - uint256 _fixedQuorumPortionDenominator, - uint256 _scalingFactorNumerator, - uint256 _scalingFactorDenominator, - uint256 _weiAsked - ) - internal - view - returns (uint256 _minimumQuorum) - { - uint256 _weiInDao = weiInDao(); - // add the fixed portion of the quorum - _minimumQuorum = (_totalStake.mul(_fixedQuorumPortionNumerator)).div(_fixedQuorumPortionDenominator); - - // add the dynamic portion of the quorum - _minimumQuorum = _minimumQuorum.add(_totalStake.mul(_weiAsked.mul(_scalingFactorNumerator)).div(_weiInDao.mul(_scalingFactorDenominator))); - } - - - function calculateUserEffectiveBalance( - uint256 _minimalParticipationPoint, - uint256 _quarterPointScalingFactor, - uint256 _reputationPointScalingFactor, - uint256 _quarterPoint, - uint256 _reputationPoint, - uint256 _lockedDGDStake - ) - public - pure - returns (uint256 _effectiveDGDBalance) - { - uint256 _baseDGDBalance = MathHelper.min(_quarterPoint, _minimalParticipationPoint).mul(_lockedDGDStake).div(_minimalParticipationPoint); - _effectiveDGDBalance = - _baseDGDBalance - .mul(_quarterPointScalingFactor.add(_quarterPoint).sub(_minimalParticipationPoint)) - .mul(_reputationPointScalingFactor.add(_reputationPoint)) - .div(_quarterPointScalingFactor.mul(_reputationPointScalingFactor)); - } - - - function calculateDemurrage(uint256 _balance, uint256 _daysElapsed) - public - view - returns (uint256 _demurrageFees) - { - (_demurrageFees,) = DgxDemurrageCalculator(dgxDemurrageCalculatorAddress).calculateDemurrage(_balance, _daysElapsed); - } - -} - - - -/** - * @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); -} - - - - - -/** - * @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 - ); -} - - - - - -contract DaoRewardsManagerExtras is DaoRewardsManagerCommon { - - constructor(address _resolver) public { - require(init(CONTRACT_DAO_REWARDS_MANAGER_EXTRAS, _resolver)); - } - - function daoCalculatorService() - internal - view - returns (DaoCalculatorService _contract) - { - _contract = DaoCalculatorService(get_contract(CONTRACT_SERVICE_DAO_CALCULATOR)); - } - - // done - // calculate dgx rewards; This is basically the DGXs that user has earned from participating in lastParticipatedQuarter, and can be withdrawn on the dgxDistributionDay of the (lastParticipatedQuarter + 1) - // when user actually withdraw some time after that, he will be deducted demurrage. - function calculateUserRewardsForLastParticipatingQuarter(address _user) - public - view - returns (uint256 _dgxRewardsAsParticipant, uint256 _dgxRewardsAsModerator) - { - UserRewards memory data = getUserRewardsStruct(_user); - - data.effectiveDGDBalance = daoCalculatorService().calculateUserEffectiveBalance( - data.qInfo.minimalParticipationPoint, - data.qInfo.quarterPointScalingFactor, - data.qInfo.reputationPointScalingFactor, - daoPointsStorage().getQuarterPoint(_user, data.lastParticipatedQuarter), - - // RP has been updated at the beginning of the lastParticipatedQuarter in - // a call to updateRewardsAndReputationBeforeNewQuarter(); It should not have changed since then - daoPointsStorage().getReputation(_user), - - // lockedDGDStake should have stayed the same throughout since the lastParticipatedQuarter - // if this participant has done anything (lock/unlock/continue) to change the lockedDGDStake, - // updateUserRewardsForLastParticipatingQuarter, and hence this function, would have been called first before the lockedDGDStake is changed - daoStakeStorage().lockedDGDStake(_user) - ); - - data.effectiveModeratorDGDBalance = daoCalculatorService().calculateUserEffectiveBalance( - data.qInfo.moderatorMinimalParticipationPoint, - data.qInfo.moderatorQuarterPointScalingFactor, - data.qInfo.moderatorReputationPointScalingFactor, - daoPointsStorage().getQuarterModeratorPoint(_user, data.lastParticipatedQuarter), - - // RP has been updated at the beginning of the lastParticipatedQuarter in - // a call to updateRewardsAndReputationBeforeNewQuarter(); - daoPointsStorage().getReputation(_user), - - // lockedDGDStake should have stayed the same throughout since the lastParticipatedQuarter - // if this participant has done anything (lock/unlock/continue) to change the lockedDGDStake, - // updateUserRewardsForLastParticipatingQuarter would have been called first before the lockedDGDStake is changed - daoStakeStorage().lockedDGDStake(_user) - ); - - // will not need to calculate if the totalEffectiveDGDLastQuarter is 0 (no one participated) - if (daoRewardsStorage().readTotalEffectiveDGDLastQuarter(data.lastParticipatedQuarter.add(1)) > 0) { - _dgxRewardsAsParticipant = - data.effectiveDGDBalance - .mul(daoRewardsStorage().readRewardsPoolOfLastQuarter( - data.lastParticipatedQuarter.add(1) - )) - .mul( - getUintConfig(CONFIG_PORTION_TO_MODERATORS_DEN) - .sub(getUintConfig(CONFIG_PORTION_TO_MODERATORS_NUM)) - ) - .div(daoRewardsStorage().readTotalEffectiveDGDLastQuarter( - data.lastParticipatedQuarter.add(1) - )) - .div(getUintConfig(CONFIG_PORTION_TO_MODERATORS_DEN)); - } - - // will not need to calculate if the totalEffectiveModeratorDGDLastQuarter is 0 (no one participated) - if (daoRewardsStorage().readTotalEffectiveModeratorDGDLastQuarter(data.lastParticipatedQuarter.add(1)) > 0) { - _dgxRewardsAsModerator = - data.effectiveModeratorDGDBalance - .mul(daoRewardsStorage().readRewardsPoolOfLastQuarter( - data.lastParticipatedQuarter.add(1) - )) - .mul( - getUintConfig(CONFIG_PORTION_TO_MODERATORS_NUM) - ) - .div(daoRewardsStorage().readTotalEffectiveModeratorDGDLastQuarter( - data.lastParticipatedQuarter.add(1) - )) - .div(getUintConfig(CONFIG_PORTION_TO_MODERATORS_DEN)); - } - } -} - - - - - - - - - -/** -@title Contract to manage DGX rewards -@author Digix Holdings -*/ -contract DaoRewardsManager is DaoRewardsManagerCommon { - using MathHelper for MathHelper; - using DaoStructs for DaoStructs.DaoQuarterInfo; - using DaoStructs for DaoStructs.IntermediateResults; - - // is emitted when calculateGlobalRewardsBeforeNewQuarter has been done in the beginning of the quarter - // after which, all the other DAO activities could happen - event StartNewQuarter(uint256 indexed _quarterNumber); - - address public ADDRESS_DGX_TOKEN; - - function daoCalculatorService() - internal - view - returns (DaoCalculatorService _contract) - { - _contract = DaoCalculatorService(get_contract(CONTRACT_SERVICE_DAO_CALCULATOR)); - } - - function daoRewardsManagerExtras() - internal - view - returns (DaoRewardsManagerExtras _contract) - { - _contract = DaoRewardsManagerExtras(get_contract(CONTRACT_DAO_REWARDS_MANAGER_EXTRAS)); - } - - /** - @notice Constructor (set the DaoQuarterInfo struct for the first quarter) - @param _resolver Address of the Contract Resolver contract - @param _dgxAddress Address of the Digix Gold Token contract - */ - constructor(address _resolver, address _dgxAddress) - public - { - require(init(CONTRACT_DAO_REWARDS_MANAGER, _resolver)); - ADDRESS_DGX_TOKEN = _dgxAddress; - - // set the DaoQuarterInfo for the first quarter - daoRewardsStorage().updateQuarterInfo( - 1, - getUintConfig(CONFIG_MINIMAL_QUARTER_POINT), - getUintConfig(CONFIG_QUARTER_POINT_SCALING_FACTOR), - getUintConfig(CONFIG_REPUTATION_POINT_SCALING_FACTOR), - 0, // totalEffectiveDGDPreviousQuarter, Not Applicable, this value should not be used ever - getUintConfig(CONFIG_MODERATOR_MINIMAL_QUARTER_POINT), - getUintConfig(CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR), - getUintConfig(CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR), - 0, // _totalEffectiveModeratorDGDLastQuarter , Not applicable, this value should not be used ever - - // _dgxDistributionDay, Not applicable, there shouldnt be any DGX rewards in the DAO now. The actual DGX fees that have been collected - // before the deployment of DigixDAO contracts would be counted as part of the DGX fees incurred in the first quarter - // this value should not be used ever - now, - - 0, // _dgxRewardsPoolLastQuarter, not applicable, this value should not be used ever - 0 // sumRewardsFromBeginning, which is 0 - ); - } - - - /** - @notice Function to transfer the claimableDGXs to the new DaoRewardsManager - @dev This is done during the migrateToNewDao procedure - @param _newDaoRewardsManager Address of the new daoRewardsManager contract - */ - function moveDGXsToNewDao(address _newDaoRewardsManager) - public - { - require(sender_is(CONTRACT_DAO)); - uint256 _dgxBalance = ERC20(ADDRESS_DGX_TOKEN).balanceOf(address(this)); - ERC20(ADDRESS_DGX_TOKEN).transfer(_newDaoRewardsManager, _dgxBalance); - } - - - /** - @notice Function for users to claim the claimable DGX rewards - @dev Will revert if _claimableDGX < MINIMUM_TRANSFER_AMOUNT of DGX. - Can only be called after calculateGlobalRewardsBeforeNewQuarter() has been called in the current quarter - This cannot be called once the current version of Dao contracts have been migrated to newer version - */ - function claimRewards() - public - ifGlobalRewardsSet(currentQuarterNumber()) - { - require(isDaoNotReplaced()); - - address _user = msg.sender; - uint256 _claimableDGX; - - // update rewards for the quarter that he last participated in - (, _claimableDGX) = updateUserRewardsForLastParticipatingQuarter(_user); - - // withdraw from his claimableDGXs - // This has to take into account demurrage - // Basically, the value of claimableDGXs in the contract is for the dgxDistributionDay of (lastParticipatedQuarter + 1) - // if now is after that, we need to deduct demurrage - uint256 _days_elapsed = now - .sub( - daoRewardsStorage().readDgxDistributionDay( - daoRewardsStorage().lastQuarterThatRewardsWasUpdated(_user).add(1) // lastQuarterThatRewardsWasUpdated should be the same as lastParticipatedQuarter now - ) - ) - .div(1 days); - - // similar logic as in the similar step in updateUserRewardsForLastParticipatingQuarter. - // it is as if the user has withdrawn all _claimableDGX, and the demurrage is paid back into the DAO immediately - daoRewardsStorage().addToTotalDgxClaimed(_claimableDGX); - - _claimableDGX = _claimableDGX.sub( - daoCalculatorService().calculateDemurrage( - _claimableDGX, - _days_elapsed - )); - - daoRewardsStorage().updateClaimableDGX(_user, 0); - ERC20(ADDRESS_DGX_TOKEN).transfer(_user, _claimableDGX); - // the _demurrageFees is implicitly "transfered" back into the DAO, and would be counted in the dgxRewardsPool of this quarter (in other words, dgxRewardsPoolLastQuarter of next quarter) - } - - - /** - @notice Function to update DGX rewards of user. This is only called during locking/withdrawing DGDs, or continuing participation for new quarter - @param _user Address of the DAO participant - */ - function updateRewardsAndReputationBeforeNewQuarter(address _user) - public - { - require(sender_is(CONTRACT_DAO_STAKE_LOCKING)); - - updateUserRewardsForLastParticipatingQuarter(_user); - updateUserReputationUntilPreviousQuarter(_user); - } - - - // This function would ALWAYS make sure that the user's Reputation Point is updated for ALL activities that has happened - // BEFORE this current quarter. These activities include: - // - Reputation bonus/penalty due to participation in all of the previous quarters - // - Reputation penalty for not participating for a few quarters, up until and including the previous quarter - // - Badges redemption and carbon vote reputation redemption (that happens in the first time locking) - // As such, after this function is called on quarter N, the updated reputation point of the user would tentatively be used to calculate the rewards for quarter N - // Its tentative because the user can also redeem a badge during the period of quarter N to add to his reputation point. - function updateUserReputationUntilPreviousQuarter (address _user) - private - { - uint256 _lastParticipatedQuarter = daoRewardsStorage().lastParticipatedQuarter(_user); - uint256 _lastQuarterThatReputationWasUpdated = daoRewardsStorage().lastQuarterThatReputationWasUpdated(_user); - uint256 _reputationDeduction; - - // If the reputation was already updated until the previous quarter - // nothing needs to be done - if ( - _lastQuarterThatReputationWasUpdated.add(1) >= currentQuarterNumber() - ) { - return; - } - - // first, we calculate and update the reputation change due to the user's governance activities in lastParticipatedQuarter, if it is not already updated. - // reputation is not updated for lastParticipatedQuarter yet is equivalent to _lastQuarterThatReputationWasUpdated == _lastParticipatedQuarter - 1 - if ( - (_lastQuarterThatReputationWasUpdated.add(1) == _lastParticipatedQuarter) - ) { - updateRPfromQP( - _user, - daoPointsStorage().getQuarterPoint(_user, _lastParticipatedQuarter), - getUintConfig(CONFIG_MINIMAL_QUARTER_POINT), - getUintConfig(CONFIG_MAXIMUM_REPUTATION_DEDUCTION), - getUintConfig(CONFIG_REPUTATION_PER_EXTRA_QP_NUM), - getUintConfig(CONFIG_REPUTATION_PER_EXTRA_QP_DEN) - ); - - // this user is not a Moderator for current quarter - // coz this step is done before updating the refreshModerator. - // But may have been a Moderator before, and if was moderator in their - // lastParticipatedQuarter, we will find them in the DoublyLinkedList. - if (daoStakeStorage().isInModeratorsList(_user)) { - updateRPfromQP( - _user, - daoPointsStorage().getQuarterModeratorPoint(_user, _lastParticipatedQuarter), - getUintConfig(CONFIG_MODERATOR_MINIMAL_QUARTER_POINT), - getUintConfig(CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION), - getUintConfig(CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM), - getUintConfig(CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN) - ); - } - _lastQuarterThatReputationWasUpdated = _lastParticipatedQuarter; - } - - // at this point, the _lastQuarterThatReputationWasUpdated MUST be at least the _lastParticipatedQuarter already - // Hence, any quarters between the _lastQuarterThatReputationWasUpdated and now must be a non-participating quarter, - // and this participant should be penalized for those. - - // If this is their first ever participation, It is fine as well, as the reputation would be still be 0 after this step. - // note that the carbon vote's reputation bonus will be added after this, so its fine - - _reputationDeduction = - (currentQuarterNumber().sub(1).sub(_lastQuarterThatReputationWasUpdated)) - .mul( - getUintConfig(CONFIG_MAXIMUM_REPUTATION_DEDUCTION) - .add(getUintConfig(CONFIG_PUNISHMENT_FOR_NOT_LOCKING)) - ); - - if (_reputationDeduction > 0) daoPointsStorage().reduceReputation(_user, _reputationDeduction); - daoRewardsStorage().updateLastQuarterThatReputationWasUpdated(_user, currentQuarterNumber().sub(1)); - } - - - // update ReputationPoint of a participant based on QuarterPoint/ModeratorQuarterPoint in a quarter - function updateRPfromQP ( - address _user, - uint256 _userQP, - uint256 _minimalQP, - uint256 _maxRPDeduction, - uint256 _rpPerExtraQP_num, - uint256 _rpPerExtraQP_den - ) internal { - uint256 _reputationDeduction; - uint256 _reputationAddition; - if (_userQP < _minimalQP) { - _reputationDeduction = - _minimalQP.sub(_userQP) - .mul(_maxRPDeduction) - .div(_minimalQP); - - daoPointsStorage().reduceReputation(_user, _reputationDeduction); - } else { - _reputationAddition = - _userQP.sub(_minimalQP) - .mul(_rpPerExtraQP_num) - .div(_rpPerExtraQP_den); - - daoPointsStorage().increaseReputation(_user, _reputationAddition); - } - } - - // if the DGX rewards has not been calculated for the user's lastParticipatedQuarter, calculate and update it - function updateUserRewardsForLastParticipatingQuarter(address _user) - internal - returns (bool _valid, uint256 _userClaimableDgx) - { - UserRewards memory data = getUserRewardsStruct(_user); - _userClaimableDgx = daoRewardsStorage().claimableDGXs(_user); - - // There is nothing to do if: - // - The participant is already participating this quarter and hence this function has been called in this quarter - // - We have updated the rewards to the lastParticipatedQuarter - // In ANY other cases: it means that the lastParticipatedQuarter is NOT this quarter, and its greater than lastQuarterThatRewardsWasUpdated, hence - // This also means that this participant has ALREADY PARTICIPATED at least once IN THE PAST, and we have not calculated for this quarter - // Thus, we need to calculate the Rewards for the lastParticipatedQuarter - if ( - (currentQuarterNumber() == data.lastParticipatedQuarter) || - (data.lastParticipatedQuarter <= data.lastQuarterThatRewardsWasUpdated) - ) { - return (false, _userClaimableDgx); - } - - // now we will calculate the user rewards based on info of the data.lastParticipatedQuarter - - // first we "deduct the demurrage" for the existing claimable DGXs for time period from - // dgxDistributionDay of (lastQuarterThatRewardsWasUpdated + 1) to dgxDistributionDay of (lastParticipatedQuarter + 1) - // (note that, when people participate in quarter n, the DGX rewards for quarter n is only released at the dgxDistributionDay of (n+1)th quarter) - uint256 _days_elapsed = daoRewardsStorage().readDgxDistributionDay(data.lastParticipatedQuarter.add(1)) - .sub(daoRewardsStorage().readDgxDistributionDay(data.lastQuarterThatRewardsWasUpdated.add(1))) - .div(1 days); - uint256 _demurrageFees = daoCalculatorService().calculateDemurrage( - _userClaimableDgx, - _days_elapsed - ); - _userClaimableDgx = _userClaimableDgx.sub(_demurrageFees); - // this demurrage fees will not be accurate to the hours, but we will leave it as this. - - // this deducted demurrage is then added to the totalDGXsClaimed - // This is as if, the user claims exactly _demurrageFees DGXs, which would be used immediately to pay for the demurrage on his claimableDGXs, - // from dgxDistributionDay of (lastQuarterThatRewardsWasUpdated + 1) to dgxDistributionDay of (lastParticipatedQuarter + 1) - // This is done as such, so that this _demurrageFees would "flow back into the DAO" and be counted in the dgxRewardsPool of this current quarter (in other words, dgxRewardsPoolLastQuarter of the next quarter, as will be calculated in calculateGlobalRewardsBeforeNewQuarter of the next quarter) - // this is not 100% techinally correct as a demurrage concept, because this demurrage fees could have been incurred for the duration of the quarters in the past, but we will account them this way, as if its demurrage fees for this quarter, for simplicity. - daoRewardsStorage().addToTotalDgxClaimed(_demurrageFees); - - uint256 _dgxRewardsAsParticipant; - uint256 _dgxRewardsAsModerator; - (_dgxRewardsAsParticipant, _dgxRewardsAsModerator) = daoRewardsManagerExtras().calculateUserRewardsForLastParticipatingQuarter(_user); - _userClaimableDgx = _userClaimableDgx.add(_dgxRewardsAsParticipant).add(_dgxRewardsAsModerator); - - // update claimableDGXs. The calculation just now should have taken into account demurrage - // such that the demurrage has been paid until dgxDistributionDay of (lastParticipatedQuarter + 1) - daoRewardsStorage().updateClaimableDGX(_user, _userClaimableDgx); - - // update lastQuarterThatRewardsWasUpdated - daoRewardsStorage().updateLastQuarterThatRewardsWasUpdated(_user, data.lastParticipatedQuarter); - _valid = true; - } - - /** - @notice Function called by the founder after transfering the DGX fees into the DAO at the beginning of the quarter - @dev This function needs to do lots of calculation, so it might not fit into one transaction - As such, it could be done in multiple transactions, each time passing _operations which is the number of operations we want to calculate. - When the value of _done is finally true, that's when the calculation is done. - Only after this function runs, any other activities in the DAO could happen. - - Basically, if there were M participants and N moderators in the previous quarter, it takes M+N "operations". - - In summary, the function populates the DaoQuarterInfo of this quarter. - The bulk of the calculation is to go through every participant in the previous quarter to calculate their effectiveDGDBalance and sum them to get the - totalEffectiveDGDLastQuarter - */ - function calculateGlobalRewardsBeforeNewQuarter(uint256 _operations) - public - if_founder() - returns (bool _done) - { - require(isDaoNotReplaced()); - require(daoUpgradeStorage().startOfFirstQuarter() != 0); // start of first quarter must have been set already - require(isLockingPhase()); - require(daoRewardsStorage().readDgxDistributionDay(currentQuarterNumber()) == 0); // throw if this function has already finished running this quarter - - QuarterRewardsInfo memory info; - info.previousQuarter = currentQuarterNumber().sub(1); - require(info.previousQuarter > 0); // throw if this is the first quarter - info.qInfo = readQuarterInfo(info.previousQuarter); - - DaoStructs.IntermediateResults memory interResults; - ( - interResults.countedUntil,,, - info.totalEffectiveDGDPreviousQuarter - ) = intermediateResultsStorage().getIntermediateResults( - getIntermediateResultsIdForGlobalRewards(info.previousQuarter, false) - ); - - uint256 _operationsLeft = sumEffectiveBalance(info, false, _operations, interResults); - // now we are left with _operationsLeft operations - // the results is saved in interResults - - // if we have not done with calculating the effective balance, quit. - if (!info.doneCalculatingEffectiveBalance) { return false; } - - ( - interResults.countedUntil,,, - info.totalEffectiveModeratorDGDLastQuarter - ) = intermediateResultsStorage().getIntermediateResults( - getIntermediateResultsIdForGlobalRewards(info.previousQuarter, true) - ); - - sumEffectiveBalance(info, true, _operationsLeft, interResults); - - // if we have not done with calculating the moderator effective balance, quit. - if (!info.doneCalculatingModeratorEffectiveBalance) { return false; } - - // we have done the heavey calculation, now save the quarter info - processGlobalRewardsUpdate(info); - _done = true; - - emit StartNewQuarter(currentQuarterNumber()); - } - - - // get the Id for the intermediateResult for a quarter's global rewards calculation - function getIntermediateResultsIdForGlobalRewards(uint256 _quarterNumber, bool _forModerator) internal view returns (bytes32 _id) { - _id = keccak256(abi.encodePacked( - _forModerator ? INTERMEDIATE_MODERATOR_DGD_IDENTIFIER : INTERMEDIATE_DGD_IDENTIFIER, - _quarterNumber - )); - } - - - // final step in calculateGlobalRewardsBeforeNewQuarter, which is to save the DaoQuarterInfo struct for this quarter - function processGlobalRewardsUpdate(QuarterRewardsInfo memory info) internal { - // calculate how much DGX rewards we got for this quarter - info.dgxRewardsPoolLastQuarter = - ERC20(ADDRESS_DGX_TOKEN).balanceOf(address(this)) - .add(daoRewardsStorage().totalDGXsClaimed()) - .sub(info.qInfo.sumRewardsFromBeginning); - - // starting new quarter, no one locked in DGDs yet - daoStakeStorage().updateTotalLockedDGDStake(0); - daoStakeStorage().updateTotalModeratorLockedDGDs(0); - - daoRewardsStorage().updateQuarterInfo( - info.previousQuarter.add(1), - getUintConfig(CONFIG_MINIMAL_QUARTER_POINT), - getUintConfig(CONFIG_QUARTER_POINT_SCALING_FACTOR), - getUintConfig(CONFIG_REPUTATION_POINT_SCALING_FACTOR), - info.totalEffectiveDGDPreviousQuarter, - - getUintConfig(CONFIG_MODERATOR_MINIMAL_QUARTER_POINT), - getUintConfig(CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR), - getUintConfig(CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR), - info.totalEffectiveModeratorDGDLastQuarter, - - now, - info.dgxRewardsPoolLastQuarter, - info.qInfo.sumRewardsFromBeginning.add(info.dgxRewardsPoolLastQuarter) - ); - } - - - // Sum the effective balance (could be effectiveDGDBalance or effectiveModeratorDGDBalance), given that we have _operations left - function sumEffectiveBalance ( - QuarterRewardsInfo memory info, - bool _badgeCalculation, // false if this is the first step, true if its the second step - uint256 _operations, - DaoStructs.IntermediateResults memory _interResults - ) - internal - returns (uint _operationsLeft) - { - if (_operations == 0) return _operations; // no more operations left, quit - - if (_interResults.countedUntil == EMPTY_ADDRESS) { - // if this is the first time we are doing this calculation, we need to - // get the list of the participants to calculate by querying the first _operations participants - info.users = _badgeCalculation ? - daoListingService().listModerators(_operations, true) - : daoListingService().listParticipants(_operations, true); - } else { - info.users = _badgeCalculation ? - daoListingService().listModeratorsFrom(_interResults.countedUntil, _operations, true) - : daoListingService().listParticipantsFrom(_interResults.countedUntil, _operations, true); - - // if this list is the already empty, it means this is the first step (calculating effective balance), and its already done; - if (info.users.length == 0) { - info.doneCalculatingEffectiveBalance = true; - return _operations; - } - } - - address _lastAddress; - _lastAddress = info.users[info.users.length - 1]; - - info.userCount = info.users.length; - for (info.i=0;info.i daoStorage().readProposalDraftVotingTime(_proposalId) - .add(getUintConfig(CONFIG_DRAFT_VOTING_PHASE)) - .add(getUintConfig(CONFIG_VOTE_CLAIMING_DEADLINE)) - || !isNonDigixProposalsWithinLimit(_proposalId)) - { - daoStorage().setProposalDraftPass(_proposalId, false); - daoStorage().setDraftVotingClaim(_proposalId, true); - processCollateralRefund(_proposalId); - return (false, true); - } - require(isFromProposer(_proposalId)); - senderCanDoProposerOperations(); - - if (_operations == 0) { // if no operations are passed, return with done = false - return (false, false); - } - - // get the previously stored intermediary state - DaoStructs.IntermediateResults memory _currentResults; - ( - _currentResults.countedUntil, - _currentResults.currentForCount, - _currentResults.currentAgainstCount, - ) = intermediateResultsStorage().getIntermediateResults(_proposalId); - - // get the moderators to calculate in this transaction, based on intermediate state - address[] memory _moderators; - if (_currentResults.countedUntil == EMPTY_ADDRESS) { - _moderators = daoListingService().listModerators( - _operations, - true - ); - } else { - _moderators = daoListingService().listModeratorsFrom( - _currentResults.countedUntil, - _operations, - true - ); - } - - // count the votes for this batch of moderators - DaoIntermediateStructs.VotingCount memory _voteCount; - (_voteCount.forCount, _voteCount.againstCount) = daoStorage().readDraftVotingCount(_proposalId, _moderators); - - _currentResults.countedUntil = _moderators[_moderators.length-1]; - _currentResults.currentForCount = _currentResults.currentForCount.add(_voteCount.forCount); - _currentResults.currentAgainstCount = _currentResults.currentAgainstCount.add(_voteCount.againstCount); - - if (_moderators[_moderators.length-1] == daoStakeStorage().readLastModerator()) { - // this is the last iteration - _passed = processDraftVotingClaim(_proposalId, _currentResults); - _done = true; - - // reset intermediate result for the proposal. - intermediateResultsStorage().resetIntermediateResults(_proposalId); - } else { - // update intermediate results - intermediateResultsStorage().setIntermediateResults( - _proposalId, - _currentResults.countedUntil, - _currentResults.currentForCount, - _currentResults.currentAgainstCount, - 0 - ); - } - } - - - function processDraftVotingClaim(bytes32 _proposalId, DaoStructs.IntermediateResults _currentResults) - internal - returns (bool _passed) - { - if ( - (_currentResults.currentForCount.add(_currentResults.currentAgainstCount) > daoCalculatorService().minimumDraftQuorum(_proposalId)) && - (daoCalculatorService().draftQuotaPass(_currentResults.currentForCount, _currentResults.currentAgainstCount)) - ) { - daoStorage().setProposalDraftPass(_proposalId, true); - - // set startTime of first voting round - // and the start of first milestone. - uint256 _idealStartTime = daoStorage().readProposalDraftVotingTime(_proposalId).add(getUintConfig(CONFIG_DRAFT_VOTING_PHASE)); - daoStorage().setProposalVotingTime( - _proposalId, - 0, - getTimelineForNextVote(0, _idealStartTime) - ); - _passed = true; - } else { - daoStorage().setProposalDraftPass(_proposalId, false); - processCollateralRefund(_proposalId); - } - - daoStorage().setDraftVotingClaim(_proposalId, true); - } - - /// NOTE: Voting round i-th is before milestone index i-th - - - /** - @notice Function to claim the voting round results - @dev This function has two major steps: - - Counting the votes - + There is no need for this step if there are some conditions that makes the proposal auto failed - + The number of operations needed for this step is the number of participants in the quarter - - Calculating the bonus for the voters in the preceding round - + We can skip this step if this is the Voting round 0 (there is no preceding voting round to calculate bonus) - + The number of operations needed for this step is the number of participants who voted "correctly" in the preceding voting round - Step 1 will have to finish first before step 2. The proposer is supposed to call this function repeatedly, - until _done is true - - If the voting round fails, the collateral will be returned back to the proposer - @param _proposalId ID of the proposal - @param _index Index of the voting round - @param _operations Number of operations to do in this call - @return { - "_passed": "Boolean, true if the voting round passed, false if failed" - } - */ - function claimProposalVotingResult(bytes32 _proposalId, uint256 _index, uint256 _operations) - public - ifNotClaimed(_proposalId, _index) - ifAfterProposalRevealPhase(_proposalId, _index) - returns (bool _passed, bool _done) - { - require(isMainPhase()); - - // STEP 1 - // If the claiming deadline is over, the proposal is auto failed, and anyone can call this function - // Here, _done is refering to whether STEP 1 is done - _done = true; - _passed = false; // redundant, put here just to emphasize that its false - uint256 _operationsLeft = _operations; - - if (_operations == 0) { // if no operations are passed, return with done = false - return (false, false); - } - - // In other words, we only need to do Step 1 if its before the deadline - if (now < startOfMilestone(_proposalId, _index) - .add(getUintConfig(CONFIG_VOTE_CLAIMING_DEADLINE))) - { - (_operationsLeft, _passed, _done) = countProposalVote(_proposalId, _index, _operations); - // from here on, _operationsLeft is the number of operations left, after Step 1 is done - if (!_done) return (_passed, false); // haven't done Step 1 yet, return. The value of _passed here is irrelevant - } - - // STEP 2 - // from this point onwards, _done refers to step 2 - _done = false; - - if (_index > 0) { // We only need to do bonus calculation if its a interim voting round - _done = calculateVoterBonus(_proposalId, _index, _operationsLeft, _passed); - if (!_done) return (_passed, false); // Step 2 is not done yet, return - } else { - // its the first voting round, we return the collateral if it fails, locks if it passes - - _passed = _passed && isNonDigixProposalsWithinLimit(_proposalId); // can only pass if its within the non-digix proposal limit - if (_passed) { - daoStorage().setProposalCollateralStatus( - _proposalId, - COLLATERAL_STATUS_LOCKED - ); - - } else { - processCollateralRefund(_proposalId); - } - } - - if (_passed) { - processSuccessfulVotingClaim(_proposalId, _index); - } - daoStorage().setVotingClaim(_proposalId, _index, true); - daoStorage().setProposalPass(_proposalId, _index, _passed); - _done = true; - } - - - // do the necessary steps after a successful voting round. - function processSuccessfulVotingClaim(bytes32 _proposalId, uint256 _index) - internal - { - // clear the intermediate results for the proposal, so that next voting rounds can reuse the same key for the intermediate results - intermediateResultsStorage().resetIntermediateResults(_proposalId); - - // if this was the final voting round, unlock their original collateral - uint256[] memory _milestoneFundings; - (_milestoneFundings,) = daoStorage().readProposalFunding(_proposalId); - if (_index == _milestoneFundings.length) { - processCollateralRefund(_proposalId); - daoStorage().archiveProposal(_proposalId); - } - - // increase the non-digix proposal count accordingly - bool _isDigixProposal; - (,,,,,,,,,_isDigixProposal) = daoStorage().readProposal(_proposalId); - if (_index == 0 && !_isDigixProposal) { - daoProposalCounterStorage().addNonDigixProposalCountInQuarter(currentQuarterNumber()); - } - - // Add quarter point for the proposer - uint256 _funding = daoStorage().readProposalMilestone(_proposalId, _index); - daoPointsStorage().addQuarterPoint( - daoStorage().readProposalProposer(_proposalId), - getUintConfig(CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH).mul(_funding).div(10000 ether), - currentQuarterNumber() - ); - } - - - function getInterResultKeyForBonusCalculation(bytes32 _proposalId) public view returns (bytes32 _key) { - _key = keccak256(abi.encodePacked( - _proposalId, - INTERMEDIATE_BONUS_CALCULATION_IDENTIFIER - )); - } - - - // calculate and update the bonuses for voters who voted "correctly" in the preceding voting round - function calculateVoterBonus(bytes32 _proposalId, uint256 _index, uint256 _operations, bool _passed) - internal - returns (bool _done) - { - if (_operations == 0) return false; - address _countedUntil; - (_countedUntil,,,) = intermediateResultsStorage().getIntermediateResults( - getInterResultKeyForBonusCalculation(_proposalId) - ); - - address[] memory _voterBatch; - if (_countedUntil == EMPTY_ADDRESS) { - _voterBatch = daoListingService().listParticipants( - _operations, - true - ); - } else { - _voterBatch = daoListingService().listParticipantsFrom( - _countedUntil, - _operations, - true - ); - } - address _lastVoter = _voterBatch[_voterBatch.length - 1]; // this will fail if _voterBatch is empty. However, there is at least the proposer as a participant in the quarter. - - DaoIntermediateStructs.Users memory _bonusVoters; - if (_passed) { - - // give bonus points for all those who - // voted YES in the previous round - (_bonusVoters.users, _bonusVoters.usersLength) = daoStorage().readVotingRoundVotes(_proposalId, _index.sub(1), _voterBatch, true); - } else { - // give bonus points for all those who - // voted NO in the previous round - (_bonusVoters.users, _bonusVoters.usersLength) = daoStorage().readVotingRoundVotes(_proposalId, _index.sub(1), _voterBatch, false); - } - - if (_bonusVoters.usersLength > 0) addBonusReputation(_bonusVoters.users, _bonusVoters.usersLength); - - if (_lastVoter == daoStakeStorage().readLastParticipant()) { - // this is the last iteration - - intermediateResultsStorage().resetIntermediateResults( - getInterResultKeyForBonusCalculation(_proposalId) - ); - _done = true; - } else { - // this is not the last iteration yet, save the intermediate results - intermediateResultsStorage().setIntermediateResults( - getInterResultKeyForBonusCalculation(_proposalId), - _lastVoter, 0, 0, 0 - ); - } - } - - - // Count the votes for a Voting Round and find out if its passed - /// @return _operationsLeft The number of operations left after the calculations in this function - /// @return _passed Whether this voting round passed - /// @return _done Whether the calculation for this step 1 is already done. If its not done, this function will need to run again in subsequent transactions - /// until _done is true - function countProposalVote(bytes32 _proposalId, uint256 _index, uint256 _operations) - internal - returns (uint256 _operationsLeft, bool _passed, bool _done) - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - - DaoStructs.IntermediateResults memory _currentResults; - ( - _currentResults.countedUntil, - _currentResults.currentForCount, - _currentResults.currentAgainstCount, - ) = intermediateResultsStorage().getIntermediateResults(_proposalId); - address[] memory _voters; - if (_currentResults.countedUntil == EMPTY_ADDRESS) { // This is the first transaction to count votes for this voting round - _voters = daoListingService().listParticipants( - _operations, - true - ); - } else { - _voters = daoListingService().listParticipantsFrom( - _currentResults.countedUntil, - _operations, - true - ); - - // If there's no voters left to count, this means that STEP 1 is already done, just return whether it was passed - // Note that _currentResults should already be storing the final tally of votes for this voting round, as already calculated in previous iterations of this function - if (_voters.length == 0) { - return ( - _operations, - isVoteCountPassed(_currentResults, _proposalId, _index), - true - ); - } - } - - address _lastVoter = _voters[_voters.length - 1]; - - DaoIntermediateStructs.VotingCount memory _count; - (_count.forCount, _count.againstCount) = daoStorage().readVotingCount(_proposalId, _index, _voters); - - _currentResults.currentForCount = _currentResults.currentForCount.add(_count.forCount); - _currentResults.currentAgainstCount = _currentResults.currentAgainstCount.add(_count.againstCount); - intermediateResultsStorage().setIntermediateResults( - _proposalId, - _lastVoter, - _currentResults.currentForCount, - _currentResults.currentAgainstCount, - 0 - ); - - if (_lastVoter != daoStakeStorage().readLastParticipant()) { - return (0, false, false); // hasn't done STEP 1 yet. The parent function (claimProposalVotingResult) should return after this. More transactions are needed to continue the calculation - } - - // If it comes to here, this means all votes have already been counted - // From this point, the IntermediateResults struct will store the total tally of the votes for this voting round until processSuccessfulVotingClaim() is called, - // which will reset it. - - _operationsLeft = _operations.sub(_voters.length); - _done = true; - - _passed = isVoteCountPassed(_currentResults, _proposalId, _index); - } - - - function isVoteCountPassed(DaoStructs.IntermediateResults _currentResults, bytes32 _proposalId, uint256 _index) - internal - view - returns (bool _passed) - { - _passed = (_currentResults.currentForCount.add(_currentResults.currentAgainstCount) > daoCalculatorService().minimumVotingQuorum(_proposalId, _index)) - && (daoCalculatorService().votingQuotaPass(_currentResults.currentForCount, _currentResults.currentAgainstCount)); - } - - - function processCollateralRefund(bytes32 _proposalId) - internal - { - daoStorage().setProposalCollateralStatus(_proposalId, COLLATERAL_STATUS_CLAIMED); - require(daoFundingManager().refundCollateral(daoStorage().readProposalProposer(_proposalId), _proposalId)); - } - - - // add bonus reputation for voters that voted "correctly" in the preceding voting round AND is currently participating this quarter - function addBonusReputation(address[] _voters, uint256 _n) - private - { - uint256 _qp = getUintConfig(CONFIG_QUARTER_POINT_VOTE); - uint256 _rate = getUintConfig(CONFIG_BONUS_REPUTATION_NUMERATOR); - uint256 _base = getUintConfig(CONFIG_BONUS_REPUTATION_DENOMINATOR); - - uint256 _bonus = _qp.mul(_rate).mul(getUintConfig(CONFIG_REPUTATION_PER_EXTRA_QP_NUM)) - .div( - _base.mul(getUintConfig(CONFIG_REPUTATION_PER_EXTRA_QP_DEN)) - ); - - for (uint256 i = 0; i < _n; i++) { - if (isParticipant(_voters[i])) { // only give bonus reputation to current participants - daoPointsStorage().increaseReputation(_voters[i], _bonus); - } - } - } - -} - - - - - - - -/** -@title Interactive DAO contract for creating/modifying/endorsing proposals -@author Digix Holdings -*/ -contract Dao is DaoCommon { - - event NewProposal(bytes32 indexed _proposalId, address _proposer); - event ModifyProposal(bytes32 indexed _proposalId, bytes32 _newDoc); - event ChangeProposalFunding(bytes32 indexed _proposalId); - event FinalizeProposal(bytes32 indexed _proposalId); - event FinishMilestone(bytes32 indexed _proposalId, uint256 indexed _milestoneIndex); - event AddProposalDoc(bytes32 indexed _proposalId, bytes32 _newDoc); - event PRLAction(bytes32 indexed _proposalId, uint256 _actionId, bytes32 _doc); - event CloseProposal(bytes32 indexed _proposalId); - event MigrateToNewDao(address _newDaoContract, address _newDaoFundingManager, address _newDaoRewardsManager); - - constructor(address _resolver) public { - require(init(CONTRACT_DAO, _resolver)); - } - - function daoFundingManager() - internal - view - returns (DaoFundingManager _contract) - { - _contract = DaoFundingManager(get_contract(CONTRACT_DAO_FUNDING_MANAGER)); - } - - function daoRewardsManager() - internal - view - returns (DaoRewardsManager _contract) - { - _contract = DaoRewardsManager(get_contract(CONTRACT_DAO_REWARDS_MANAGER)); - } - - function daoVotingClaims() - internal - view - returns (DaoVotingClaims _contract) - { - _contract = DaoVotingClaims(get_contract(CONTRACT_DAO_VOTING_CLAIMS)); - } - - /** - @notice Set addresses for the new Dao and DaoFundingManager contracts - @dev This is the first step of the 2-step migration - @param _newDaoContract Address of the new Dao contract - @param _newDaoFundingManager Address of the new DaoFundingManager contract - @param _newDaoRewardsManager Address of the new daoRewardsManager contract - */ - function setNewDaoContracts( - address _newDaoContract, - address _newDaoFundingManager, - address _newDaoRewardsManager - ) - public - if_root() - { - require(daoUpgradeStorage().isReplacedByNewDao() == false); - daoUpgradeStorage().setNewContractAddresses( - _newDaoContract, - _newDaoFundingManager, - _newDaoRewardsManager - ); - } - - /** - @notice Migrate this DAO to a new DAO contract - @dev This is the second step of the 2-step migration - Migration can only be done during the locking phase, after the global rewards for current quarter are set. - This is to make sure that there is no rewards calculation pending before the DAO is migrated to new contracts - The addresses of the new Dao contracts have to be provided again, and be double checked against the addresses that were set in setNewDaoContracts() - @param _newDaoContract Address of the new DAO contract - @param _newDaoFundingManager Address of the new DaoFundingManager contract, which would receive the remaining ETHs in this DaoFundingManager - @param _newDaoRewardsManager Address of the new daoRewardsManager contract, which would receive the claimableDGXs from this daoRewardsManager - */ - function migrateToNewDao( - address _newDaoContract, - address _newDaoFundingManager, - address _newDaoRewardsManager - ) - public - if_root() - ifGlobalRewardsSet(currentQuarterNumber()) - { - require(isLockingPhase()); - require(daoUpgradeStorage().isReplacedByNewDao() == false); - require( - (daoUpgradeStorage().newDaoContract() == _newDaoContract) && - (daoUpgradeStorage().newDaoFundingManager() == _newDaoFundingManager) && - (daoUpgradeStorage().newDaoRewardsManager() == _newDaoRewardsManager) - ); - daoUpgradeStorage().updateForDaoMigration(); - daoFundingManager().moveFundsToNewDao(_newDaoFundingManager); - daoRewardsManager().moveDGXsToNewDao(_newDaoRewardsManager); - emit MigrateToNewDao(_newDaoContract, _newDaoFundingManager, _newDaoRewardsManager); - } - - /** - @notice Call this function to mark the start of the DAO's first quarter. This can only be done once, by a founder - @param _start Start time of the first quarter in the DAO - */ - function setStartOfFirstQuarter(uint256 _start) public if_founder() { - require(daoUpgradeStorage().startOfFirstQuarter() == 0); - require(_start > now); - daoUpgradeStorage().setStartOfFirstQuarter(_start); - } - - /** - @notice Submit a new preliminary idea / Pre-proposal - @dev The proposer has to send in a collateral == getUintConfig(CONFIG_PREPROPOSAL_COLLATERAL) - which he could claim back in these scenarios: - - Before the proposal is finalized, by calling closeProposal() - - After all milestones are done and the final voting round is passed - - @param _docIpfsHash Hash of the IPFS doc containing details of proposal - @param _milestonesFundings Array of fundings of the proposal milestones (in wei) - @param _finalReward Final reward asked by proposer at successful completion of all milestones of proposal - */ - function submitPreproposal( - bytes32 _docIpfsHash, - uint256[] _milestonesFundings, - uint256 _finalReward - ) - external - payable - { - senderCanDoProposerOperations(); - bool _isFounder = is_founder(); - - require(MathHelper.sumNumbers(_milestonesFundings).add(_finalReward) <= weiInDao()); - - require(msg.value == getUintConfig(CONFIG_PREPROPOSAL_COLLATERAL)); - require(address(daoFundingManager()).call.gas(25000).value(msg.value)()); - - checkNonDigixFundings(_milestonesFundings, _finalReward); - - daoStorage().addProposal(_docIpfsHash, msg.sender, _milestonesFundings, _finalReward, _isFounder); - daoStorage().setProposalCollateralStatus(_docIpfsHash, COLLATERAL_STATUS_UNLOCKED); - daoStorage().setProposalCollateralAmount(_docIpfsHash, msg.value); - - emit NewProposal(_docIpfsHash, msg.sender); - } - - /** - @notice Modify a proposal (this can be done only before setting the final version) - @param _proposalId Proposal ID (hash of IPFS doc of the first version of the proposal) - @param _docIpfsHash Hash of IPFS doc of the modified version of the proposal - @param _milestonesFundings Array of fundings of the modified version of the proposal (in wei) - @param _finalReward Final reward on successful completion of all milestones of the modified version of proposal (in wei) - */ - function modifyProposal( - bytes32 _proposalId, - bytes32 _docIpfsHash, - uint256[] _milestonesFundings, - uint256 _finalReward - ) - external - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - - require(isEditable(_proposalId)); - bytes32 _currentState; - (,,,_currentState,,,,,,) = daoStorage().readProposal(_proposalId); - require(_currentState == PROPOSAL_STATE_PREPROPOSAL || - _currentState == PROPOSAL_STATE_DRAFT); - - checkNonDigixFundings(_milestonesFundings, _finalReward); - - daoStorage().editProposal(_proposalId, _docIpfsHash, _milestonesFundings, _finalReward); - - emit ModifyProposal(_proposalId, _docIpfsHash); - } - - /** - @notice Function to change the funding structure for a proposal - @dev Proposers can only change fundings for the subsequent milestones, - during the duration of an on-going milestone (so, cannot be before proposal finalization or during any voting phase) - @param _proposalId ID of the proposal - @param _milestonesFundings Array of fundings for milestones - @param _finalReward Final reward needed for completion of proposal - @param _currentMilestone the milestone number the proposal is currently in - */ - function changeFundings( - bytes32 _proposalId, - uint256[] _milestonesFundings, - uint256 _finalReward, - uint256 _currentMilestone - ) - external - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - - checkNonDigixFundings(_milestonesFundings, _finalReward); - - uint256[] memory _currentFundings; - (_currentFundings,) = daoStorage().readProposalFunding(_proposalId); - - // If there are N milestones, the milestone index must be < N. Otherwise, putting a milestone index of N will actually return a valid timestamp that is - // right after the final voting round (voting round index N is the final voting round) - // Which could be abused ( to add more milestones even after the final voting round) - require(_currentMilestone < _currentFundings.length); - - uint256 _startOfCurrentMilestone = startOfMilestone(_proposalId, _currentMilestone); - - // must be after the start of the milestone, and the milestone has not been finished yet (next voting hasnt started) - require(now > _startOfCurrentMilestone); - require(daoStorage().readProposalVotingTime(_proposalId, _currentMilestone.add(1)) == 0); - - // can only modify the fundings after _currentMilestone - // so, all the fundings from 0 to _currentMilestone must be the same - for (uint256 i=0;i<=_currentMilestone;i++) { - require(_milestonesFundings[i] == _currentFundings[i]); - } - - daoStorage().changeFundings(_proposalId, _milestonesFundings, _finalReward); - - emit ChangeProposalFunding(_proposalId); - } - - /** - @notice Finalize a proposal - @dev After finalizing a proposal, no more proposal version can be added. Proposer will only be able to change fundings and add more docs - Right after finalizing a proposal, the draft voting round starts. The proposer would also not be able to closeProposal() anymore - (hence, cannot claim back the collateral anymore, until the final voting round passes) - @param _proposalId ID of the proposal - */ - function finalizeProposal(bytes32 _proposalId) - public - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - require(isEditable(_proposalId)); - checkNonDigixProposalLimit(_proposalId); - - // make sure we have reasonably enough time left in the quarter to conduct the Draft Voting. - // Otherwise, the proposer must wait until the next quarter to finalize the proposal - require(getTimeLeftInQuarter(now) > getUintConfig(CONFIG_DRAFT_VOTING_PHASE).add(getUintConfig(CONFIG_VOTE_CLAIMING_DEADLINE))); - address _endorser; - (,,_endorser,,,,,,,) = daoStorage().readProposal(_proposalId); - require(_endorser != EMPTY_ADDRESS); - daoStorage().finalizeProposal(_proposalId); - daoStorage().setProposalDraftVotingTime(_proposalId, now); - - emit FinalizeProposal(_proposalId); - } - - /** - @notice Function to set milestone to be completed - @dev This can only be called in the Main Phase of DigixDAO by the proposer. It sets the - voting time for the next milestone, which is immediately, for most of the times. If there is not enough time left in the current - quarter, then the next voting is postponed to the start of next quarter - @param _proposalId ID of the proposal - @param _milestoneIndex Index of the milestone. Index starts from 0 (for the first milestone) - */ - function finishMilestone(bytes32 _proposalId, uint256 _milestoneIndex) - public - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - - uint256[] memory _currentFundings; - (_currentFundings,) = daoStorage().readProposalFunding(_proposalId); - - // If there are N milestones, the milestone index must be < N. Otherwise, putting a milestone index of N will actually return a valid timestamp that is - // right after the final voting round (voting round index N is the final voting round) - // Which could be abused ( to "finish" a milestone even after the final voting round) - require(_milestoneIndex < _currentFundings.length); - - // must be after the start of this milestone, and the milestone has not been finished yet (voting hasnt started) - uint256 _startOfCurrentMilestone = startOfMilestone(_proposalId, _milestoneIndex); - require(now > _startOfCurrentMilestone); - require(daoStorage().readProposalVotingTime(_proposalId, _milestoneIndex.add(1)) == 0); - - daoStorage().setProposalVotingTime( - _proposalId, - _milestoneIndex.add(1), - getTimelineForNextVote(_milestoneIndex.add(1), now) - ); // set the voting time of next voting - - emit FinishMilestone(_proposalId, _milestoneIndex); - } - - /** - @notice Add IPFS docs to a proposal - @dev This is allowed only after a proposal is finalized. Before finalizing - a proposal, proposer can modifyProposal and basically create a different ProposalVersion. After the proposal is finalized, - they can only allProposalDoc to the final version of that proposal - @param _proposalId ID of the proposal - @param _newDoc hash of the new IPFS doc - */ - function addProposalDoc(bytes32 _proposalId, bytes32 _newDoc) - public - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - bytes32 _finalVersion; - (,,,,,,,_finalVersion,,) = daoStorage().readProposal(_proposalId); - require(_finalVersion != EMPTY_BYTES); - daoStorage().addProposalDoc(_proposalId, _newDoc); - - emit AddProposalDoc(_proposalId, _newDoc); - } - - /** - @notice Function to endorse a pre-proposal (can be called only by DAO Moderator) - @param _proposalId ID of the proposal (hash of IPFS doc of the first version of the proposal) - */ - function endorseProposal(bytes32 _proposalId) - public - isProposalState(_proposalId, PROPOSAL_STATE_PREPROPOSAL) - { - require(isMainPhase()); - require(isModerator(msg.sender)); - daoStorage().updateProposalEndorse(_proposalId, msg.sender); - } - - /** - @notice Function to update the PRL (regulatory status) status of a proposal - @dev if a proposal is paused or stopped, the proposer wont be able to withdraw the funding - @param _proposalId ID of the proposal - @param _doc hash of IPFS uploaded document, containing details of PRL Action - */ - function updatePRL( - bytes32 _proposalId, - uint256 _action, - bytes32 _doc - ) - public - if_prl() - { - require(_action == PRL_ACTION_STOP || _action == PRL_ACTION_PAUSE || _action == PRL_ACTION_UNPAUSE); - daoStorage().updateProposalPRL(_proposalId, _action, _doc, now); - - emit PRLAction(_proposalId, _action, _doc); - } - - /** - @notice Function to close proposal (also get back collateral) - @dev Can only be closed if the proposal has not been finalized yet - @param _proposalId ID of the proposal - */ - function closeProposal(bytes32 _proposalId) - public - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - bytes32 _finalVersion; - bytes32 _status; - (,,,_status,,,,_finalVersion,,) = daoStorage().readProposal(_proposalId); - require(_finalVersion == EMPTY_BYTES); - require(_status != PROPOSAL_STATE_CLOSED); - require(daoStorage().readProposalCollateralStatus(_proposalId) == COLLATERAL_STATUS_UNLOCKED); - - daoStorage().closeProposal(_proposalId); - daoStorage().setProposalCollateralStatus(_proposalId, COLLATERAL_STATUS_CLAIMED); - emit CloseProposal(_proposalId); - require(daoFundingManager().refundCollateral(msg.sender, _proposalId)); - } - - /** - @notice Function for founders to close all the dead proposals - @dev Dead proposals = all proposals who are not yet finalized, and been there for more than the threshold time - The proposers of dead proposals will not get the collateral back - @param _proposalIds Array of proposal IDs - */ - function founderCloseProposals(bytes32[] _proposalIds) - external - if_founder() - { - uint256 _length = _proposalIds.length; - uint256 _timeCreated; - bytes32 _finalVersion; - bytes32 _currentState; - for (uint256 _i = 0; _i < _length; _i++) { - (,,,_currentState,_timeCreated,,,_finalVersion,,) = daoStorage().readProposal(_proposalIds[_i]); - require(_finalVersion == EMPTY_BYTES); - require( - (_currentState == PROPOSAL_STATE_PREPROPOSAL) || - (_currentState == PROPOSAL_STATE_DRAFT) - ); - require(now > _timeCreated.add(getUintConfig(CONFIG_PROPOSAL_DEAD_DURATION))); - emit CloseProposal(_proposalIds[_i]); - daoStorage().closeProposal(_proposalIds[_i]); - } - } -} - - - - - - -/** -@title Contract to manage DAO funds -@author Digix Holdings -*/ -contract DaoFundingManager is DaoCommon { - - address public FUNDING_SOURCE; - - event ClaimFunding(bytes32 indexed _proposalId, uint256 indexed _votingRound, uint256 _funding); - - constructor(address _resolver, address _fundingSource) public { - require(init(CONTRACT_DAO_FUNDING_MANAGER, _resolver)); - FUNDING_SOURCE = _fundingSource; - } - - function dao() - internal - view - returns (Dao _contract) - { - _contract = Dao(get_contract(CONTRACT_DAO)); - } - - /** - @notice Function to set the source of DigixDAO funding - @dev only this source address will be able to fund the DaoFundingManager contract, along with CONTRACT_DAO - @param _fundingSource address of the funding source - */ - function setFundingSource(address _fundingSource) - public - if_root() - { - FUNDING_SOURCE = _fundingSource; - } - - /** - @notice Call function to claim the ETH funding for a certain milestone - @dev Note that the proposer can do this anytime, even in the locking phase - @param _proposalId ID of the proposal - @param _index Index of the proposal voting round that they got passed, which is also the same as the milestone index - */ - function claimFunding(bytes32 _proposalId, uint256 _index) - public - { - require(identity_storage().is_kyc_approved(msg.sender)); - require(isFromProposer(_proposalId)); - - // proposal should not be paused/stopped - require(!isProposalPaused(_proposalId)); - - require(!daoStorage().readIfMilestoneFunded(_proposalId, _index)); - - require(daoStorage().readProposalVotingResult(_proposalId, _index)); - require(daoStorage().isClaimed(_proposalId, _index)); - - uint256 _funding = daoStorage().readProposalMilestone(_proposalId, _index); - - daoStorage().setMilestoneFunded(_proposalId, _index); - - msg.sender.transfer(_funding); - - emit ClaimFunding(_proposalId, _index, _funding); - } - - /** - @notice Function to refund the collateral to _receiver - @dev Can only be called from the Dao contract - @param _receiver The receiver of the funds - @return { - "_success": "Boolean, true if refund was successful" - } - */ - function refundCollateral(address _receiver, bytes32 _proposalId) - public - returns (bool _success) - { - require(sender_is_from([CONTRACT_DAO, CONTRACT_DAO_VOTING_CLAIMS, EMPTY_BYTES])); - refundCollateralInternal(_receiver, _proposalId); - _success = true; - } - - function refundCollateralInternal(address _receiver, bytes32 _proposalId) - internal - { - uint256 _collateralAmount = daoStorage().readProposalCollateralAmount(_proposalId); - _receiver.transfer(_collateralAmount); - } - - /** - @notice Function to move funds to a new DAO - @param _destinationForDaoFunds Ethereum contract address of the new DaoFundingManager - */ - function moveFundsToNewDao(address _destinationForDaoFunds) - public - { - require(sender_is(CONTRACT_DAO)); - uint256 _remainingBalance = address(this).balance; - _destinationForDaoFunds.transfer(_remainingBalance); - } - - /** - @notice Payable fallback function to receive ETH funds from DigixDAO crowdsale contract - @dev this contract can only receive funds from FUNDING_SOURCE address or CONTRACT_DAO (when proposal is created) - */ - function () external payable { - require( - (msg.sender == FUNDING_SOURCE) || - (msg.sender == get_contract(CONTRACT_DAO)) - ); - } -} - - - - - - - -/** -@title Interactive DAO contract for creating/modifying/endorsing proposals -@author Digix Holdings -*/ -contract Dao is DaoCommon { - - event NewProposal(bytes32 indexed _proposalId, address _proposer); - event ModifyProposal(bytes32 indexed _proposalId, bytes32 _newDoc); - event ChangeProposalFunding(bytes32 indexed _proposalId); - event FinalizeProposal(bytes32 indexed _proposalId); - event FinishMilestone(bytes32 indexed _proposalId, uint256 indexed _milestoneIndex); - event AddProposalDoc(bytes32 indexed _proposalId, bytes32 _newDoc); - event PRLAction(bytes32 indexed _proposalId, uint256 _actionId, bytes32 _doc); - event CloseProposal(bytes32 indexed _proposalId); - event MigrateToNewDao(address _newDaoContract, address _newDaoFundingManager, address _newDaoRewardsManager); - - constructor(address _resolver) public { - require(init(CONTRACT_DAO, _resolver)); - } - - function daoFundingManager() - internal - view - returns (DaoFundingManager _contract) - { - _contract = DaoFundingManager(get_contract(CONTRACT_DAO_FUNDING_MANAGER)); - } - - function daoRewardsManager() - internal - view - returns (DaoRewardsManager _contract) - { - _contract = DaoRewardsManager(get_contract(CONTRACT_DAO_REWARDS_MANAGER)); - } - - function daoVotingClaims() - internal - view - returns (DaoVotingClaims _contract) - { - _contract = DaoVotingClaims(get_contract(CONTRACT_DAO_VOTING_CLAIMS)); - } - - /** - @notice Set addresses for the new Dao and DaoFundingManager contracts - @dev This is the first step of the 2-step migration - @param _newDaoContract Address of the new Dao contract - @param _newDaoFundingManager Address of the new DaoFundingManager contract - @param _newDaoRewardsManager Address of the new daoRewardsManager contract - */ - function setNewDaoContracts( - address _newDaoContract, - address _newDaoFundingManager, - address _newDaoRewardsManager - ) - public - if_root() - { - require(daoUpgradeStorage().isReplacedByNewDao() == false); - daoUpgradeStorage().setNewContractAddresses( - _newDaoContract, - _newDaoFundingManager, - _newDaoRewardsManager - ); - } - - /** - @notice Migrate this DAO to a new DAO contract - @dev This is the second step of the 2-step migration - Migration can only be done during the locking phase, after the global rewards for current quarter are set. - This is to make sure that there is no rewards calculation pending before the DAO is migrated to new contracts - The addresses of the new Dao contracts have to be provided again, and be double checked against the addresses that were set in setNewDaoContracts() - @param _newDaoContract Address of the new DAO contract - @param _newDaoFundingManager Address of the new DaoFundingManager contract, which would receive the remaining ETHs in this DaoFundingManager - @param _newDaoRewardsManager Address of the new daoRewardsManager contract, which would receive the claimableDGXs from this daoRewardsManager - */ - function migrateToNewDao( - address _newDaoContract, - address _newDaoFundingManager, - address _newDaoRewardsManager - ) - public - if_root() - ifGlobalRewardsSet(currentQuarterNumber()) - { - require(isLockingPhase()); - require(daoUpgradeStorage().isReplacedByNewDao() == false); - require( - (daoUpgradeStorage().newDaoContract() == _newDaoContract) && - (daoUpgradeStorage().newDaoFundingManager() == _newDaoFundingManager) && - (daoUpgradeStorage().newDaoRewardsManager() == _newDaoRewardsManager) - ); - daoUpgradeStorage().updateForDaoMigration(); - daoFundingManager().moveFundsToNewDao(_newDaoFundingManager); - daoRewardsManager().moveDGXsToNewDao(_newDaoRewardsManager); - emit MigrateToNewDao(_newDaoContract, _newDaoFundingManager, _newDaoRewardsManager); - } - - /** - @notice Call this function to mark the start of the DAO's first quarter. This can only be done once, by a founder - @param _start Start time of the first quarter in the DAO - */ - function setStartOfFirstQuarter(uint256 _start) public if_founder() { - require(daoUpgradeStorage().startOfFirstQuarter() == 0); - require(_start > now); - daoUpgradeStorage().setStartOfFirstQuarter(_start); - } - - /** - @notice Submit a new preliminary idea / Pre-proposal - @dev The proposer has to send in a collateral == getUintConfig(CONFIG_PREPROPOSAL_COLLATERAL) - which he could claim back in these scenarios: - - Before the proposal is finalized, by calling closeProposal() - - After all milestones are done and the final voting round is passed - - @param _docIpfsHash Hash of the IPFS doc containing details of proposal - @param _milestonesFundings Array of fundings of the proposal milestones (in wei) - @param _finalReward Final reward asked by proposer at successful completion of all milestones of proposal - */ - function submitPreproposal( - bytes32 _docIpfsHash, - uint256[] _milestonesFundings, - uint256 _finalReward - ) - external - payable - { - senderCanDoProposerOperations(); - bool _isFounder = is_founder(); - - require(MathHelper.sumNumbers(_milestonesFundings).add(_finalReward) <= weiInDao()); - - require(msg.value == getUintConfig(CONFIG_PREPROPOSAL_COLLATERAL)); - require(address(daoFundingManager()).call.gas(25000).value(msg.value)()); - - checkNonDigixFundings(_milestonesFundings, _finalReward); - - daoStorage().addProposal(_docIpfsHash, msg.sender, _milestonesFundings, _finalReward, _isFounder); - daoStorage().setProposalCollateralStatus(_docIpfsHash, COLLATERAL_STATUS_UNLOCKED); - daoStorage().setProposalCollateralAmount(_docIpfsHash, msg.value); - - emit NewProposal(_docIpfsHash, msg.sender); - } - - /** - @notice Modify a proposal (this can be done only before setting the final version) - @param _proposalId Proposal ID (hash of IPFS doc of the first version of the proposal) - @param _docIpfsHash Hash of IPFS doc of the modified version of the proposal - @param _milestonesFundings Array of fundings of the modified version of the proposal (in wei) - @param _finalReward Final reward on successful completion of all milestones of the modified version of proposal (in wei) - */ - function modifyProposal( - bytes32 _proposalId, - bytes32 _docIpfsHash, - uint256[] _milestonesFundings, - uint256 _finalReward - ) - external - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - - require(isEditable(_proposalId)); - bytes32 _currentState; - (,,,_currentState,,,,,,) = daoStorage().readProposal(_proposalId); - require(_currentState == PROPOSAL_STATE_PREPROPOSAL || - _currentState == PROPOSAL_STATE_DRAFT); - - checkNonDigixFundings(_milestonesFundings, _finalReward); - - daoStorage().editProposal(_proposalId, _docIpfsHash, _milestonesFundings, _finalReward); - - emit ModifyProposal(_proposalId, _docIpfsHash); - } - - /** - @notice Function to change the funding structure for a proposal - @dev Proposers can only change fundings for the subsequent milestones, - during the duration of an on-going milestone (so, cannot be before proposal finalization or during any voting phase) - @param _proposalId ID of the proposal - @param _milestonesFundings Array of fundings for milestones - @param _finalReward Final reward needed for completion of proposal - @param _currentMilestone the milestone number the proposal is currently in - */ - function changeFundings( - bytes32 _proposalId, - uint256[] _milestonesFundings, - uint256 _finalReward, - uint256 _currentMilestone - ) - external - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - - checkNonDigixFundings(_milestonesFundings, _finalReward); - - uint256[] memory _currentFundings; - (_currentFundings,) = daoStorage().readProposalFunding(_proposalId); - - // If there are N milestones, the milestone index must be < N. Otherwise, putting a milestone index of N will actually return a valid timestamp that is - // right after the final voting round (voting round index N is the final voting round) - // Which could be abused ( to add more milestones even after the final voting round) - require(_currentMilestone < _currentFundings.length); - - uint256 _startOfCurrentMilestone = startOfMilestone(_proposalId, _currentMilestone); - - // must be after the start of the milestone, and the milestone has not been finished yet (next voting hasnt started) - require(now > _startOfCurrentMilestone); - require(daoStorage().readProposalVotingTime(_proposalId, _currentMilestone.add(1)) == 0); - - // can only modify the fundings after _currentMilestone - // so, all the fundings from 0 to _currentMilestone must be the same - for (uint256 i=0;i<=_currentMilestone;i++) { - require(_milestonesFundings[i] == _currentFundings[i]); - } - - daoStorage().changeFundings(_proposalId, _milestonesFundings, _finalReward); - - emit ChangeProposalFunding(_proposalId); - } - - /** - @notice Finalize a proposal - @dev After finalizing a proposal, no more proposal version can be added. Proposer will only be able to change fundings and add more docs - Right after finalizing a proposal, the draft voting round starts. The proposer would also not be able to closeProposal() anymore - (hence, cannot claim back the collateral anymore, until the final voting round passes) - @param _proposalId ID of the proposal - */ - function finalizeProposal(bytes32 _proposalId) - public - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - require(isEditable(_proposalId)); - checkNonDigixProposalLimit(_proposalId); - - // make sure we have reasonably enough time left in the quarter to conduct the Draft Voting. - // Otherwise, the proposer must wait until the next quarter to finalize the proposal - require(getTimeLeftInQuarter(now) > getUintConfig(CONFIG_DRAFT_VOTING_PHASE).add(getUintConfig(CONFIG_VOTE_CLAIMING_DEADLINE))); - address _endorser; - (,,_endorser,,,,,,,) = daoStorage().readProposal(_proposalId); - require(_endorser != EMPTY_ADDRESS); - daoStorage().finalizeProposal(_proposalId); - daoStorage().setProposalDraftVotingTime(_proposalId, now); - - emit FinalizeProposal(_proposalId); - } - - /** - @notice Function to set milestone to be completed - @dev This can only be called in the Main Phase of DigixDAO by the proposer. It sets the - voting time for the next milestone, which is immediately, for most of the times. If there is not enough time left in the current - quarter, then the next voting is postponed to the start of next quarter - @param _proposalId ID of the proposal - @param _milestoneIndex Index of the milestone. Index starts from 0 (for the first milestone) - */ - function finishMilestone(bytes32 _proposalId, uint256 _milestoneIndex) - public - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - - uint256[] memory _currentFundings; - (_currentFundings,) = daoStorage().readProposalFunding(_proposalId); - - // If there are N milestones, the milestone index must be < N. Otherwise, putting a milestone index of N will actually return a valid timestamp that is - // right after the final voting round (voting round index N is the final voting round) - // Which could be abused ( to "finish" a milestone even after the final voting round) - require(_milestoneIndex < _currentFundings.length); - - // must be after the start of this milestone, and the milestone has not been finished yet (voting hasnt started) - uint256 _startOfCurrentMilestone = startOfMilestone(_proposalId, _milestoneIndex); - require(now > _startOfCurrentMilestone); - require(daoStorage().readProposalVotingTime(_proposalId, _milestoneIndex.add(1)) == 0); - - daoStorage().setProposalVotingTime( - _proposalId, - _milestoneIndex.add(1), - getTimelineForNextVote(_milestoneIndex.add(1), now) - ); // set the voting time of next voting - - emit FinishMilestone(_proposalId, _milestoneIndex); - } - - /** - @notice Add IPFS docs to a proposal - @dev This is allowed only after a proposal is finalized. Before finalizing - a proposal, proposer can modifyProposal and basically create a different ProposalVersion. After the proposal is finalized, - they can only allProposalDoc to the final version of that proposal - @param _proposalId ID of the proposal - @param _newDoc hash of the new IPFS doc - */ - function addProposalDoc(bytes32 _proposalId, bytes32 _newDoc) - public - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - bytes32 _finalVersion; - (,,,,,,,_finalVersion,,) = daoStorage().readProposal(_proposalId); - require(_finalVersion != EMPTY_BYTES); - daoStorage().addProposalDoc(_proposalId, _newDoc); - - emit AddProposalDoc(_proposalId, _newDoc); - } - - /** - @notice Function to endorse a pre-proposal (can be called only by DAO Moderator) - @param _proposalId ID of the proposal (hash of IPFS doc of the first version of the proposal) - */ - function endorseProposal(bytes32 _proposalId) - public - isProposalState(_proposalId, PROPOSAL_STATE_PREPROPOSAL) - { - require(isMainPhase()); - require(isModerator(msg.sender)); - daoStorage().updateProposalEndorse(_proposalId, msg.sender); - } - - /** - @notice Function to update the PRL (regulatory status) status of a proposal - @dev if a proposal is paused or stopped, the proposer wont be able to withdraw the funding - @param _proposalId ID of the proposal - @param _doc hash of IPFS uploaded document, containing details of PRL Action - */ - function updatePRL( - bytes32 _proposalId, - uint256 _action, - bytes32 _doc - ) - public - if_prl() - { - require(_action == PRL_ACTION_STOP || _action == PRL_ACTION_PAUSE || _action == PRL_ACTION_UNPAUSE); - daoStorage().updateProposalPRL(_proposalId, _action, _doc, now); - - emit PRLAction(_proposalId, _action, _doc); - } - - /** - @notice Function to close proposal (also get back collateral) - @dev Can only be closed if the proposal has not been finalized yet - @param _proposalId ID of the proposal - */ - function closeProposal(bytes32 _proposalId) - public - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - bytes32 _finalVersion; - bytes32 _status; - (,,,_status,,,,_finalVersion,,) = daoStorage().readProposal(_proposalId); - require(_finalVersion == EMPTY_BYTES); - require(_status != PROPOSAL_STATE_CLOSED); - require(daoStorage().readProposalCollateralStatus(_proposalId) == COLLATERAL_STATUS_UNLOCKED); - - daoStorage().closeProposal(_proposalId); - daoStorage().setProposalCollateralStatus(_proposalId, COLLATERAL_STATUS_CLAIMED); - emit CloseProposal(_proposalId); - require(daoFundingManager().refundCollateral(msg.sender, _proposalId)); - } - - /** - @notice Function for founders to close all the dead proposals - @dev Dead proposals = all proposals who are not yet finalized, and been there for more than the threshold time - The proposers of dead proposals will not get the collateral back - @param _proposalIds Array of proposal IDs - */ - function founderCloseProposals(bytes32[] _proposalIds) - external - if_founder() - { - uint256 _length = _proposalIds.length; - uint256 _timeCreated; - bytes32 _finalVersion; - bytes32 _currentState; - for (uint256 _i = 0; _i < _length; _i++) { - (,,,_currentState,_timeCreated,,,_finalVersion,,) = daoStorage().readProposal(_proposalIds[_i]); - require(_finalVersion == EMPTY_BYTES); - require( - (_currentState == PROPOSAL_STATE_PREPROPOSAL) || - (_currentState == PROPOSAL_STATE_DRAFT) - ); - require(now > _timeCreated.add(getUintConfig(CONFIG_PROPOSAL_DEAD_DURATION))); - emit CloseProposal(_proposalIds[_i]); - daoStorage().closeProposal(_proposalIds[_i]); - } - } -} - - - - - -/// @title Contract Name Registry -/// @author DigixGlobal - -contract ContractResolver is ACOwned, Constants { - - mapping (bytes32 => address) contracts; - bool public locked_forever; - - modifier unless_registered(bytes32 _key) { - require(contracts[_key] == NULL_ADDRESS); - _; - } - - modifier if_owner_origin() { - require(tx.origin == owner); - _; - } - - /// Function modifier to check if msg.sender corresponds to the resolved address of a given key - /// @param _contract The resolver key - modifier if_sender_is(bytes32 _contract) { - require(msg.sender == get_contract(_contract)); - _; - } - - modifier if_not_locked() { - require(locked_forever == false); - _; - } - - /// @dev ContractResolver constructor will perform the following: 1. Set msg.sender as the contract owner. - constructor() public - { - require(init_ac_owned()); - locked_forever = false; - } - - /// @dev Called at contract initialization - /// @param _key bytestring for CACP name - /// @param _contract_address The address of the contract to be registered - /// @return _success if the operation is successful - function init_register_contract(bytes32 _key, address _contract_address) - if_owner_origin() - if_not_locked() - unless_registered(_key) - public - returns (bool _success) - { - require(_contract_address != NULL_ADDRESS); - contracts[_key] = _contract_address; - _success = true; - } - - /// @dev Lock the resolver from any further modifications. This can only be called from the owner - /// @return _success if the operation is successful - function lock_resolver_forever() - if_owner - public - returns (bool _success) - { - locked_forever = true; - _success = true; - } - - /// @dev Get address of a contract - /// @param _key the bytestring name of the contract to look up - /// @return _contract the address of the contract - function get_contract(bytes32 _key) - public - constant - returns (address _contract) - { - require(contracts[_key] != NULL_ADDRESS); - _contract = contracts[_key]; - } - -} -pragma solidity ^0.4.25; - -/// @title Owner based access control -/// @author DigixGlobal - -contract ACOwned { - - address public owner; - address public new_owner; - bool is_ac_owned_init; - - /// @dev Modifier to check if msg.sender is the contract owner - modifier if_owner() { - require(is_owner()); - _; - } - - function init_ac_owned() - internal - returns (bool _success) - { - if (is_ac_owned_init == false) { - owner = msg.sender; - is_ac_owned_init = true; - } - _success = true; - } - - function is_owner() - private - constant - returns (bool _is_owner) - { - _is_owner = (msg.sender == owner); - } - - function change_owner(address _new_owner) - if_owner() - public - returns (bool _success) - { - new_owner = _new_owner; - _success = true; - } - - function claim_ownership() - public - returns (bool _success) - { - require(msg.sender == new_owner); - owner = new_owner; - _success = true; - } - -} - - -/// @title Some useful constants -/// @author DigixGlobal - -contract Constants { - address constant NULL_ADDRESS = address(0x0); - uint256 constant ZERO = uint256(0); - bytes32 constant EMPTY = bytes32(0x0); -} - - - - - -/// @title Contract Name Registry -/// @author DigixGlobal - -contract ContractResolver is ACOwned, Constants { - - mapping (bytes32 => address) contracts; - bool public locked_forever; - - modifier unless_registered(bytes32 _key) { - require(contracts[_key] == NULL_ADDRESS); - _; - } - - modifier if_owner_origin() { - require(tx.origin == owner); - _; - } - - /// Function modifier to check if msg.sender corresponds to the resolved address of a given key - /// @param _contract The resolver key - modifier if_sender_is(bytes32 _contract) { - require(msg.sender == get_contract(_contract)); - _; - } - - modifier if_not_locked() { - require(locked_forever == false); - _; - } - - /// @dev ContractResolver constructor will perform the following: 1. Set msg.sender as the contract owner. - constructor() public - { - require(init_ac_owned()); - locked_forever = false; - } - - /// @dev Called at contract initialization - /// @param _key bytestring for CACP name - /// @param _contract_address The address of the contract to be registered - /// @return _success if the operation is successful - function init_register_contract(bytes32 _key, address _contract_address) - if_owner_origin() - if_not_locked() - unless_registered(_key) - public - returns (bool _success) - { - require(_contract_address != NULL_ADDRESS); - contracts[_key] = _contract_address; - _success = true; - } - - /// @dev Lock the resolver from any further modifications. This can only be called from the owner - /// @return _success if the operation is successful - function lock_resolver_forever() - if_owner - public - returns (bool _success) - { - locked_forever = true; - _success = true; - } - - /// @dev Get address of a contract - /// @param _key the bytestring name of the contract to look up - /// @return _contract the address of the contract - function get_contract(bytes32 _key) - public - view - returns (address _contract) - { - require(contracts[_key] != NULL_ADDRESS); - _contract = contracts[_key]; - } - -} - - - - - -/// @title Contract Resolver Interface -/// @author DigixGlobal - -contract ResolverClient { - - /// The address of the resolver contract for this project - address public resolver; - bytes32 public key; - - /// Make our own address available to us as a constant - address public CONTRACT_ADDRESS; - - /// Function modifier to check if msg.sender corresponds to the resolved address of a given key - /// @param _contract The resolver key - modifier if_sender_is(bytes32 _contract) { - require(sender_is(_contract)); - _; - } - - function sender_is(bytes32 _contract) internal view returns (bool _isFrom) { - _isFrom = msg.sender == ContractResolver(resolver).get_contract(_contract); - } - - modifier if_sender_is_from(bytes32[3] _contracts) { - require(sender_is_from(_contracts)); - _; - } - - function sender_is_from(bytes32[3] _contracts) internal view returns (bool _isFrom) { - uint256 _n = _contracts.length; - for (uint256 i = 0; i < _n; i++) { - if (_contracts[i] == bytes32(0x0)) continue; - if (msg.sender == ContractResolver(resolver).get_contract(_contracts[i])) { - _isFrom = true; - break; - } - } - } - - /// Function modifier to check resolver's locking status. - modifier unless_resolver_is_locked() { - require(is_locked() == false); - _; - } - - /// @dev Initialize new contract - /// @param _key the resolver key for this contract - /// @return _success if the initialization is successful - function init(bytes32 _key, address _resolver) - internal - returns (bool _success) - { - bool _is_locked = ContractResolver(_resolver).locked_forever(); - if (_is_locked == false) { - CONTRACT_ADDRESS = address(this); - resolver = _resolver; - key = _key; - require(ContractResolver(resolver).init_register_contract(key, CONTRACT_ADDRESS)); - _success = true; - } else { - _success = false; - } - } - - /// @dev Check if resolver is locked - /// @return _locked if the resolver is currently locked - function is_locked() - private - view - returns (bool _locked) - { - _locked = ContractResolver(resolver).locked_forever(); - } - - /// @dev Get the address of a contract - /// @param _key the resolver key to look up - /// @return _contract the address of the contract - function get_contract(bytes32 _key) - public - view - returns (address _contract) - { - _contract = ContractResolver(resolver).get_contract(_key); - } -} - -/** - @title Address Iterator Interactive - @author DigixGlobal Pte Ltd -*/ -contract AddressIteratorInteractive { - - /** - @notice Lists a Address collection from start or end - @param _count Total number of Address items to return - @param _function_first Function that returns the First Address item in the list - @param _function_last Function that returns the last Address item in the list - @param _function_next Function that returns the Next Address item in the list - @param _function_previous Function that returns previous Address item in the list - @param _from_start whether to read from start (or end) of the list - @return {"_address_items" : "Collection of reversed Address list"} - */ - function list_addresses(uint256 _count, - function () external constant returns (address) _function_first, - function () external constant returns (address) _function_last, - function (address) external constant returns (address) _function_next, - function (address) external constant returns (address) _function_previous, - bool _from_start) - internal - constant - returns (address[] _address_items) - { - if (_from_start) { - _address_items = private_list_addresses_from_address(_function_first(), _count, true, _function_last, _function_next); - } else { - _address_items = private_list_addresses_from_address(_function_last(), _count, true, _function_first, _function_previous); - } - } - - - - /** - @notice Lists a Address collection from some `_current_item`, going forwards or backwards depending on `_from_start` - @param _current_item The current Item - @param _count Total number of Address items to return - @param _function_first Function that returns the First Address item in the list - @param _function_last Function that returns the last Address item in the list - @param _function_next Function that returns the Next Address item in the list - @param _function_previous Function that returns previous Address item in the list - @param _from_start whether to read in the forwards ( or backwards) direction - @return {"_address_items" :"Collection/list of Address"} - */ - function list_addresses_from(address _current_item, uint256 _count, - function () external constant returns (address) _function_first, - function () external constant returns (address) _function_last, - function (address) external constant returns (address) _function_next, - function (address) external constant returns (address) _function_previous, - bool _from_start) - internal - constant - returns (address[] _address_items) - { - if (_from_start) { - _address_items = private_list_addresses_from_address(_current_item, _count, false, _function_last, _function_next); - } else { - _address_items = private_list_addresses_from_address(_current_item, _count, false, _function_first, _function_previous); - } - } - - - /** - @notice a private function to lists a Address collection starting from some `_current_item` (which could be included or excluded), in the forwards or backwards direction - @param _current_item The current Item - @param _count Total number of Address items to return - @param _including_current Whether the `_current_item` should be included in the result - @param _function_last Function that returns the address where we stop reading more address - @param _function_next Function that returns the next address to read after some address (could be backwards or forwards in the physical collection) - @return {"_address_items" :"Collection/list of Address"} - */ - function private_list_addresses_from_address(address _current_item, uint256 _count, bool _including_current, - function () external constant returns (address) _function_last, - function (address) external constant returns (address) _function_next) - private - constant - returns (address[] _address_items) - { - uint256 _i; - uint256 _real_count = 0; - address _last_item; - - _last_item = _function_last(); - if (_count == 0 || _last_item == address(0x0)) { - _address_items = new address[](0); - } else { - address[] memory _items_temp = new address[](_count); - address _this_item; - if (_including_current == true) { - _items_temp[0] = _current_item; - _real_count = 1; - } - _this_item = _current_item; - for (_i = _real_count; (_i < _count) && (_this_item != _last_item);_i++) { - _this_item = _function_next(_this_item); - if (_this_item != address(0x0)) { - _real_count++; - _items_temp[_i] = _this_item; - } - } - - _address_items = new address[](_real_count); - for(_i = 0;_i < _real_count;_i++) { - _address_items[_i] = _items_temp[_i]; - } - } - } - - - /** DEPRECATED - @notice private function to list a Address collection starting from the start or end of the list - @param _count Total number of Address item to return - @param _function_total Function that returns the Total number of Address item in the list - @param _function_first Function that returns the First Address item in the list - @param _function_next Function that returns the Next Address item in the list - @return {"_address_items" :"Collection/list of Address"} - */ - /*function list_addresses_from_start_or_end(uint256 _count, - function () external constant returns (uint256) _function_total, - function () external constant returns (address) _function_first, - function (address) external constant returns (address) _function_next) - - private - constant - returns (address[] _address_items) - { - uint256 _i; - address _current_item; - uint256 _real_count = _function_total(); - - if (_count > _real_count) { - _count = _real_count; - } - - address[] memory _items_tmp = new address[](_count); - - if (_count > 0) { - _current_item = _function_first(); - _items_tmp[0] = _current_item; - - for(_i = 1;_i <= (_count - 1);_i++) { - _current_item = _function_next(_current_item); - if (_current_item != address(0x0)) { - _items_tmp[_i] = _current_item; - } - } - _address_items = _items_tmp; - } else { - _address_items = new address[](0); - } - }*/ - - /** DEPRECATED - @notice a private function to lists a Address collection starting from some `_current_item`, could be forwards or backwards - @param _current_item The current Item - @param _count Total number of Address items to return - @param _function_last Function that returns the bytes where we stop reading more bytes - @param _function_next Function that returns the next bytes to read after some bytes (could be backwards or forwards in the physical collection) - @return {"_address_items" :"Collection/list of Address"} - */ - /*function list_addresses_from_byte(address _current_item, uint256 _count, - function () external constant returns (address) _function_last, - function (address) external constant returns (address) _function_next) - private - constant - returns (address[] _address_items) - { - uint256 _i; - uint256 _real_count = 0; - - if (_count == 0) { - _address_items = new address[](0); - } else { - address[] memory _items_temp = new address[](_count); - - address _start_item; - address _last_item; - - _last_item = _function_last(); - - if (_last_item != _current_item) { - _start_item = _function_next(_current_item); - if (_start_item != address(0x0)) { - _items_temp[0] = _start_item; - _real_count = 1; - for(_i = 1;(_i <= (_count - 1)) && (_start_item != _last_item);_i++) { - _start_item = _function_next(_start_item); - if (_start_item != address(0x0)) { - _real_count++; - _items_temp[_i] = _start_item; - } - } - _address_items = new address[](_real_count); - for(_i = 0;_i <= (_real_count - 1);_i++) { - _address_items[_i] = _items_temp[_i]; - } - } else { - _address_items = new address[](0); - } - } else { - _address_items = new address[](0); - } - } - }*/ - -} - -/** - @title Bytes Iterator Interactive - @author DigixGlobal Pte Ltd -*/ -contract BytesIteratorInteractive { - - /** - @notice Lists a Bytes collection from start or end - @param _count Total number of Bytes items to return - @param _function_first Function that returns the First Bytes item in the list - @param _function_last Function that returns the last Bytes item in the list - @param _function_next Function that returns the Next Bytes item in the list - @param _function_previous Function that returns previous Bytes item in the list - @param _from_start whether to read from start (or end) of the list - @return {"_bytes_items" : "Collection of reversed Bytes list"} - */ - function list_bytesarray(uint256 _count, - function () external constant returns (bytes32) _function_first, - function () external constant returns (bytes32) _function_last, - function (bytes32) external constant returns (bytes32) _function_next, - function (bytes32) external constant returns (bytes32) _function_previous, - bool _from_start) - internal - constant - returns (bytes32[] _bytes_items) - { - if (_from_start) { - _bytes_items = private_list_bytes_from_bytes(_function_first(), _count, true, _function_last, _function_next); - } else { - _bytes_items = private_list_bytes_from_bytes(_function_last(), _count, true, _function_first, _function_previous); - } - } - - /** - @notice Lists a Bytes collection from some `_current_item`, going forwards or backwards depending on `_from_start` - @param _current_item The current Item - @param _count Total number of Bytes items to return - @param _function_first Function that returns the First Bytes item in the list - @param _function_last Function that returns the last Bytes item in the list - @param _function_next Function that returns the Next Bytes item in the list - @param _function_previous Function that returns previous Bytes item in the list - @param _from_start whether to read in the forwards ( or backwards) direction - @return {"_bytes_items" :"Collection/list of Bytes"} - */ - function list_bytesarray_from(bytes32 _current_item, uint256 _count, - function () external constant returns (bytes32) _function_first, - function () external constant returns (bytes32) _function_last, - function (bytes32) external constant returns (bytes32) _function_next, - function (bytes32) external constant returns (bytes32) _function_previous, - bool _from_start) - internal - constant - returns (bytes32[] _bytes_items) - { - if (_from_start) { - _bytes_items = private_list_bytes_from_bytes(_current_item, _count, false, _function_last, _function_next); - } else { - _bytes_items = private_list_bytes_from_bytes(_current_item, _count, false, _function_first, _function_previous); - } - } - - /** - @notice A private function to lists a Bytes collection starting from some `_current_item` (which could be included or excluded), in the forwards or backwards direction - @param _current_item The current Item - @param _count Total number of Bytes items to return - @param _including_current Whether the `_current_item` should be included in the result - @param _function_last Function that returns the bytes where we stop reading more bytes - @param _function_next Function that returns the next bytes to read after some bytes (could be backwards or forwards in the physical collection) - @return {"_address_items" :"Collection/list of Bytes"} - */ - function private_list_bytes_from_bytes(bytes32 _current_item, uint256 _count, bool _including_current, - function () external constant returns (bytes32) _function_last, - function (bytes32) external constant returns (bytes32) _function_next) - private - constant - returns (bytes32[] _bytes32_items) - { - uint256 _i; - uint256 _real_count = 0; - bytes32 _last_item; - - _last_item = _function_last(); - if (_count == 0 || _last_item == bytes32(0x0)) { - _bytes32_items = new bytes32[](0); - } else { - bytes32[] memory _items_temp = new bytes32[](_count); - bytes32 _this_item; - if (_including_current == true) { - _items_temp[0] = _current_item; - _real_count = 1; - } - _this_item = _current_item; - for (_i = _real_count; (_i < _count) && (_this_item != _last_item);_i++) { - _this_item = _function_next(_this_item); - if (_this_item != bytes32(0x0)) { - _real_count++; - _items_temp[_i] = _this_item; - } - } - - _bytes32_items = new bytes32[](_real_count); - for(_i = 0;_i < _real_count;_i++) { - _bytes32_items[_i] = _items_temp[_i]; - } - } - } - - - - - ////// DEPRECATED FUNCTIONS (old versions) - - /** - @notice a private function to lists a Bytes collection starting from some `_current_item`, could be forwards or backwards - @param _current_item The current Item - @param _count Total number of Bytes items to return - @param _function_last Function that returns the bytes where we stop reading more bytes - @param _function_next Function that returns the next bytes to read after some bytes (could be backwards or forwards in the physical collection) - @return {"_bytes_items" :"Collection/list of Bytes"} - */ - /*function list_bytes_from_bytes(bytes32 _current_item, uint256 _count, - function () external constant returns (bytes32) _function_last, - function (bytes32) external constant returns (bytes32) _function_next) - private - constant - returns (bytes32[] _bytes_items) - { - uint256 _i; - uint256 _real_count = 0; - - if (_count == 0) { - _bytes_items = new bytes32[](0); - } else { - bytes32[] memory _items_temp = new bytes32[](_count); - - bytes32 _start_item; - bytes32 _last_item; - - _last_item = _function_last(); - - if (_last_item != _current_item) { - _start_item = _function_next(_current_item); - if (_start_item != bytes32(0x0)) { - _items_temp[0] = _start_item; - _real_count = 1; - for(_i = 1;(_i <= (_count - 1)) && (_start_item != _last_item);_i++) { - _start_item = _function_next(_start_item); - if (_start_item != bytes32(0x0)) { - _real_count++; - _items_temp[_i] = _start_item; - } - } - _bytes_items = new bytes32[](_real_count); - for(_i = 0;_i <= (_real_count - 1);_i++) { - _bytes_items[_i] = _items_temp[_i]; - } - } else { - _bytes_items = new bytes32[](0); - } - } else { - _bytes_items = new bytes32[](0); - } - } - }*/ - - /** - @notice private function to list a Bytes collection starting from the start or end of the list - @param _count Total number of Bytes item to return - @param _function_total Function that returns the Total number of Bytes item in the list - @param _function_first Function that returns the First Bytes item in the list - @param _function_next Function that returns the Next Bytes item in the list - @return {"_bytes_items" :"Collection/list of Bytes"} - */ - /*function list_bytes_from_start_or_end(uint256 _count, - function () external constant returns (uint256) _function_total, - function () external constant returns (bytes32) _function_first, - function (bytes32) external constant returns (bytes32) _function_next) - - private - constant - returns (bytes32[] _bytes_items) - { - uint256 _i; - bytes32 _current_item; - uint256 _real_count = _function_total(); - - if (_count > _real_count) { - _count = _real_count; - } - - bytes32[] memory _items_tmp = new bytes32[](_count); - - if (_count > 0) { - _current_item = _function_first(); - _items_tmp[0] = _current_item; - - for(_i = 1;_i <= (_count - 1);_i++) { - _current_item = _function_next(_current_item); - if (_current_item != bytes32(0x0)) { - _items_tmp[_i] = _current_item; - } - } - _bytes_items = _items_tmp; - } else { - _bytes_items = new bytes32[](0); - } - }*/ -} - - -/** - @title Indexed Bytes Iterator Interactive - @author DigixGlobal Pte Ltd -*/ -contract IndexedBytesIteratorInteractive { - - /** - @notice Lists an indexed Bytes collection from start or end - @param _collection_index Index of the Collection to list - @param _count Total number of Bytes items to return - @param _function_first Function that returns the First Bytes item in the list - @param _function_last Function that returns the last Bytes item in the list - @param _function_next Function that returns the Next Bytes item in the list - @param _function_previous Function that returns previous Bytes item in the list - @param _from_start whether to read from start (or end) of the list - @return {"_bytes_items" : "Collection of reversed Bytes list"} - */ - function list_indexed_bytesarray(bytes32 _collection_index, uint256 _count, - function (bytes32) external constant returns (bytes32) _function_first, - function (bytes32) external constant returns (bytes32) _function_last, - function (bytes32, bytes32) external constant returns (bytes32) _function_next, - function (bytes32, bytes32) external constant returns (bytes32) _function_previous, - bool _from_start) - internal - constant - returns (bytes32[] _indexed_bytes_items) - { - if (_from_start) { - _indexed_bytes_items = private_list_indexed_bytes_from_bytes(_collection_index, _function_first(_collection_index), _count, true, _function_last, _function_next); - } else { - _indexed_bytes_items = private_list_indexed_bytes_from_bytes(_collection_index, _function_last(_collection_index), _count, true, _function_first, _function_previous); - } - } - - /** - @notice Lists an indexed Bytes collection from some `_current_item`, going forwards or backwards depending on `_from_start` - @param _collection_index Index of the Collection to list - @param _current_item The current Item - @param _count Total number of Bytes items to return - @param _function_first Function that returns the First Bytes item in the list - @param _function_last Function that returns the last Bytes item in the list - @param _function_next Function that returns the Next Bytes item in the list - @param _function_previous Function that returns previous Bytes item in the list - @param _from_start whether to read in the forwards ( or backwards) direction - @return {"_bytes_items" :"Collection/list of Bytes"} - */ - function list_indexed_bytesarray_from(bytes32 _collection_index, bytes32 _current_item, uint256 _count, - function (bytes32) external constant returns (bytes32) _function_first, - function (bytes32) external constant returns (bytes32) _function_last, - function (bytes32, bytes32) external constant returns (bytes32) _function_next, - function (bytes32, bytes32) external constant returns (bytes32) _function_previous, - bool _from_start) - internal - constant - returns (bytes32[] _indexed_bytes_items) - { - if (_from_start) { - _indexed_bytes_items = private_list_indexed_bytes_from_bytes(_collection_index, _current_item, _count, false, _function_last, _function_next); - } else { - _indexed_bytes_items = private_list_indexed_bytes_from_bytes(_collection_index, _current_item, _count, false, _function_first, _function_previous); - } - } - - /** - @notice a private function to lists an indexed Bytes collection starting from some `_current_item` (which could be included or excluded), in the forwards or backwards direction - @param _collection_index Index of the Collection to list - @param _current_item The item where we start reading from the list - @param _count Total number of Bytes items to return - @param _including_current Whether the `_current_item` should be included in the result - @param _function_last Function that returns the bytes where we stop reading more bytes - @param _function_next Function that returns the next bytes to read after another bytes (could be backwards or forwards in the physical collection) - @return {"_bytes_items" :"Collection/list of Bytes"} - */ - function private_list_indexed_bytes_from_bytes(bytes32 _collection_index, bytes32 _current_item, uint256 _count, bool _including_current, - function (bytes32) external constant returns (bytes32) _function_last, - function (bytes32, bytes32) external constant returns (bytes32) _function_next) - private - constant - returns (bytes32[] _indexed_bytes_items) - { - uint256 _i; - uint256 _real_count = 0; - bytes32 _last_item; - - _last_item = _function_last(_collection_index); - if (_count == 0 || _last_item == bytes32(0x0)) { // if count is 0 or the collection is empty, returns empty array - _indexed_bytes_items = new bytes32[](0); - } else { - bytes32[] memory _items_temp = new bytes32[](_count); - bytes32 _this_item; - if (_including_current) { - _items_temp[0] = _current_item; - _real_count = 1; - } - _this_item = _current_item; - for (_i = _real_count; (_i < _count) && (_this_item != _last_item);_i++) { - _this_item = _function_next(_collection_index, _this_item); - if (_this_item != bytes32(0x0)) { - _real_count++; - _items_temp[_i] = _this_item; - } - } - - _indexed_bytes_items = new bytes32[](_real_count); - for(_i = 0;_i < _real_count;_i++) { - _indexed_bytes_items[_i] = _items_temp[_i]; - } - } - } - - - // old function, DEPRECATED - /*function list_indexed_bytes_from_bytes(bytes32 _collection_index, bytes32 _current_item, uint256 _count, - function (bytes32) external constant returns (bytes32) _function_last, - function (bytes32, bytes32) external constant returns (bytes32) _function_next) - private - constant - returns (bytes32[] _indexed_bytes_items) - { - uint256 _i; - uint256 _real_count = 0; - if (_count == 0) { - _indexed_bytes_items = new bytes32[](0); - } else { - bytes32[] memory _items_temp = new bytes32[](_count); - - bytes32 _start_item; - bytes32 _last_item; - - _last_item = _function_last(_collection_index); - - if (_last_item != _current_item) { - _start_item = _function_next(_collection_index, _current_item); - if (_start_item != bytes32(0x0)) { - _items_temp[0] = _start_item; - _real_count = 1; - for(_i = 1;(_i <= (_count - 1)) && (_start_item != _last_item);_i++) { - _start_item = _function_next(_collection_index, _start_item); - if (_start_item != bytes32(0x0)) { - _real_count++; - _items_temp[_i] = _start_item; - } - } - _indexed_bytes_items = new bytes32[](_real_count); - for(_i = 0;_i <= (_real_count - 1);_i++) { - _indexed_bytes_items[_i] = _items_temp[_i]; - } - } else { - _indexed_bytes_items = new bytes32[](0); - } - } else { - _indexed_bytes_items = new bytes32[](0); - } - } - }*/ - - -} - - -library DoublyLinkedList { - - struct Item { - bytes32 item; - uint256 previous_index; - uint256 next_index; - } - - struct Data { - uint256 first_index; - uint256 last_index; - uint256 count; - mapping(bytes32 => uint256) item_index; - mapping(uint256 => bool) valid_indexes; - Item[] collection; - } - - struct IndexedUint { - mapping(bytes32 => Data) data; - } - - struct IndexedAddress { - mapping(bytes32 => Data) data; - } - - struct IndexedBytes { - mapping(bytes32 => Data) data; - } - - struct Address { - Data data; - } - - struct Bytes { - Data data; - } - - struct Uint { - Data data; - } - - uint256 constant NONE = uint256(0); - bytes32 constant EMPTY_BYTES = bytes32(0x0); - address constant NULL_ADDRESS = address(0x0); - - function find(Data storage self, bytes32 _item) - public - constant - returns (uint256 _item_index) - { - if ((self.item_index[_item] == NONE) && (self.count == NONE)) { - _item_index = NONE; - } else { - _item_index = self.item_index[_item]; - } - } - - function get(Data storage self, uint256 _item_index) - public - constant - returns (bytes32 _item) - { - if (self.valid_indexes[_item_index] == true) { - _item = self.collection[_item_index - 1].item; - } else { - _item = EMPTY_BYTES; - } - } - - function append(Data storage self, bytes32 _data) - internal - returns (bool _success) - { - if (find(self, _data) != NONE || _data == bytes32("")) { // rejects addition of empty values - _success = false; - } else { - uint256 _index = uint256(self.collection.push(Item({item: _data, previous_index: self.last_index, next_index: NONE}))); - if (self.last_index == NONE) { - if ((self.first_index != NONE) || (self.count != NONE)) { - revert(); - } else { - self.first_index = self.last_index = _index; - self.count = 1; - } - } else { - self.collection[self.last_index - 1].next_index = _index; - self.last_index = _index; - self.count++; - } - self.valid_indexes[_index] = true; - self.item_index[_data] = _index; - _success = true; - } - } - - function remove(Data storage self, uint256 _index) - internal - returns (bool _success) - { - if (self.valid_indexes[_index] == true) { - Item memory item = self.collection[_index - 1]; - if (item.previous_index == NONE) { - self.first_index = item.next_index; - } else { - self.collection[item.previous_index - 1].next_index = item.next_index; - } - - if (item.next_index == NONE) { - self.last_index = item.previous_index; - } else { - self.collection[item.next_index - 1].previous_index = item.previous_index; - } - delete self.collection[_index - 1]; - self.valid_indexes[_index] = false; - delete self.item_index[item.item]; - self.count--; - _success = true; - } else { - _success = false; - } - } - - function remove_item(Data storage self, bytes32 _item) - internal - returns (bool _success) - { - uint256 _item_index = find(self, _item); - if (_item_index != NONE) { - require(remove(self, _item_index)); - _success = true; - } else { - _success = false; - } - return _success; - } - - function total(Data storage self) - public - constant - returns (uint256 _total_count) - { - _total_count = self.count; - } - - function start(Data storage self) - public - constant - returns (uint256 _item_index) - { - _item_index = self.first_index; - return _item_index; - } - - function start_item(Data storage self) - public - constant - returns (bytes32 _item) - { - uint256 _item_index = start(self); - if (_item_index != NONE) { - _item = get(self, _item_index); - } else { - _item = EMPTY_BYTES; - } - } - - function end(Data storage self) - public - constant - returns (uint256 _item_index) - { - _item_index = self.last_index; - return _item_index; - } - - function end_item(Data storage self) - public - constant - returns (bytes32 _item) - { - uint256 _item_index = end(self); - if (_item_index != NONE) { - _item = get(self, _item_index); - } else { - _item = EMPTY_BYTES; - } - } - - function valid(Data storage self, uint256 _item_index) - public - constant - returns (bool _yes) - { - _yes = self.valid_indexes[_item_index]; - //_yes = ((_item_index - 1) < self.collection.length); - } - - function valid_item(Data storage self, bytes32 _item) - public - constant - returns (bool _yes) - { - uint256 _item_index = self.item_index[_item]; - _yes = self.valid_indexes[_item_index]; - } - - function previous(Data storage self, uint256 _current_index) - public - constant - returns (uint256 _previous_index) - { - if (self.valid_indexes[_current_index] == true) { - _previous_index = self.collection[_current_index - 1].previous_index; - } else { - _previous_index = NONE; - } - } - - function previous_item(Data storage self, bytes32 _current_item) - public - constant - returns (bytes32 _previous_item) - { - uint256 _current_index = find(self, _current_item); - if (_current_index != NONE) { - uint256 _previous_index = previous(self, _current_index); - _previous_item = get(self, _previous_index); - } else { - _previous_item = EMPTY_BYTES; - } - } - - function next(Data storage self, uint256 _current_index) - public - constant - returns (uint256 _next_index) - { - if (self.valid_indexes[_current_index] == true) { - _next_index = self.collection[_current_index - 1].next_index; - } else { - _next_index = NONE; - } - } - - function next_item(Data storage self, bytes32 _current_item) - public - constant - returns (bytes32 _next_item) - { - uint256 _current_index = find(self, _current_item); - if (_current_index != NONE) { - uint256 _next_index = next(self, _current_index); - _next_item = get(self, _next_index); - } else { - _next_item = EMPTY_BYTES; - } - } - - function find(Uint storage self, uint256 _item) - public - constant - returns (uint256 _item_index) - { - _item_index = find(self.data, bytes32(_item)); - } - - function get(Uint storage self, uint256 _item_index) - public - constant - returns (uint256 _item) - { - _item = uint256(get(self.data, _item_index)); - } - - - function append(Uint storage self, uint256 _data) - public - returns (bool _success) - { - _success = append(self.data, bytes32(_data)); - } - - function remove(Uint storage self, uint256 _index) - internal - returns (bool _success) - { - _success = remove(self.data, _index); - } - - function remove_item(Uint storage self, uint256 _item) - public - returns (bool _success) - { - _success = remove_item(self.data, bytes32(_item)); - } - - function total(Uint storage self) - public - constant - returns (uint256 _total_count) - { - _total_count = total(self.data); - } - - function start(Uint storage self) - public - constant - returns (uint256 _index) - { - _index = start(self.data); - } - - function start_item(Uint storage self) - public - constant - returns (uint256 _start_item) - { - _start_item = uint256(start_item(self.data)); - } - - - function end(Uint storage self) - public - constant - returns (uint256 _index) - { - _index = end(self.data); - } - - function end_item(Uint storage self) - public - constant - returns (uint256 _end_item) - { - _end_item = uint256(end_item(self.data)); - } - - function valid(Uint storage self, uint256 _item_index) - public - constant - returns (bool _yes) - { - _yes = valid(self.data, _item_index); - } - - function valid_item(Uint storage self, uint256 _item) - public - constant - returns (bool _yes) - { - _yes = valid_item(self.data, bytes32(_item)); - } - - function previous(Uint storage self, uint256 _current_index) - public - constant - returns (uint256 _previous_index) - { - _previous_index = previous(self.data, _current_index); - } - - function previous_item(Uint storage self, uint256 _current_item) - public - constant - returns (uint256 _previous_item) - { - _previous_item = uint256(previous_item(self.data, bytes32(_current_item))); - } - - function next(Uint storage self, uint256 _current_index) - public - constant - returns (uint256 _next_index) - { - _next_index = next(self.data, _current_index); - } - - function next_item(Uint storage self, uint256 _current_item) - public - constant - returns (uint256 _next_item) - { - _next_item = uint256(next_item(self.data, bytes32(_current_item))); - } - - function find(Address storage self, address _item) - public - constant - returns (uint256 _item_index) - { - _item_index = find(self.data, bytes32(_item)); - } - - function get(Address storage self, uint256 _item_index) - public - constant - returns (address _item) - { - _item = address(get(self.data, _item_index)); - } - - - function find(IndexedUint storage self, bytes32 _collection_index, uint256 _item) - public - constant - returns (uint256 _item_index) - { - _item_index = find(self.data[_collection_index], bytes32(_item)); - } - - function get(IndexedUint storage self, bytes32 _collection_index, uint256 _item_index) - public - constant - returns (uint256 _item) - { - _item = uint256(get(self.data[_collection_index], _item_index)); - } - - - function append(IndexedUint storage self, bytes32 _collection_index, uint256 _data) - public - returns (bool _success) - { - _success = append(self.data[_collection_index], bytes32(_data)); - } - - function remove(IndexedUint storage self, bytes32 _collection_index, uint256 _index) - internal - returns (bool _success) - { - _success = remove(self.data[_collection_index], _index); - } - - function remove_item(IndexedUint storage self, bytes32 _collection_index, uint256 _item) - public - returns (bool _success) - { - _success = remove_item(self.data[_collection_index], bytes32(_item)); - } - - function total(IndexedUint storage self, bytes32 _collection_index) - public - constant - returns (uint256 _total_count) - { - _total_count = total(self.data[_collection_index]); - } - - function start(IndexedUint storage self, bytes32 _collection_index) - public - constant - returns (uint256 _index) - { - _index = start(self.data[_collection_index]); - } - - function start_item(IndexedUint storage self, bytes32 _collection_index) - public - constant - returns (uint256 _start_item) - { - _start_item = uint256(start_item(self.data[_collection_index])); - } - - - function end(IndexedUint storage self, bytes32 _collection_index) - public - constant - returns (uint256 _index) - { - _index = end(self.data[_collection_index]); - } - - function end_item(IndexedUint storage self, bytes32 _collection_index) - public - constant - returns (uint256 _end_item) - { - _end_item = uint256(end_item(self.data[_collection_index])); - } - - function valid(IndexedUint storage self, bytes32 _collection_index, uint256 _item_index) - public - constant - returns (bool _yes) - { - _yes = valid(self.data[_collection_index], _item_index); - } - - function valid_item(IndexedUint storage self, bytes32 _collection_index, uint256 _item) - public - constant - returns (bool _yes) - { - _yes = valid_item(self.data[_collection_index], bytes32(_item)); - } - - function previous(IndexedUint storage self, bytes32 _collection_index, uint256 _current_index) - public - constant - returns (uint256 _previous_index) - { - _previous_index = previous(self.data[_collection_index], _current_index); - } - - function previous_item(IndexedUint storage self, bytes32 _collection_index, uint256 _current_item) - public - constant - returns (uint256 _previous_item) - { - _previous_item = uint256(previous_item(self.data[_collection_index], bytes32(_current_item))); - } - - function next(IndexedUint storage self, bytes32 _collection_index, uint256 _current_index) - public - constant - returns (uint256 _next_index) - { - _next_index = next(self.data[_collection_index], _current_index); - } - - function next_item(IndexedUint storage self, bytes32 _collection_index, uint256 _current_item) - public - constant - returns (uint256 _next_item) - { - _next_item = uint256(next_item(self.data[_collection_index], bytes32(_current_item))); - } - - function append(Address storage self, address _data) - public - returns (bool _success) - { - _success = append(self.data, bytes32(_data)); - } - - function remove(Address storage self, uint256 _index) - internal - returns (bool _success) - { - _success = remove(self.data, _index); - } - - - function remove_item(Address storage self, address _item) - public - returns (bool _success) - { - _success = remove_item(self.data, bytes32(_item)); - } - - function total(Address storage self) - public - constant - returns (uint256 _total_count) - { - _total_count = total(self.data); - } - - function start(Address storage self) - public - constant - returns (uint256 _index) - { - _index = start(self.data); - } - - function start_item(Address storage self) - public - constant - returns (address _start_item) - { - _start_item = address(start_item(self.data)); - } - - - function end(Address storage self) - public - constant - returns (uint256 _index) - { - _index = end(self.data); - } - - function end_item(Address storage self) - public - constant - returns (address _end_item) - { - _end_item = address(end_item(self.data)); - } - - function valid(Address storage self, uint256 _item_index) - public - constant - returns (bool _yes) - { - _yes = valid(self.data, _item_index); - } - - function valid_item(Address storage self, address _item) - public - constant - returns (bool _yes) - { - _yes = valid_item(self.data, bytes32(_item)); - } - - function previous(Address storage self, uint256 _current_index) - public - constant - returns (uint256 _previous_index) - { - _previous_index = previous(self.data, _current_index); - } - - function previous_item(Address storage self, address _current_item) - public - constant - returns (address _previous_item) - { - _previous_item = address(previous_item(self.data, bytes32(_current_item))); - } - - function next(Address storage self, uint256 _current_index) - public - constant - returns (uint256 _next_index) - { - _next_index = next(self.data, _current_index); - } - - function next_item(Address storage self, address _current_item) - public - constant - returns (address _next_item) - { - _next_item = address(next_item(self.data, bytes32(_current_item))); - } - - function append(IndexedAddress storage self, bytes32 _collection_index, address _data) - public - returns (bool _success) - { - _success = append(self.data[_collection_index], bytes32(_data)); - } - - function remove(IndexedAddress storage self, bytes32 _collection_index, uint256 _index) - internal - returns (bool _success) - { - _success = remove(self.data[_collection_index], _index); - } - - - function remove_item(IndexedAddress storage self, bytes32 _collection_index, address _item) - public - returns (bool _success) - { - _success = remove_item(self.data[_collection_index], bytes32(_item)); - } - - function total(IndexedAddress storage self, bytes32 _collection_index) - public - constant - returns (uint256 _total_count) - { - _total_count = total(self.data[_collection_index]); - } - - function start(IndexedAddress storage self, bytes32 _collection_index) - public - constant - returns (uint256 _index) - { - _index = start(self.data[_collection_index]); - } - - function start_item(IndexedAddress storage self, bytes32 _collection_index) - public - constant - returns (address _start_item) - { - _start_item = address(start_item(self.data[_collection_index])); - } - - - function end(IndexedAddress storage self, bytes32 _collection_index) - public - constant - returns (uint256 _index) - { - _index = end(self.data[_collection_index]); - } - - function end_item(IndexedAddress storage self, bytes32 _collection_index) - public - constant - returns (address _end_item) - { - _end_item = address(end_item(self.data[_collection_index])); - } - - function valid(IndexedAddress storage self, bytes32 _collection_index, uint256 _item_index) - public - constant - returns (bool _yes) - { - _yes = valid(self.data[_collection_index], _item_index); - } - - function valid_item(IndexedAddress storage self, bytes32 _collection_index, address _item) - public - constant - returns (bool _yes) - { - _yes = valid_item(self.data[_collection_index], bytes32(_item)); - } - - function previous(IndexedAddress storage self, bytes32 _collection_index, uint256 _current_index) - public - constant - returns (uint256 _previous_index) - { - _previous_index = previous(self.data[_collection_index], _current_index); - } - - function previous_item(IndexedAddress storage self, bytes32 _collection_index, address _current_item) - public - constant - returns (address _previous_item) - { - _previous_item = address(previous_item(self.data[_collection_index], bytes32(_current_item))); - } - - function next(IndexedAddress storage self, bytes32 _collection_index, uint256 _current_index) - public - constant - returns (uint256 _next_index) - { - _next_index = next(self.data[_collection_index], _current_index); - } - - function next_item(IndexedAddress storage self, bytes32 _collection_index, address _current_item) - public - constant - returns (address _next_item) - { - _next_item = address(next_item(self.data[_collection_index], bytes32(_current_item))); - } - - - function find(Bytes storage self, bytes32 _item) - public - constant - returns (uint256 _item_index) - { - _item_index = find(self.data, _item); - } - - function get(Bytes storage self, uint256 _item_index) - public - constant - returns (bytes32 _item) - { - _item = get(self.data, _item_index); - } - - - function append(Bytes storage self, bytes32 _data) - public - returns (bool _success) - { - _success = append(self.data, _data); - } - - function remove(Bytes storage self, uint256 _index) - internal - returns (bool _success) - { - _success = remove(self.data, _index); - } - - - function remove_item(Bytes storage self, bytes32 _item) - public - returns (bool _success) - { - _success = remove_item(self.data, _item); - } - - function total(Bytes storage self) - public - constant - returns (uint256 _total_count) - { - _total_count = total(self.data); - } - - function start(Bytes storage self) - public - constant - returns (uint256 _index) - { - _index = start(self.data); - } - - function start_item(Bytes storage self) - public - constant - returns (bytes32 _start_item) - { - _start_item = start_item(self.data); - } - - - function end(Bytes storage self) - public - constant - returns (uint256 _index) - { - _index = end(self.data); - } - - function end_item(Bytes storage self) - public - constant - returns (bytes32 _end_item) - { - _end_item = end_item(self.data); - } - - function valid(Bytes storage self, uint256 _item_index) - public - constant - returns (bool _yes) - { - _yes = valid(self.data, _item_index); - } - - function valid_item(Bytes storage self, bytes32 _item) - public - constant - returns (bool _yes) - { - _yes = valid_item(self.data, _item); - } - - function previous(Bytes storage self, uint256 _current_index) - public - constant - returns (uint256 _previous_index) - { - _previous_index = previous(self.data, _current_index); - } - - function previous_item(Bytes storage self, bytes32 _current_item) - public - constant - returns (bytes32 _previous_item) - { - _previous_item = previous_item(self.data, _current_item); - } - - function next(Bytes storage self, uint256 _current_index) - public - constant - returns (uint256 _next_index) - { - _next_index = next(self.data, _current_index); - } - - function next_item(Bytes storage self, bytes32 _current_item) - public - constant - returns (bytes32 _next_item) - { - _next_item = next_item(self.data, _current_item); - } - - function append(IndexedBytes storage self, bytes32 _collection_index, bytes32 _data) - public - returns (bool _success) - { - _success = append(self.data[_collection_index], bytes32(_data)); - } - - function remove(IndexedBytes storage self, bytes32 _collection_index, uint256 _index) - internal - returns (bool _success) - { - _success = remove(self.data[_collection_index], _index); - } - - - function remove_item(IndexedBytes storage self, bytes32 _collection_index, bytes32 _item) - public - returns (bool _success) - { - _success = remove_item(self.data[_collection_index], bytes32(_item)); - } - - function total(IndexedBytes storage self, bytes32 _collection_index) - public - constant - returns (uint256 _total_count) - { - _total_count = total(self.data[_collection_index]); - } - - function start(IndexedBytes storage self, bytes32 _collection_index) - public - constant - returns (uint256 _index) - { - _index = start(self.data[_collection_index]); - } - - function start_item(IndexedBytes storage self, bytes32 _collection_index) - public - constant - returns (bytes32 _start_item) - { - _start_item = bytes32(start_item(self.data[_collection_index])); - } - - - function end(IndexedBytes storage self, bytes32 _collection_index) - public - constant - returns (uint256 _index) - { - _index = end(self.data[_collection_index]); - } - - function end_item(IndexedBytes storage self, bytes32 _collection_index) - public - constant - returns (bytes32 _end_item) - { - _end_item = bytes32(end_item(self.data[_collection_index])); - } - - function valid(IndexedBytes storage self, bytes32 _collection_index, uint256 _item_index) - public - constant - returns (bool _yes) - { - _yes = valid(self.data[_collection_index], _item_index); - } - - function valid_item(IndexedBytes storage self, bytes32 _collection_index, bytes32 _item) - public - constant - returns (bool _yes) - { - _yes = valid_item(self.data[_collection_index], bytes32(_item)); - } - - function previous(IndexedBytes storage self, bytes32 _collection_index, uint256 _current_index) - public - constant - returns (uint256 _previous_index) - { - _previous_index = previous(self.data[_collection_index], _current_index); - } - - function previous_item(IndexedBytes storage self, bytes32 _collection_index, bytes32 _current_item) - public - constant - returns (bytes32 _previous_item) - { - _previous_item = bytes32(previous_item(self.data[_collection_index], bytes32(_current_item))); - } - - function next(IndexedBytes storage self, bytes32 _collection_index, uint256 _current_index) - public - constant - returns (uint256 _next_index) - { - _next_index = next(self.data[_collection_index], _current_index); - } - - function next_item(IndexedBytes storage self, bytes32 _collection_index, bytes32 _current_item) - public - constant - returns (bytes32 _next_item) - { - _next_item = bytes32(next_item(self.data[_collection_index], bytes32(_current_item))); - } - - -} - - - - - -/** - @title Bytes Iterator Storage - @author DigixGlobal Pte Ltd -*/ -contract BytesIteratorStorage { - - // Initialize Doubly Linked List of Bytes - using DoublyLinkedList for DoublyLinkedList.Bytes; - - /** - @notice Reads the first item from the list of Bytes - @param _list The source list - @return {"_item": "The first item from the list"} - */ - function read_first_from_bytesarray(DoublyLinkedList.Bytes storage _list) - internal - constant - returns (bytes32 _item) - { - _item = _list.start_item(); - } - - /** - @notice Reads the last item from the list of Bytes - @param _list The source list - @return {"_item": "The last item from the list"} - */ - function read_last_from_bytesarray(DoublyLinkedList.Bytes storage _list) - internal - constant - returns (bytes32 _item) - { - _item = _list.end_item(); - } - - /** - @notice Reads the next item on the list of Bytes - @param _list The source list - @param _current_item The current item to be used as base line - @return {"_item": "The next item from the list based on the specieid `_current_item`"} - TODO: Need to verify what happens if the specified `_current_item` is the last item from the list - */ - function read_next_from_bytesarray(DoublyLinkedList.Bytes storage _list, bytes32 _current_item) - internal - constant - returns (bytes32 _item) - { - _item = _list.next_item(_current_item); - } - - /** - @notice Reads the previous item on the list of Bytes - @param _list The source list - @param _current_item The current item to be used as base line - @return {"_item": "The previous item from the list based on the spcified `_current_item`"} - TODO: Need to verify what happens if the specified `_current_item` is the first item from the list - */ - function read_previous_from_bytesarray(DoublyLinkedList.Bytes storage _list, bytes32 _current_item) - internal - constant - returns (bytes32 _item) - { - _item = _list.previous_item(_current_item); - } - - /** - @notice Reads the list of Bytes and returns the length of the list - @param _list The source list - @return {"count": "`uint256` The lenght of the list"} - - */ - function read_total_bytesarray(DoublyLinkedList.Bytes storage _list) - internal - constant - returns (uint256 _count) - { - _count = _list.total(); - } - -} - - - -/** - * @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; - } -} - - - - -contract DaoConstants { - using SafeMath for uint256; - bytes32 EMPTY_BYTES = bytes32(0x0); - address EMPTY_ADDRESS = address(0x0); - - bytes32 PROPOSAL_STATE_PREPROPOSAL = "proposal_state_preproposal"; - bytes32 PROPOSAL_STATE_DRAFT = "proposal_state_draft"; - bytes32 PROPOSAL_STATE_MODERATED = "proposal_state_moderated"; - bytes32 PROPOSAL_STATE_ONGOING = "proposal_state_ongoing"; - bytes32 PROPOSAL_STATE_CLOSED = "proposal_state_closed"; - bytes32 PROPOSAL_STATE_ARCHIVED = "proposal_state_archived"; - - uint256 PRL_ACTION_STOP = 1; - uint256 PRL_ACTION_PAUSE = 2; - uint256 PRL_ACTION_UNPAUSE = 3; - - uint256 COLLATERAL_STATUS_UNLOCKED = 1; - uint256 COLLATERAL_STATUS_LOCKED = 2; - uint256 COLLATERAL_STATUS_CLAIMED = 3; - - bytes32 INTERMEDIATE_DGD_IDENTIFIER = "inter_dgd_id"; - bytes32 INTERMEDIATE_MODERATOR_DGD_IDENTIFIER = "inter_mod_dgd_id"; - bytes32 INTERMEDIATE_BONUS_CALCULATION_IDENTIFIER = "inter_bonus_calculation_id"; - - // interactive contracts - bytes32 CONTRACT_DAO = "dao"; - bytes32 CONTRACT_DAO_SPECIAL_PROPOSAL = "dao:special:proposal"; - bytes32 CONTRACT_DAO_STAKE_LOCKING = "dao:stake-locking"; - bytes32 CONTRACT_DAO_VOTING = "dao:voting"; - bytes32 CONTRACT_DAO_VOTING_CLAIMS = "dao:voting:claims"; - bytes32 CONTRACT_DAO_SPECIAL_VOTING_CLAIMS = "dao:svoting:claims"; - bytes32 CONTRACT_DAO_IDENTITY = "dao:identity"; - bytes32 CONTRACT_DAO_REWARDS_MANAGER = "dao:rewards-manager"; - bytes32 CONTRACT_DAO_REWARDS_MANAGER_EXTRAS = "dao:rewards-extras"; - bytes32 CONTRACT_DAO_ROLES = "dao:roles"; - bytes32 CONTRACT_DAO_FUNDING_MANAGER = "dao:funding-manager"; - bytes32 CONTRACT_DAO_WHITELISTING = "dao:whitelisting"; - bytes32 CONTRACT_DAO_INFORMATION = "dao:information"; - - // service contracts - bytes32 CONTRACT_SERVICE_ROLE = "service:role"; - bytes32 CONTRACT_SERVICE_DAO_INFO = "service:dao:info"; - bytes32 CONTRACT_SERVICE_DAO_LISTING = "service:dao:listing"; - bytes32 CONTRACT_SERVICE_DAO_CALCULATOR = "service:dao:calculator"; - - // storage contracts - bytes32 CONTRACT_STORAGE_DAO = "storage:dao"; - bytes32 CONTRACT_STORAGE_DAO_COUNTER = "storage:dao:counter"; - bytes32 CONTRACT_STORAGE_DAO_UPGRADE = "storage:dao:upgrade"; - bytes32 CONTRACT_STORAGE_DAO_IDENTITY = "storage:dao:identity"; - bytes32 CONTRACT_STORAGE_DAO_POINTS = "storage:dao:points"; - bytes32 CONTRACT_STORAGE_DAO_SPECIAL = "storage:dao:special"; - bytes32 CONTRACT_STORAGE_DAO_CONFIG = "storage:dao:config"; - bytes32 CONTRACT_STORAGE_DAO_STAKE = "storage:dao:stake"; - bytes32 CONTRACT_STORAGE_DAO_REWARDS = "storage:dao:rewards"; - bytes32 CONTRACT_STORAGE_DAO_WHITELISTING = "storage:dao:whitelisting"; - bytes32 CONTRACT_STORAGE_INTERMEDIATE_RESULTS = "storage:intermediate:results"; - - bytes32 CONTRACT_DGD_TOKEN = "t:dgd"; - bytes32 CONTRACT_DGX_TOKEN = "t:dgx"; - bytes32 CONTRACT_BADGE_TOKEN = "t:badge"; - - uint8 ROLES_ROOT = 1; - uint8 ROLES_FOUNDERS = 2; - uint8 ROLES_PRLS = 3; - uint8 ROLES_KYC_ADMINS = 4; - - uint256 QUARTER_DURATION = 90 days; - - bytes32 CONFIG_MINIMUM_LOCKED_DGD = "min_dgd_participant"; - bytes32 CONFIG_MINIMUM_DGD_FOR_MODERATOR = "min_dgd_moderator"; - bytes32 CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR = "min_reputation_moderator"; - - bytes32 CONFIG_LOCKING_PHASE_DURATION = "locking_phase_duration"; - bytes32 CONFIG_QUARTER_DURATION = "quarter_duration"; - bytes32 CONFIG_VOTING_COMMIT_PHASE = "voting_commit_phase"; - bytes32 CONFIG_VOTING_PHASE_TOTAL = "voting_phase_total"; - bytes32 CONFIG_INTERIM_COMMIT_PHASE = "interim_voting_commit_phase"; - bytes32 CONFIG_INTERIM_PHASE_TOTAL = "interim_voting_phase_total"; - - bytes32 CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR = "draft_quorum_fixed_numerator"; - bytes32 CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR = "draft_quorum_fixed_denominator"; - bytes32 CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR = "draft_quorum_sfactor_numerator"; - bytes32 CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR = "draft_quorum_sfactor_denominator"; - bytes32 CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR = "vote_quorum_fixed_numerator"; - bytes32 CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR = "vote_quorum_fixed_denominator"; - bytes32 CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR = "vote_quorum_sfactor_numerator"; - bytes32 CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR = "vote_quorum_sfactor_denominator"; - bytes32 CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR = "final_reward_sfactor_numerator"; - bytes32 CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR = "final_reward_sfactor_denominator"; - - bytes32 CONFIG_DRAFT_QUOTA_NUMERATOR = "draft_quota_numerator"; - bytes32 CONFIG_DRAFT_QUOTA_DENOMINATOR = "draft_quota_denominator"; - bytes32 CONFIG_VOTING_QUOTA_NUMERATOR = "voting_quota_numerator"; - bytes32 CONFIG_VOTING_QUOTA_DENOMINATOR = "voting_quota_denominator"; - - bytes32 CONFIG_MINIMAL_QUARTER_POINT = "minimal_qp"; - bytes32 CONFIG_QUARTER_POINT_SCALING_FACTOR = "quarter_point_scaling_factor"; - bytes32 CONFIG_REPUTATION_POINT_SCALING_FACTOR = "rep_point_scaling_factor"; - - bytes32 CONFIG_MODERATOR_MINIMAL_QUARTER_POINT = "minimal_mod_qp"; - bytes32 CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR = "mod_qp_scaling_factor"; - bytes32 CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR = "mod_rep_point_scaling_factor"; - - bytes32 CONFIG_QUARTER_POINT_DRAFT_VOTE = "quarter_point_draft_vote"; - bytes32 CONFIG_QUARTER_POINT_VOTE = "quarter_point_vote"; - bytes32 CONFIG_QUARTER_POINT_INTERIM_VOTE = "quarter_point_interim_vote"; - - /// this is per 10000 ETHs - bytes32 CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH = "q_p_milestone_completion"; - - bytes32 CONFIG_BONUS_REPUTATION_NUMERATOR = "bonus_reputation_numerator"; - bytes32 CONFIG_BONUS_REPUTATION_DENOMINATOR = "bonus_reputation_denominator"; - - bytes32 CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE = "special_proposal_commit_phase"; - bytes32 CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL = "special_proposal_phase_total"; - - bytes32 CONFIG_SPECIAL_QUOTA_NUMERATOR = "config_special_quota_numerator"; - bytes32 CONFIG_SPECIAL_QUOTA_DENOMINATOR = "config_special_quota_denominator"; - - bytes32 CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR = "special_quorum_numerator"; - bytes32 CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR = "special_quorum_denominator"; - - bytes32 CONFIG_MAXIMUM_REPUTATION_DEDUCTION = "config_max_reputation_deduction"; - bytes32 CONFIG_PUNISHMENT_FOR_NOT_LOCKING = "config_punishment_not_locking"; - - bytes32 CONFIG_REPUTATION_PER_EXTRA_QP_NUM = "config_rep_per_extra_qp_num"; - bytes32 CONFIG_REPUTATION_PER_EXTRA_QP_DEN = "config_rep_per_extra_qp_den"; - - bytes32 CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION = "config_max_m_rp_deduction"; - bytes32 CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM = "config_rep_per_extra_m_qp_num"; - bytes32 CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN = "config_rep_per_extra_m_qp_den"; - - bytes32 CONFIG_PORTION_TO_MODERATORS_NUM = "config_mod_portion_num"; - bytes32 CONFIG_PORTION_TO_MODERATORS_DEN = "config_mod_portion_den"; - - bytes32 CONFIG_DRAFT_VOTING_PHASE = "config_draft_voting_phase"; - - bytes32 CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE = "config_rp_boost_per_badge"; - - bytes32 CONFIG_VOTE_CLAIMING_DEADLINE = "config_claiming_deadline"; - - bytes32 CONFIG_PREPROPOSAL_COLLATERAL = "config_preproposal_collateral"; - - bytes32 CONFIG_MAX_FUNDING_FOR_NON_DIGIX = "config_max_funding_nonDigix"; - bytes32 CONFIG_MAX_MILESTONES_FOR_NON_DIGIX = "config_max_milestones_nonDigix"; - bytes32 CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER = "config_nonDigix_proposal_cap"; - - bytes32 CONFIG_PROPOSAL_DEAD_DURATION = "config_dead_duration"; - bytes32 CONFIG_CARBON_VOTE_REPUTATION_BONUS = "config_cv_reputation"; -} - - - - - -// This contract is basically created to restrict read access to -// ethereum accounts, and whitelisted contracts -contract DaoWhitelistingStorage is ResolverClient, DaoConstants { - - // we want to avoid the scenario in which an on-chain bribing contract - // can be deployed to distribute funds in a trustless way by verifying - // on-chain votes. This mapping marks whether a contract address is whitelisted - // to read from the read functions in DaoStorage, DaoSpecialStorage, etc. - mapping (address => bool) public whitelist; - - constructor(address _resolver) - public - { - require(init(CONTRACT_STORAGE_DAO_WHITELISTING, _resolver)); - } - - function setWhitelisted(address _contractAddress, bool _senderIsAllowedToRead) - public - { - require(sender_is(CONTRACT_DAO_WHITELISTING)); - whitelist[_contractAddress] = _senderIsAllowedToRead; - } -} - - - - - - - -contract DaoWhitelistingCommon is ResolverClient, DaoConstants { - - function daoWhitelistingStorage() - internal - view - returns (DaoWhitelistingStorage _contract) - { - _contract = DaoWhitelistingStorage(get_contract(CONTRACT_STORAGE_DAO_WHITELISTING)); - } - - /** - @notice Check if a certain address is whitelisted to read sensitive information in the storage layer - @dev if the address is an account, it is allowed to read. If the address is a contract, it has to be in the whitelist - */ - function senderIsAllowedToRead() - internal - view - returns (bool _senderIsAllowedToRead) - { - // msg.sender is allowed to read only if its an EOA or a whitelisted contract - _senderIsAllowedToRead = (msg.sender == tx.origin) || daoWhitelistingStorage().whitelist(msg.sender); - } -} - - - - - -library DaoStructs { - using DoublyLinkedList for DoublyLinkedList.Bytes; - using SafeMath for uint256; - bytes32 constant EMPTY_BYTES = bytes32(0x0); - - struct PrlAction { - // UTC timestamp at which the PRL action was done - uint256 at; - - // IPFS hash of the document summarizing the action - bytes32 doc; - - // Type of action - // check PRL_ACTION_* in "./../common/DaoConstants.sol" - uint256 actionId; - } - - struct Voting { - // UTC timestamp at which the voting round starts - uint256 startTime; - - // Mapping of whether a commit was used in this voting round - mapping (bytes32 => bool) usedCommits; - - // Mapping of commits by address. These are the commits during the commit phase in a voting round - // This only stores the most recent commit in the voting round - // In case a vote is edited, the previous commit is overwritten by the new commit - // Only this new commit is verified at the reveal phase - mapping (address => bytes32) commits; - - // This mapping is updated after the reveal phase, when votes are revealed - // It is a mapping of address to weight of vote - // Weight implies the lockedDGDStake of the address, at the time of revealing - // If the address voted "NO", or didn't vote, this would be 0 - mapping (address => uint256) yesVotes; - - // This mapping is updated after the reveal phase, when votes are revealed - // It is a mapping of address to weight of vote - // Weight implies the lockedDGDStake of the address, at the time of revealing - // If the address voted "YES", or didn't vote, this would be 0 - mapping (address => uint256) noVotes; - - // Boolean whether the voting round passed or not - bool passed; - - // Boolean whether the voting round results were claimed or not - // refer the claimProposalVotingResult function in "./../interative/DaoVotingClaims.sol" - bool claimed; - - // Boolean whether the milestone following this voting round was funded or not - // The milestone is funded when the proposer calls claimFunding in "./../interactive/DaoFundingManager.sol" - bool funded; - } - - struct ProposalVersion { - // IPFS doc hash of this version of the proposal - bytes32 docIpfsHash; - - // UTC timestamp at which this version was created - uint256 created; - - // The number of milestones in the proposal as per this version - uint256 milestoneCount; - - // The final reward asked by the proposer for completion of the entire proposal - uint256 finalReward; - - // List of fundings required by the proposal as per this version - // The numbers are in wei - uint256[] milestoneFundings; - - // When a proposal is finalized (calling Dao.finalizeProposal), the proposer can no longer add proposal versions - // However, they can still add more details to this final proposal version, in the form of IPFS docs. - // These IPFS docs are stored in this array - bytes32[] moreDocs; - } - - struct Proposal { - // ID of the proposal. Also the IPFS hash of the first ProposalVersion - bytes32 proposalId; - - // current state of the proposal - // refer PROPOSAL_STATE_* in "./../common/DaoConstants.sol" - bytes32 currentState; - - // UTC timestamp at which the proposal was created - uint256 timeCreated; - - // DoublyLinkedList of IPFS doc hashes of the various versions of the proposal - DoublyLinkedList.Bytes proposalVersionDocs; - - // Mapping of version (IPFS doc hash) to ProposalVersion struct - mapping (bytes32 => ProposalVersion) proposalVersions; - - // Voting struct for the draft voting round - Voting draftVoting; - - // Mapping of voting round index (starts from 0) to Voting struct - // votingRounds[0] is the Voting round of the proposal, which lasts for get_uint_config(CONFIG_VOTING_PHASE_TOTAL) - // votingRounds[i] for i>0 are the Interim Voting rounds of the proposal, which lasts for get_uint_config(CONFIG_INTERIM_PHASE_TOTAL) - mapping (uint256 => Voting) votingRounds; - - // Every proposal has a collateral tied to it with a value of - // get_uint_config(CONFIG_PREPROPOSAL_COLLATERAL) (refer "./../storage/DaoConfigsStorage.sol") - // Collateral can be in different states - // refer COLLATERAL_STATUS_* in "./../common/DaoConstants.sol" - uint256 collateralStatus; - uint256 collateralAmount; - - // The final version of the proposal - // Every proposal needs to be finalized before it can be voted on - // This is the IPFS doc hash of the final version - bytes32 finalVersion; - - // List of PrlAction structs - // These are all the actions done by the PRL on the proposal - PrlAction[] prlActions; - - // Address of the user who created the proposal - address proposer; - - // Address of the moderator who endorsed the proposal - address endorser; - - // Boolean whether the proposal is paused/stopped at the moment - bool isPausedOrStopped; - - // Boolean whether the proposal was created by a founder role - bool isDigix; - } - - function countVotes(Voting storage _voting, address[] _allUsers) - external - view - returns (uint256 _for, uint256 _against) - { - uint256 _n = _allUsers.length; - for (uint256 i = 0; i < _n; i++) { - if (_voting.yesVotes[_allUsers[i]] > 0) { - _for = _for.add(_voting.yesVotes[_allUsers[i]]); - } else if (_voting.noVotes[_allUsers[i]] > 0) { - _against = _against.add(_voting.noVotes[_allUsers[i]]); - } - } - } - - // get the list of voters who voted _vote (true-yes/false-no) - function listVotes(Voting storage _voting, address[] _allUsers, bool _vote) - external - view - returns (address[] memory _voters, uint256 _length) - { - uint256 _n = _allUsers.length; - uint256 i; - _length = 0; - _voters = new address[](_n); - if (_vote == true) { - for (i = 0; i < _n; i++) { - if (_voting.yesVotes[_allUsers[i]] > 0) { - _voters[_length] = _allUsers[i]; - _length++; - } - } - } else { - for (i = 0; i < _n; i++) { - if (_voting.noVotes[_allUsers[i]] > 0) { - _voters[_length] = _allUsers[i]; - _length++; - } - } - } - } - - function readVote(Voting storage _voting, address _voter) - public - view - returns (bool _vote, uint256 _weight) - { - if (_voting.yesVotes[_voter] > 0) { - _weight = _voting.yesVotes[_voter]; - _vote = true; - } else { - _weight = _voting.noVotes[_voter]; // if _voter didnt vote at all, the weight will be 0 anyway - _vote = false; - } - } - - function revealVote( - Voting storage _voting, - address _voter, - bool _vote, - uint256 _weight - ) - public - { - if (_vote) { - _voting.yesVotes[_voter] = _weight; - } else { - _voting.noVotes[_voter] = _weight; - } - } - - function readVersion(ProposalVersion storage _version) - public - view - returns ( - bytes32 _doc, - uint256 _created, - uint256[] _milestoneFundings, - uint256 _finalReward - ) - { - _doc = _version.docIpfsHash; - _created = _version.created; - _milestoneFundings = _version.milestoneFundings; - _finalReward = _version.finalReward; - } - - // read the funding for a particular milestone of a finalized proposal - // if _milestoneId is the same as _milestoneCount, it returns the final reward - function readProposalMilestone(Proposal storage _proposal, uint256 _milestoneIndex) - public - view - returns (uint256 _funding) - { - bytes32 _finalVersion = _proposal.finalVersion; - uint256 _milestoneCount = _proposal.proposalVersions[_finalVersion].milestoneFundings.length; - require(_milestoneIndex <= _milestoneCount); - require(_finalVersion != EMPTY_BYTES); // the proposal must have been finalized - - if (_milestoneIndex < _milestoneCount) { - _funding = _proposal.proposalVersions[_finalVersion].milestoneFundings[_milestoneIndex]; - } else { - _funding = _proposal.proposalVersions[_finalVersion].finalReward; - } - } - - function addProposalVersion( - Proposal storage _proposal, - bytes32 _newDoc, - uint256[] _newMilestoneFundings, - uint256 _finalReward - ) - public - { - _proposal.proposalVersionDocs.append(_newDoc); - _proposal.proposalVersions[_newDoc].docIpfsHash = _newDoc; - _proposal.proposalVersions[_newDoc].created = now; - _proposal.proposalVersions[_newDoc].milestoneCount = _newMilestoneFundings.length; - _proposal.proposalVersions[_newDoc].milestoneFundings = _newMilestoneFundings; - _proposal.proposalVersions[_newDoc].finalReward = _finalReward; - } - - struct SpecialProposal { - // ID of the special proposal - // This is the IPFS doc hash of the proposal - bytes32 proposalId; - - // UTC timestamp at which the proposal was created - uint256 timeCreated; - - // Voting struct for the special proposal - Voting voting; - - // List of the new uint256 configs as per the special proposal - uint256[] uintConfigs; - - // List of the new address configs as per the special proposal - address[] addressConfigs; - - // List of the new bytes32 configs as per the special proposal - bytes32[] bytesConfigs; - - // Address of the user who created the special proposal - // This address should also be in the ROLES_FOUNDERS group - // refer "./../storage/DaoIdentityStorage.sol" - address proposer; - } - - // All configs are as per the DaoConfigsStorage values at the time when - // calculateGlobalRewardsBeforeNewQuarter is called by founder in that quarter - struct DaoQuarterInfo { - // The minimum quarter points required - // below this, reputation will be deducted - uint256 minimalParticipationPoint; - - // The scaling factor for quarter point - uint256 quarterPointScalingFactor; - - // The scaling factor for reputation point - uint256 reputationPointScalingFactor; - - // The summation of effectiveDGDs in the previous quarter - // The effectiveDGDs represents the effective participation in DigixDAO in a quarter - // Which depends on lockedDGDStake, quarter point and reputation point - // This value is the summation of all participant effectiveDGDs - // It will be used to calculate the fraction of effectiveDGD a user has, - // which will determine his portion of DGX rewards for that quarter - uint256 totalEffectiveDGDPreviousQuarter; - - // The minimum moderator quarter point required - // below this, reputation will be deducted for moderators - uint256 moderatorMinimalParticipationPoint; - - // the scaling factor for moderator quarter point - uint256 moderatorQuarterPointScalingFactor; - - // the scaling factor for moderator reputation point - uint256 moderatorReputationPointScalingFactor; - - // The summation of effectiveDGDs (only specific to moderators) - uint256 totalEffectiveModeratorDGDLastQuarter; - - // UTC timestamp from which the DGX rewards for the previous quarter are distributable to Holders - uint256 dgxDistributionDay; - - // This is the rewards pool for the previous quarter. This is the sum of the DGX fees coming in from the collector, and the demurrage that has incurred - // when user call claimRewards() in the previous quarter. - // more graphical explanation: https://ipfs.io/ipfs/QmZDgFFMbyF3dvuuDfoXv5F6orq4kaDPo7m3QvnseUguzo - uint256 dgxRewardsPoolLastQuarter; - - // The summation of all dgxRewardsPoolLastQuarter up until this quarter - uint256 sumRewardsFromBeginning; - } - - // There are many function calls where all calculations/summations cannot be done in one transaction - // and require multiple transactions. - // This struct stores the intermediate results in between the calculating transactions - // These intermediate results are stored in IntermediateResultsStorage - struct IntermediateResults { - // weight of "FOR" votes counted up until the current calculation step - uint256 currentForCount; - - // weight of "AGAINST" votes counted up until the current calculation step - uint256 currentAgainstCount; - - // summation of effectiveDGDs up until the iteration of calculation - uint256 currentSumOfEffectiveBalance; - - // Address of user until which the calculation has been done - address countedUntil; - } -} - - - - - - - - -contract DaoStorage is DaoWhitelistingCommon, BytesIteratorStorage { - using DoublyLinkedList for DoublyLinkedList.Bytes; - using DaoStructs for DaoStructs.Voting; - using DaoStructs for DaoStructs.Proposal; - using DaoStructs for DaoStructs.ProposalVersion; - - // List of all the proposals ever created in DigixDAO - DoublyLinkedList.Bytes allProposals; - - // mapping of Proposal struct by its ID - // ID is also the IPFS doc hash of the first ever version of this proposal - mapping (bytes32 => DaoStructs.Proposal) proposalsById; - - // mapping from state of a proposal to list of all proposals in that state - // proposals are added/removed from the state's list as their states change - // eg. when proposal is endorsed, when proposal is funded, etc - mapping (bytes32 => DoublyLinkedList.Bytes) proposalsByState; - - constructor(address _resolver) public { - require(init(CONTRACT_STORAGE_DAO, _resolver)); - } - - /////////////////////////////// READ FUNCTIONS ////////////////////////////// - - /// @notice read all information and details of proposal - /// @param _proposalId Proposal ID, i.e. hash of IPFS doc Proposal ID, i.e. hash of IPFS doc - /// return { - /// "_doc": "Original IPFS doc of proposal, also ID of proposal", - /// "_proposer": "Address of the proposer", - /// "_endorser": "Address of the moderator that endorsed the proposal", - /// "_state": "Current state of the proposal", - /// "_timeCreated": "UTC timestamp at which proposal was created", - /// "_nVersions": "Number of versions of the proposal", - /// "_latestVersionDoc": "IPFS doc hash of the latest version of this proposal", - /// "_finalVersion": "If finalized, the version of the final proposal", - /// "_pausedOrStopped": "If the proposal is paused/stopped at the moment", - /// "_isDigixProposal": "If the proposal has been created by founder or not" - /// } - function readProposal(bytes32 _proposalId) - public - view - returns ( - bytes32 _doc, - address _proposer, - address _endorser, - bytes32 _state, - uint256 _timeCreated, - uint256 _nVersions, - bytes32 _latestVersionDoc, - bytes32 _finalVersion, - bool _pausedOrStopped, - bool _isDigixProposal - ) - { - require(senderIsAllowedToRead()); - DaoStructs.Proposal storage _proposal = proposalsById[_proposalId]; - _doc = _proposal.proposalId; - _proposer = _proposal.proposer; - _endorser = _proposal.endorser; - _state = _proposal.currentState; - _timeCreated = _proposal.timeCreated; - _nVersions = read_total_bytesarray(_proposal.proposalVersionDocs); - _latestVersionDoc = read_last_from_bytesarray(_proposal.proposalVersionDocs); - _finalVersion = _proposal.finalVersion; - _pausedOrStopped = _proposal.isPausedOrStopped; - _isDigixProposal = _proposal.isDigix; - } - - function readProposalProposer(bytes32 _proposalId) - public - view - returns (address _proposer) - { - _proposer = proposalsById[_proposalId].proposer; - } - - function readTotalPrlActions(bytes32 _proposalId) - public - view - returns (uint256 _length) - { - _length = proposalsById[_proposalId].prlActions.length; - } - - function readPrlAction(bytes32 _proposalId, uint256 _index) - public - view - returns (uint256 _actionId, uint256 _time, bytes32 _doc) - { - DaoStructs.PrlAction[] memory _actions = proposalsById[_proposalId].prlActions; - require(_index < _actions.length); - _actionId = _actions[_index].actionId; - _time = _actions[_index].at; - _doc = _actions[_index].doc; - } - - function readProposalDraftVotingResult(bytes32 _proposalId) - public - view - returns (bool _result) - { - require(senderIsAllowedToRead()); - _result = proposalsById[_proposalId].draftVoting.passed; - } - - function readProposalVotingResult(bytes32 _proposalId, uint256 _index) - public - view - returns (bool _result) - { - require(senderIsAllowedToRead()); - _result = proposalsById[_proposalId].votingRounds[_index].passed; - } - - function readProposalDraftVotingTime(bytes32 _proposalId) - public - view - returns (uint256 _start) - { - require(senderIsAllowedToRead()); - _start = proposalsById[_proposalId].draftVoting.startTime; - } - - function readProposalVotingTime(bytes32 _proposalId, uint256 _index) - public - view - returns (uint256 _start) - { - require(senderIsAllowedToRead()); - _start = proposalsById[_proposalId].votingRounds[_index].startTime; - } - - function readDraftVotingCount(bytes32 _proposalId, address[] _allUsers) - external - view - returns (uint256 _for, uint256 _against) - { - require(senderIsAllowedToRead()); - return proposalsById[_proposalId].draftVoting.countVotes(_allUsers); - } - - function readVotingCount(bytes32 _proposalId, uint256 _index, address[] _allUsers) - external - view - returns (uint256 _for, uint256 _against) - { - require(senderIsAllowedToRead()); - return proposalsById[_proposalId].votingRounds[_index].countVotes(_allUsers); - } - - function readVotingRoundVotes(bytes32 _proposalId, uint256 _index, address[] _allUsers, bool _vote) - external - view - returns (address[] memory _voters, uint256 _length) - { - require(senderIsAllowedToRead()); - return proposalsById[_proposalId].votingRounds[_index].listVotes(_allUsers, _vote); - } - - function readDraftVote(bytes32 _proposalId, address _voter) - public - view - returns (bool _vote, uint256 _weight) - { - require(senderIsAllowedToRead()); - return proposalsById[_proposalId].draftVoting.readVote(_voter); - } - - /// @notice returns the latest committed vote by a voter on a proposal - /// @param _proposalId proposal ID - /// @param _voter address of the voter - /// @return { - /// "_commitHash": "" - /// } - function readComittedVote(bytes32 _proposalId, uint256 _index, address _voter) - public - view - returns (bytes32 _commitHash) - { - require(senderIsAllowedToRead()); - _commitHash = proposalsById[_proposalId].votingRounds[_index].commits[_voter]; - } - - function readVote(bytes32 _proposalId, uint256 _index, address _voter) - public - view - returns (bool _vote, uint256 _weight) - { - require(senderIsAllowedToRead()); - return proposalsById[_proposalId].votingRounds[_index].readVote(_voter); - } - - /// @notice get all information and details of the first proposal - /// return { - /// "_id": "" - /// } - function getFirstProposal() - public - view - returns (bytes32 _id) - { - _id = read_first_from_bytesarray(allProposals); - } - - /// @notice get all information and details of the last proposal - /// return { - /// "_id": "" - /// } - function getLastProposal() - public - view - returns (bytes32 _id) - { - _id = read_last_from_bytesarray(allProposals); - } - - /// @notice get all information and details of proposal next to _proposalId - /// @param _proposalId Proposal ID, i.e. hash of IPFS doc - /// return { - /// "_id": "" - /// } - function getNextProposal(bytes32 _proposalId) - public - view - returns (bytes32 _id) - { - _id = read_next_from_bytesarray( - allProposals, - _proposalId - ); - } - - /// @notice get all information and details of proposal previous to _proposalId - /// @param _proposalId Proposal ID, i.e. hash of IPFS doc - /// return { - /// "_id": "" - /// } - function getPreviousProposal(bytes32 _proposalId) - public - view - returns (bytes32 _id) - { - _id = read_previous_from_bytesarray( - allProposals, - _proposalId - ); - } - - /// @notice get all information and details of the first proposal in state _stateId - /// @param _stateId State ID of the proposal - /// return { - /// "_id": "" - /// } - function getFirstProposalInState(bytes32 _stateId) - public - view - returns (bytes32 _id) - { - require(senderIsAllowedToRead()); - _id = read_first_from_bytesarray(proposalsByState[_stateId]); - } - - /// @notice get all information and details of the last proposal in state _stateId - /// @param _stateId State ID of the proposal - /// return { - /// "_id": "" - /// } - function getLastProposalInState(bytes32 _stateId) - public - view - returns (bytes32 _id) - { - require(senderIsAllowedToRead()); - _id = read_last_from_bytesarray(proposalsByState[_stateId]); - } - - /// @notice get all information and details of the next proposal to _proposalId in state _stateId - /// @param _stateId State ID of the proposal - /// return { - /// "_id": "" - /// } - function getNextProposalInState(bytes32 _stateId, bytes32 _proposalId) - public - view - returns (bytes32 _id) - { - require(senderIsAllowedToRead()); - _id = read_next_from_bytesarray( - proposalsByState[_stateId], - _proposalId - ); - } - - /// @notice get all information and details of the previous proposal to _proposalId in state _stateId - /// @param _stateId State ID of the proposal - /// return { - /// "_id": "" - /// } - function getPreviousProposalInState(bytes32 _stateId, bytes32 _proposalId) - public - view - returns (bytes32 _id) - { - require(senderIsAllowedToRead()); - _id = read_previous_from_bytesarray( - proposalsByState[_stateId], - _proposalId - ); - } - - /// @notice read proposal version details for a specific version - /// @param _proposalId Proposal ID, i.e. hash of IPFS doc - /// @param _version Version of proposal, i.e. hash of IPFS doc for specific version - /// return { - /// "_doc": "", - /// "_created": "", - /// "_milestoneFundings": "" - /// } - function readProposalVersion(bytes32 _proposalId, bytes32 _version) - public - view - returns ( - bytes32 _doc, - uint256 _created, - uint256[] _milestoneFundings, - uint256 _finalReward - ) - { - return proposalsById[_proposalId].proposalVersions[_version].readVersion(); - } - - /** - @notice Read the fundings of a finalized proposal - @return { - "_fundings": "fundings for the milestones", - "_finalReward": "the final reward" - } - */ - function readProposalFunding(bytes32 _proposalId) - public - view - returns (uint256[] memory _fundings, uint256 _finalReward) - { - require(senderIsAllowedToRead()); - bytes32 _finalVersion = proposalsById[_proposalId].finalVersion; - require(_finalVersion != EMPTY_BYTES); - _fundings = proposalsById[_proposalId].proposalVersions[_finalVersion].milestoneFundings; - _finalReward = proposalsById[_proposalId].proposalVersions[_finalVersion].finalReward; - } - - function readProposalMilestone(bytes32 _proposalId, uint256 _index) - public - view - returns (uint256 _funding) - { - require(senderIsAllowedToRead()); - _funding = proposalsById[_proposalId].readProposalMilestone(_index); - } - - /// @notice get proposal version details for the first version - /// @param _proposalId Proposal ID, i.e. hash of IPFS doc - /// return { - /// "_version": "" - /// } - function getFirstProposalVersion(bytes32 _proposalId) - public - view - returns (bytes32 _version) - { - DaoStructs.Proposal storage _proposal = proposalsById[_proposalId]; - _version = read_first_from_bytesarray(_proposal.proposalVersionDocs); - } - - /// @notice get proposal version details for the last version - /// @param _proposalId Proposal ID, i.e. hash of IPFS doc - /// return { - /// "_version": "" - /// } - function getLastProposalVersion(bytes32 _proposalId) - public - view - returns (bytes32 _version) - { - DaoStructs.Proposal storage _proposal = proposalsById[_proposalId]; - _version = read_last_from_bytesarray(_proposal.proposalVersionDocs); - } - - /// @notice get proposal version details for the next version to _version - /// @param _proposalId Proposal ID, i.e. hash of IPFS doc - /// @param _version Version of proposal - /// return { - /// "_nextVersion": "" - /// } - function getNextProposalVersion(bytes32 _proposalId, bytes32 _version) - public - view - returns (bytes32 _nextVersion) - { - DaoStructs.Proposal storage _proposal = proposalsById[_proposalId]; - _nextVersion = read_next_from_bytesarray( - _proposal.proposalVersionDocs, - _version - ); - } - - /// @notice get proposal version details for the previous version to _version - /// @param _proposalId Proposal ID, i.e. hash of IPFS doc - /// @param _version Version of proposal - /// return { - /// "_previousVersion": "" - /// } - function getPreviousProposalVersion(bytes32 _proposalId, bytes32 _version) - public - view - returns (bytes32 _previousVersion) - { - DaoStructs.Proposal storage _proposal = proposalsById[_proposalId]; - _previousVersion = read_previous_from_bytesarray( - _proposal.proposalVersionDocs, - _version - ); - } - - function isDraftClaimed(bytes32 _proposalId) - public - view - returns (bool _claimed) - { - _claimed = proposalsById[_proposalId].draftVoting.claimed; - } - - function isClaimed(bytes32 _proposalId, uint256 _index) - public - view - returns (bool _claimed) - { - _claimed = proposalsById[_proposalId].votingRounds[_index].claimed; - } - - function readProposalCollateralStatus(bytes32 _proposalId) - public - view - returns (uint256 _status) - { - require(senderIsAllowedToRead()); - _status = proposalsById[_proposalId].collateralStatus; - } - - function readProposalCollateralAmount(bytes32 _proposalId) - public - view - returns (uint256 _amount) - { - _amount = proposalsById[_proposalId].collateralAmount; - } - - /// @notice Read the additional docs that are added after the proposal is finalized - /// @dev Will throw if the propsal is not finalized yet - function readProposalDocs(bytes32 _proposalId) - public - view - returns (bytes32[] _moreDocs) - { - bytes32 _finalVersion = proposalsById[_proposalId].finalVersion; - require(_finalVersion != EMPTY_BYTES); - _moreDocs = proposalsById[_proposalId].proposalVersions[_finalVersion].moreDocs; - } - - function readIfMilestoneFunded(bytes32 _proposalId, uint256 _milestoneId) - public - view - returns (bool _funded) - { - require(senderIsAllowedToRead()); - _funded = proposalsById[_proposalId].votingRounds[_milestoneId].funded; - } - - ////////////////////////////// WRITE FUNCTIONS ////////////////////////////// - - function addProposal( - bytes32 _doc, - address _proposer, - uint256[] _milestoneFundings, - uint256 _finalReward, - bool _isFounder - ) - external - { - require(sender_is(CONTRACT_DAO)); - require( - (proposalsById[_doc].proposalId == EMPTY_BYTES) && - (_doc != EMPTY_BYTES) - ); - - allProposals.append(_doc); - proposalsByState[PROPOSAL_STATE_PREPROPOSAL].append(_doc); - proposalsById[_doc].proposalId = _doc; - proposalsById[_doc].proposer = _proposer; - proposalsById[_doc].currentState = PROPOSAL_STATE_PREPROPOSAL; - proposalsById[_doc].timeCreated = now; - proposalsById[_doc].isDigix = _isFounder; - proposalsById[_doc].addProposalVersion(_doc, _milestoneFundings, _finalReward); - } - - function editProposal( - bytes32 _proposalId, - bytes32 _newDoc, - uint256[] _newMilestoneFundings, - uint256 _finalReward - ) - external - { - require(sender_is(CONTRACT_DAO)); - - proposalsById[_proposalId].addProposalVersion(_newDoc, _newMilestoneFundings, _finalReward); - } - - /// @notice change fundings of a proposal - /// @dev Will throw if the proposal is not finalized yet - function changeFundings(bytes32 _proposalId, uint256[] _newMilestoneFundings, uint256 _finalReward) - external - { - require(sender_is(CONTRACT_DAO)); - - bytes32 _finalVersion = proposalsById[_proposalId].finalVersion; - require(_finalVersion != EMPTY_BYTES); - proposalsById[_proposalId].proposalVersions[_finalVersion].milestoneFundings = _newMilestoneFundings; - proposalsById[_proposalId].proposalVersions[_finalVersion].finalReward = _finalReward; - } - - /// @dev Will throw if the proposal is not finalized yet - function addProposalDoc(bytes32 _proposalId, bytes32 _newDoc) - public - { - require(sender_is(CONTRACT_DAO)); - - bytes32 _finalVersion = proposalsById[_proposalId].finalVersion; - require(_finalVersion != EMPTY_BYTES); //already checked in interactive layer, but why not - proposalsById[_proposalId].proposalVersions[_finalVersion].moreDocs.push(_newDoc); - } - - function finalizeProposal(bytes32 _proposalId) - public - { - require(sender_is(CONTRACT_DAO)); - - proposalsById[_proposalId].finalVersion = getLastProposalVersion(_proposalId); - } - - function updateProposalEndorse( - bytes32 _proposalId, - address _endorser - ) - public - { - require(sender_is(CONTRACT_DAO)); - - DaoStructs.Proposal storage _proposal = proposalsById[_proposalId]; - _proposal.endorser = _endorser; - _proposal.currentState = PROPOSAL_STATE_DRAFT; - proposalsByState[PROPOSAL_STATE_PREPROPOSAL].remove_item(_proposalId); - proposalsByState[PROPOSAL_STATE_DRAFT].append(_proposalId); - } - - function setProposalDraftPass(bytes32 _proposalId, bool _result) - public - { - require(sender_is(CONTRACT_DAO_VOTING_CLAIMS)); - - proposalsById[_proposalId].draftVoting.passed = _result; - if (_result) { - proposalsByState[PROPOSAL_STATE_DRAFT].remove_item(_proposalId); - proposalsByState[PROPOSAL_STATE_MODERATED].append(_proposalId); - proposalsById[_proposalId].currentState = PROPOSAL_STATE_MODERATED; - } else { - closeProposalInternal(_proposalId); - } - } - - function setProposalPass(bytes32 _proposalId, uint256 _index, bool _result) - public - { - require(sender_is(CONTRACT_DAO_VOTING_CLAIMS)); - - if (!_result) { - closeProposalInternal(_proposalId); - } else if (_index == 0) { - proposalsByState[PROPOSAL_STATE_MODERATED].remove_item(_proposalId); - proposalsByState[PROPOSAL_STATE_ONGOING].append(_proposalId); - proposalsById[_proposalId].currentState = PROPOSAL_STATE_ONGOING; - } - proposalsById[_proposalId].votingRounds[_index].passed = _result; - } - - function setProposalDraftVotingTime( - bytes32 _proposalId, - uint256 _time - ) - public - { - require(sender_is(CONTRACT_DAO)); - - proposalsById[_proposalId].draftVoting.startTime = _time; - } - - function setProposalVotingTime( - bytes32 _proposalId, - uint256 _index, - uint256 _time - ) - public - { - require(sender_is_from([CONTRACT_DAO, CONTRACT_DAO_VOTING_CLAIMS, EMPTY_BYTES])); - - proposalsById[_proposalId].votingRounds[_index].startTime = _time; - } - - function setDraftVotingClaim(bytes32 _proposalId, bool _claimed) - public - { - require(sender_is(CONTRACT_DAO_VOTING_CLAIMS)); - proposalsById[_proposalId].draftVoting.claimed = _claimed; - } - - function setVotingClaim(bytes32 _proposalId, uint256 _index, bool _claimed) - public - { - require(sender_is(CONTRACT_DAO_VOTING_CLAIMS)); - proposalsById[_proposalId].votingRounds[_index].claimed = _claimed; - } - - function setProposalCollateralStatus(bytes32 _proposalId, uint256 _status) - public - { - require(sender_is_from([CONTRACT_DAO_VOTING_CLAIMS, CONTRACT_DAO_FUNDING_MANAGER, CONTRACT_DAO])); - proposalsById[_proposalId].collateralStatus = _status; - } - - function setProposalCollateralAmount(bytes32 _proposalId, uint256 _amount) - public - { - require(sender_is(CONTRACT_DAO)); - proposalsById[_proposalId].collateralAmount = _amount; - } - - function updateProposalPRL( - bytes32 _proposalId, - uint256 _action, - bytes32 _doc, - uint256 _time - ) - public - { - require(sender_is(CONTRACT_DAO)); - require(proposalsById[_proposalId].currentState != PROPOSAL_STATE_CLOSED); - - DaoStructs.PrlAction memory prlAction; - prlAction.at = _time; - prlAction.doc = _doc; - prlAction.actionId = _action; - proposalsById[_proposalId].prlActions.push(prlAction); - - if (_action == PRL_ACTION_PAUSE) { - proposalsById[_proposalId].isPausedOrStopped = true; - } else if (_action == PRL_ACTION_UNPAUSE) { - proposalsById[_proposalId].isPausedOrStopped = false; - } else { // STOP - proposalsById[_proposalId].isPausedOrStopped = true; - closeProposalInternal(_proposalId); - } - } - - function closeProposalInternal(bytes32 _proposalId) - internal - { - bytes32 _currentState = proposalsById[_proposalId].currentState; - proposalsByState[_currentState].remove_item(_proposalId); - proposalsByState[PROPOSAL_STATE_CLOSED].append(_proposalId); - proposalsById[_proposalId].currentState = PROPOSAL_STATE_CLOSED; - } - - function addDraftVote( - bytes32 _proposalId, - address _voter, - bool _vote, - uint256 _weight - ) - public - { - require(sender_is(CONTRACT_DAO_VOTING)); - - DaoStructs.Proposal storage _proposal = proposalsById[_proposalId]; - if (_vote) { - _proposal.draftVoting.yesVotes[_voter] = _weight; - if (_proposal.draftVoting.noVotes[_voter] > 0) { // minimize number of writes to storage, since EIP-1087 is not implemented yet - _proposal.draftVoting.noVotes[_voter] = 0; - } - } else { - _proposal.draftVoting.noVotes[_voter] = _weight; - if (_proposal.draftVoting.yesVotes[_voter] > 0) { - _proposal.draftVoting.yesVotes[_voter] = 0; - } - } - } - - function commitVote( - bytes32 _proposalId, - bytes32 _hash, - address _voter, - uint256 _index - ) - public - { - require(sender_is(CONTRACT_DAO_VOTING)); - - proposalsById[_proposalId].votingRounds[_index].commits[_voter] = _hash; - } - - function revealVote( - bytes32 _proposalId, - address _voter, - bool _vote, - uint256 _weight, - uint256 _index - ) - public - { - require(sender_is(CONTRACT_DAO_VOTING)); - - proposalsById[_proposalId].votingRounds[_index].revealVote(_voter, _vote, _weight); - } - - function closeProposal(bytes32 _proposalId) - public - { - require(sender_is(CONTRACT_DAO)); - closeProposalInternal(_proposalId); - } - - function archiveProposal(bytes32 _proposalId) - public - { - require(sender_is(CONTRACT_DAO_VOTING_CLAIMS)); - bytes32 _currentState = proposalsById[_proposalId].currentState; - proposalsByState[_currentState].remove_item(_proposalId); - proposalsByState[PROPOSAL_STATE_ARCHIVED].append(_proposalId); - proposalsById[_proposalId].currentState = PROPOSAL_STATE_ARCHIVED; - } - - function setMilestoneFunded(bytes32 _proposalId, uint256 _milestoneId) - public - { - require(sender_is(CONTRACT_DAO_FUNDING_MANAGER)); - proposalsById[_proposalId].votingRounds[_milestoneId].funded = true; - } -} - - - - -/** - @title Address Iterator Storage - @author DigixGlobal Pte Ltd - @notice See: [Doubly Linked List](/DoublyLinkedList) -*/ -contract AddressIteratorStorage { - - // Initialize Doubly Linked List of Address - using DoublyLinkedList for DoublyLinkedList.Address; - - /** - @notice Reads the first item from the list of Address - @param _list The source list - @return {"_item" : "The first item from the list"} - */ - function read_first_from_addresses(DoublyLinkedList.Address storage _list) - internal - constant - returns (address _item) - { - _item = _list.start_item(); - } - - - /** - @notice Reads the last item from the list of Address - @param _list The source list - @return {"_item" : "The last item from the list"} - */ - function read_last_from_addresses(DoublyLinkedList.Address storage _list) - internal - constant - returns (address _item) - { - _item = _list.end_item(); - } - - /** - @notice Reads the next item on the list of Address - @param _list The source list - @param _current_item The current item to be used as base line - @return {"_item" : "The next item from the list based on the specieid `_current_item`"} - */ - function read_next_from_addresses(DoublyLinkedList.Address storage _list, address _current_item) - internal - constant - returns (address _item) - { - _item = _list.next_item(_current_item); - } - - /** - @notice Reads the previous item on the list of Address - @param _list The source list - @param _current_item The current item to be used as base line - @return {"_item" : "The previous item from the list based on the spcified `_current_item`"} - */ - function read_previous_from_addresses(DoublyLinkedList.Address storage _list, address _current_item) - internal - constant - returns (address _item) - { - _item = _list.previous_item(_current_item); - } - - /** - @notice Reads the list of Address and returns the length of the list - @param _list The source list - @return {"_count": "The lenght of the list"} - */ - function read_total_addresses(DoublyLinkedList.Address storage _list) - internal - constant - returns (uint256 _count) - { - _count = _list.total(); - } - -} - - - - - - - -contract DaoStakeStorage is ResolverClient, DaoConstants, AddressIteratorStorage { - using DoublyLinkedList for DoublyLinkedList.Address; - - // This is the DGD stake of a user (one that is considered in the DAO) - mapping (address => uint256) public lockedDGDStake; - - // This is the actual number of DGDs locked by user - // may be more than the lockedDGDStake - // in case they locked during the main phase - mapping (address => uint256) public actualLockedDGD; - - // The total locked DGDs in the DAO (summation of lockedDGDStake) - uint256 public totalLockedDGDStake; - - // The total locked DGDs by moderators - uint256 public totalModeratorLockedDGDStake; - - // The list of participants in DAO - // actual participants will be subset of this list - DoublyLinkedList.Address allParticipants; - - // The list of moderators in DAO - // actual moderators will be subset of this list - DoublyLinkedList.Address allModerators; - - // Boolean to mark if an address has redeemed - // reputation points for their DGD Badge - mapping (address => bool) public redeemedBadge; - - // mapping to note whether an address has claimed their - // reputation bonus for carbon vote participation - mapping (address => bool) public carbonVoteBonusClaimed; - - constructor(address _resolver) public { - require(init(CONTRACT_STORAGE_DAO_STAKE, _resolver)); - } - - function redeemBadge(address _user) - public - { - require(sender_is(CONTRACT_DAO_STAKE_LOCKING)); - redeemedBadge[_user] = true; - } - - function setCarbonVoteBonusClaimed(address _user) - public - { - require(sender_is(CONTRACT_DAO_STAKE_LOCKING)); - carbonVoteBonusClaimed[_user] = true; - } - - function updateTotalLockedDGDStake(uint256 _totalLockedDGDStake) - public - { - require(sender_is_from([CONTRACT_DAO_STAKE_LOCKING, CONTRACT_DAO_REWARDS_MANAGER, EMPTY_BYTES])); - totalLockedDGDStake = _totalLockedDGDStake; - } - - function updateTotalModeratorLockedDGDs(uint256 _totalLockedDGDStake) - public - { - require(sender_is_from([CONTRACT_DAO_STAKE_LOCKING, CONTRACT_DAO_REWARDS_MANAGER, EMPTY_BYTES])); - totalModeratorLockedDGDStake = _totalLockedDGDStake; - } - - function updateUserDGDStake(address _user, uint256 _actualLockedDGD, uint256 _lockedDGDStake) - public - { - require(sender_is(CONTRACT_DAO_STAKE_LOCKING)); - actualLockedDGD[_user] = _actualLockedDGD; - lockedDGDStake[_user] = _lockedDGDStake; - } - - function readUserDGDStake(address _user) - public - view - returns ( - uint256 _actualLockedDGD, - uint256 _lockedDGDStake - ) - { - _actualLockedDGD = actualLockedDGD[_user]; - _lockedDGDStake = lockedDGDStake[_user]; - } - - function addToParticipantList(address _user) - public - returns (bool _success) - { - require(sender_is(CONTRACT_DAO_STAKE_LOCKING)); - _success = allParticipants.append(_user); - } - - function removeFromParticipantList(address _user) - public - returns (bool _success) - { - require(sender_is(CONTRACT_DAO_STAKE_LOCKING)); - _success = allParticipants.remove_item(_user); - } - - function addToModeratorList(address _user) - public - returns (bool _success) - { - require(sender_is(CONTRACT_DAO_STAKE_LOCKING)); - _success = allModerators.append(_user); - } - - function removeFromModeratorList(address _user) - public - returns (bool _success) - { - require(sender_is(CONTRACT_DAO_STAKE_LOCKING)); - _success = allModerators.remove_item(_user); - } - - function isInParticipantList(address _user) - public - view - returns (bool _is) - { - _is = allParticipants.find(_user) != 0; - } - - function isInModeratorsList(address _user) - public - view - returns (bool _is) - { - _is = allModerators.find(_user) != 0; - } - - function readFirstModerator() - public - view - returns (address _item) - { - _item = read_first_from_addresses(allModerators); - } - - function readLastModerator() - public - view - returns (address _item) - { - _item = read_last_from_addresses(allModerators); - } - - function readNextModerator(address _current_item) - public - view - returns (address _item) - { - _item = read_next_from_addresses(allModerators, _current_item); - } - - function readPreviousModerator(address _current_item) - public - view - returns (address _item) - { - _item = read_previous_from_addresses(allModerators, _current_item); - } - - function readTotalModerators() - public - view - returns (uint256 _total_count) - { - _total_count = read_total_addresses(allModerators); - } - - function readFirstParticipant() - public - view - returns (address _item) - { - _item = read_first_from_addresses(allParticipants); - } - - function readLastParticipant() - public - view - returns (address _item) - { - _item = read_last_from_addresses(allParticipants); - } - - function readNextParticipant(address _current_item) - public - view - returns (address _item) - { - _item = read_next_from_addresses(allParticipants, _current_item); - } - - function readPreviousParticipant(address _current_item) - public - view - returns (address _item) - { - _item = read_previous_from_addresses(allParticipants, _current_item); - } - - function readTotalParticipant() - public - view - returns (uint256 _total_count) - { - _total_count = read_total_addresses(allParticipants); - } -} - - -/* */ - - - - - - - - -/** -@title Contract to list various storage states from DigixDAO -@author Digix Holdings -*/ -contract DaoListingService is - AddressIteratorInteractive, - BytesIteratorInteractive, - IndexedBytesIteratorInteractive, - DaoWhitelistingCommon -{ - - /** - @notice Constructor - @param _resolver address of contract resolver - */ - constructor(address _resolver) public { - require(init(CONTRACT_SERVICE_DAO_LISTING, _resolver)); - } - - function daoStakeStorage() - internal - view - returns (DaoStakeStorage _contract) - { - _contract = DaoStakeStorage(get_contract(CONTRACT_STORAGE_DAO_STAKE)); - } - - function daoStorage() - internal - view - returns (DaoStorage _contract) - { - _contract = DaoStorage(get_contract(CONTRACT_STORAGE_DAO)); - } - - /** - @notice function to list moderators - @dev note that this list may include some additional entries that are - not moderators in the current quarter. This may happen if they - were moderators in the previous quarter, but have not confirmed - their participation in the current quarter. For a single address, - a better way to know if moderator or not is: - Dao.isModerator(_user) - @param _count number of addresses to list - @param _from_start boolean, whether to list from start or end - @return { - "_moderators": "list of moderator addresses" - } - */ - function listModerators(uint256 _count, bool _from_start) - public - view - returns (address[] _moderators) - { - _moderators = list_addresses( - _count, - daoStakeStorage().readFirstModerator, - daoStakeStorage().readLastModerator, - daoStakeStorage().readNextModerator, - daoStakeStorage().readPreviousModerator, - _from_start - ); - } - - /** - @notice function to list moderators from a particular moderator - @dev note that this list may include some additional entries that are - not moderators in the current quarter. This may happen if they - were moderators in the previous quarter, but have not confirmed - their participation in the current quarter. For a single address, - a better way to know if moderator or not is: - Dao.isModerator(_user) - - Another note: this function will start listing AFTER the _currentModerator - For example: we have [address1, address2, address3, address4]. listModeratorsFrom(address1, 2, true) = [address2, address3] - @param _currentModerator start the list after this moderator address - @param _count number of addresses to list - @param _from_start boolean, whether to list from start or end - @return { - "_moderators": "list of moderator addresses" - } - */ - function listModeratorsFrom( - address _currentModerator, - uint256 _count, - bool _from_start - ) - public - view - returns (address[] _moderators) - { - _moderators = list_addresses_from( - _currentModerator, - _count, - daoStakeStorage().readFirstModerator, - daoStakeStorage().readLastModerator, - daoStakeStorage().readNextModerator, - daoStakeStorage().readPreviousModerator, - _from_start - ); - } - - /** - @notice function to list participants - @dev note that this list may include some additional entries that are - not participants in the current quarter. This may happen if they - were participants in the previous quarter, but have not confirmed - their participation in the current quarter. For a single address, - a better way to know if participant or not is: - Dao.isParticipant(_user) - @param _count number of addresses to list - @param _from_start boolean, whether to list from start or end - @return { - "_participants": "list of participant addresses" - } - */ - function listParticipants(uint256 _count, bool _from_start) - public - view - returns (address[] _participants) - { - _participants = list_addresses( - _count, - daoStakeStorage().readFirstParticipant, - daoStakeStorage().readLastParticipant, - daoStakeStorage().readNextParticipant, - daoStakeStorage().readPreviousParticipant, - _from_start - ); - } - - /** - @notice function to list participants from a particular participant - @dev note that this list may include some additional entries that are - not participants in the current quarter. This may happen if they - were participants in the previous quarter, but have not confirmed - their participation in the current quarter. For a single address, - a better way to know if participant or not is: - contracts.dao.isParticipant(_user) - - Another note: this function will start listing AFTER the _currentParticipant - For example: we have [address1, address2, address3, address4]. listParticipantsFrom(address1, 2, true) = [address2, address3] - @param _currentParticipant list from AFTER this participant address - @param _count number of addresses to list - @param _from_start boolean, whether to list from start or end - @return { - "_participants": "list of participant addresses" - } - */ - function listParticipantsFrom( - address _currentParticipant, - uint256 _count, - bool _from_start - ) - public - view - returns (address[] _participants) - { - _participants = list_addresses_from( - _currentParticipant, - _count, - daoStakeStorage().readFirstParticipant, - daoStakeStorage().readLastParticipant, - daoStakeStorage().readNextParticipant, - daoStakeStorage().readPreviousParticipant, - _from_start - ); - } - - /** - @notice function to list _count no. of proposals - @param _count number of proposals to list - @param _from_start boolean value, true if count from start, false if count from end - @return { - "_proposals": "the list of proposal IDs" - } - */ - function listProposals( - uint256 _count, - bool _from_start - ) - public - view - returns (bytes32[] _proposals) - { - _proposals = list_bytesarray( - _count, - daoStorage().getFirstProposal, - daoStorage().getLastProposal, - daoStorage().getNextProposal, - daoStorage().getPreviousProposal, - _from_start - ); - } - - /** - @notice function to list _count no. of proposals from AFTER _currentProposal - @param _currentProposal ID of proposal to list proposals from - @param _count number of proposals to list - @param _from_start boolean value, true if count forwards, false if count backwards - @return { - "_proposals": "the list of proposal IDs" - } - */ - function listProposalsFrom( - bytes32 _currentProposal, - uint256 _count, - bool _from_start - ) - public - view - returns (bytes32[] _proposals) - { - _proposals = list_bytesarray_from( - _currentProposal, - _count, - daoStorage().getFirstProposal, - daoStorage().getLastProposal, - daoStorage().getNextProposal, - daoStorage().getPreviousProposal, - _from_start - ); - } - - /** - @notice function to list _count no. of proposals in state _stateId - @param _stateId state of proposal - @param _count number of proposals to list - @param _from_start boolean value, true if count from start, false if count from end - @return { - "_proposals": "the list of proposal IDs" - } - */ - function listProposalsInState( - bytes32 _stateId, - uint256 _count, - bool _from_start - ) - public - view - returns (bytes32[] _proposals) - { - require(senderIsAllowedToRead()); - _proposals = list_indexed_bytesarray( - _stateId, - _count, - daoStorage().getFirstProposalInState, - daoStorage().getLastProposalInState, - daoStorage().getNextProposalInState, - daoStorage().getPreviousProposalInState, - _from_start - ); - } - - /** - @notice function to list _count no. of proposals in state _stateId from AFTER _currentProposal - @param _stateId state of proposal - @param _currentProposal ID of proposal to list proposals from - @param _count number of proposals to list - @param _from_start boolean value, true if count forwards, false if count backwards - @return { - "_proposals": "the list of proposal IDs" - } - */ - function listProposalsInStateFrom( - bytes32 _stateId, - bytes32 _currentProposal, - uint256 _count, - bool _from_start - ) - public - view - returns (bytes32[] _proposals) - { - require(senderIsAllowedToRead()); - _proposals = list_indexed_bytesarray_from( - _stateId, - _currentProposal, - _count, - daoStorage().getFirstProposalInState, - daoStorage().getLastProposalInState, - daoStorage().getNextProposalInState, - daoStorage().getPreviousProposalInState, - _from_start - ); - } - - /** - @notice function to list proposal versions - @param _proposalId ID of the proposal - @param _count number of proposal versions to list - @param _from_start boolean, true to list from start, false to list from end - @return { - "_versions": "list of proposal versions" - } - */ - function listProposalVersions( - bytes32 _proposalId, - uint256 _count, - bool _from_start - ) - public - view - returns (bytes32[] _versions) - { - _versions = list_indexed_bytesarray( - _proposalId, - _count, - daoStorage().getFirstProposalVersion, - daoStorage().getLastProposalVersion, - daoStorage().getNextProposalVersion, - daoStorage().getPreviousProposalVersion, - _from_start - ); - } - - /** - @notice function to list proposal versions from AFTER a particular version - @param _proposalId ID of the proposal - @param _currentVersion version to list _count versions from - @param _count number of proposal versions to list - @param _from_start boolean, true to list from start, false to list from end - @return { - "_versions": "list of proposal versions" - } - */ - function listProposalVersionsFrom( - bytes32 _proposalId, - bytes32 _currentVersion, - uint256 _count, - bool _from_start - ) - public - view - returns (bytes32[] _versions) - { - _versions = list_indexed_bytesarray_from( - _proposalId, - _currentVersion, - _count, - daoStorage().getFirstProposalVersion, - daoStorage().getLastProposalVersion, - daoStorage().getNextProposalVersion, - daoStorage().getPreviousProposalVersion, - _from_start - ); - } -} - - - - -/** - @title Indexed Address IteratorStorage - @author DigixGlobal Pte Ltd - @notice This contract utilizes: [Doubly Linked List](/DoublyLinkedList) -*/ -contract IndexedAddressIteratorStorage { - - using DoublyLinkedList for DoublyLinkedList.IndexedAddress; - /** - @notice Reads the first item from an Indexed Address Doubly Linked List - @param _list The source list - @param _collection_index Index of the Collection to evaluate - @return {"_item" : "First item on the list"} - */ - function read_first_from_indexed_addresses(DoublyLinkedList.IndexedAddress storage _list, bytes32 _collection_index) - internal - constant - returns (address _item) - { - _item = _list.start_item(_collection_index); - } - - /** - @notice Reads the last item from an Indexed Address Doubly Linked list - @param _list The source list - @param _collection_index Index of the Collection to evaluate - @return {"_item" : "First item on the list"} - */ - function read_last_from_indexed_addresses(DoublyLinkedList.IndexedAddress storage _list, bytes32 _collection_index) - internal - constant - returns (address _item) - { - _item = _list.end_item(_collection_index); - } - - /** - @notice Reads the next item from an Indexed Address Doubly Linked List based on the specified `_current_item` - @param _list The source list - @param _collection_index Index of the Collection to evaluate - @param _current_item The current item to use as base line - @return {"_item": "The next item on the list"} - */ - function read_next_from_indexed_addresses(DoublyLinkedList.IndexedAddress storage _list, bytes32 _collection_index, address _current_item) - internal - constant - returns (address _item) - { - _item = _list.next_item(_collection_index, _current_item); - } - - /** - @notice Reads the previous item from an Index Address Doubly Linked List based on the specified `_current_item` - @param _list The source list - @param _collection_index Index of the Collection to evaluate - @param _current_item The current item to use as base line - @return {"_item" : "The previous item on the list"} - */ - function read_previous_from_indexed_addresses(DoublyLinkedList.IndexedAddress storage _list, bytes32 _collection_index, address _current_item) - internal - constant - returns (address _item) - { - _item = _list.previous_item(_collection_index, _current_item); - } - - - /** - @notice Reads the total number of items in an Indexed Address Doubly Linked List - @param _list The source list - @param _collection_index Index of the Collection to evaluate - @return {"_count": "Length of the Doubly Linked list"} - */ - function read_total_indexed_addresses(DoublyLinkedList.IndexedAddress storage _list, bytes32 _collection_index) - internal - constant - returns (uint256 _count) - { - _count = _list.total(_collection_index); - } - -} - - - - -/** - @title Uint Iterator Storage - @author DigixGlobal Pte Ltd -*/ -contract UintIteratorStorage { - - using DoublyLinkedList for DoublyLinkedList.Uint; - - /** - @notice Returns the first item from a `DoublyLinkedList.Uint` list - @param _list The DoublyLinkedList.Uint list - @return {"_item": "The first item"} - */ - function read_first_from_uints(DoublyLinkedList.Uint storage _list) - internal - constant - returns (uint256 _item) - { - _item = _list.start_item(); - } - - /** - @notice Returns the last item from a `DoublyLinkedList.Uint` list - @param _list The DoublyLinkedList.Uint list - @return {"_item": "The last item"} - */ - function read_last_from_uints(DoublyLinkedList.Uint storage _list) - internal - constant - returns (uint256 _item) - { - _item = _list.end_item(); - } - - /** - @notice Returns the next item from a `DoublyLinkedList.Uint` list based on the specified `_current_item` - @param _list The DoublyLinkedList.Uint list - @param _current_item The current item - @return {"_item": "The next item"} - */ - function read_next_from_uints(DoublyLinkedList.Uint storage _list, uint256 _current_item) - internal - constant - returns (uint256 _item) - { - _item = _list.next_item(_current_item); - } - - /** - @notice Returns the previous item from a `DoublyLinkedList.Uint` list based on the specified `_current_item` - @param _list The DoublyLinkedList.Uint list - @param _current_item The current item - @return {"_item": "The previous item"} - */ - function read_previous_from_uints(DoublyLinkedList.Uint storage _list, uint256 _current_item) - internal - constant - returns (uint256 _item) - { - _item = _list.previous_item(_current_item); - } - - /** - @notice Returns the total count of itemsfrom a `DoublyLinkedList.Uint` list - @param _list The DoublyLinkedList.Uint list - @return {"_count": "The total count of items"} - */ - function read_total_uints(DoublyLinkedList.Uint storage _list) - internal - constant - returns (uint256 _count) - { - _count = _list.total(); - } - -} - - - - - -/** -@title Directory Storage contains information of a directory -@author DigixGlobal -*/ -contract DirectoryStorage is IndexedAddressIteratorStorage, UintIteratorStorage { - - using DoublyLinkedList for DoublyLinkedList.IndexedAddress; - using DoublyLinkedList for DoublyLinkedList.Uint; - - struct User { - bytes32 document; - bool active; - } - - struct Group { - bytes32 name; - bytes32 document; - uint256 role_id; - mapping(address => User) members_by_address; - } - - struct System { - DoublyLinkedList.Uint groups; - DoublyLinkedList.IndexedAddress groups_collection; - mapping (uint256 => Group) groups_by_id; - mapping (address => uint256) group_ids_by_address; - mapping (uint256 => bytes32) roles_by_id; - bool initialized; - uint256 total_groups; - } - - System system; - - /** - @notice Initializes directory settings - @return _success If directory initialization is successful - */ - function initialize_directory() - internal - returns (bool _success) - { - require(system.initialized == false); - system.total_groups = 0; - system.initialized = true; - internal_create_role(1, "root"); - internal_create_group(1, "root", ""); - _success = internal_update_add_user_to_group(1, tx.origin, ""); - } - - /** - @notice Creates a new role with the given information - @param _role_id Id of the new role - @param _name Name of the new role - @return {"_success": "If creation of new role is successful"} - */ - function internal_create_role(uint256 _role_id, bytes32 _name) - internal - returns (bool _success) - { - require(_role_id > 0); - require(_name != bytes32(0x0)); - system.roles_by_id[_role_id] = _name; - _success = true; - } - - /** - @notice Returns the role's name of a role id - @param _role_id Id of the role - @return {"_name": "Name of the role"} - */ - function read_role(uint256 _role_id) - public - constant - returns (bytes32 _name) - { - _name = system.roles_by_id[_role_id]; - } - - /** - @notice Creates a new group with the given information - @param _role_id Role id of the new group - @param _name Name of the new group - @param _document Document of the new group - @return { - "_success": "If creation of the new group is successful", - "_group_id: "Id of the new group" - } - */ - function internal_create_group(uint256 _role_id, bytes32 _name, bytes32 _document) - internal - returns (bool _success, uint256 _group_id) - { - require(_role_id > 0); - require(read_role(_role_id) != bytes32(0x0)); - _group_id = ++system.total_groups; - system.groups.append(_group_id); - system.groups_by_id[_group_id].role_id = _role_id; - system.groups_by_id[_group_id].name = _name; - system.groups_by_id[_group_id].document = _document; - _success = true; - } - - /** - @notice Returns the group's information - @param _group_id Id of the group - @return { - "_role_id": "Role id of the group", - "_name: "Name of the group", - "_document: "Document of the group" - } - */ - function read_group(uint256 _group_id) - public - constant - returns (uint256 _role_id, bytes32 _name, bytes32 _document, uint256 _members_count) - { - if (system.groups.valid_item(_group_id)) { - _role_id = system.groups_by_id[_group_id].role_id; - _name = system.groups_by_id[_group_id].name; - _document = system.groups_by_id[_group_id].document; - _members_count = read_total_indexed_addresses(system.groups_collection, bytes32(_group_id)); - } else { - _role_id = 0; - _name = "invalid"; - _document = ""; - _members_count = 0; - } - } - - /** - @notice Adds new user with the given information to a group - @param _group_id Id of the group - @param _user Address of the new user - @param _document Information of the new user - @return {"_success": "If adding new user to a group is successful"} - */ - function internal_update_add_user_to_group(uint256 _group_id, address _user, bytes32 _document) - internal - returns (bool _success) - { - if (system.groups_by_id[_group_id].members_by_address[_user].active == false && system.group_ids_by_address[_user] == 0 && system.groups_by_id[_group_id].role_id != 0) { - - system.groups_by_id[_group_id].members_by_address[_user].active = true; - system.group_ids_by_address[_user] = _group_id; - system.groups_collection.append(bytes32(_group_id), _user); - system.groups_by_id[_group_id].members_by_address[_user].document = _document; - _success = true; - } else { - _success = false; - } - } - - /** - @notice Removes user from its group - @param _user Address of the user - @return {"_success": "If removing of user is successful"} - */ - function internal_destroy_group_user(address _user) - internal - returns (bool _success) - { - uint256 _group_id = system.group_ids_by_address[_user]; - if ((_group_id == 1) && (system.groups_collection.total(bytes32(_group_id)) == 1)) { - _success = false; - } else { - system.groups_by_id[_group_id].members_by_address[_user].active = false; - system.group_ids_by_address[_user] = 0; - delete system.groups_by_id[_group_id].members_by_address[_user]; - _success = system.groups_collection.remove_item(bytes32(_group_id), _user); - } - } - - /** - @notice Returns the role id of a user - @param _user Address of a user - @return {"_role_id": "Role id of the user"} - */ - function read_user_role_id(address _user) - constant - public - returns (uint256 _role_id) - { - uint256 _group_id = system.group_ids_by_address[_user]; - _role_id = system.groups_by_id[_group_id].role_id; - } - - /** - @notice Returns the user's information - @param _user Address of the user - @return { - "_group_id": "Group id of the user", - "_role_id": "Role id of the user", - "_document": "Information of the user" - } - */ - function read_user(address _user) - public - constant - returns (uint256 _group_id, uint256 _role_id, bytes32 _document) - { - _group_id = system.group_ids_by_address[_user]; - _role_id = system.groups_by_id[_group_id].role_id; - _document = system.groups_by_id[_group_id].members_by_address[_user].document; - } - - /** - @notice Returns the id of the first group - @return {"_group_id": "Id of the first group"} - */ - function read_first_group() - view - external - returns (uint256 _group_id) - { - _group_id = read_first_from_uints(system.groups); - } - - /** - @notice Returns the id of the last group - @return {"_group_id": "Id of the last group"} - */ - function read_last_group() - view - external - returns (uint256 _group_id) - { - _group_id = read_last_from_uints(system.groups); - } - - /** - @notice Returns the id of the previous group depending on the given current group - @param _current_group_id Id of the current group - @return {"_group_id": "Id of the previous group"} - */ - function read_previous_group_from_group(uint256 _current_group_id) - view - external - returns (uint256 _group_id) - { - _group_id = read_previous_from_uints(system.groups, _current_group_id); - } - - /** - @notice Returns the id of the next group depending on the given current group - @param _current_group_id Id of the current group - @return {"_group_id": "Id of the next group"} - */ - function read_next_group_from_group(uint256 _current_group_id) - view - external - returns (uint256 _group_id) - { - _group_id = read_next_from_uints(system.groups, _current_group_id); - } - - /** - @notice Returns the total number of groups - @return {"_total_groups": "Total number of groups"} - */ - function read_total_groups() - view - external - returns (uint256 _total_groups) - { - _total_groups = read_total_uints(system.groups); - } - - /** - @notice Returns the first user of a group - @param _group_id Id of the group - @return {"_user": "Address of the user"} - */ - function read_first_user_in_group(bytes32 _group_id) - view - external - returns (address _user) - { - _user = read_first_from_indexed_addresses(system.groups_collection, bytes32(_group_id)); - } - - /** - @notice Returns the last user of a group - @param _group_id Id of the group - @return {"_user": "Address of the user"} - */ - function read_last_user_in_group(bytes32 _group_id) - view - external - returns (address _user) - { - _user = read_last_from_indexed_addresses(system.groups_collection, bytes32(_group_id)); - } - - /** - @notice Returns the next user of a group depending on the given current user - @param _group_id Id of the group - @param _current_user Address of the current user - @return {"_user": "Address of the next user"} - */ - function read_next_user_in_group(bytes32 _group_id, address _current_user) - view - external - returns (address _user) - { - _user = read_next_from_indexed_addresses(system.groups_collection, bytes32(_group_id), _current_user); - } - - /** - @notice Returns the previous user of a group depending on the given current user - @param _group_id Id of the group - @param _current_user Address of the current user - @return {"_user": "Address of the last user"} - */ - function read_previous_user_in_group(bytes32 _group_id, address _current_user) - view - external - returns (address _user) - { - _user = read_previous_from_indexed_addresses(system.groups_collection, bytes32(_group_id), _current_user); - } - - /** - @notice Returns the total number of users of a group - @param _group_id Id of the group - @return {"_total_users": "Total number of users"} - */ - function read_total_users_in_group(bytes32 _group_id) - view - external - returns (uint256 _total_users) - { - _total_users = read_total_indexed_addresses(system.groups_collection, bytes32(_group_id)); - } -} - - - - - - -contract DaoIdentityStorage is ResolverClient, DaoConstants, DirectoryStorage { - - // struct for KYC details - // doc is the IPFS doc hash for any information regarding this KYC - // id_expiration is the UTC timestamp at which this KYC will expire - // at any time after this, the user's KYC is invalid, and that user - // MUST re-KYC before doing any proposer related operation in DigixDAO - struct KycDetails { - bytes32 doc; - uint256 id_expiration; - } - - // a mapping of address to the KYC details - mapping (address => KycDetails) kycInfo; - - constructor(address _resolver) - public - { - require(init(CONTRACT_STORAGE_DAO_IDENTITY, _resolver)); - require(initialize_directory()); - } - - function create_group(uint256 _role_id, bytes32 _name, bytes32 _document) - public - returns (bool _success, uint256 _group_id) - { - require(sender_is(CONTRACT_DAO_IDENTITY)); - (_success, _group_id) = internal_create_group(_role_id, _name, _document); - require(_success); - } - - function create_role(uint256 _role_id, bytes32 _name) - public - returns (bool _success) - { - require(sender_is(CONTRACT_DAO_IDENTITY)); - _success = internal_create_role(_role_id, _name); - require(_success); - } - - function update_add_user_to_group(uint256 _group_id, address _user, bytes32 _document) - public - returns (bool _success) - { - require(sender_is(CONTRACT_DAO_IDENTITY)); - _success = internal_update_add_user_to_group(_group_id, _user, _document); - require(_success); - } - - function update_remove_group_user(address _user) - public - returns (bool _success) - { - require(sender_is(CONTRACT_DAO_IDENTITY)); - _success = internal_destroy_group_user(_user); - require(_success); - } - - function update_kyc(address _user, bytes32 _doc, uint256 _id_expiration) - public - { - require(sender_is(CONTRACT_DAO_IDENTITY)); - kycInfo[_user].doc = _doc; - kycInfo[_user].id_expiration = _id_expiration; - } - - function read_kyc_info(address _user) - public - view - returns (bytes32 _doc, uint256 _id_expiration) - { - _doc = kycInfo[_user].doc; - _id_expiration = kycInfo[_user].id_expiration; - } - - function is_kyc_approved(address _user) - public - view - returns (bool _approved) - { - uint256 _id_expiration; - (,_id_expiration) = read_kyc_info(_user); - _approved = _id_expiration > now; - } -} - - -/* */ - - - -contract IdentityCommon is DaoWhitelistingCommon { - - modifier if_root() { - require(identity_storage().read_user_role_id(msg.sender) == ROLES_ROOT); - _; - } - - modifier if_founder() { - require(is_founder()); - _; - } - - function is_founder() - internal - view - returns (bool _isFounder) - { - _isFounder = identity_storage().read_user_role_id(msg.sender) == ROLES_FOUNDERS; - } - - modifier if_prl() { - require(identity_storage().read_user_role_id(msg.sender) == ROLES_PRLS); - _; - } - - modifier if_kyc_admin() { - require(identity_storage().read_user_role_id(msg.sender) == ROLES_KYC_ADMINS); - _; - } - - function identity_storage() - internal - view - returns (DaoIdentityStorage _contract) - { - _contract = DaoIdentityStorage(get_contract(CONTRACT_STORAGE_DAO_IDENTITY)); - } -} - - - - - -contract DaoConfigsStorage is ResolverClient, DaoConstants { - - // mapping of config name to config value - // config names can be found in DaoConstants contract - mapping (bytes32 => uint256) public uintConfigs; - - // mapping of config name to config value - // config names can be found in DaoConstants contract - mapping (bytes32 => address) public addressConfigs; - - // mapping of config name to config value - // config names can be found in DaoConstants contract - mapping (bytes32 => bytes32) public bytesConfigs; - - constructor(address _resolver) - public - { - require(init(CONTRACT_STORAGE_DAO_CONFIG, _resolver)); - - uintConfigs[CONFIG_LOCKING_PHASE_DURATION] = 10 days; - uintConfigs[CONFIG_QUARTER_DURATION] = QUARTER_DURATION; - uintConfigs[CONFIG_VOTING_COMMIT_PHASE] = 3 weeks; - uintConfigs[CONFIG_VOTING_PHASE_TOTAL] = 4 weeks; - uintConfigs[CONFIG_INTERIM_COMMIT_PHASE] = 7 days; - uintConfigs[CONFIG_INTERIM_PHASE_TOTAL] = 10 days; - - uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR] = 20; - uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR] = 100; - uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR] = 60; - uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR] = 100; - - uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR] = 20; - uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR] = 100; - uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR] = 60; - uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR] = 100; - - uintConfigs[CONFIG_DRAFT_QUOTA_NUMERATOR] = 30; - uintConfigs[CONFIG_DRAFT_QUOTA_DENOMINATOR] = 100; - uintConfigs[CONFIG_VOTING_QUOTA_NUMERATOR] = 30; - uintConfigs[CONFIG_VOTING_QUOTA_DENOMINATOR] = 100; - - uintConfigs[CONFIG_QUARTER_POINT_DRAFT_VOTE] = 1; - uintConfigs[CONFIG_QUARTER_POINT_VOTE] = 1; - uintConfigs[CONFIG_QUARTER_POINT_INTERIM_VOTE] = 1; - - uintConfigs[CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH] = 3; - - uintConfigs[CONFIG_BONUS_REPUTATION_NUMERATOR] = 200; - uintConfigs[CONFIG_BONUS_REPUTATION_DENOMINATOR] = 100; - - uintConfigs[CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE] = 3 weeks; - uintConfigs[CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL] = 4 weeks; - - uintConfigs[CONFIG_SPECIAL_QUOTA_NUMERATOR] = 51; - uintConfigs[CONFIG_SPECIAL_QUOTA_DENOMINATOR] = 100; - uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR] = 70; - uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR] = 100; - - uintConfigs[CONFIG_MAXIMUM_REPUTATION_DEDUCTION] = 20; - uintConfigs[CONFIG_PUNISHMENT_FOR_NOT_LOCKING] = 5; - uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_NUM] = 1; // 1 extra QP gains 1/1 RP - uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_DEN] = 1; - - uintConfigs[CONFIG_MINIMAL_QUARTER_POINT] = 3; - uintConfigs[CONFIG_QUARTER_POINT_SCALING_FACTOR] = 10; - uintConfigs[CONFIG_REPUTATION_POINT_SCALING_FACTOR] = 10; - - uintConfigs[CONFIG_MODERATOR_MINIMAL_QUARTER_POINT] = 3; - uintConfigs[CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR] = 10; - uintConfigs[CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR] = 10; - - uintConfigs[CONFIG_PORTION_TO_MODERATORS_NUM] = 5; //5% of DGX to Badge holder voting activity - uintConfigs[CONFIG_PORTION_TO_MODERATORS_DEN] = 100; - - uintConfigs[CONFIG_DRAFT_VOTING_PHASE] = 2 weeks; - uintConfigs[CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE] = 1000; - - uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR] = 30; - uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR] = 100; - - uintConfigs[CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION] = 20; - uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM] = 1; - uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN] = 1; - - uintConfigs[CONFIG_VOTE_CLAIMING_DEADLINE] = 5 days; - - uintConfigs[CONFIG_MINIMUM_LOCKED_DGD] = 10 ** 9; - uintConfigs[CONFIG_MINIMUM_DGD_FOR_MODERATOR] = 100 * (10 ** 9); - uintConfigs[CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR] = 100; - - uintConfigs[CONFIG_PREPROPOSAL_COLLATERAL] = 2 ether; - - uintConfigs[CONFIG_MAX_FUNDING_FOR_NON_DIGIX] = 20 ether; - uintConfigs[CONFIG_MAX_MILESTONES_FOR_NON_DIGIX] = 2; - uintConfigs[CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER] = 10; - - uintConfigs[CONFIG_PROPOSAL_DEAD_DURATION] = 180 days; - - uintConfigs[CONFIG_CARBON_VOTE_REPUTATION_BONUS] = 35; - } - - function updateUintConfigs(uint256[] _uintConfigs) - external - { - require(sender_is(CONTRACT_DAO_SPECIAL_VOTING_CLAIMS)); - uintConfigs[CONFIG_LOCKING_PHASE_DURATION] = _uintConfigs[0]; - /* - This used to be a config that can be changed. Now, _uintConfigs[1] is just a dummy config that doesnt do anything - uintConfigs[CONFIG_QUARTER_DURATION] = _uintConfigs[1]; - */ - uintConfigs[CONFIG_VOTING_COMMIT_PHASE] = _uintConfigs[2]; - uintConfigs[CONFIG_VOTING_PHASE_TOTAL] = _uintConfigs[3]; - uintConfigs[CONFIG_INTERIM_COMMIT_PHASE] = _uintConfigs[4]; - uintConfigs[CONFIG_INTERIM_PHASE_TOTAL] = _uintConfigs[5]; - uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR] = _uintConfigs[6]; - uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR] = _uintConfigs[7]; - uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR] = _uintConfigs[8]; - uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR] = _uintConfigs[9]; - uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR] = _uintConfigs[10]; - uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR] = _uintConfigs[11]; - uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR] = _uintConfigs[12]; - uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR] = _uintConfigs[13]; - uintConfigs[CONFIG_DRAFT_QUOTA_NUMERATOR] = _uintConfigs[14]; - uintConfigs[CONFIG_DRAFT_QUOTA_DENOMINATOR] = _uintConfigs[15]; - uintConfigs[CONFIG_VOTING_QUOTA_NUMERATOR] = _uintConfigs[16]; - uintConfigs[CONFIG_VOTING_QUOTA_DENOMINATOR] = _uintConfigs[17]; - uintConfigs[CONFIG_QUARTER_POINT_DRAFT_VOTE] = _uintConfigs[18]; - uintConfigs[CONFIG_QUARTER_POINT_VOTE] = _uintConfigs[19]; - uintConfigs[CONFIG_QUARTER_POINT_INTERIM_VOTE] = _uintConfigs[20]; - uintConfigs[CONFIG_MINIMAL_QUARTER_POINT] = _uintConfigs[21]; - uintConfigs[CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH] = _uintConfigs[22]; - uintConfigs[CONFIG_BONUS_REPUTATION_NUMERATOR] = _uintConfigs[23]; - uintConfigs[CONFIG_BONUS_REPUTATION_DENOMINATOR] = _uintConfigs[24]; - uintConfigs[CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE] = _uintConfigs[25]; - uintConfigs[CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL] = _uintConfigs[26]; - uintConfigs[CONFIG_SPECIAL_QUOTA_NUMERATOR] = _uintConfigs[27]; - uintConfigs[CONFIG_SPECIAL_QUOTA_DENOMINATOR] = _uintConfigs[28]; - uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR] = _uintConfigs[29]; - uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR] = _uintConfigs[30]; - uintConfigs[CONFIG_MAXIMUM_REPUTATION_DEDUCTION] = _uintConfigs[31]; - uintConfigs[CONFIG_PUNISHMENT_FOR_NOT_LOCKING] = _uintConfigs[32]; - uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_NUM] = _uintConfigs[33]; - uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_DEN] = _uintConfigs[34]; - uintConfigs[CONFIG_QUARTER_POINT_SCALING_FACTOR] = _uintConfigs[35]; - uintConfigs[CONFIG_REPUTATION_POINT_SCALING_FACTOR] = _uintConfigs[36]; - uintConfigs[CONFIG_MODERATOR_MINIMAL_QUARTER_POINT] = _uintConfigs[37]; - uintConfigs[CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR] = _uintConfigs[38]; - uintConfigs[CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR] = _uintConfigs[39]; - uintConfigs[CONFIG_PORTION_TO_MODERATORS_NUM] = _uintConfigs[40]; - uintConfigs[CONFIG_PORTION_TO_MODERATORS_DEN] = _uintConfigs[41]; - uintConfigs[CONFIG_DRAFT_VOTING_PHASE] = _uintConfigs[42]; - uintConfigs[CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE] = _uintConfigs[43]; - uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR] = _uintConfigs[44]; - uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR] = _uintConfigs[45]; - uintConfigs[CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION] = _uintConfigs[46]; - uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM] = _uintConfigs[47]; - uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN] = _uintConfigs[48]; - uintConfigs[CONFIG_VOTE_CLAIMING_DEADLINE] = _uintConfigs[49]; - uintConfigs[CONFIG_MINIMUM_LOCKED_DGD] = _uintConfigs[50]; - uintConfigs[CONFIG_MINIMUM_DGD_FOR_MODERATOR] = _uintConfigs[51]; - uintConfigs[CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR] = _uintConfigs[52]; - uintConfigs[CONFIG_PREPROPOSAL_COLLATERAL] = _uintConfigs[53]; - uintConfigs[CONFIG_MAX_FUNDING_FOR_NON_DIGIX] = _uintConfigs[54]; - uintConfigs[CONFIG_MAX_MILESTONES_FOR_NON_DIGIX] = _uintConfigs[55]; - uintConfigs[CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER] = _uintConfigs[56]; - uintConfigs[CONFIG_PROPOSAL_DEAD_DURATION] = _uintConfigs[57]; - uintConfigs[CONFIG_CARBON_VOTE_REPUTATION_BONUS] = _uintConfigs[58]; - } - - function readUintConfigs() - public - view - returns (uint256[]) - { - uint256[] memory _uintConfigs = new uint256[](59); - _uintConfigs[0] = uintConfigs[CONFIG_LOCKING_PHASE_DURATION]; - _uintConfigs[1] = uintConfigs[CONFIG_QUARTER_DURATION]; - _uintConfigs[2] = uintConfigs[CONFIG_VOTING_COMMIT_PHASE]; - _uintConfigs[3] = uintConfigs[CONFIG_VOTING_PHASE_TOTAL]; - _uintConfigs[4] = uintConfigs[CONFIG_INTERIM_COMMIT_PHASE]; - _uintConfigs[5] = uintConfigs[CONFIG_INTERIM_PHASE_TOTAL]; - _uintConfigs[6] = uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR]; - _uintConfigs[7] = uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR]; - _uintConfigs[8] = uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR]; - _uintConfigs[9] = uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR]; - _uintConfigs[10] = uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR]; - _uintConfigs[11] = uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR]; - _uintConfigs[12] = uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR]; - _uintConfigs[13] = uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR]; - _uintConfigs[14] = uintConfigs[CONFIG_DRAFT_QUOTA_NUMERATOR]; - _uintConfigs[15] = uintConfigs[CONFIG_DRAFT_QUOTA_DENOMINATOR]; - _uintConfigs[16] = uintConfigs[CONFIG_VOTING_QUOTA_NUMERATOR]; - _uintConfigs[17] = uintConfigs[CONFIG_VOTING_QUOTA_DENOMINATOR]; - _uintConfigs[18] = uintConfigs[CONFIG_QUARTER_POINT_DRAFT_VOTE]; - _uintConfigs[19] = uintConfigs[CONFIG_QUARTER_POINT_VOTE]; - _uintConfigs[20] = uintConfigs[CONFIG_QUARTER_POINT_INTERIM_VOTE]; - _uintConfigs[21] = uintConfigs[CONFIG_MINIMAL_QUARTER_POINT]; - _uintConfigs[22] = uintConfigs[CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH]; - _uintConfigs[23] = uintConfigs[CONFIG_BONUS_REPUTATION_NUMERATOR]; - _uintConfigs[24] = uintConfigs[CONFIG_BONUS_REPUTATION_DENOMINATOR]; - _uintConfigs[25] = uintConfigs[CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE]; - _uintConfigs[26] = uintConfigs[CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL]; - _uintConfigs[27] = uintConfigs[CONFIG_SPECIAL_QUOTA_NUMERATOR]; - _uintConfigs[28] = uintConfigs[CONFIG_SPECIAL_QUOTA_DENOMINATOR]; - _uintConfigs[29] = uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR]; - _uintConfigs[30] = uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR]; - _uintConfigs[31] = uintConfigs[CONFIG_MAXIMUM_REPUTATION_DEDUCTION]; - _uintConfigs[32] = uintConfigs[CONFIG_PUNISHMENT_FOR_NOT_LOCKING]; - _uintConfigs[33] = uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_NUM]; - _uintConfigs[34] = uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_DEN]; - _uintConfigs[35] = uintConfigs[CONFIG_QUARTER_POINT_SCALING_FACTOR]; - _uintConfigs[36] = uintConfigs[CONFIG_REPUTATION_POINT_SCALING_FACTOR]; - _uintConfigs[37] = uintConfigs[CONFIG_MODERATOR_MINIMAL_QUARTER_POINT]; - _uintConfigs[38] = uintConfigs[CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR]; - _uintConfigs[39] = uintConfigs[CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR]; - _uintConfigs[40] = uintConfigs[CONFIG_PORTION_TO_MODERATORS_NUM]; - _uintConfigs[41] = uintConfigs[CONFIG_PORTION_TO_MODERATORS_DEN]; - _uintConfigs[42] = uintConfigs[CONFIG_DRAFT_VOTING_PHASE]; - _uintConfigs[43] = uintConfigs[CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE]; - _uintConfigs[44] = uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR]; - _uintConfigs[45] = uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR]; - _uintConfigs[46] = uintConfigs[CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION]; - _uintConfigs[47] = uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM]; - _uintConfigs[48] = uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN]; - _uintConfigs[49] = uintConfigs[CONFIG_VOTE_CLAIMING_DEADLINE]; - _uintConfigs[50] = uintConfigs[CONFIG_MINIMUM_LOCKED_DGD]; - _uintConfigs[51] = uintConfigs[CONFIG_MINIMUM_DGD_FOR_MODERATOR]; - _uintConfigs[52] = uintConfigs[CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR]; - _uintConfigs[53] = uintConfigs[CONFIG_PREPROPOSAL_COLLATERAL]; - _uintConfigs[54] = uintConfigs[CONFIG_MAX_FUNDING_FOR_NON_DIGIX]; - _uintConfigs[55] = uintConfigs[CONFIG_MAX_MILESTONES_FOR_NON_DIGIX]; - _uintConfigs[56] = uintConfigs[CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER]; - _uintConfigs[57] = uintConfigs[CONFIG_PROPOSAL_DEAD_DURATION]; - _uintConfigs[58] = uintConfigs[CONFIG_CARBON_VOTE_REPUTATION_BONUS]; - return _uintConfigs; - } -} - - - - - -contract DaoProposalCounterStorage is ResolverClient, DaoConstants { - - constructor(address _resolver) public { - require(init(CONTRACT_STORAGE_DAO_COUNTER, _resolver)); - } - - // This is to mark the number of proposals that have been funded in a specific quarter - // this is to take care of the cap on the number of funded proposals in a quarter - mapping (uint256 => uint256) public proposalCountByQuarter; - - function addNonDigixProposalCountInQuarter(uint256 _quarterNumber) - public - { - require(sender_is(CONTRACT_DAO_VOTING_CLAIMS)); - proposalCountByQuarter[_quarterNumber] = proposalCountByQuarter[_quarterNumber].add(1); - } -} - - - - - -contract DaoUpgradeStorage is ResolverClient, DaoConstants { - - // this UTC timestamp marks the start of the first quarter - // of DigixDAO. All time related calculations in DaoCommon - // depend on this value - uint256 public startOfFirstQuarter; - - // this boolean marks whether the DAO contracts have been replaced - // by newer versions or not. The process of migration is done by deploying - // a new set of contracts, transferring funds from these contracts to the new ones - // migrating some state variables, and finally setting this boolean to true - // All operations in these contracts that may transfer tokens, claim ether, - // boost one's reputation, etc. SHOULD fail if this is true - bool public isReplacedByNewDao; - - // this is the address of the new Dao contract - address public newDaoContract; - - // this is the address of the new DaoFundingManager contract - // ether funds will be moved from the current version's contract to this - // new contract - address public newDaoFundingManager; - - // this is the address of the new DaoRewardsManager contract - // DGX funds will be moved from the current version of contract to this - // new contract - address public newDaoRewardsManager; - - constructor(address _resolver) public { - require(init(CONTRACT_STORAGE_DAO_UPGRADE, _resolver)); - } - - function setStartOfFirstQuarter(uint256 _start) - public - { - require(sender_is(CONTRACT_DAO)); - startOfFirstQuarter = _start; - } - - - function setNewContractAddresses( - address _newDaoContract, - address _newDaoFundingManager, - address _newDaoRewardsManager - ) - public - { - require(sender_is(CONTRACT_DAO)); - newDaoContract = _newDaoContract; - newDaoFundingManager = _newDaoFundingManager; - newDaoRewardsManager = _newDaoRewardsManager; - } - - - function updateForDaoMigration() - public - { - require(sender_is(CONTRACT_DAO)); - isReplacedByNewDao = true; - } -} - - - - - - - -contract DaoSpecialStorage is DaoWhitelistingCommon { - using DoublyLinkedList for DoublyLinkedList.Bytes; - using DaoStructs for DaoStructs.SpecialProposal; - using DaoStructs for DaoStructs.Voting; - - // List of all the special proposals ever created in DigixDAO - DoublyLinkedList.Bytes proposals; - - // mapping of the SpecialProposal struct by its ID - // ID is also the IPFS doc hash of the proposal - mapping (bytes32 => DaoStructs.SpecialProposal) proposalsById; - - constructor(address _resolver) public { - require(init(CONTRACT_STORAGE_DAO_SPECIAL, _resolver)); - } - - function addSpecialProposal( - bytes32 _proposalId, - address _proposer, - uint256[] _uintConfigs, - address[] _addressConfigs, - bytes32[] _bytesConfigs - ) - public - { - require(sender_is(CONTRACT_DAO_SPECIAL_PROPOSAL)); - require( - (proposalsById[_proposalId].proposalId == EMPTY_BYTES) && - (_proposalId != EMPTY_BYTES) - ); - proposals.append(_proposalId); - proposalsById[_proposalId].proposalId = _proposalId; - proposalsById[_proposalId].proposer = _proposer; - proposalsById[_proposalId].timeCreated = now; - proposalsById[_proposalId].uintConfigs = _uintConfigs; - proposalsById[_proposalId].addressConfigs = _addressConfigs; - proposalsById[_proposalId].bytesConfigs = _bytesConfigs; - } - - function readProposal(bytes32 _proposalId) - public - view - returns ( - bytes32 _id, - address _proposer, - uint256 _timeCreated, - uint256 _timeVotingStarted - ) - { - _id = proposalsById[_proposalId].proposalId; - _proposer = proposalsById[_proposalId].proposer; - _timeCreated = proposalsById[_proposalId].timeCreated; - _timeVotingStarted = proposalsById[_proposalId].voting.startTime; - } - - function readProposalProposer(bytes32 _proposalId) - public - view - returns (address _proposer) - { - _proposer = proposalsById[_proposalId].proposer; - } - - function readConfigs(bytes32 _proposalId) - public - view - returns ( - uint256[] memory _uintConfigs, - address[] memory _addressConfigs, - bytes32[] memory _bytesConfigs - ) - { - _uintConfigs = proposalsById[_proposalId].uintConfigs; - _addressConfigs = proposalsById[_proposalId].addressConfigs; - _bytesConfigs = proposalsById[_proposalId].bytesConfigs; - } - - function readVotingCount(bytes32 _proposalId, address[] _allUsers) - external - view - returns (uint256 _for, uint256 _against) - { - require(senderIsAllowedToRead()); - return proposalsById[_proposalId].voting.countVotes(_allUsers); - } - - function readVotingTime(bytes32 _proposalId) - public - view - returns (uint256 _start) - { - require(senderIsAllowedToRead()); - _start = proposalsById[_proposalId].voting.startTime; - } - - function commitVote( - bytes32 _proposalId, - bytes32 _hash, - address _voter - ) - public - { - require(sender_is(CONTRACT_DAO_VOTING)); - proposalsById[_proposalId].voting.commits[_voter] = _hash; - } - - function readComittedVote(bytes32 _proposalId, address _voter) - public - view - returns (bytes32 _commitHash) - { - require(senderIsAllowedToRead()); - _commitHash = proposalsById[_proposalId].voting.commits[_voter]; - } - - function setVotingTime(bytes32 _proposalId, uint256 _time) - public - { - require(sender_is(CONTRACT_DAO_SPECIAL_PROPOSAL)); - proposalsById[_proposalId].voting.startTime = _time; - } - - function readVotingResult(bytes32 _proposalId) - public - view - returns (bool _result) - { - require(senderIsAllowedToRead()); - _result = proposalsById[_proposalId].voting.passed; - } - - function setPass(bytes32 _proposalId, bool _result) - public - { - require(sender_is(CONTRACT_DAO_SPECIAL_VOTING_CLAIMS)); - proposalsById[_proposalId].voting.passed = _result; - } - - function setVotingClaim(bytes32 _proposalId, bool _claimed) - public - { - require(sender_is(CONTRACT_DAO_SPECIAL_VOTING_CLAIMS)); - DaoStructs.SpecialProposal storage _proposal = proposalsById[_proposalId]; - _proposal.voting.claimed = _claimed; - } - - function isClaimed(bytes32 _proposalId) - public - view - returns (bool _claimed) - { - require(senderIsAllowedToRead()); - _claimed = proposalsById[_proposalId].voting.claimed; - } - - function readVote(bytes32 _proposalId, address _voter) - public - view - returns (bool _vote, uint256 _weight) - { - require(senderIsAllowedToRead()); - return proposalsById[_proposalId].voting.readVote(_voter); - } - - function revealVote( - bytes32 _proposalId, - address _voter, - bool _vote, - uint256 _weight - ) - public - { - require(sender_is(CONTRACT_DAO_VOTING)); - proposalsById[_proposalId].voting.revealVote(_voter, _vote, _weight); - } -} - - - - - -contract DaoPointsStorage is ResolverClient, DaoConstants { - - // struct for a non-transferrable token - struct Token { - uint256 totalSupply; - mapping (address => uint256) balance; - } - - // the reputation point token - // since reputation is cumulative, we only need to store one value - Token reputationPoint; - - // since quarter points are specific to quarters, we need a mapping from - // quarter number to the quarter point token for that quarter - mapping (uint256 => Token) quarterPoint; - - // the same is the case with quarter moderator points - // these are specific to quarters - mapping (uint256 => Token) quarterModeratorPoint; - - constructor(address _resolver) - public - { - require(init(CONTRACT_STORAGE_DAO_POINTS, _resolver)); - } - - /// @notice add quarter points for a _participant for a _quarterNumber - function addQuarterPoint(address _participant, uint256 _point, uint256 _quarterNumber) - public - returns (uint256 _newPoint, uint256 _newTotalPoint) - { - require(sender_is_from([CONTRACT_DAO_VOTING, CONTRACT_DAO_VOTING_CLAIMS, EMPTY_BYTES])); - quarterPoint[_quarterNumber].totalSupply = quarterPoint[_quarterNumber].totalSupply.add(_point); - quarterPoint[_quarterNumber].balance[_participant] = quarterPoint[_quarterNumber].balance[_participant].add(_point); - - _newPoint = quarterPoint[_quarterNumber].balance[_participant]; - _newTotalPoint = quarterPoint[_quarterNumber].totalSupply; - } - - function addModeratorQuarterPoint(address _participant, uint256 _point, uint256 _quarterNumber) - public - returns (uint256 _newPoint, uint256 _newTotalPoint) - { - require(sender_is_from([CONTRACT_DAO_VOTING, CONTRACT_DAO_VOTING_CLAIMS, EMPTY_BYTES])); - quarterModeratorPoint[_quarterNumber].totalSupply = quarterModeratorPoint[_quarterNumber].totalSupply.add(_point); - quarterModeratorPoint[_quarterNumber].balance[_participant] = quarterModeratorPoint[_quarterNumber].balance[_participant].add(_point); - - _newPoint = quarterModeratorPoint[_quarterNumber].balance[_participant]; - _newTotalPoint = quarterModeratorPoint[_quarterNumber].totalSupply; - } - - /// @notice get quarter points for a _participant in a _quarterNumber - function getQuarterPoint(address _participant, uint256 _quarterNumber) - public - view - returns (uint256 _point) - { - _point = quarterPoint[_quarterNumber].balance[_participant]; - } - - function getQuarterModeratorPoint(address _participant, uint256 _quarterNumber) - public - view - returns (uint256 _point) - { - _point = quarterModeratorPoint[_quarterNumber].balance[_participant]; - } - - /// @notice get total quarter points for a particular _quarterNumber - function getTotalQuarterPoint(uint256 _quarterNumber) - public - view - returns (uint256 _totalPoint) - { - _totalPoint = quarterPoint[_quarterNumber].totalSupply; - } - - function getTotalQuarterModeratorPoint(uint256 _quarterNumber) - public - view - returns (uint256 _totalPoint) - { - _totalPoint = quarterModeratorPoint[_quarterNumber].totalSupply; - } - - /// @notice add reputation points for a _participant - function increaseReputation(address _participant, uint256 _point) - public - returns (uint256 _newPoint, uint256 _totalPoint) - { - require(sender_is_from([CONTRACT_DAO_VOTING_CLAIMS, CONTRACT_DAO_REWARDS_MANAGER, CONTRACT_DAO_STAKE_LOCKING])); - reputationPoint.totalSupply = reputationPoint.totalSupply.add(_point); - reputationPoint.balance[_participant] = reputationPoint.balance[_participant].add(_point); - - _newPoint = reputationPoint.balance[_participant]; - _totalPoint = reputationPoint.totalSupply; - } - - /// @notice subtract reputation points for a _participant - function reduceReputation(address _participant, uint256 _point) - public - returns (uint256 _newPoint, uint256 _totalPoint) - { - require(sender_is_from([CONTRACT_DAO_VOTING_CLAIMS, CONTRACT_DAO_REWARDS_MANAGER, EMPTY_BYTES])); - uint256 _toDeduct = _point; - if (reputationPoint.balance[_participant] > _point) { - reputationPoint.balance[_participant] = reputationPoint.balance[_participant].sub(_point); - } else { - _toDeduct = reputationPoint.balance[_participant]; - reputationPoint.balance[_participant] = 0; - } - - reputationPoint.totalSupply = reputationPoint.totalSupply.sub(_toDeduct); - - _newPoint = reputationPoint.balance[_participant]; - _totalPoint = reputationPoint.totalSupply; - } - - /// @notice get reputation points for a _participant - function getReputation(address _participant) - public - view - returns (uint256 _point) - { - _point = reputationPoint.balance[_participant]; - } - - /// @notice get total reputation points distributed in the dao - function getTotalReputation() - public - view - returns (uint256 _totalPoint) - { - _totalPoint = reputationPoint.totalSupply; - } -} - - - - - - -// this contract will receive DGXs fees from the DGX fees distributors -contract DaoRewardsStorage is ResolverClient, DaoConstants { - using DaoStructs for DaoStructs.DaoQuarterInfo; - - // DaoQuarterInfo is a struct that stores the quarter specific information - // regarding totalEffectiveDGDs, DGX distribution day, etc. pls check - // docs in lib/DaoStructs - mapping(uint256 => DaoStructs.DaoQuarterInfo) public allQuartersInfo; - - // Mapping that stores the DGX that can be claimed as rewards by - // an address (a participant of DigixDAO) - mapping(address => uint256) public claimableDGXs; - - // This stores the total DGX value that has been claimed by participants - // this can be done by calling the DaoRewardsManager.claimRewards method - // Note that this value is the only outgoing DGX from DaoRewardsManager contract - // Note that this value also takes into account the demurrage that has been paid - // by participants for simply holding their DGXs in the DaoRewardsManager contract - uint256 public totalDGXsClaimed; - - // The Quarter ID in which the user last participated in - // To participate means they had locked more than CONFIG_MINIMUM_LOCKED_DGD - // DGD tokens. In addition, they should not have withdrawn those tokens in the same - // quarter. Basically, in the main phase of the quarter, if DaoCommon.isParticipant(_user) - // was true, they were participants. And that quarter was their lastParticipatedQuarter - mapping (address => uint256) public lastParticipatedQuarter; - - // This mapping is only used to update the lastParticipatedQuarter to the - // previousLastParticipatedQuarter in case users lock and withdraw DGDs - // within the same quarter's locking phase - mapping (address => uint256) public previousLastParticipatedQuarter; - - // This number marks the Quarter in which the rewards were last updated for that user - // Since the rewards calculation for a specific quarter is only done once that - // quarter is completed, we need this value to note the last quarter when the rewards were updated - // We then start adding the rewards for all quarters after that quarter, until the current quarter - mapping (address => uint256) public lastQuarterThatRewardsWasUpdated; - - // Similar as the lastQuarterThatRewardsWasUpdated, but this is for reputation updates - // Note that reputation can also be deducted for no participation (not locking DGDs) - // This value is used to update the reputation based on all quarters from the lastQuarterThatReputationWasUpdated - // to the current quarter - mapping (address => uint256) public lastQuarterThatReputationWasUpdated; - - constructor(address _resolver) - public - { - require(init(CONTRACT_STORAGE_DAO_REWARDS, _resolver)); - } - - function updateQuarterInfo( - uint256 _quarterNumber, - uint256 _minimalParticipationPoint, - uint256 _quarterPointScalingFactor, - uint256 _reputationPointScalingFactor, - uint256 _totalEffectiveDGDPreviousQuarter, - - uint256 _moderatorMinimalQuarterPoint, - uint256 _moderatorQuarterPointScalingFactor, - uint256 _moderatorReputationPointScalingFactor, - uint256 _totalEffectiveModeratorDGDLastQuarter, - - uint256 _dgxDistributionDay, - uint256 _dgxRewardsPoolLastQuarter, - uint256 _sumRewardsFromBeginning - ) - public - { - require(sender_is(CONTRACT_DAO_REWARDS_MANAGER)); - allQuartersInfo[_quarterNumber].minimalParticipationPoint = _minimalParticipationPoint; - allQuartersInfo[_quarterNumber].quarterPointScalingFactor = _quarterPointScalingFactor; - allQuartersInfo[_quarterNumber].reputationPointScalingFactor = _reputationPointScalingFactor; - allQuartersInfo[_quarterNumber].totalEffectiveDGDPreviousQuarter = _totalEffectiveDGDPreviousQuarter; - - allQuartersInfo[_quarterNumber].moderatorMinimalParticipationPoint = _moderatorMinimalQuarterPoint; - allQuartersInfo[_quarterNumber].moderatorQuarterPointScalingFactor = _moderatorQuarterPointScalingFactor; - allQuartersInfo[_quarterNumber].moderatorReputationPointScalingFactor = _moderatorReputationPointScalingFactor; - allQuartersInfo[_quarterNumber].totalEffectiveModeratorDGDLastQuarter = _totalEffectiveModeratorDGDLastQuarter; - - allQuartersInfo[_quarterNumber].dgxDistributionDay = _dgxDistributionDay; - allQuartersInfo[_quarterNumber].dgxRewardsPoolLastQuarter = _dgxRewardsPoolLastQuarter; - allQuartersInfo[_quarterNumber].sumRewardsFromBeginning = _sumRewardsFromBeginning; - } - - function updateClaimableDGX(address _user, uint256 _newClaimableDGX) - public - { - require(sender_is(CONTRACT_DAO_REWARDS_MANAGER)); - claimableDGXs[_user] = _newClaimableDGX; - } - - function updateLastParticipatedQuarter(address _user, uint256 _lastQuarter) - public - { - require(sender_is(CONTRACT_DAO_STAKE_LOCKING)); - lastParticipatedQuarter[_user] = _lastQuarter; - } - - function updatePreviousLastParticipatedQuarter(address _user, uint256 _lastQuarter) - public - { - require(sender_is(CONTRACT_DAO_STAKE_LOCKING)); - previousLastParticipatedQuarter[_user] = _lastQuarter; - } - - function updateLastQuarterThatRewardsWasUpdated(address _user, uint256 _lastQuarter) - public - { - require(sender_is_from([CONTRACT_DAO_REWARDS_MANAGER, CONTRACT_DAO_STAKE_LOCKING, EMPTY_BYTES])); - lastQuarterThatRewardsWasUpdated[_user] = _lastQuarter; - } - - function updateLastQuarterThatReputationWasUpdated(address _user, uint256 _lastQuarter) - public - { - require(sender_is_from([CONTRACT_DAO_REWARDS_MANAGER, CONTRACT_DAO_STAKE_LOCKING, EMPTY_BYTES])); - lastQuarterThatReputationWasUpdated[_user] = _lastQuarter; - } - - function addToTotalDgxClaimed(uint256 _dgxClaimed) - public - { - require(sender_is(CONTRACT_DAO_REWARDS_MANAGER)); - totalDGXsClaimed = totalDGXsClaimed.add(_dgxClaimed); - } - - function readQuarterInfo(uint256 _quarterNumber) - public - view - returns ( - uint256 _minimalParticipationPoint, - uint256 _quarterPointScalingFactor, - uint256 _reputationPointScalingFactor, - uint256 _totalEffectiveDGDPreviousQuarter, - - uint256 _moderatorMinimalQuarterPoint, - uint256 _moderatorQuarterPointScalingFactor, - uint256 _moderatorReputationPointScalingFactor, - uint256 _totalEffectiveModeratorDGDLastQuarter, - - uint256 _dgxDistributionDay, - uint256 _dgxRewardsPoolLastQuarter, - uint256 _sumRewardsFromBeginning - ) - { - _minimalParticipationPoint = allQuartersInfo[_quarterNumber].minimalParticipationPoint; - _quarterPointScalingFactor = allQuartersInfo[_quarterNumber].quarterPointScalingFactor; - _reputationPointScalingFactor = allQuartersInfo[_quarterNumber].reputationPointScalingFactor; - _totalEffectiveDGDPreviousQuarter = allQuartersInfo[_quarterNumber].totalEffectiveDGDPreviousQuarter; - _moderatorMinimalQuarterPoint = allQuartersInfo[_quarterNumber].moderatorMinimalParticipationPoint; - _moderatorQuarterPointScalingFactor = allQuartersInfo[_quarterNumber].moderatorQuarterPointScalingFactor; - _moderatorReputationPointScalingFactor = allQuartersInfo[_quarterNumber].moderatorReputationPointScalingFactor; - _totalEffectiveModeratorDGDLastQuarter = allQuartersInfo[_quarterNumber].totalEffectiveModeratorDGDLastQuarter; - _dgxDistributionDay = allQuartersInfo[_quarterNumber].dgxDistributionDay; - _dgxRewardsPoolLastQuarter = allQuartersInfo[_quarterNumber].dgxRewardsPoolLastQuarter; - _sumRewardsFromBeginning = allQuartersInfo[_quarterNumber].sumRewardsFromBeginning; - } - - function readQuarterGeneralInfo(uint256 _quarterNumber) - public - view - returns ( - uint256 _dgxDistributionDay, - uint256 _dgxRewardsPoolLastQuarter, - uint256 _sumRewardsFromBeginning - ) - { - _dgxDistributionDay = allQuartersInfo[_quarterNumber].dgxDistributionDay; - _dgxRewardsPoolLastQuarter = allQuartersInfo[_quarterNumber].dgxRewardsPoolLastQuarter; - _sumRewardsFromBeginning = allQuartersInfo[_quarterNumber].sumRewardsFromBeginning; - } - - function readQuarterModeratorInfo(uint256 _quarterNumber) - public - view - returns ( - uint256 _moderatorMinimalQuarterPoint, - uint256 _moderatorQuarterPointScalingFactor, - uint256 _moderatorReputationPointScalingFactor, - uint256 _totalEffectiveModeratorDGDLastQuarter - ) - { - _moderatorMinimalQuarterPoint = allQuartersInfo[_quarterNumber].moderatorMinimalParticipationPoint; - _moderatorQuarterPointScalingFactor = allQuartersInfo[_quarterNumber].moderatorQuarterPointScalingFactor; - _moderatorReputationPointScalingFactor = allQuartersInfo[_quarterNumber].moderatorReputationPointScalingFactor; - _totalEffectiveModeratorDGDLastQuarter = allQuartersInfo[_quarterNumber].totalEffectiveModeratorDGDLastQuarter; - } - - function readQuarterParticipantInfo(uint256 _quarterNumber) - public - view - returns ( - uint256 _minimalParticipationPoint, - uint256 _quarterPointScalingFactor, - uint256 _reputationPointScalingFactor, - uint256 _totalEffectiveDGDPreviousQuarter - ) - { - _minimalParticipationPoint = allQuartersInfo[_quarterNumber].minimalParticipationPoint; - _quarterPointScalingFactor = allQuartersInfo[_quarterNumber].quarterPointScalingFactor; - _reputationPointScalingFactor = allQuartersInfo[_quarterNumber].reputationPointScalingFactor; - _totalEffectiveDGDPreviousQuarter = allQuartersInfo[_quarterNumber].totalEffectiveDGDPreviousQuarter; - } - - function readDgxDistributionDay(uint256 _quarterNumber) - public - view - returns (uint256 _distributionDay) - { - _distributionDay = allQuartersInfo[_quarterNumber].dgxDistributionDay; - } - - function readTotalEffectiveDGDLastQuarter(uint256 _quarterNumber) - public - view - returns (uint256 _totalEffectiveDGDPreviousQuarter) - { - _totalEffectiveDGDPreviousQuarter = allQuartersInfo[_quarterNumber].totalEffectiveDGDPreviousQuarter; - } - - function readTotalEffectiveModeratorDGDLastQuarter(uint256 _quarterNumber) - public - view - returns (uint256 _totalEffectiveModeratorDGDLastQuarter) - { - _totalEffectiveModeratorDGDLastQuarter = allQuartersInfo[_quarterNumber].totalEffectiveModeratorDGDLastQuarter; - } - - function readRewardsPoolOfLastQuarter(uint256 _quarterNumber) - public - view - returns (uint256 _rewardsPool) - { - _rewardsPool = allQuartersInfo[_quarterNumber].dgxRewardsPoolLastQuarter; - } -} - - - - - - -contract IntermediateResultsStorage is ResolverClient, DaoConstants { - using DaoStructs for DaoStructs.IntermediateResults; - - constructor(address _resolver) public { - require(init(CONTRACT_STORAGE_INTERMEDIATE_RESULTS, _resolver)); - } - - // There are scenarios in which we must loop across all participants/moderators - // in a function call. For a big number of operations, the function call may be short of gas - // To tackle this, we use an IntermediateResults struct to store the intermediate results - // The same function is then called multiple times until all operations are completed - // If the operations cannot be done in that iteration, the intermediate results are stored - // else, the final outcome is returned - // Please check the lib/DaoStructs for docs on this struct - mapping (bytes32 => DaoStructs.IntermediateResults) allIntermediateResults; - - function getIntermediateResults(bytes32 _key) - public - view - returns ( - address _countedUntil, - uint256 _currentForCount, - uint256 _currentAgainstCount, - uint256 _currentSumOfEffectiveBalance - ) - { - _countedUntil = allIntermediateResults[_key].countedUntil; - _currentForCount = allIntermediateResults[_key].currentForCount; - _currentAgainstCount = allIntermediateResults[_key].currentAgainstCount; - _currentSumOfEffectiveBalance = allIntermediateResults[_key].currentSumOfEffectiveBalance; - } - - function resetIntermediateResults(bytes32 _key) - public - { - require(sender_is_from([CONTRACT_DAO_REWARDS_MANAGER, CONTRACT_DAO_VOTING_CLAIMS, CONTRACT_DAO_SPECIAL_VOTING_CLAIMS])); - allIntermediateResults[_key].countedUntil = address(0x0); - } - - function setIntermediateResults( - bytes32 _key, - address _countedUntil, - uint256 _currentForCount, - uint256 _currentAgainstCount, - uint256 _currentSumOfEffectiveBalance - ) - public - { - require(sender_is_from([CONTRACT_DAO_REWARDS_MANAGER, CONTRACT_DAO_VOTING_CLAIMS, CONTRACT_DAO_SPECIAL_VOTING_CLAIMS])); - allIntermediateResults[_key].countedUntil = _countedUntil; - allIntermediateResults[_key].currentForCount = _currentForCount; - allIntermediateResults[_key].currentAgainstCount = _currentAgainstCount; - allIntermediateResults[_key].currentSumOfEffectiveBalance = _currentSumOfEffectiveBalance; - } -} - - - - - -library MathHelper { - - using SafeMath for uint256; - - function max(uint256 a, uint256 b) internal pure returns (uint256 _max){ - _max = b; - if (a > b) { - _max = a; - } - } - - function min(uint256 a, uint256 b) internal pure returns (uint256 _min){ - _min = b; - if (a < b) { - _min = a; - } - } - - function sumNumbers(uint256[] _numbers) internal pure returns (uint256 _sum) { - for (uint256 i=0;i<_numbers.length;i++) { - _sum = _sum.add(_numbers[i]); - } - } -} - - - - - - - - - - - - - - - - -contract DaoCommonMini is IdentityCommon { - - using MathHelper for MathHelper; - - /** - @notice Check if the DAO contracts have been replaced by a new set of contracts - @return _isNotReplaced true if it is not replaced, false if it has already been replaced - */ - function isDaoNotReplaced() - public - view - returns (bool _isNotReplaced) - { - _isNotReplaced = !daoUpgradeStorage().isReplacedByNewDao(); - } - - /** - @notice Check if it is currently in the locking phase - @dev No governance activities can happen in the locking phase. The locking phase is from t=0 to t=CONFIG_LOCKING_PHASE_DURATION-1 - @return _isLockingPhase true if it is in the locking phase - */ - function isLockingPhase() - public - view - returns (bool _isLockingPhase) - { - _isLockingPhase = currentTimeInQuarter() < getUintConfig(CONFIG_LOCKING_PHASE_DURATION); - } - - /** - @notice Check if it is currently in a main phase. - @dev The main phase is where all the governance activities could take plase. If the DAO is replaced, there can never be any more main phase. - @return _isMainPhase true if it is in a main phase - */ - function isMainPhase() - public - view - returns (bool _isMainPhase) - { - _isMainPhase = - isDaoNotReplaced() && - currentTimeInQuarter() >= getUintConfig(CONFIG_LOCKING_PHASE_DURATION); - } - - /** - @notice Check if the calculateGlobalRewardsBeforeNewQuarter function has been done for a certain quarter - @dev However, there is no need to run calculateGlobalRewardsBeforeNewQuarter for the first quarter - */ - modifier ifGlobalRewardsSet(uint256 _quarterNumber) { - if (_quarterNumber > 1) { - require(daoRewardsStorage().readDgxDistributionDay(_quarterNumber) > 0); - } - _; - } - - /** - @notice require that it is currently during a phase, which is within _relativePhaseStart and _relativePhaseEnd seconds, after the _startingPoint - */ - function requireInPhase(uint256 _startingPoint, uint256 _relativePhaseStart, uint256 _relativePhaseEnd) - internal - view - { - require(_startingPoint > 0); - require(now < _startingPoint.add(_relativePhaseEnd)); - require(now >= _startingPoint.add(_relativePhaseStart)); - } - - /** - @notice Get the current quarter index - @dev Quarter indexes starts from 1 - @return _quarterNumber the current quarter index - */ - function currentQuarterNumber() - public - view - returns(uint256 _quarterNumber) - { - _quarterNumber = getQuarterNumber(now); - } - - /** - @notice Get the quarter index of a timestamp - @dev Quarter indexes starts from 1 - @return _index the quarter index - */ - function getQuarterNumber(uint256 _time) - internal - view - returns (uint256 _index) - { - require(startOfFirstQuarterIsSet()); - _index = - _time.sub(daoUpgradeStorage().startOfFirstQuarter()) - .div(getUintConfig(CONFIG_QUARTER_DURATION)) - .add(1); - } - - /** - @notice Get the relative time in quarter of a timestamp - @dev For example, the timeInQuarter of the first second of any quarter n-th is always 1 - */ - function timeInQuarter(uint256 _time) - internal - view - returns (uint256 _timeInQuarter) - { - require(startOfFirstQuarterIsSet()); // must be already set - _timeInQuarter = - _time.sub(daoUpgradeStorage().startOfFirstQuarter()) - % getUintConfig(CONFIG_QUARTER_DURATION); - } - - /** - @notice Check if the start of first quarter is already set - @return _isSet true if start of first quarter is already set - */ - function startOfFirstQuarterIsSet() - internal - view - returns (bool _isSet) - { - _isSet = daoUpgradeStorage().startOfFirstQuarter() != 0; - } - - /** - @notice Get the current relative time in the quarter - @dev For example: the currentTimeInQuarter of the first second of any quarter is 1 - @return _currentT the current relative time in the quarter - */ - function currentTimeInQuarter() - public - view - returns (uint256 _currentT) - { - _currentT = timeInQuarter(now); - } - - /** - @notice Get the time remaining in the quarter - */ - function getTimeLeftInQuarter(uint256 _time) - internal - view - returns (uint256 _timeLeftInQuarter) - { - _timeLeftInQuarter = getUintConfig(CONFIG_QUARTER_DURATION).sub(timeInQuarter(_time)); - } - - function daoListingService() - internal - view - returns (DaoListingService _contract) - { - _contract = DaoListingService(get_contract(CONTRACT_SERVICE_DAO_LISTING)); - } - - function daoConfigsStorage() - internal - view - returns (DaoConfigsStorage _contract) - { - _contract = DaoConfigsStorage(get_contract(CONTRACT_STORAGE_DAO_CONFIG)); - } - - function daoStakeStorage() - internal - view - returns (DaoStakeStorage _contract) - { - _contract = DaoStakeStorage(get_contract(CONTRACT_STORAGE_DAO_STAKE)); - } - - function daoStorage() - internal - view - returns (DaoStorage _contract) - { - _contract = DaoStorage(get_contract(CONTRACT_STORAGE_DAO)); - } - - function daoProposalCounterStorage() - internal - view - returns (DaoProposalCounterStorage _contract) - { - _contract = DaoProposalCounterStorage(get_contract(CONTRACT_STORAGE_DAO_COUNTER)); - } - - function daoUpgradeStorage() - internal - view - returns (DaoUpgradeStorage _contract) - { - _contract = DaoUpgradeStorage(get_contract(CONTRACT_STORAGE_DAO_UPGRADE)); - } - - function daoSpecialStorage() - internal - view - returns (DaoSpecialStorage _contract) - { - _contract = DaoSpecialStorage(get_contract(CONTRACT_STORAGE_DAO_SPECIAL)); - } - - function daoPointsStorage() - internal - view - returns (DaoPointsStorage _contract) - { - _contract = DaoPointsStorage(get_contract(CONTRACT_STORAGE_DAO_POINTS)); - } - - function daoRewardsStorage() - internal - view - returns (DaoRewardsStorage _contract) - { - _contract = DaoRewardsStorage(get_contract(CONTRACT_STORAGE_DAO_REWARDS)); - } - - function intermediateResultsStorage() - internal - view - returns (IntermediateResultsStorage _contract) - { - _contract = IntermediateResultsStorage(get_contract(CONTRACT_STORAGE_INTERMEDIATE_RESULTS)); - } - - function getUintConfig(bytes32 _configKey) - public - view - returns (uint256 _configValue) - { - _configValue = daoConfigsStorage().uintConfigs(_configKey); - } -} - - - - - -contract DaoRewardsManagerCommon is DaoCommonMini { - - using DaoStructs for DaoStructs.DaoQuarterInfo; - - // this is a struct that store information relevant for calculating the user rewards - // for the last participating quarter - struct UserRewards { - uint256 lastParticipatedQuarter; - uint256 lastQuarterThatRewardsWasUpdated; - uint256 effectiveDGDBalance; - uint256 effectiveModeratorDGDBalance; - DaoStructs.DaoQuarterInfo qInfo; - } - - // struct to store variables needed in the execution of calculateGlobalRewardsBeforeNewQuarter - struct QuarterRewardsInfo { - uint256 previousQuarter; - uint256 totalEffectiveDGDPreviousQuarter; - uint256 totalEffectiveModeratorDGDLastQuarter; - uint256 dgxRewardsPoolLastQuarter; - uint256 userCount; - uint256 i; - DaoStructs.DaoQuarterInfo qInfo; - address currentUser; - address[] users; - bool doneCalculatingEffectiveBalance; - bool doneCalculatingModeratorEffectiveBalance; - } - - // get the struct for the relevant information for calculating a user's DGX rewards for the last participated quarter - function getUserRewardsStruct(address _user) - internal - view - returns (UserRewards memory _data) - { - _data.lastParticipatedQuarter = daoRewardsStorage().lastParticipatedQuarter(_user); - _data.lastQuarterThatRewardsWasUpdated = daoRewardsStorage().lastQuarterThatRewardsWasUpdated(_user); - _data.qInfo = readQuarterInfo(_data.lastParticipatedQuarter); - } - - // read the DaoQuarterInfo struct of a certain quarter - function readQuarterInfo(uint256 _quarterNumber) - internal - view - returns (DaoStructs.DaoQuarterInfo _qInfo) - { - ( - _qInfo.minimalParticipationPoint, - _qInfo.quarterPointScalingFactor, - _qInfo.reputationPointScalingFactor, - _qInfo.totalEffectiveDGDPreviousQuarter - ) = daoRewardsStorage().readQuarterParticipantInfo(_quarterNumber); - ( - _qInfo.moderatorMinimalParticipationPoint, - _qInfo.moderatorQuarterPointScalingFactor, - _qInfo.moderatorReputationPointScalingFactor, - _qInfo.totalEffectiveModeratorDGDLastQuarter - ) = daoRewardsStorage().readQuarterModeratorInfo(_quarterNumber); - ( - _qInfo.dgxDistributionDay, - _qInfo.dgxRewardsPoolLastQuarter, - _qInfo.sumRewardsFromBeginning - ) = daoRewardsStorage().readQuarterGeneralInfo(_quarterNumber); - } -} - - - - - -contract DaoCommon is DaoCommonMini { - - using MathHelper for MathHelper; - - /** - @notice Check if the transaction is called by the proposer of a proposal - @return _isFromProposer true if the caller is the proposer - */ - function isFromProposer(bytes32 _proposalId) - internal - view - returns (bool _isFromProposer) - { - _isFromProposer = msg.sender == daoStorage().readProposalProposer(_proposalId); - } - - /** - @notice Check if the proposal can still be "editted", or in other words, added more versions - @dev Once the proposal is finalized, it can no longer be editted. The proposer will still be able to add docs and change fundings though. - @return _isEditable true if the proposal is editable - */ - function isEditable(bytes32 _proposalId) - internal - view - returns (bool _isEditable) - { - bytes32 _finalVersion; - (,,,,,,,_finalVersion,,) = daoStorage().readProposal(_proposalId); - _isEditable = _finalVersion == EMPTY_BYTES; - } - - /** - @notice returns the balance of DaoFundingManager, which is the wei in DigixDAO - */ - function weiInDao() - internal - view - returns (uint256 _wei) - { - _wei = get_contract(CONTRACT_DAO_FUNDING_MANAGER).balance; - } - - /** - @notice Check if it is after the draft voting phase of the proposal - */ - modifier ifAfterDraftVotingPhase(bytes32 _proposalId) { - uint256 _start = daoStorage().readProposalDraftVotingTime(_proposalId); - require(_start > 0); // Draft voting must have started. In other words, proposer must have finalized the proposal - require(now >= _start.add(getUintConfig(CONFIG_DRAFT_VOTING_PHASE))); - _; - } - - modifier ifCommitPhase(bytes32 _proposalId, uint8 _index) { - requireInPhase( - daoStorage().readProposalVotingTime(_proposalId, _index), - 0, - getUintConfig(_index == 0 ? CONFIG_VOTING_COMMIT_PHASE : CONFIG_INTERIM_COMMIT_PHASE) - ); - _; - } - - modifier ifRevealPhase(bytes32 _proposalId, uint256 _index) { - requireInPhase( - daoStorage().readProposalVotingTime(_proposalId, _index), - getUintConfig(_index == 0 ? CONFIG_VOTING_COMMIT_PHASE : CONFIG_INTERIM_COMMIT_PHASE), - getUintConfig(_index == 0 ? CONFIG_VOTING_PHASE_TOTAL : CONFIG_INTERIM_PHASE_TOTAL) - ); - _; - } - - modifier ifAfterProposalRevealPhase(bytes32 _proposalId, uint256 _index) { - uint256 _start = daoStorage().readProposalVotingTime(_proposalId, _index); - require(_start > 0); - require(now >= _start.add(getUintConfig(_index == 0 ? CONFIG_VOTING_PHASE_TOTAL : CONFIG_INTERIM_PHASE_TOTAL))); - _; - } - - modifier ifDraftVotingPhase(bytes32 _proposalId) { - requireInPhase( - daoStorage().readProposalDraftVotingTime(_proposalId), - 0, - getUintConfig(CONFIG_DRAFT_VOTING_PHASE) - ); - _; - } - - modifier isProposalState(bytes32 _proposalId, bytes32 _STATE) { - bytes32 _currentState; - (,,,_currentState,,,,,,) = daoStorage().readProposal(_proposalId); - require(_currentState == _STATE); - _; - } - - modifier ifDraftNotClaimed(bytes32 _proposalId) { - require(daoStorage().isDraftClaimed(_proposalId) == false); - _; - } - - modifier ifNotClaimed(bytes32 _proposalId, uint256 _index) { - require(daoStorage().isClaimed(_proposalId, _index) == false); - _; - } - - modifier ifNotClaimedSpecial(bytes32 _proposalId) { - require(daoSpecialStorage().isClaimed(_proposalId) == false); - _; - } - - modifier hasNotRevealed(bytes32 _proposalId, uint256 _index) { - uint256 _voteWeight; - (, _voteWeight) = daoStorage().readVote(_proposalId, _index, msg.sender); - require(_voteWeight == uint(0)); - _; - } - - modifier hasNotRevealedSpecial(bytes32 _proposalId) { - uint256 _weight; - (,_weight) = daoSpecialStorage().readVote(_proposalId, msg.sender); - require(_weight == uint256(0)); - _; - } - - modifier ifAfterRevealPhaseSpecial(bytes32 _proposalId) { - uint256 _start = daoSpecialStorage().readVotingTime(_proposalId); - require(_start > 0); - require(now.sub(_start) >= getUintConfig(CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL)); - _; - } - - modifier ifCommitPhaseSpecial(bytes32 _proposalId) { - requireInPhase( - daoSpecialStorage().readVotingTime(_proposalId), - 0, - getUintConfig(CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE) - ); - _; - } - - modifier ifRevealPhaseSpecial(bytes32 _proposalId) { - requireInPhase( - daoSpecialStorage().readVotingTime(_proposalId), - getUintConfig(CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE), - getUintConfig(CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL) - ); - _; - } - - function daoWhitelistingStorage() - internal - view - returns (DaoWhitelistingStorage _contract) - { - _contract = DaoWhitelistingStorage(get_contract(CONTRACT_STORAGE_DAO_WHITELISTING)); - } - - function getAddressConfig(bytes32 _configKey) - public - view - returns (address _configValue) - { - _configValue = daoConfigsStorage().addressConfigs(_configKey); - } - - function getBytesConfig(bytes32 _configKey) - public - view - returns (bytes32 _configValue) - { - _configValue = daoConfigsStorage().bytesConfigs(_configKey); - } - - /** - @notice Check if a user is a participant in the current quarter - */ - function isParticipant(address _user) - public - view - returns (bool _is) - { - _is = - (daoRewardsStorage().lastParticipatedQuarter(_user) == currentQuarterNumber()) - && (daoStakeStorage().lockedDGDStake(_user) >= getUintConfig(CONFIG_MINIMUM_LOCKED_DGD)); - } - - /** - @notice Check if a user is a moderator in the current quarter - */ - function isModerator(address _user) - public - view - returns (bool _is) - { - _is = - (daoRewardsStorage().lastParticipatedQuarter(_user) == currentQuarterNumber()) - && (daoStakeStorage().lockedDGDStake(_user) >= getUintConfig(CONFIG_MINIMUM_DGD_FOR_MODERATOR)) - && (daoPointsStorage().getReputation(_user) >= getUintConfig(CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR)); - } - - /** - @notice Calculate the start of a specific milestone of a specific proposal. - @dev This is calculated from the voting start of the voting round preceding the milestone - This would throw if the voting start is 0 (the voting round has not started yet) - Note that if the milestoneIndex is exactly the same as the number of milestones, - This will just return the end of the last voting round. - */ - function startOfMilestone(bytes32 _proposalId, uint256 _milestoneIndex) - internal - view - returns (uint256 _milestoneStart) - { - uint256 _startOfPrecedingVotingRound = daoStorage().readProposalVotingTime(_proposalId, _milestoneIndex); - require(_startOfPrecedingVotingRound > 0); - // the preceding voting round must have started - - if (_milestoneIndex == 0) { // This is the 1st milestone, which starts after voting round 0 - _milestoneStart = - _startOfPrecedingVotingRound - .add(getUintConfig(CONFIG_VOTING_PHASE_TOTAL)); - } else { // if its the n-th milestone, it starts after voting round n-th - _milestoneStart = - _startOfPrecedingVotingRound - .add(getUintConfig(CONFIG_INTERIM_PHASE_TOTAL)); - } - } - - /** - @notice Calculate the actual voting start for a voting round, given the tentative start - @dev The tentative start is the ideal start. For example, when a proposer finish a milestone, it should be now - However, sometimes the tentative start is too close to the end of the quarter, hence, the actual voting start should be pushed to the next quarter - */ - function getTimelineForNextVote( - uint256 _index, - uint256 _tentativeVotingStart - ) - internal - view - returns (uint256 _actualVotingStart) - { - uint256 _timeLeftInQuarter = getTimeLeftInQuarter(_tentativeVotingStart); - uint256 _votingDuration = getUintConfig(_index == 0 ? CONFIG_VOTING_PHASE_TOTAL : CONFIG_INTERIM_PHASE_TOTAL); - _actualVotingStart = _tentativeVotingStart; - if (timeInQuarter(_tentativeVotingStart) < getUintConfig(CONFIG_LOCKING_PHASE_DURATION)) { // if the tentative start is during a locking phase - _actualVotingStart = _tentativeVotingStart.add( - getUintConfig(CONFIG_LOCKING_PHASE_DURATION).sub(timeInQuarter(_tentativeVotingStart)) - ); - } else if (_timeLeftInQuarter < _votingDuration.add(getUintConfig(CONFIG_VOTE_CLAIMING_DEADLINE))) { // if the time left in quarter is not enough to vote and claim voting - _actualVotingStart = _tentativeVotingStart.add( - _timeLeftInQuarter.add(getUintConfig(CONFIG_LOCKING_PHASE_DURATION)).add(1) - ); - } - } - - /** - @notice Check if we can add another non-Digix proposal in this quarter - @dev There is a max cap to the number of non-Digix proposals CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER - */ - function checkNonDigixProposalLimit(bytes32 _proposalId) - internal - view - { - require(isNonDigixProposalsWithinLimit(_proposalId)); - } - - function isNonDigixProposalsWithinLimit(bytes32 _proposalId) - internal - view - returns (bool _withinLimit) - { - bool _isDigixProposal; - (,,,,,,,,,_isDigixProposal) = daoStorage().readProposal(_proposalId); - _withinLimit = true; - if (!_isDigixProposal) { - _withinLimit = daoProposalCounterStorage().proposalCountByQuarter(currentQuarterNumber()) < getUintConfig(CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER); - } - } - - /** - @notice If its a non-Digix proposal, check if the fundings are within limit - @dev There is a max cap to the fundings and number of milestones for non-Digix proposals - */ - function checkNonDigixFundings(uint256[] _milestonesFundings, uint256 _finalReward) - internal - view - { - if (!is_founder()) { - require(_milestonesFundings.length <= getUintConfig(CONFIG_MAX_MILESTONES_FOR_NON_DIGIX)); - require(MathHelper.sumNumbers(_milestonesFundings).add(_finalReward) <= getUintConfig(CONFIG_MAX_FUNDING_FOR_NON_DIGIX)); - } - } - - /** - @notice Check if msg.sender can do operations as a proposer - @dev Note that this function does not check if he is the proposer of the proposal - */ - function senderCanDoProposerOperations() - internal - view - { - require(isMainPhase()); - require(isParticipant(msg.sender)); - require(identity_storage().is_kyc_approved(msg.sender)); - } -} - - -/// @title Digix Gold Token Demurrage Calculator -/// @author Digix Holdings Pte Ltd -/// @notice This contract is meant to be used by exchanges/other parties who want to calculate the DGX demurrage fees, provided an initial balance and the days elapsed -contract DgxDemurrageCalculator { - function calculateDemurrage(uint256 _initial_balance, uint256 _days_elapsed) - public - view - returns (uint256 _demurrage_fees, bool _no_demurrage_fees); -} - - - - - - - -contract DaoCalculatorService is DaoCommon { - - address public dgxDemurrageCalculatorAddress; - - using MathHelper for MathHelper; - - constructor(address _resolver, address _dgxDemurrageCalculatorAddress) - public - { - require(init(CONTRACT_SERVICE_DAO_CALCULATOR, _resolver)); - dgxDemurrageCalculatorAddress = _dgxDemurrageCalculatorAddress; - } - - - /** - @notice Calculate the additional lockedDGDStake, given the DGDs that the user has just locked in - @dev The earlier the locking happens, the more lockedDGDStake the user will get - The formula is: additionalLockedDGDStake = (90 - t)/80 * additionalDGD if t is more than 10. If t<=10, additionalLockedDGDStake = additionalDGD - */ - function calculateAdditionalLockedDGDStake(uint256 _additionalDgd) - public - view - returns (uint256 _additionalLockedDGDStake) - { - _additionalLockedDGDStake = - _additionalDgd.mul( - getUintConfig(CONFIG_QUARTER_DURATION) - .sub( - MathHelper.max( - currentTimeInQuarter(), - getUintConfig(CONFIG_LOCKING_PHASE_DURATION) - ) - ) - ) - .div( - getUintConfig(CONFIG_QUARTER_DURATION) - .sub(getUintConfig(CONFIG_LOCKING_PHASE_DURATION)) - ); - } - - - // Quorum is in terms of lockedDGDStake - function minimumDraftQuorum(bytes32 _proposalId) - public - view - returns (uint256 _minQuorum) - { - uint256[] memory _fundings; - - (_fundings,) = daoStorage().readProposalFunding(_proposalId); - _minQuorum = calculateMinQuorum( - daoStakeStorage().totalModeratorLockedDGDStake(), - getUintConfig(CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR), - getUintConfig(CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR), - getUintConfig(CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR), - getUintConfig(CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR), - _fundings[0] - ); - } - - - function draftQuotaPass(uint256 _for, uint256 _against) - public - view - returns (bool _passed) - { - _passed = _for.mul(getUintConfig(CONFIG_DRAFT_QUOTA_DENOMINATOR)) - > getUintConfig(CONFIG_DRAFT_QUOTA_NUMERATOR).mul(_for.add(_against)); - } - - - // Quorum is in terms of lockedDGDStake - function minimumVotingQuorum(bytes32 _proposalId, uint256 _milestone_id) - public - view - returns (uint256 _minQuorum) - { - require(senderIsAllowedToRead()); - uint256[] memory _weiAskedPerMilestone; - uint256 _finalReward; - (_weiAskedPerMilestone,_finalReward) = daoStorage().readProposalFunding(_proposalId); - require(_milestone_id <= _weiAskedPerMilestone.length); - if (_milestone_id == _weiAskedPerMilestone.length) { - // calculate quorum for the final voting round - _minQuorum = calculateMinQuorum( - daoStakeStorage().totalLockedDGDStake(), - getUintConfig(CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR), - getUintConfig(CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR), - getUintConfig(CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR), - getUintConfig(CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR), - _finalReward - ); - } else { - // calculate quorum for a voting round - _minQuorum = calculateMinQuorum( - daoStakeStorage().totalLockedDGDStake(), - getUintConfig(CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR), - getUintConfig(CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR), - getUintConfig(CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR), - getUintConfig(CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR), - _weiAskedPerMilestone[_milestone_id] - ); - } - } - - - // Quorum is in terms of lockedDGDStake - function minimumVotingQuorumForSpecial() - public - view - returns (uint256 _minQuorum) - { - _minQuorum = getUintConfig(CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR).mul( - daoStakeStorage().totalLockedDGDStake() - ).div( - getUintConfig(CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR) - ); - } - - - function votingQuotaPass(uint256 _for, uint256 _against) - public - view - returns (bool _passed) - { - _passed = _for.mul(getUintConfig(CONFIG_VOTING_QUOTA_DENOMINATOR)) - > getUintConfig(CONFIG_VOTING_QUOTA_NUMERATOR).mul(_for.add(_against)); - } - - - function votingQuotaForSpecialPass(uint256 _for, uint256 _against) - public - view - returns (bool _passed) - { - _passed =_for.mul(getUintConfig(CONFIG_SPECIAL_QUOTA_DENOMINATOR)) - > getUintConfig(CONFIG_SPECIAL_QUOTA_NUMERATOR).mul(_for.add(_against)); - } - - - function calculateMinQuorum( - uint256 _totalStake, - uint256 _fixedQuorumPortionNumerator, - uint256 _fixedQuorumPortionDenominator, - uint256 _scalingFactorNumerator, - uint256 _scalingFactorDenominator, - uint256 _weiAsked - ) - internal - view - returns (uint256 _minimumQuorum) - { - uint256 _weiInDao = weiInDao(); - // add the fixed portion of the quorum - _minimumQuorum = (_totalStake.mul(_fixedQuorumPortionNumerator)).div(_fixedQuorumPortionDenominator); - - // add the dynamic portion of the quorum - _minimumQuorum = _minimumQuorum.add(_totalStake.mul(_weiAsked.mul(_scalingFactorNumerator)).div(_weiInDao.mul(_scalingFactorDenominator))); - } - - - function calculateUserEffectiveBalance( - uint256 _minimalParticipationPoint, - uint256 _quarterPointScalingFactor, - uint256 _reputationPointScalingFactor, - uint256 _quarterPoint, - uint256 _reputationPoint, - uint256 _lockedDGDStake - ) - public - pure - returns (uint256 _effectiveDGDBalance) - { - uint256 _baseDGDBalance = MathHelper.min(_quarterPoint, _minimalParticipationPoint).mul(_lockedDGDStake).div(_minimalParticipationPoint); - _effectiveDGDBalance = - _baseDGDBalance - .mul(_quarterPointScalingFactor.add(_quarterPoint).sub(_minimalParticipationPoint)) - .mul(_reputationPointScalingFactor.add(_reputationPoint)) - .div(_quarterPointScalingFactor.mul(_reputationPointScalingFactor)); - } - - - function calculateDemurrage(uint256 _balance, uint256 _daysElapsed) - public - view - returns (uint256 _demurrageFees) - { - (_demurrageFees,) = DgxDemurrageCalculator(dgxDemurrageCalculatorAddress).calculateDemurrage(_balance, _daysElapsed); - } - -} - - - -/** - * @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); -} - - - - - -/** - * @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 - ); -} - - - - - -contract DaoRewardsManagerExtras is DaoRewardsManagerCommon { - - constructor(address _resolver) public { - require(init(CONTRACT_DAO_REWARDS_MANAGER_EXTRAS, _resolver)); - } - - function daoCalculatorService() - internal - view - returns (DaoCalculatorService _contract) - { - _contract = DaoCalculatorService(get_contract(CONTRACT_SERVICE_DAO_CALCULATOR)); - } - - // done - // calculate dgx rewards; This is basically the DGXs that user has earned from participating in lastParticipatedQuarter, and can be withdrawn on the dgxDistributionDay of the (lastParticipatedQuarter + 1) - // when user actually withdraw some time after that, he will be deducted demurrage. - function calculateUserRewardsForLastParticipatingQuarter(address _user) - public - view - returns (uint256 _dgxRewardsAsParticipant, uint256 _dgxRewardsAsModerator) - { - UserRewards memory data = getUserRewardsStruct(_user); - - data.effectiveDGDBalance = daoCalculatorService().calculateUserEffectiveBalance( - data.qInfo.minimalParticipationPoint, - data.qInfo.quarterPointScalingFactor, - data.qInfo.reputationPointScalingFactor, - daoPointsStorage().getQuarterPoint(_user, data.lastParticipatedQuarter), - - // RP has been updated at the beginning of the lastParticipatedQuarter in - // a call to updateRewardsAndReputationBeforeNewQuarter(); It should not have changed since then - daoPointsStorage().getReputation(_user), - - // lockedDGDStake should have stayed the same throughout since the lastParticipatedQuarter - // if this participant has done anything (lock/unlock/continue) to change the lockedDGDStake, - // updateUserRewardsForLastParticipatingQuarter, and hence this function, would have been called first before the lockedDGDStake is changed - daoStakeStorage().lockedDGDStake(_user) - ); - - data.effectiveModeratorDGDBalance = daoCalculatorService().calculateUserEffectiveBalance( - data.qInfo.moderatorMinimalParticipationPoint, - data.qInfo.moderatorQuarterPointScalingFactor, - data.qInfo.moderatorReputationPointScalingFactor, - daoPointsStorage().getQuarterModeratorPoint(_user, data.lastParticipatedQuarter), - - // RP has been updated at the beginning of the lastParticipatedQuarter in - // a call to updateRewardsAndReputationBeforeNewQuarter(); - daoPointsStorage().getReputation(_user), - - // lockedDGDStake should have stayed the same throughout since the lastParticipatedQuarter - // if this participant has done anything (lock/unlock/continue) to change the lockedDGDStake, - // updateUserRewardsForLastParticipatingQuarter would have been called first before the lockedDGDStake is changed - daoStakeStorage().lockedDGDStake(_user) - ); - - // will not need to calculate if the totalEffectiveDGDLastQuarter is 0 (no one participated) - if (daoRewardsStorage().readTotalEffectiveDGDLastQuarter(data.lastParticipatedQuarter.add(1)) > 0) { - _dgxRewardsAsParticipant = - data.effectiveDGDBalance - .mul(daoRewardsStorage().readRewardsPoolOfLastQuarter( - data.lastParticipatedQuarter.add(1) - )) - .mul( - getUintConfig(CONFIG_PORTION_TO_MODERATORS_DEN) - .sub(getUintConfig(CONFIG_PORTION_TO_MODERATORS_NUM)) - ) - .div(daoRewardsStorage().readTotalEffectiveDGDLastQuarter( - data.lastParticipatedQuarter.add(1) - )) - .div(getUintConfig(CONFIG_PORTION_TO_MODERATORS_DEN)); - } - - // will not need to calculate if the totalEffectiveModeratorDGDLastQuarter is 0 (no one participated) - if (daoRewardsStorage().readTotalEffectiveModeratorDGDLastQuarter(data.lastParticipatedQuarter.add(1)) > 0) { - _dgxRewardsAsModerator = - data.effectiveModeratorDGDBalance - .mul(daoRewardsStorage().readRewardsPoolOfLastQuarter( - data.lastParticipatedQuarter.add(1) - )) - .mul( - getUintConfig(CONFIG_PORTION_TO_MODERATORS_NUM) - ) - .div(daoRewardsStorage().readTotalEffectiveModeratorDGDLastQuarter( - data.lastParticipatedQuarter.add(1) - )) - .div(getUintConfig(CONFIG_PORTION_TO_MODERATORS_DEN)); - } - } -} - - - - - - - - - -/** -@title Contract to manage DGX rewards -@author Digix Holdings -*/ -contract DaoRewardsManager is DaoRewardsManagerCommon { - using MathHelper for MathHelper; - using DaoStructs for DaoStructs.DaoQuarterInfo; - using DaoStructs for DaoStructs.IntermediateResults; - - // is emitted when calculateGlobalRewardsBeforeNewQuarter has been done in the beginning of the quarter - // after which, all the other DAO activities could happen - event StartNewQuarter(uint256 indexed _quarterNumber); - - address public ADDRESS_DGX_TOKEN; - - function daoCalculatorService() - internal - view - returns (DaoCalculatorService _contract) - { - _contract = DaoCalculatorService(get_contract(CONTRACT_SERVICE_DAO_CALCULATOR)); - } - - function daoRewardsManagerExtras() - internal - view - returns (DaoRewardsManagerExtras _contract) - { - _contract = DaoRewardsManagerExtras(get_contract(CONTRACT_DAO_REWARDS_MANAGER_EXTRAS)); - } - - /** - @notice Constructor (set the DaoQuarterInfo struct for the first quarter) - @param _resolver Address of the Contract Resolver contract - @param _dgxAddress Address of the Digix Gold Token contract - */ - constructor(address _resolver, address _dgxAddress) - public - { - require(init(CONTRACT_DAO_REWARDS_MANAGER, _resolver)); - ADDRESS_DGX_TOKEN = _dgxAddress; - - // set the DaoQuarterInfo for the first quarter - daoRewardsStorage().updateQuarterInfo( - 1, - getUintConfig(CONFIG_MINIMAL_QUARTER_POINT), - getUintConfig(CONFIG_QUARTER_POINT_SCALING_FACTOR), - getUintConfig(CONFIG_REPUTATION_POINT_SCALING_FACTOR), - 0, // totalEffectiveDGDPreviousQuarter, Not Applicable, this value should not be used ever - getUintConfig(CONFIG_MODERATOR_MINIMAL_QUARTER_POINT), - getUintConfig(CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR), - getUintConfig(CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR), - 0, // _totalEffectiveModeratorDGDLastQuarter , Not applicable, this value should not be used ever - - // _dgxDistributionDay, Not applicable, there shouldnt be any DGX rewards in the DAO now. The actual DGX fees that have been collected - // before the deployment of DigixDAO contracts would be counted as part of the DGX fees incurred in the first quarter - // this value should not be used ever - now, - - 0, // _dgxRewardsPoolLastQuarter, not applicable, this value should not be used ever - 0 // sumRewardsFromBeginning, which is 0 - ); - } - - - /** - @notice Function to transfer the claimableDGXs to the new DaoRewardsManager - @dev This is done during the migrateToNewDao procedure - @param _newDaoRewardsManager Address of the new daoRewardsManager contract - */ - function moveDGXsToNewDao(address _newDaoRewardsManager) - public - { - require(sender_is(CONTRACT_DAO)); - uint256 _dgxBalance = ERC20(ADDRESS_DGX_TOKEN).balanceOf(address(this)); - ERC20(ADDRESS_DGX_TOKEN).transfer(_newDaoRewardsManager, _dgxBalance); - } - - - /** - @notice Function for users to claim the claimable DGX rewards - @dev Will revert if _claimableDGX < MINIMUM_TRANSFER_AMOUNT of DGX. - Can only be called after calculateGlobalRewardsBeforeNewQuarter() has been called in the current quarter - This cannot be called once the current version of Dao contracts have been migrated to newer version - */ - function claimRewards() - public - ifGlobalRewardsSet(currentQuarterNumber()) - { - require(isDaoNotReplaced()); - - address _user = msg.sender; - uint256 _claimableDGX; - - // update rewards for the quarter that he last participated in - (, _claimableDGX) = updateUserRewardsForLastParticipatingQuarter(_user); - - // withdraw from his claimableDGXs - // This has to take into account demurrage - // Basically, the value of claimableDGXs in the contract is for the dgxDistributionDay of (lastParticipatedQuarter + 1) - // if now is after that, we need to deduct demurrage - uint256 _days_elapsed = now - .sub( - daoRewardsStorage().readDgxDistributionDay( - daoRewardsStorage().lastQuarterThatRewardsWasUpdated(_user).add(1) // lastQuarterThatRewardsWasUpdated should be the same as lastParticipatedQuarter now - ) - ) - .div(1 days); - - // similar logic as in the similar step in updateUserRewardsForLastParticipatingQuarter. - // it is as if the user has withdrawn all _claimableDGX, and the demurrage is paid back into the DAO immediately - daoRewardsStorage().addToTotalDgxClaimed(_claimableDGX); - - _claimableDGX = _claimableDGX.sub( - daoCalculatorService().calculateDemurrage( - _claimableDGX, - _days_elapsed - )); - - daoRewardsStorage().updateClaimableDGX(_user, 0); - ERC20(ADDRESS_DGX_TOKEN).transfer(_user, _claimableDGX); - // the _demurrageFees is implicitly "transfered" back into the DAO, and would be counted in the dgxRewardsPool of this quarter (in other words, dgxRewardsPoolLastQuarter of next quarter) - } - - - /** - @notice Function to update DGX rewards of user. This is only called during locking/withdrawing DGDs, or continuing participation for new quarter - @param _user Address of the DAO participant - */ - function updateRewardsAndReputationBeforeNewQuarter(address _user) - public - { - require(sender_is(CONTRACT_DAO_STAKE_LOCKING)); - - updateUserRewardsForLastParticipatingQuarter(_user); - updateUserReputationUntilPreviousQuarter(_user); - } - - - // This function would ALWAYS make sure that the user's Reputation Point is updated for ALL activities that has happened - // BEFORE this current quarter. These activities include: - // - Reputation bonus/penalty due to participation in all of the previous quarters - // - Reputation penalty for not participating for a few quarters, up until and including the previous quarter - // - Badges redemption and carbon vote reputation redemption (that happens in the first time locking) - // As such, after this function is called on quarter N, the updated reputation point of the user would tentatively be used to calculate the rewards for quarter N - // Its tentative because the user can also redeem a badge during the period of quarter N to add to his reputation point. - function updateUserReputationUntilPreviousQuarter (address _user) - private - { - uint256 _lastParticipatedQuarter = daoRewardsStorage().lastParticipatedQuarter(_user); - uint256 _lastQuarterThatReputationWasUpdated = daoRewardsStorage().lastQuarterThatReputationWasUpdated(_user); - uint256 _reputationDeduction; - - // If the reputation was already updated until the previous quarter - // nothing needs to be done - if ( - _lastQuarterThatReputationWasUpdated.add(1) >= currentQuarterNumber() - ) { - return; - } - - // first, we calculate and update the reputation change due to the user's governance activities in lastParticipatedQuarter, if it is not already updated. - // reputation is not updated for lastParticipatedQuarter yet is equivalent to _lastQuarterThatReputationWasUpdated == _lastParticipatedQuarter - 1 - if ( - (_lastQuarterThatReputationWasUpdated.add(1) == _lastParticipatedQuarter) - ) { - updateRPfromQP( - _user, - daoPointsStorage().getQuarterPoint(_user, _lastParticipatedQuarter), - getUintConfig(CONFIG_MINIMAL_QUARTER_POINT), - getUintConfig(CONFIG_MAXIMUM_REPUTATION_DEDUCTION), - getUintConfig(CONFIG_REPUTATION_PER_EXTRA_QP_NUM), - getUintConfig(CONFIG_REPUTATION_PER_EXTRA_QP_DEN) - ); - - // this user is not a Moderator for current quarter - // coz this step is done before updating the refreshModerator. - // But may have been a Moderator before, and if was moderator in their - // lastParticipatedQuarter, we will find them in the DoublyLinkedList. - if (daoStakeStorage().isInModeratorsList(_user)) { - updateRPfromQP( - _user, - daoPointsStorage().getQuarterModeratorPoint(_user, _lastParticipatedQuarter), - getUintConfig(CONFIG_MODERATOR_MINIMAL_QUARTER_POINT), - getUintConfig(CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION), - getUintConfig(CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM), - getUintConfig(CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN) - ); - } - _lastQuarterThatReputationWasUpdated = _lastParticipatedQuarter; - } - - // at this point, the _lastQuarterThatReputationWasUpdated MUST be at least the _lastParticipatedQuarter already - // Hence, any quarters between the _lastQuarterThatReputationWasUpdated and now must be a non-participating quarter, - // and this participant should be penalized for those. - - // If this is their first ever participation, It is fine as well, as the reputation would be still be 0 after this step. - // note that the carbon vote's reputation bonus will be added after this, so its fine - - _reputationDeduction = - (currentQuarterNumber().sub(1).sub(_lastQuarterThatReputationWasUpdated)) - .mul( - getUintConfig(CONFIG_MAXIMUM_REPUTATION_DEDUCTION) - .add(getUintConfig(CONFIG_PUNISHMENT_FOR_NOT_LOCKING)) - ); - - if (_reputationDeduction > 0) daoPointsStorage().reduceReputation(_user, _reputationDeduction); - daoRewardsStorage().updateLastQuarterThatReputationWasUpdated(_user, currentQuarterNumber().sub(1)); - } - - - // update ReputationPoint of a participant based on QuarterPoint/ModeratorQuarterPoint in a quarter - function updateRPfromQP ( - address _user, - uint256 _userQP, - uint256 _minimalQP, - uint256 _maxRPDeduction, - uint256 _rpPerExtraQP_num, - uint256 _rpPerExtraQP_den - ) internal { - uint256 _reputationDeduction; - uint256 _reputationAddition; - if (_userQP < _minimalQP) { - _reputationDeduction = - _minimalQP.sub(_userQP) - .mul(_maxRPDeduction) - .div(_minimalQP); - - daoPointsStorage().reduceReputation(_user, _reputationDeduction); - } else { - _reputationAddition = - _userQP.sub(_minimalQP) - .mul(_rpPerExtraQP_num) - .div(_rpPerExtraQP_den); - - daoPointsStorage().increaseReputation(_user, _reputationAddition); - } - } - - // if the DGX rewards has not been calculated for the user's lastParticipatedQuarter, calculate and update it - function updateUserRewardsForLastParticipatingQuarter(address _user) - internal - returns (bool _valid, uint256 _userClaimableDgx) - { - UserRewards memory data = getUserRewardsStruct(_user); - _userClaimableDgx = daoRewardsStorage().claimableDGXs(_user); - - // There is nothing to do if: - // - The participant is already participating this quarter and hence this function has been called in this quarter - // - We have updated the rewards to the lastParticipatedQuarter - // In ANY other cases: it means that the lastParticipatedQuarter is NOT this quarter, and its greater than lastQuarterThatRewardsWasUpdated, hence - // This also means that this participant has ALREADY PARTICIPATED at least once IN THE PAST, and we have not calculated for this quarter - // Thus, we need to calculate the Rewards for the lastParticipatedQuarter - if ( - (currentQuarterNumber() == data.lastParticipatedQuarter) || - (data.lastParticipatedQuarter <= data.lastQuarterThatRewardsWasUpdated) - ) { - return (false, _userClaimableDgx); - } - - // now we will calculate the user rewards based on info of the data.lastParticipatedQuarter - - // first we "deduct the demurrage" for the existing claimable DGXs for time period from - // dgxDistributionDay of (lastQuarterThatRewardsWasUpdated + 1) to dgxDistributionDay of (lastParticipatedQuarter + 1) - // (note that, when people participate in quarter n, the DGX rewards for quarter n is only released at the dgxDistributionDay of (n+1)th quarter) - uint256 _days_elapsed = daoRewardsStorage().readDgxDistributionDay(data.lastParticipatedQuarter.add(1)) - .sub(daoRewardsStorage().readDgxDistributionDay(data.lastQuarterThatRewardsWasUpdated.add(1))) - .div(1 days); - uint256 _demurrageFees = daoCalculatorService().calculateDemurrage( - _userClaimableDgx, - _days_elapsed - ); - _userClaimableDgx = _userClaimableDgx.sub(_demurrageFees); - // this demurrage fees will not be accurate to the hours, but we will leave it as this. - - // this deducted demurrage is then added to the totalDGXsClaimed - // This is as if, the user claims exactly _demurrageFees DGXs, which would be used immediately to pay for the demurrage on his claimableDGXs, - // from dgxDistributionDay of (lastQuarterThatRewardsWasUpdated + 1) to dgxDistributionDay of (lastParticipatedQuarter + 1) - // This is done as such, so that this _demurrageFees would "flow back into the DAO" and be counted in the dgxRewardsPool of this current quarter (in other words, dgxRewardsPoolLastQuarter of the next quarter, as will be calculated in calculateGlobalRewardsBeforeNewQuarter of the next quarter) - // this is not 100% techinally correct as a demurrage concept, because this demurrage fees could have been incurred for the duration of the quarters in the past, but we will account them this way, as if its demurrage fees for this quarter, for simplicity. - daoRewardsStorage().addToTotalDgxClaimed(_demurrageFees); - - uint256 _dgxRewardsAsParticipant; - uint256 _dgxRewardsAsModerator; - (_dgxRewardsAsParticipant, _dgxRewardsAsModerator) = daoRewardsManagerExtras().calculateUserRewardsForLastParticipatingQuarter(_user); - _userClaimableDgx = _userClaimableDgx.add(_dgxRewardsAsParticipant).add(_dgxRewardsAsModerator); - - // update claimableDGXs. The calculation just now should have taken into account demurrage - // such that the demurrage has been paid until dgxDistributionDay of (lastParticipatedQuarter + 1) - daoRewardsStorage().updateClaimableDGX(_user, _userClaimableDgx); - - // update lastQuarterThatRewardsWasUpdated - daoRewardsStorage().updateLastQuarterThatRewardsWasUpdated(_user, data.lastParticipatedQuarter); - _valid = true; - } - - /** - @notice Function called by the founder after transfering the DGX fees into the DAO at the beginning of the quarter - @dev This function needs to do lots of calculation, so it might not fit into one transaction - As such, it could be done in multiple transactions, each time passing _operations which is the number of operations we want to calculate. - When the value of _done is finally true, that's when the calculation is done. - Only after this function runs, any other activities in the DAO could happen. - - Basically, if there were M participants and N moderators in the previous quarter, it takes M+N "operations". - - In summary, the function populates the DaoQuarterInfo of this quarter. - The bulk of the calculation is to go through every participant in the previous quarter to calculate their effectiveDGDBalance and sum them to get the - totalEffectiveDGDLastQuarter - */ - function calculateGlobalRewardsBeforeNewQuarter(uint256 _operations) - public - if_founder() - returns (bool _done) - { - require(isDaoNotReplaced()); - require(daoUpgradeStorage().startOfFirstQuarter() != 0); // start of first quarter must have been set already - require(isLockingPhase()); - require(daoRewardsStorage().readDgxDistributionDay(currentQuarterNumber()) == 0); // throw if this function has already finished running this quarter - - QuarterRewardsInfo memory info; - info.previousQuarter = currentQuarterNumber().sub(1); - require(info.previousQuarter > 0); // throw if this is the first quarter - info.qInfo = readQuarterInfo(info.previousQuarter); - - DaoStructs.IntermediateResults memory interResults; - ( - interResults.countedUntil,,, - info.totalEffectiveDGDPreviousQuarter - ) = intermediateResultsStorage().getIntermediateResults( - getIntermediateResultsIdForGlobalRewards(info.previousQuarter, false) - ); - - uint256 _operationsLeft = sumEffectiveBalance(info, false, _operations, interResults); - // now we are left with _operationsLeft operations - // the results is saved in interResults - - // if we have not done with calculating the effective balance, quit. - if (!info.doneCalculatingEffectiveBalance) { return false; } - - ( - interResults.countedUntil,,, - info.totalEffectiveModeratorDGDLastQuarter - ) = intermediateResultsStorage().getIntermediateResults( - getIntermediateResultsIdForGlobalRewards(info.previousQuarter, true) - ); - - sumEffectiveBalance(info, true, _operationsLeft, interResults); - - // if we have not done with calculating the moderator effective balance, quit. - if (!info.doneCalculatingModeratorEffectiveBalance) { return false; } - - // we have done the heavey calculation, now save the quarter info - processGlobalRewardsUpdate(info); - _done = true; - - emit StartNewQuarter(currentQuarterNumber()); - } - - - // get the Id for the intermediateResult for a quarter's global rewards calculation - function getIntermediateResultsIdForGlobalRewards(uint256 _quarterNumber, bool _forModerator) internal view returns (bytes32 _id) { - _id = keccak256(abi.encodePacked( - _forModerator ? INTERMEDIATE_MODERATOR_DGD_IDENTIFIER : INTERMEDIATE_DGD_IDENTIFIER, - _quarterNumber - )); - } - - - // final step in calculateGlobalRewardsBeforeNewQuarter, which is to save the DaoQuarterInfo struct for this quarter - function processGlobalRewardsUpdate(QuarterRewardsInfo memory info) internal { - // calculate how much DGX rewards we got for this quarter - info.dgxRewardsPoolLastQuarter = - ERC20(ADDRESS_DGX_TOKEN).balanceOf(address(this)) - .add(daoRewardsStorage().totalDGXsClaimed()) - .sub(info.qInfo.sumRewardsFromBeginning); - - // starting new quarter, no one locked in DGDs yet - daoStakeStorage().updateTotalLockedDGDStake(0); - daoStakeStorage().updateTotalModeratorLockedDGDs(0); - - daoRewardsStorage().updateQuarterInfo( - info.previousQuarter.add(1), - getUintConfig(CONFIG_MINIMAL_QUARTER_POINT), - getUintConfig(CONFIG_QUARTER_POINT_SCALING_FACTOR), - getUintConfig(CONFIG_REPUTATION_POINT_SCALING_FACTOR), - info.totalEffectiveDGDPreviousQuarter, - - getUintConfig(CONFIG_MODERATOR_MINIMAL_QUARTER_POINT), - getUintConfig(CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR), - getUintConfig(CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR), - info.totalEffectiveModeratorDGDLastQuarter, - - now, - info.dgxRewardsPoolLastQuarter, - info.qInfo.sumRewardsFromBeginning.add(info.dgxRewardsPoolLastQuarter) - ); - } - - - // Sum the effective balance (could be effectiveDGDBalance or effectiveModeratorDGDBalance), given that we have _operations left - function sumEffectiveBalance ( - QuarterRewardsInfo memory info, - bool _badgeCalculation, // false if this is the first step, true if its the second step - uint256 _operations, - DaoStructs.IntermediateResults memory _interResults - ) - internal - returns (uint _operationsLeft) - { - if (_operations == 0) return _operations; // no more operations left, quit - - if (_interResults.countedUntil == EMPTY_ADDRESS) { - // if this is the first time we are doing this calculation, we need to - // get the list of the participants to calculate by querying the first _operations participants - info.users = _badgeCalculation ? - daoListingService().listModerators(_operations, true) - : daoListingService().listParticipants(_operations, true); - } else { - info.users = _badgeCalculation ? - daoListingService().listModeratorsFrom(_interResults.countedUntil, _operations, true) - : daoListingService().listParticipantsFrom(_interResults.countedUntil, _operations, true); - - // if this list is the already empty, it means this is the first step (calculating effective balance), and its already done; - if (info.users.length == 0) { - info.doneCalculatingEffectiveBalance = true; - return _operations; - } - } - - address _lastAddress; - _lastAddress = info.users[info.users.length - 1]; - - info.userCount = info.users.length; - for (info.i=0;info.i daoStorage().readProposalDraftVotingTime(_proposalId) - .add(getUintConfig(CONFIG_DRAFT_VOTING_PHASE)) - .add(getUintConfig(CONFIG_VOTE_CLAIMING_DEADLINE)) - || !isNonDigixProposalsWithinLimit(_proposalId)) - { - daoStorage().setProposalDraftPass(_proposalId, false); - daoStorage().setDraftVotingClaim(_proposalId, true); - processCollateralRefund(_proposalId); - return (false, true); - } - require(isFromProposer(_proposalId)); - senderCanDoProposerOperations(); - - if (_operations == 0) { // if no operations are passed, return with done = false - return (false, false); - } - - // get the previously stored intermediary state - DaoStructs.IntermediateResults memory _currentResults; - ( - _currentResults.countedUntil, - _currentResults.currentForCount, - _currentResults.currentAgainstCount, - ) = intermediateResultsStorage().getIntermediateResults(_proposalId); - - // get the moderators to calculate in this transaction, based on intermediate state - address[] memory _moderators; - if (_currentResults.countedUntil == EMPTY_ADDRESS) { - _moderators = daoListingService().listModerators( - _operations, - true - ); - } else { - _moderators = daoListingService().listModeratorsFrom( - _currentResults.countedUntil, - _operations, - true - ); - } - - // count the votes for this batch of moderators - DaoIntermediateStructs.VotingCount memory _voteCount; - (_voteCount.forCount, _voteCount.againstCount) = daoStorage().readDraftVotingCount(_proposalId, _moderators); - - _currentResults.countedUntil = _moderators[_moderators.length-1]; - _currentResults.currentForCount = _currentResults.currentForCount.add(_voteCount.forCount); - _currentResults.currentAgainstCount = _currentResults.currentAgainstCount.add(_voteCount.againstCount); - - if (_moderators[_moderators.length-1] == daoStakeStorage().readLastModerator()) { - // this is the last iteration - _passed = processDraftVotingClaim(_proposalId, _currentResults); - _done = true; - - // reset intermediate result for the proposal. - intermediateResultsStorage().resetIntermediateResults(_proposalId); - } else { - // update intermediate results - intermediateResultsStorage().setIntermediateResults( - _proposalId, - _currentResults.countedUntil, - _currentResults.currentForCount, - _currentResults.currentAgainstCount, - 0 - ); - } - } - - - function processDraftVotingClaim(bytes32 _proposalId, DaoStructs.IntermediateResults _currentResults) - internal - returns (bool _passed) - { - if ( - (_currentResults.currentForCount.add(_currentResults.currentAgainstCount) > daoCalculatorService().minimumDraftQuorum(_proposalId)) && - (daoCalculatorService().draftQuotaPass(_currentResults.currentForCount, _currentResults.currentAgainstCount)) - ) { - daoStorage().setProposalDraftPass(_proposalId, true); - - // set startTime of first voting round - // and the start of first milestone. - uint256 _idealStartTime = daoStorage().readProposalDraftVotingTime(_proposalId).add(getUintConfig(CONFIG_DRAFT_VOTING_PHASE)); - daoStorage().setProposalVotingTime( - _proposalId, - 0, - getTimelineForNextVote(0, _idealStartTime) - ); - _passed = true; - } else { - daoStorage().setProposalDraftPass(_proposalId, false); - processCollateralRefund(_proposalId); - } - - daoStorage().setDraftVotingClaim(_proposalId, true); - } - - /// NOTE: Voting round i-th is before milestone index i-th - - - /** - @notice Function to claim the voting round results - @dev This function has two major steps: - - Counting the votes - + There is no need for this step if there are some conditions that makes the proposal auto failed - + The number of operations needed for this step is the number of participants in the quarter - - Calculating the bonus for the voters in the preceding round - + We can skip this step if this is the Voting round 0 (there is no preceding voting round to calculate bonus) - + The number of operations needed for this step is the number of participants who voted "correctly" in the preceding voting round - Step 1 will have to finish first before step 2. The proposer is supposed to call this function repeatedly, - until _done is true - - If the voting round fails, the collateral will be returned back to the proposer - @param _proposalId ID of the proposal - @param _index Index of the voting round - @param _operations Number of operations to do in this call - @return { - "_passed": "Boolean, true if the voting round passed, false if failed" - } - */ - function claimProposalVotingResult(bytes32 _proposalId, uint256 _index, uint256 _operations) - public - ifNotClaimed(_proposalId, _index) - ifAfterProposalRevealPhase(_proposalId, _index) - returns (bool _passed, bool _done) - { - require(isMainPhase()); - - // STEP 1 - // If the claiming deadline is over, the proposal is auto failed, and anyone can call this function - // Here, _done is refering to whether STEP 1 is done - _done = true; - _passed = false; // redundant, put here just to emphasize that its false - uint256 _operationsLeft = _operations; - - if (_operations == 0) { // if no operations are passed, return with done = false - return (false, false); - } - - // In other words, we only need to do Step 1 if its before the deadline - if (now < startOfMilestone(_proposalId, _index) - .add(getUintConfig(CONFIG_VOTE_CLAIMING_DEADLINE))) - { - (_operationsLeft, _passed, _done) = countProposalVote(_proposalId, _index, _operations); - // from here on, _operationsLeft is the number of operations left, after Step 1 is done - if (!_done) return (_passed, false); // haven't done Step 1 yet, return. The value of _passed here is irrelevant - } - - // STEP 2 - // from this point onwards, _done refers to step 2 - _done = false; - - if (_index > 0) { // We only need to do bonus calculation if its a interim voting round - _done = calculateVoterBonus(_proposalId, _index, _operationsLeft, _passed); - if (!_done) return (_passed, false); // Step 2 is not done yet, return - } else { - // its the first voting round, we return the collateral if it fails, locks if it passes - - _passed = _passed && isNonDigixProposalsWithinLimit(_proposalId); // can only pass if its within the non-digix proposal limit - if (_passed) { - daoStorage().setProposalCollateralStatus( - _proposalId, - COLLATERAL_STATUS_LOCKED - ); - - } else { - processCollateralRefund(_proposalId); - } - } - - if (_passed) { - processSuccessfulVotingClaim(_proposalId, _index); - } - daoStorage().setVotingClaim(_proposalId, _index, true); - daoStorage().setProposalPass(_proposalId, _index, _passed); - _done = true; - } - - - // do the necessary steps after a successful voting round. - function processSuccessfulVotingClaim(bytes32 _proposalId, uint256 _index) - internal - { - // clear the intermediate results for the proposal, so that next voting rounds can reuse the same key for the intermediate results - intermediateResultsStorage().resetIntermediateResults(_proposalId); - - // if this was the final voting round, unlock their original collateral - uint256[] memory _milestoneFundings; - (_milestoneFundings,) = daoStorage().readProposalFunding(_proposalId); - if (_index == _milestoneFundings.length) { - processCollateralRefund(_proposalId); - daoStorage().archiveProposal(_proposalId); - } - - // increase the non-digix proposal count accordingly - bool _isDigixProposal; - (,,,,,,,,,_isDigixProposal) = daoStorage().readProposal(_proposalId); - if (_index == 0 && !_isDigixProposal) { - daoProposalCounterStorage().addNonDigixProposalCountInQuarter(currentQuarterNumber()); - } - - // Add quarter point for the proposer - uint256 _funding = daoStorage().readProposalMilestone(_proposalId, _index); - daoPointsStorage().addQuarterPoint( - daoStorage().readProposalProposer(_proposalId), - getUintConfig(CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH).mul(_funding).div(10000 ether), - currentQuarterNumber() - ); - } - - - function getInterResultKeyForBonusCalculation(bytes32 _proposalId) public view returns (bytes32 _key) { - _key = keccak256(abi.encodePacked( - _proposalId, - INTERMEDIATE_BONUS_CALCULATION_IDENTIFIER - )); - } - - - // calculate and update the bonuses for voters who voted "correctly" in the preceding voting round - function calculateVoterBonus(bytes32 _proposalId, uint256 _index, uint256 _operations, bool _passed) - internal - returns (bool _done) - { - if (_operations == 0) return false; - address _countedUntil; - (_countedUntil,,,) = intermediateResultsStorage().getIntermediateResults( - getInterResultKeyForBonusCalculation(_proposalId) - ); - - address[] memory _voterBatch; - if (_countedUntil == EMPTY_ADDRESS) { - _voterBatch = daoListingService().listParticipants( - _operations, - true - ); - } else { - _voterBatch = daoListingService().listParticipantsFrom( - _countedUntil, - _operations, - true - ); - } - address _lastVoter = _voterBatch[_voterBatch.length - 1]; // this will fail if _voterBatch is empty. However, there is at least the proposer as a participant in the quarter. - - DaoIntermediateStructs.Users memory _bonusVoters; - if (_passed) { - - // give bonus points for all those who - // voted YES in the previous round - (_bonusVoters.users, _bonusVoters.usersLength) = daoStorage().readVotingRoundVotes(_proposalId, _index.sub(1), _voterBatch, true); - } else { - // give bonus points for all those who - // voted NO in the previous round - (_bonusVoters.users, _bonusVoters.usersLength) = daoStorage().readVotingRoundVotes(_proposalId, _index.sub(1), _voterBatch, false); - } - - if (_bonusVoters.usersLength > 0) addBonusReputation(_bonusVoters.users, _bonusVoters.usersLength); - - if (_lastVoter == daoStakeStorage().readLastParticipant()) { - // this is the last iteration - - intermediateResultsStorage().resetIntermediateResults( - getInterResultKeyForBonusCalculation(_proposalId) - ); - _done = true; - } else { - // this is not the last iteration yet, save the intermediate results - intermediateResultsStorage().setIntermediateResults( - getInterResultKeyForBonusCalculation(_proposalId), - _lastVoter, 0, 0, 0 - ); - } - } - - - // Count the votes for a Voting Round and find out if its passed - /// @return _operationsLeft The number of operations left after the calculations in this function - /// @return _passed Whether this voting round passed - /// @return _done Whether the calculation for this step 1 is already done. If its not done, this function will need to run again in subsequent transactions - /// until _done is true - function countProposalVote(bytes32 _proposalId, uint256 _index, uint256 _operations) - internal - returns (uint256 _operationsLeft, bool _passed, bool _done) - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - - DaoStructs.IntermediateResults memory _currentResults; - ( - _currentResults.countedUntil, - _currentResults.currentForCount, - _currentResults.currentAgainstCount, - ) = intermediateResultsStorage().getIntermediateResults(_proposalId); - address[] memory _voters; - if (_currentResults.countedUntil == EMPTY_ADDRESS) { // This is the first transaction to count votes for this voting round - _voters = daoListingService().listParticipants( - _operations, - true - ); - } else { - _voters = daoListingService().listParticipantsFrom( - _currentResults.countedUntil, - _operations, - true - ); - - // If there's no voters left to count, this means that STEP 1 is already done, just return whether it was passed - // Note that _currentResults should already be storing the final tally of votes for this voting round, as already calculated in previous iterations of this function - if (_voters.length == 0) { - return ( - _operations, - isVoteCountPassed(_currentResults, _proposalId, _index), - true - ); - } - } - - address _lastVoter = _voters[_voters.length - 1]; - - DaoIntermediateStructs.VotingCount memory _count; - (_count.forCount, _count.againstCount) = daoStorage().readVotingCount(_proposalId, _index, _voters); - - _currentResults.currentForCount = _currentResults.currentForCount.add(_count.forCount); - _currentResults.currentAgainstCount = _currentResults.currentAgainstCount.add(_count.againstCount); - intermediateResultsStorage().setIntermediateResults( - _proposalId, - _lastVoter, - _currentResults.currentForCount, - _currentResults.currentAgainstCount, - 0 - ); - - if (_lastVoter != daoStakeStorage().readLastParticipant()) { - return (0, false, false); // hasn't done STEP 1 yet. The parent function (claimProposalVotingResult) should return after this. More transactions are needed to continue the calculation - } - - // If it comes to here, this means all votes have already been counted - // From this point, the IntermediateResults struct will store the total tally of the votes for this voting round until processSuccessfulVotingClaim() is called, - // which will reset it. - - _operationsLeft = _operations.sub(_voters.length); - _done = true; - - _passed = isVoteCountPassed(_currentResults, _proposalId, _index); - } - - - function isVoteCountPassed(DaoStructs.IntermediateResults _currentResults, bytes32 _proposalId, uint256 _index) - internal - view - returns (bool _passed) - { - _passed = (_currentResults.currentForCount.add(_currentResults.currentAgainstCount) > daoCalculatorService().minimumVotingQuorum(_proposalId, _index)) - && (daoCalculatorService().votingQuotaPass(_currentResults.currentForCount, _currentResults.currentAgainstCount)); - } - - - function processCollateralRefund(bytes32 _proposalId) - internal - { - daoStorage().setProposalCollateralStatus(_proposalId, COLLATERAL_STATUS_CLAIMED); - require(daoFundingManager().refundCollateral(daoStorage().readProposalProposer(_proposalId), _proposalId)); - } - - - // add bonus reputation for voters that voted "correctly" in the preceding voting round AND is currently participating this quarter - function addBonusReputation(address[] _voters, uint256 _n) - private - { - uint256 _qp = getUintConfig(CONFIG_QUARTER_POINT_VOTE); - uint256 _rate = getUintConfig(CONFIG_BONUS_REPUTATION_NUMERATOR); - uint256 _base = getUintConfig(CONFIG_BONUS_REPUTATION_DENOMINATOR); - - uint256 _bonus = _qp.mul(_rate).mul(getUintConfig(CONFIG_REPUTATION_PER_EXTRA_QP_NUM)) - .div( - _base.mul(getUintConfig(CONFIG_REPUTATION_PER_EXTRA_QP_DEN)) - ); - - for (uint256 i = 0; i < _n; i++) { - if (isParticipant(_voters[i])) { // only give bonus reputation to current participants - daoPointsStorage().increaseReputation(_voters[i], _bonus); - } - } - } - -} - - - - - - - -/** -@title Interactive DAO contract for creating/modifying/endorsing proposals -@author Digix Holdings -*/ -contract Dao is DaoCommon { - - event NewProposal(bytes32 indexed _proposalId, address _proposer); - event ModifyProposal(bytes32 indexed _proposalId, bytes32 _newDoc); - event ChangeProposalFunding(bytes32 indexed _proposalId); - event FinalizeProposal(bytes32 indexed _proposalId); - event FinishMilestone(bytes32 indexed _proposalId, uint256 indexed _milestoneIndex); - event AddProposalDoc(bytes32 indexed _proposalId, bytes32 _newDoc); - event PRLAction(bytes32 indexed _proposalId, uint256 _actionId, bytes32 _doc); - event CloseProposal(bytes32 indexed _proposalId); - event MigrateToNewDao(address _newDaoContract, address _newDaoFundingManager, address _newDaoRewardsManager); - - constructor(address _resolver) public { - require(init(CONTRACT_DAO, _resolver)); - } - - function daoFundingManager() - internal - view - returns (DaoFundingManager _contract) - { - _contract = DaoFundingManager(get_contract(CONTRACT_DAO_FUNDING_MANAGER)); - } - - function daoRewardsManager() - internal - view - returns (DaoRewardsManager _contract) - { - _contract = DaoRewardsManager(get_contract(CONTRACT_DAO_REWARDS_MANAGER)); - } - - function daoVotingClaims() - internal - view - returns (DaoVotingClaims _contract) - { - _contract = DaoVotingClaims(get_contract(CONTRACT_DAO_VOTING_CLAIMS)); - } - - /** - @notice Set addresses for the new Dao and DaoFundingManager contracts - @dev This is the first step of the 2-step migration - @param _newDaoContract Address of the new Dao contract - @param _newDaoFundingManager Address of the new DaoFundingManager contract - @param _newDaoRewardsManager Address of the new daoRewardsManager contract - */ - function setNewDaoContracts( - address _newDaoContract, - address _newDaoFundingManager, - address _newDaoRewardsManager - ) - public - if_root() - { - require(daoUpgradeStorage().isReplacedByNewDao() == false); - daoUpgradeStorage().setNewContractAddresses( - _newDaoContract, - _newDaoFundingManager, - _newDaoRewardsManager - ); - } - - /** - @notice Migrate this DAO to a new DAO contract - @dev This is the second step of the 2-step migration - Migration can only be done during the locking phase, after the global rewards for current quarter are set. - This is to make sure that there is no rewards calculation pending before the DAO is migrated to new contracts - The addresses of the new Dao contracts have to be provided again, and be double checked against the addresses that were set in setNewDaoContracts() - @param _newDaoContract Address of the new DAO contract - @param _newDaoFundingManager Address of the new DaoFundingManager contract, which would receive the remaining ETHs in this DaoFundingManager - @param _newDaoRewardsManager Address of the new daoRewardsManager contract, which would receive the claimableDGXs from this daoRewardsManager - */ - function migrateToNewDao( - address _newDaoContract, - address _newDaoFundingManager, - address _newDaoRewardsManager - ) - public - if_root() - ifGlobalRewardsSet(currentQuarterNumber()) - { - require(isLockingPhase()); - require(daoUpgradeStorage().isReplacedByNewDao() == false); - require( - (daoUpgradeStorage().newDaoContract() == _newDaoContract) && - (daoUpgradeStorage().newDaoFundingManager() == _newDaoFundingManager) && - (daoUpgradeStorage().newDaoRewardsManager() == _newDaoRewardsManager) - ); - daoUpgradeStorage().updateForDaoMigration(); - daoFundingManager().moveFundsToNewDao(_newDaoFundingManager); - daoRewardsManager().moveDGXsToNewDao(_newDaoRewardsManager); - emit MigrateToNewDao(_newDaoContract, _newDaoFundingManager, _newDaoRewardsManager); - } - - /** - @notice Call this function to mark the start of the DAO's first quarter. This can only be done once, by a founder - @param _start Start time of the first quarter in the DAO - */ - function setStartOfFirstQuarter(uint256 _start) public if_founder() { - require(daoUpgradeStorage().startOfFirstQuarter() == 0); - require(_start > now); - daoUpgradeStorage().setStartOfFirstQuarter(_start); - } - - /** - @notice Submit a new preliminary idea / Pre-proposal - @dev The proposer has to send in a collateral == getUintConfig(CONFIG_PREPROPOSAL_COLLATERAL) - which he could claim back in these scenarios: - - Before the proposal is finalized, by calling closeProposal() - - After all milestones are done and the final voting round is passed - - @param _docIpfsHash Hash of the IPFS doc containing details of proposal - @param _milestonesFundings Array of fundings of the proposal milestones (in wei) - @param _finalReward Final reward asked by proposer at successful completion of all milestones of proposal - */ - function submitPreproposal( - bytes32 _docIpfsHash, - uint256[] _milestonesFundings, - uint256 _finalReward - ) - external - payable - { - senderCanDoProposerOperations(); - bool _isFounder = is_founder(); - - require(MathHelper.sumNumbers(_milestonesFundings).add(_finalReward) <= weiInDao()); - - require(msg.value == getUintConfig(CONFIG_PREPROPOSAL_COLLATERAL)); - require(address(daoFundingManager()).call.gas(25000).value(msg.value)()); - - checkNonDigixFundings(_milestonesFundings, _finalReward); - - daoStorage().addProposal(_docIpfsHash, msg.sender, _milestonesFundings, _finalReward, _isFounder); - daoStorage().setProposalCollateralStatus(_docIpfsHash, COLLATERAL_STATUS_UNLOCKED); - daoStorage().setProposalCollateralAmount(_docIpfsHash, msg.value); - - emit NewProposal(_docIpfsHash, msg.sender); - } - - /** - @notice Modify a proposal (this can be done only before setting the final version) - @param _proposalId Proposal ID (hash of IPFS doc of the first version of the proposal) - @param _docIpfsHash Hash of IPFS doc of the modified version of the proposal - @param _milestonesFundings Array of fundings of the modified version of the proposal (in wei) - @param _finalReward Final reward on successful completion of all milestones of the modified version of proposal (in wei) - */ - function modifyProposal( - bytes32 _proposalId, - bytes32 _docIpfsHash, - uint256[] _milestonesFundings, - uint256 _finalReward - ) - external - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - - require(isEditable(_proposalId)); - bytes32 _currentState; - (,,,_currentState,,,,,,) = daoStorage().readProposal(_proposalId); - require(_currentState == PROPOSAL_STATE_PREPROPOSAL || - _currentState == PROPOSAL_STATE_DRAFT); - - checkNonDigixFundings(_milestonesFundings, _finalReward); - - daoStorage().editProposal(_proposalId, _docIpfsHash, _milestonesFundings, _finalReward); - - emit ModifyProposal(_proposalId, _docIpfsHash); - } - - /** - @notice Function to change the funding structure for a proposal - @dev Proposers can only change fundings for the subsequent milestones, - during the duration of an on-going milestone (so, cannot be before proposal finalization or during any voting phase) - @param _proposalId ID of the proposal - @param _milestonesFundings Array of fundings for milestones - @param _finalReward Final reward needed for completion of proposal - @param _currentMilestone the milestone number the proposal is currently in - */ - function changeFundings( - bytes32 _proposalId, - uint256[] _milestonesFundings, - uint256 _finalReward, - uint256 _currentMilestone - ) - external - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - - checkNonDigixFundings(_milestonesFundings, _finalReward); - - uint256[] memory _currentFundings; - (_currentFundings,) = daoStorage().readProposalFunding(_proposalId); - - // If there are N milestones, the milestone index must be < N. Otherwise, putting a milestone index of N will actually return a valid timestamp that is - // right after the final voting round (voting round index N is the final voting round) - // Which could be abused ( to add more milestones even after the final voting round) - require(_currentMilestone < _currentFundings.length); - - uint256 _startOfCurrentMilestone = startOfMilestone(_proposalId, _currentMilestone); - - // must be after the start of the milestone, and the milestone has not been finished yet (next voting hasnt started) - require(now > _startOfCurrentMilestone); - require(daoStorage().readProposalVotingTime(_proposalId, _currentMilestone.add(1)) == 0); - - // can only modify the fundings after _currentMilestone - // so, all the fundings from 0 to _currentMilestone must be the same - for (uint256 i=0;i<=_currentMilestone;i++) { - require(_milestonesFundings[i] == _currentFundings[i]); - } - - daoStorage().changeFundings(_proposalId, _milestonesFundings, _finalReward); - - emit ChangeProposalFunding(_proposalId); - } - - /** - @notice Finalize a proposal - @dev After finalizing a proposal, no more proposal version can be added. Proposer will only be able to change fundings and add more docs - Right after finalizing a proposal, the draft voting round starts. The proposer would also not be able to closeProposal() anymore - (hence, cannot claim back the collateral anymore, until the final voting round passes) - @param _proposalId ID of the proposal - */ - function finalizeProposal(bytes32 _proposalId) - public - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - require(isEditable(_proposalId)); - checkNonDigixProposalLimit(_proposalId); - - // make sure we have reasonably enough time left in the quarter to conduct the Draft Voting. - // Otherwise, the proposer must wait until the next quarter to finalize the proposal - require(getTimeLeftInQuarter(now) > getUintConfig(CONFIG_DRAFT_VOTING_PHASE).add(getUintConfig(CONFIG_VOTE_CLAIMING_DEADLINE))); - address _endorser; - (,,_endorser,,,,,,,) = daoStorage().readProposal(_proposalId); - require(_endorser != EMPTY_ADDRESS); - daoStorage().finalizeProposal(_proposalId); - daoStorage().setProposalDraftVotingTime(_proposalId, now); - - emit FinalizeProposal(_proposalId); - } - - /** - @notice Function to set milestone to be completed - @dev This can only be called in the Main Phase of DigixDAO by the proposer. It sets the - voting time for the next milestone, which is immediately, for most of the times. If there is not enough time left in the current - quarter, then the next voting is postponed to the start of next quarter - @param _proposalId ID of the proposal - @param _milestoneIndex Index of the milestone. Index starts from 0 (for the first milestone) - */ - function finishMilestone(bytes32 _proposalId, uint256 _milestoneIndex) - public - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - - uint256[] memory _currentFundings; - (_currentFundings,) = daoStorage().readProposalFunding(_proposalId); - - // If there are N milestones, the milestone index must be < N. Otherwise, putting a milestone index of N will actually return a valid timestamp that is - // right after the final voting round (voting round index N is the final voting round) - // Which could be abused ( to "finish" a milestone even after the final voting round) - require(_milestoneIndex < _currentFundings.length); - - // must be after the start of this milestone, and the milestone has not been finished yet (voting hasnt started) - uint256 _startOfCurrentMilestone = startOfMilestone(_proposalId, _milestoneIndex); - require(now > _startOfCurrentMilestone); - require(daoStorage().readProposalVotingTime(_proposalId, _milestoneIndex.add(1)) == 0); - - daoStorage().setProposalVotingTime( - _proposalId, - _milestoneIndex.add(1), - getTimelineForNextVote(_milestoneIndex.add(1), now) - ); // set the voting time of next voting - - emit FinishMilestone(_proposalId, _milestoneIndex); - } - - /** - @notice Add IPFS docs to a proposal - @dev This is allowed only after a proposal is finalized. Before finalizing - a proposal, proposer can modifyProposal and basically create a different ProposalVersion. After the proposal is finalized, - they can only allProposalDoc to the final version of that proposal - @param _proposalId ID of the proposal - @param _newDoc hash of the new IPFS doc - */ - function addProposalDoc(bytes32 _proposalId, bytes32 _newDoc) - public - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - bytes32 _finalVersion; - (,,,,,,,_finalVersion,,) = daoStorage().readProposal(_proposalId); - require(_finalVersion != EMPTY_BYTES); - daoStorage().addProposalDoc(_proposalId, _newDoc); - - emit AddProposalDoc(_proposalId, _newDoc); - } - - /** - @notice Function to endorse a pre-proposal (can be called only by DAO Moderator) - @param _proposalId ID of the proposal (hash of IPFS doc of the first version of the proposal) - */ - function endorseProposal(bytes32 _proposalId) - public - isProposalState(_proposalId, PROPOSAL_STATE_PREPROPOSAL) - { - require(isMainPhase()); - require(isModerator(msg.sender)); - daoStorage().updateProposalEndorse(_proposalId, msg.sender); - } - - /** - @notice Function to update the PRL (regulatory status) status of a proposal - @dev if a proposal is paused or stopped, the proposer wont be able to withdraw the funding - @param _proposalId ID of the proposal - @param _doc hash of IPFS uploaded document, containing details of PRL Action - */ - function updatePRL( - bytes32 _proposalId, - uint256 _action, - bytes32 _doc - ) - public - if_prl() - { - require(_action == PRL_ACTION_STOP || _action == PRL_ACTION_PAUSE || _action == PRL_ACTION_UNPAUSE); - daoStorage().updateProposalPRL(_proposalId, _action, _doc, now); - - emit PRLAction(_proposalId, _action, _doc); - } - - /** - @notice Function to close proposal (also get back collateral) - @dev Can only be closed if the proposal has not been finalized yet - @param _proposalId ID of the proposal - */ - function closeProposal(bytes32 _proposalId) - public - { - senderCanDoProposerOperations(); - require(isFromProposer(_proposalId)); - bytes32 _finalVersion; - bytes32 _status; - (,,,_status,,,,_finalVersion,,) = daoStorage().readProposal(_proposalId); - require(_finalVersion == EMPTY_BYTES); - require(_status != PROPOSAL_STATE_CLOSED); - require(daoStorage().readProposalCollateralStatus(_proposalId) == COLLATERAL_STATUS_UNLOCKED); - - daoStorage().closeProposal(_proposalId); - daoStorage().setProposalCollateralStatus(_proposalId, COLLATERAL_STATUS_CLAIMED); - emit CloseProposal(_proposalId); - require(daoFundingManager().refundCollateral(msg.sender, _proposalId)); - } - - /** - @notice Function for founders to close all the dead proposals - @dev Dead proposals = all proposals who are not yet finalized, and been there for more than the threshold time - The proposers of dead proposals will not get the collateral back - @param _proposalIds Array of proposal IDs - */ - function founderCloseProposals(bytes32[] _proposalIds) - external - if_founder() - { - uint256 _length = _proposalIds.length; - uint256 _timeCreated; - bytes32 _finalVersion; - bytes32 _currentState; - for (uint256 _i = 0; _i < _length; _i++) { - (,,,_currentState,_timeCreated,,,_finalVersion,,) = daoStorage().readProposal(_proposalIds[_i]); - require(_finalVersion == EMPTY_BYTES); - require( - (_currentState == PROPOSAL_STATE_PREPROPOSAL) || - (_currentState == PROPOSAL_STATE_DRAFT) - ); - require(now > _timeCreated.add(getUintConfig(CONFIG_PROPOSAL_DEAD_DURATION))); - emit CloseProposal(_proposalIds[_i]); - daoStorage().closeProposal(_proposalIds[_i]); - } - } -} - - - - - - -/** -@title Contract to manage DAO funds -@author Digix Holdings -*/ -contract DaoFundingManager is DaoCommon { - - address public FUNDING_SOURCE; - - event ClaimFunding(bytes32 indexed _proposalId, uint256 indexed _votingRound, uint256 _funding); - - constructor(address _resolver, address _fundingSource) public { - require(init(CONTRACT_DAO_FUNDING_MANAGER, _resolver)); - FUNDING_SOURCE = _fundingSource; - } - - function dao() - internal - view - returns (Dao _contract) - { - _contract = Dao(get_contract(CONTRACT_DAO)); - } - - /** - @notice Check if a proposal is currently paused/stopped - @dev If a proposal is paused/stopped (by the PRLs): proposer cannot call for voting, a current on-going voting round can still pass, but no funding can be withdrawn. - @dev A paused proposal can still be unpaused - @dev If a proposal is stopped, this function also returns true - @return _isPausedOrStopped true if the proposal is paused(or stopped) - */ - function isProposalPaused(bytes32 _proposalId) - public - view - returns (bool _isPausedOrStopped) - { - (,,,,,,,,_isPausedOrStopped,) = daoStorage().readProposal(_proposalId); - } - - /** - @notice Function to set the source of DigixDAO funding - @dev only this source address will be able to fund the DaoFundingManager contract, along with CONTRACT_DAO - @param _fundingSource address of the funding source - */ - function setFundingSource(address _fundingSource) - public - if_root() - { - FUNDING_SOURCE = _fundingSource; - } - - /** - @notice Call function to claim the ETH funding for a certain milestone - @dev Note that the proposer can do this anytime, even in the locking phase - @param _proposalId ID of the proposal - @param _index Index of the proposal voting round that they got passed, which is also the same as the milestone index - */ - function claimFunding(bytes32 _proposalId, uint256 _index) - public - { - require(identity_storage().is_kyc_approved(msg.sender)); - require(isFromProposer(_proposalId)); - - // proposal should not be paused/stopped - require(!isProposalPaused(_proposalId)); - - require(!daoStorage().readIfMilestoneFunded(_proposalId, _index)); - - require(daoStorage().readProposalVotingResult(_proposalId, _index)); - require(daoStorage().isClaimed(_proposalId, _index)); - - uint256 _funding = daoStorage().readProposalMilestone(_proposalId, _index); - - daoStorage().setMilestoneFunded(_proposalId, _index); - - msg.sender.transfer(_funding); - - emit ClaimFunding(_proposalId, _index, _funding); - } - - /** - @notice Function to refund the collateral to _receiver - @dev Can only be called from the Dao contract - @param _receiver The receiver of the funds - @return { - "_success": "Boolean, true if refund was successful" - } - */ - function refundCollateral(address _receiver, bytes32 _proposalId) - public - returns (bool _success) - { - require(sender_is_from([CONTRACT_DAO, CONTRACT_DAO_VOTING_CLAIMS, EMPTY_BYTES])); - refundCollateralInternal(_receiver, _proposalId); - _success = true; - } - - function refundCollateralInternal(address _receiver, bytes32 _proposalId) - internal - { - uint256 _collateralAmount = daoStorage().readProposalCollateralAmount(_proposalId); - _receiver.transfer(_collateralAmount); - } - - /** - @notice Function to move funds to a new DAO - @param _destinationForDaoFunds Ethereum contract address of the new DaoFundingManager - */ - function moveFundsToNewDao(address _destinationForDaoFunds) - public - { - require(sender_is(CONTRACT_DAO)); - uint256 _remainingBalance = address(this).balance; - _destinationForDaoFunds.transfer(_remainingBalance); - } - - /** - @notice Payable fallback function to receive ETH funds from DigixDAO crowdsale contract - @dev this contract can only receive funds from FUNDING_SOURCE address or CONTRACT_DAO (when proposal is created) - */ - function () external payable { - require( - (msg.sender == FUNDING_SOURCE) || - (msg.sender == get_contract(CONTRACT_DAO)) - ); - } -} - - - - - - - -/** -@title Interactive DAO contract for creating/modifying/endorsing proposals -@author Digix Holdings -*/ -contract Dao is DaoCommon { - - event NewProposal(bytes32 indexed _proposalId, address _proposer); - event ModifyProposal(bytes32 indexed _proposalId, bytes32 _newDoc); - event ChangeProposalFunding(bytes32 indexed _proposalId); - event FinalizeProposal(bytes32 indexed _proposalId); - event FinishMilestone(bytes32 indexed _proposalId, uint256 indexed _milestoneIndex); - event AddProposalDoc(bytes32 indexed _proposalId, bytes32 _newDoc); - event PRLAction(bytes32 indexed _proposalId, uint256 _actionId, bytes32 _doc); - event CloseProposal(bytes32 indexed _proposalId); - event MigrateToNewDao(address _newDaoContract, address _newDaoFundingManager, address _newDaoRewardsManager); - - constructor(address _resolver) public { - require(init(CONTRACT_DAO, _resolver)); - } - - function daoFundingManager() - internal - view - returns (DaoFundingManager _contract) - { - _contract = DaoFundingManager(get_contract(CONTRACT_DAO_FUNDING_MANAGER)); - } - - function daoRewardsManager() - internal - view - returns (DaoRewardsManager _contract) - { - _contract = DaoRewardsManager(get_contract(CONTRACT_DAO_REWARDS_MANAGER)); - } - - function daoVotingClaims() - internal - view - returns (DaoVotingClaims _contract) - { - _contract = DaoVotingClaims(get_contract(CONTRACT_DAO_VOTING_CLAIMS)); - } - - /** - @notice Set addresses for the new Dao and DaoFundingManager contracts - @dev This is the first step of the 2-step migration - @param _newDaoContract Address of the new Dao contract - @param _newDaoFundingManager Address of the new DaoFundingManager contract - @param _newDaoRewardsManager Address of the new daoRewardsManager contract - */ - function setNewDaoContracts( - address _newDaoContract, - address _newDaoFundingManager, - address _newDaoRewardsManager - ) - public - if_root() - { - require(daoUpgradeStorage().isReplacedByNewDao() == false); - daoUpgradeStorage().setNewContractAddresses( - _newDaoContract, - _newDaoFundingManager, - _newDaoRewardsManager - ); - } - - /** - @notice Migrate this DAO to a new DAO contract - @dev This is the second step of the 2-step migration - Migration can only be done during the locking phase, after the global rewards for current quarter are set. - This is to make sure that there is no rewards calculation pending before the DAO is migrated to new contracts - The addresses of the new Dao contracts have to be provided again, and be double checked against the addresses that were set in setNewDaoContracts() - @param _newDaoContract Address of the new DAO contract - @param _newDaoFundingManager Address of the new DaoFundingManager contract, which would receive the remaining ETHs in this DaoFundingManager - @param _newDaoRewardsManager Address of the new daoRewardsManager contract, which would receive the claimableDGXs from this daoRewardsManager - */ - function migrateToNewDao( - address _newDaoContract, - address _newDaoFundingManager, - address _newDaoRewardsManager - ) - public - if_root() - ifGlobalRewardsSet(currentQuarterNumber()) - { - require(isLockingPhase()); - require(daoUpgradeStorage().isReplacedByNewDao() == false); - require( - (daoUpgradeStorage().newDaoContract() == _newDaoContract) && - (daoUpgradeStorage().newDaoFundingManager() == _newDaoFundingManager) && - (daoUpgradeStorage().newDaoRewardsManager() == _newDaoRewardsManager) - ); - daoUpgradeStorage().updateForDaoMigration(); - daoFundingManager().moveFundsToNewDao(_newDaoFundingManager); - daoRewardsManager().moveDGXsToNewDao(_newDaoRewardsManager); - emit MigrateToNewDao(_newDaoContract, _newDaoFundingManager, _newDaoRewardsManager); - } - - /** - @notice Call this function to mark the start of the DAO's first quarter. This can only be done once, by a founder - @param _start Start time of the first quarter in the DAO - */ - function setStartOfFirstQuarter(uint256 _start) public if_founder() { - require(daoUpgradeStorage().startOfFirstQuarter() == 0); - require(_start > now); - daoUpgradeStorage().setStartOfFirstQuarter(_start); - } - /** @notice Submit a new preliminary idea / Pre-proposal @dev The proposer has to send in a collateral == getUintConfig(CONFIG_PREPROPOSAL_COLLATERAL) diff --git a/contracts/common/DaoConstants.sol b/contracts/common/DaoConstants.sol index 2c9b922..ab90c5c 100644 --- a/contracts/common/DaoConstants.sol +++ b/contracts/common/DaoConstants.sol @@ -7,6 +7,7 @@ contract DaoConstants { bytes32 EMPTY_BYTES = bytes32(0x0); address EMPTY_ADDRESS = address(0x0); + bytes32 PROPOSAL_STATE_PREPROPOSAL = "proposal_state_preproposal"; bytes32 PROPOSAL_STATE_DRAFT = "proposal_state_draft"; bytes32 PROPOSAL_STATE_MODERATED = "proposal_state_moderated"; diff --git a/contracts/interactive/DaoIdentity.sol b/contracts/interactive/DaoIdentity.sol index 5db33fd..8feaf6b 100644 --- a/contracts/interactive/DaoIdentity.sol +++ b/contracts/interactive/DaoIdentity.sol @@ -64,6 +64,28 @@ contract DaoIdentity is IdentityCommon { function updateKyc(address _user, bytes32 _doc, uint256 _id_expiration) public if_kyc_admin() + { + privateUpdateKyc(_user, _doc, _id_expiration); + } + + /** + @notice Function to update the KYC data of multiple users (expiry data of valid KYC) (can only be called by the KYC ADMIN role) + @param _users Ethereum addresses of the users + @param _docs hashes of the IPFS docs containing kyc information about these users + @param _id_expirations expiry dates of the KYC docs for these users + */ + function bulkUpdateKyc(address[] _users, bytes32[] _docs, uint256[] _id_expirations) + external + if_kyc_admin() + { + uint256 _n = _users.length; + for (uint256 _i = 0; _i < _n; _i++) { + privateUpdateKyc(_users[_i], _docs[_i], _id_expirations[_i]); + } + } + + function privateUpdateKyc(address _user, bytes32 _doc, uint256 _id_expiration) + private { identity_storage().update_kyc(_user, _doc, _id_expiration); } diff --git a/contracts/interactive/DaoInformation.sol b/contracts/interactive/DaoInformation.sol index 7a6efa3..27412c5 100644 --- a/contracts/interactive/DaoInformation.sol +++ b/contracts/interactive/DaoInformation.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.4.24; +pragma solidity ^0.4.25; import "./../common/DaoCommon.sol"; @@ -21,53 +21,75 @@ contract DaoInformation is DaoCommon { @return { "_isParticipant": "Boolean, true if the user is a DigixDAO participant in the current quarter", "_isModerator": "Boolean, true if the user is a DigixDAO moderator in the current quarter", + "_isDigix": "Boolean, true if the user is a Digix founder", + "_redeemedBadge": "Boolean, true if the user has redeemed a DGD badge in DigixDAO", "_lastParticipatedQuarter": "The last quarter in which this user has/had participated in DigixDAO", + "_lastParticipatedQuarter": "The last quarter in which this user's reputation was updated in DigixDAO, equal to (currentQuarter - 1) if its updated at the moment", "_lockedDgdStake": "The locked stage of this user in the current quarter", "_lockedDgd": "The actual locked DGDs by this user in our contracts", "_reputationPoints": "The cumulative reputation points accumulated by this user in DigixDAO", - "_quarterPoints": "Quarter points of this user in the current quarter" + "_quarterPoints": "Quarter points of this user in the current quarter", + "_claimableDgx": "DGX (in grams) that can be claimed by this user from DigixDAO", + "_quarterModeratorPoints": "Quarter Moderator points of this user in the current quarter" } */ function readUserInfo(address _user) public - constant + view returns ( bool _isParticipant, bool _isModerator, + bool _isDigix, + bool _redeemedBadge, uint256 _lastParticipatedQuarter, + uint256 _lastQuarterThatReputationWasUpdated, uint256 _lockedDgdStake, uint256 _lockedDgd, uint256 _reputationPoints, - uint256 _quarterPoints + uint256 _quarterPoints, + uint256 _claimableDgx, + uint256 _quarterModeratorPoints ) { _lastParticipatedQuarter = daoRewardsStorage().lastParticipatedQuarter(_user); + _lastQuarterThatReputationWasUpdated = daoRewardsStorage().lastQuarterThatReputationWasUpdated(_user); + _redeemedBadge = daoStakeStorage().redeemedBadge(_user); (_lockedDgd, _lockedDgdStake) = daoStakeStorage().readUserDGDStake(_user); _reputationPoints = daoPointsStorage().getReputation(_user); _quarterPoints = daoPointsStorage().getQuarterPoint(_user, currentQuarterNumber()); + _quarterModeratorPoints = daoPointsStorage().getQuarterModeratorPoint(_user, currentQuarterNumber()); _isParticipant = isParticipant(_user); _isModerator = isModerator(_user); + _isDigix = identity_storage().read_user_role_id(_user) == ROLES_FOUNDERS; + _claimableDgx = daoRewardsStorage().claimableDGXs(_user); } /** @notice Function to read DigixDAO specific information @return { "_currentQuarterNumber": "The current quarter number of DigixDAO (starts from 1)", + "_dgxDistributionDay": "The unix timestamp at which the quarter was initialized", "_startOfQuarter": "The unix timestamp when the current quarter started", "_startOfMainPhase": "The unix timestamp when the main phase of current quarter has/will start", "_startOfNextQuarter": "The unix timestamp when the next quarter begins", - "_isMainPhase": "Boolean, true if this is the main phase, false if this is the locking phase" + "_isMainPhase": "Boolean, true if this is the main phase, false if this is the locking phase", + "_isGlobalRewardsSet": "Boolean, true if the global rewards have been set for the quarter", + "_nModerators": "Number of moderators in DigixDAO", + "_nParticipants": "Number of participants in DigixDAO" } */ function readDaoInfo() public - constant + view returns ( uint256 _currentQuarterNumber, uint256 _startOfQuarter, uint256 _startOfMainPhase, uint256 _startOfNextQuarter, - bool _isMainPhase + bool _isMainPhase, + bool _isGlobalRewardsSet, + uint256 _nModerators, + uint256 _nParticipants ) { _currentQuarterNumber = currentQuarterNumber(); @@ -75,5 +97,8 @@ contract DaoInformation is DaoCommon { _startOfMainPhase = _startOfQuarter.add(getUintConfig(CONFIG_LOCKING_PHASE_DURATION)); _startOfNextQuarter = _startOfQuarter.add(getUintConfig(CONFIG_QUARTER_DURATION)); _isMainPhase = isMainPhase(); + _isGlobalRewardsSet = daoRewardsStorage().readDgxDistributionDay(_currentQuarterNumber) > 0 ? true : false; + _nModerators = daoStakeStorage().readTotalModerators(); + _nParticipants = daoStakeStorage().readTotalParticipant(); } } diff --git a/contracts/mock/multisig/MultiSigWallet.sol b/contracts/mock/multisig/MultiSigWallet.sol index aa86118..1bac7c1 100644 --- a/contracts/mock/multisig/MultiSigWallet.sol +++ b/contracts/mock/multisig/MultiSigWallet.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.4.25; +pragma solidity ^0.4.15; /// @title Multisignature wallet - Allows multiple parties to agree on transactions before execution. @@ -267,7 +267,7 @@ contract MultiSigWallet { /// @return Confirmation status. function isConfirmed(uint transactionId) public - view + constant returns (bool) { uint count = 0; @@ -311,7 +311,7 @@ contract MultiSigWallet { /// @return Number of confirmations. function getConfirmationCount(uint transactionId) public - view + constant returns (uint count) { for (uint i=0; i bytes32) public bytesConfigs; + uint256 ONE_BILLION = 1000000000; + uint256 ONE_MILLION = 1000000; + constructor(address _resolver) public { @@ -24,84 +27,93 @@ contract DaoConfigsStorage is ResolverClient, DaoConstants { uintConfigs[CONFIG_LOCKING_PHASE_DURATION] = 10 days; uintConfigs[CONFIG_QUARTER_DURATION] = QUARTER_DURATION; - uintConfigs[CONFIG_VOTING_COMMIT_PHASE] = 3 weeks; - uintConfigs[CONFIG_VOTING_PHASE_TOTAL] = 4 weeks; + uintConfigs[CONFIG_VOTING_COMMIT_PHASE] = 14 days; + uintConfigs[CONFIG_VOTING_PHASE_TOTAL] = 21 days; uintConfigs[CONFIG_INTERIM_COMMIT_PHASE] = 7 days; - uintConfigs[CONFIG_INTERIM_PHASE_TOTAL] = 10 days; + uintConfigs[CONFIG_INTERIM_PHASE_TOTAL] = 14 days; + + + + uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR] = 5; // 5% + uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR] = 100; // 5% + uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR] = 35; // 35% + uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR] = 100; // 35% + + + uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR] = 5; // 5% + uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR] = 100; // 5% + uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR] = 25; // 25% + uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR] = 100; // 25% - uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_NUMERATOR] = 20; - uintConfigs[CONFIG_DRAFT_QUORUM_FIXED_PORTION_DENOMINATOR] = 100; - uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_NUMERATOR] = 60; - uintConfigs[CONFIG_DRAFT_QUORUM_SCALING_FACTOR_DENOMINATOR] = 100; + uintConfigs[CONFIG_DRAFT_QUOTA_NUMERATOR] = 1; // >50% + uintConfigs[CONFIG_DRAFT_QUOTA_DENOMINATOR] = 2; // >50% + uintConfigs[CONFIG_VOTING_QUOTA_NUMERATOR] = 1; // >50% + uintConfigs[CONFIG_VOTING_QUOTA_DENOMINATOR] = 2; // >50% - uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_NUMERATOR] = 20; - uintConfigs[CONFIG_VOTING_QUORUM_FIXED_PORTION_DENOMINATOR] = 100; - uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_NUMERATOR] = 60; - uintConfigs[CONFIG_VOTING_QUORUM_SCALING_FACTOR_DENOMINATOR] = 100; - uintConfigs[CONFIG_DRAFT_QUOTA_NUMERATOR] = 30; - uintConfigs[CONFIG_DRAFT_QUOTA_DENOMINATOR] = 100; - uintConfigs[CONFIG_VOTING_QUOTA_NUMERATOR] = 30; - uintConfigs[CONFIG_VOTING_QUOTA_DENOMINATOR] = 100; + uintConfigs[CONFIG_QUARTER_POINT_DRAFT_VOTE] = ONE_BILLION; + uintConfigs[CONFIG_QUARTER_POINT_VOTE] = ONE_BILLION; + uintConfigs[CONFIG_QUARTER_POINT_INTERIM_VOTE] = ONE_BILLION; - uintConfigs[CONFIG_QUARTER_POINT_DRAFT_VOTE] = 1; - uintConfigs[CONFIG_QUARTER_POINT_VOTE] = 1; - uintConfigs[CONFIG_QUARTER_POINT_INTERIM_VOTE] = 1; + uintConfigs[CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH] = 20000 * ONE_BILLION; - uintConfigs[CONFIG_QUARTER_POINT_MILESTONE_COMPLETION_PER_10000ETH] = 3; + uintConfigs[CONFIG_BONUS_REPUTATION_NUMERATOR] = 15; // 15% bonus for consistent votes + uintConfigs[CONFIG_BONUS_REPUTATION_DENOMINATOR] = 100; // 15% bonus for consistent votes - uintConfigs[CONFIG_BONUS_REPUTATION_NUMERATOR] = 200; - uintConfigs[CONFIG_BONUS_REPUTATION_DENOMINATOR] = 100; + uintConfigs[CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE] = 28 days; + uintConfigs[CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL] = 35 days; - uintConfigs[CONFIG_SPECIAL_PROPOSAL_COMMIT_PHASE] = 3 weeks; - uintConfigs[CONFIG_SPECIAL_PROPOSAL_PHASE_TOTAL] = 4 weeks; - uintConfigs[CONFIG_SPECIAL_QUOTA_NUMERATOR] = 51; - uintConfigs[CONFIG_SPECIAL_QUOTA_DENOMINATOR] = 100; - uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR] = 70; - uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR] = 100; - uintConfigs[CONFIG_MAXIMUM_REPUTATION_DEDUCTION] = 20; - uintConfigs[CONFIG_PUNISHMENT_FOR_NOT_LOCKING] = 5; + uintConfigs[CONFIG_SPECIAL_QUOTA_NUMERATOR] = 1; // >50% + uintConfigs[CONFIG_SPECIAL_QUOTA_DENOMINATOR] = 2; // >50% + + uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_NUMERATOR] = 40; // 40% + uintConfigs[CONFIG_SPECIAL_PROPOSAL_QUORUM_DENOMINATOR] = 100; // 40% + + uintConfigs[CONFIG_MAXIMUM_REPUTATION_DEDUCTION] = 8334 * ONE_MILLION; + + uintConfigs[CONFIG_PUNISHMENT_FOR_NOT_LOCKING] = 1666 * ONE_MILLION; uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_NUM] = 1; // 1 extra QP gains 1/1 RP uintConfigs[CONFIG_REPUTATION_PER_EXTRA_QP_DEN] = 1; - uintConfigs[CONFIG_MINIMAL_QUARTER_POINT] = 3; - uintConfigs[CONFIG_QUARTER_POINT_SCALING_FACTOR] = 10; - uintConfigs[CONFIG_REPUTATION_POINT_SCALING_FACTOR] = 10; - uintConfigs[CONFIG_MODERATOR_MINIMAL_QUARTER_POINT] = 3; - uintConfigs[CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR] = 10; - uintConfigs[CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR] = 10; + uintConfigs[CONFIG_MINIMAL_QUARTER_POINT] = 2 * ONE_BILLION; + uintConfigs[CONFIG_QUARTER_POINT_SCALING_FACTOR] = 400 * ONE_BILLION; + uintConfigs[CONFIG_REPUTATION_POINT_SCALING_FACTOR] = 2000 * ONE_BILLION; - uintConfigs[CONFIG_PORTION_TO_MODERATORS_NUM] = 5; //5% of DGX to Badge holder voting activity - uintConfigs[CONFIG_PORTION_TO_MODERATORS_DEN] = 100; + uintConfigs[CONFIG_MODERATOR_MINIMAL_QUARTER_POINT] = 4 * ONE_BILLION; + uintConfigs[CONFIG_MODERATOR_QUARTER_POINT_SCALING_FACTOR] = 400 * ONE_BILLION; + uintConfigs[CONFIG_MODERATOR_REPUTATION_POINT_SCALING_FACTOR] = 2000 * ONE_BILLION; - uintConfigs[CONFIG_DRAFT_VOTING_PHASE] = 2 weeks; - uintConfigs[CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE] = 1000; + uintConfigs[CONFIG_PORTION_TO_MODERATORS_NUM] = 42; //4.2% of DGX to moderator voting activity + uintConfigs[CONFIG_PORTION_TO_MODERATORS_DEN] = 1000; - uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR] = 30; - uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR] = 100; + uintConfigs[CONFIG_DRAFT_VOTING_PHASE] = 10 days; - uintConfigs[CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION] = 20; + uintConfigs[CONFIG_REPUTATION_POINT_BOOST_FOR_BADGE] = 412500 * ONE_MILLION; + + uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_NUMERATOR] = 7; // 7% + uintConfigs[CONFIG_FINAL_REWARD_SCALING_FACTOR_DENOMINATOR] = 100; // 7% + + uintConfigs[CONFIG_MAXIMUM_MODERATOR_REPUTATION_DEDUCTION] = 12500 * ONE_MILLION; uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_NUM] = 1; uintConfigs[CONFIG_REPUTATION_PER_EXTRA_MODERATOR_QP_DEN] = 1; - uintConfigs[CONFIG_VOTE_CLAIMING_DEADLINE] = 5 days; + uintConfigs[CONFIG_VOTE_CLAIMING_DEADLINE] = 10 days; - uintConfigs[CONFIG_MINIMUM_LOCKED_DGD] = 10 ** 9; - uintConfigs[CONFIG_MINIMUM_DGD_FOR_MODERATOR] = 100 * (10 ** 9); - uintConfigs[CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR] = 100; + uintConfigs[CONFIG_MINIMUM_LOCKED_DGD] = 10 * ONE_BILLION; + uintConfigs[CONFIG_MINIMUM_DGD_FOR_MODERATOR] = 842 * ONE_BILLION; + uintConfigs[CONFIG_MINIMUM_REPUTATION_FOR_MODERATOR] = 400 * ONE_BILLION; uintConfigs[CONFIG_PREPROPOSAL_COLLATERAL] = 2 ether; - uintConfigs[CONFIG_MAX_FUNDING_FOR_NON_DIGIX] = 20 ether; - uintConfigs[CONFIG_MAX_MILESTONES_FOR_NON_DIGIX] = 2; - uintConfigs[CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER] = 10; - - uintConfigs[CONFIG_PROPOSAL_DEAD_DURATION] = 180 days; + uintConfigs[CONFIG_MAX_FUNDING_FOR_NON_DIGIX] = 100 ether; + uintConfigs[CONFIG_MAX_MILESTONES_FOR_NON_DIGIX] = 5; + uintConfigs[CONFIG_NON_DIGIX_PROPOSAL_CAP_PER_QUARTER] = 80; - uintConfigs[CONFIG_CARBON_VOTE_REPUTATION_BONUS] = 35; + uintConfigs[CONFIG_PROPOSAL_DEAD_DURATION] = 90 days; + uintConfigs[CONFIG_CARBON_VOTE_REPUTATION_BONUS] = 10 * ONE_BILLION; } function updateUintConfigs(uint256[] _uintConfigs) diff --git a/migrations/10_deploy_interactive_d.js b/migrations/10_deploy_interactive_d.js new file mode 100644 index 0000000..78b1d9c --- /dev/null +++ b/migrations/10_deploy_interactive_d.js @@ -0,0 +1,23 @@ +const ContractResolver = artifacts.require('ContractResolver.sol'); +const DaoStructs = artifacts.require('DaoStructs.sol'); + +const DaoRewardsManager = artifacts.require('DaoRewardsManager.sol'); +const DaoRewardsManagerExtras = artifacts.require('DaoRewardsManagerExtras.sol'); +const DaoInformation = artifacts.require('DaoInformation.sol'); + +module.exports = async (deployer, network) => { + if (network !== 'mainnet' && network !== 'kovan') { return null; } + deployer.link(DaoStructs, DaoRewardsManager) + .then(() => { + return deployer.deploy(DaoRewardsManager, ContractResolver.address, process.env.DGX); + }) + .then(() => { + return deployer.deploy(DaoRewardsManagerExtras, ContractResolver.address); + }) + .then(() => { + return deployer.deploy(DaoInformation, ContractResolver.address); + }) + .then(() => { + console.log('Deployed Interactive Part D'); + }); +}; diff --git a/migrations/4_deploy_whitelisting_contract.js b/migrations/11_deploy_interactive_e.js similarity index 82% rename from migrations/4_deploy_whitelisting_contract.js rename to migrations/11_deploy_interactive_e.js index 59c7eb4..f96a82f 100644 --- a/migrations/4_deploy_whitelisting_contract.js +++ b/migrations/11_deploy_interactive_e.js @@ -5,7 +5,6 @@ const DaoCalculatorService = artifacts.require('DaoCalculatorService.sol'); const DaoStakeLocking = artifacts.require('DaoStakeLocking.sol'); const DaoIdentity = artifacts.require('DaoIdentity.sol'); -const DaoInformation = artifacts.require('DaoInformation.sol'); const DaoFundingManager = artifacts.require('DaoFundingManager.sol'); const Dao = artifacts.require('Dao.sol'); const DaoSpecialProposal = artifacts.require('DaoSpecialProposal.sol'); @@ -17,24 +16,23 @@ const DaoRewardsManagerExtras = artifacts.require('DaoRewardsManagerExtras.sol') const DaoWhitelisting = artifacts.require('DaoWhitelisting.sol'); -module.exports = async function (deployer, network) { - if ((network !== 'development' && network !== 'kovan') || process.env.SKIP) { return null; } +module.exports = async (deployer, network) => { + if (network !== 'mainnet' && network !== 'kovan') { return null; } deployer.deploy(DaoWhitelisting, ContractResolver.address, [ + DaoCalculatorService.address, + DaoListingService.address, DaoStakeLocking.address, DaoIdentity.address, - DaoInformation.address, DaoFundingManager.address, - DaoRewardsManager.address, - DaoRewardsManagerExtras.address, Dao.address, DaoSpecialProposal.address, DaoVoting.address, DaoVotingClaims.address, DaoSpecialVotingClaims.address, - DaoCalculatorService.address, - DaoListingService.address, + DaoRewardsManager.address, + DaoRewardsManagerExtras.address, ]) .then(() => { - console.log('Deployed DaoWhitelisting'); + console.log('Deployed Interactive Part E'); }); }; diff --git a/migrations/1_initial_migration.js b/migrations/1_initial_migration.js index 4d5f3f9..40502c0 100644 --- a/migrations/1_initial_migration.js +++ b/migrations/1_initial_migration.js @@ -1,5 +1,21 @@ -var Migrations = artifacts.require("./Migrations.sol"); +const assert = require('assert'); + +const Migrations = artifacts.require('Migrations.sol'); + +const isInvalid = (param) => { + return (param === '' || param === undefined); +}; + +module.exports = function (deployer, network) { + if (network !== 'development') { + assert.ok(!isInvalid(process.env.DGX_DEMURRAGE_REPORTER), 'Please provide the address for DGX_DEMURRAGE_REPORTER'); + assert.ok(!isInvalid(process.env.DGD), 'Please provide the address for DGD'); + assert.ok(!isInvalid(process.env.DGD_BADGE), 'Please provide the address for DGD_BADGE'); + assert.ok(!isInvalid(process.env.CV_1), 'Please provide the address for CV_1'); + assert.ok(!isInvalid(process.env.CV_2), 'Please provide the address for CV_2'); + assert.ok(!isInvalid(process.env.FUNDING_SOURCE), 'Please provide the address for FUNDING_SOURCE'); + assert.ok(!isInvalid(process.env.DGX), 'Please provide the address for DGX'); + } -module.exports = function(deployer) { deployer.deploy(Migrations); }; diff --git a/migrations/2_deploy_libraries.js b/migrations/2_deploy_libraries.js new file mode 100644 index 0000000..74f4db2 --- /dev/null +++ b/migrations/2_deploy_libraries.js @@ -0,0 +1,16 @@ +const DoublyLinkedList = artifacts.require('DoublyLinkedList.sol'); +const DaoStructs = artifacts.require('DaoStructs.sol'); + +module.exports = async (deployer, network) => { + if (network !== 'mainnet' && network !== 'kovan') { return null; } + deployer.deploy(DoublyLinkedList) + .then(() => { + return deployer.link(DoublyLinkedList, DaoStructs); + }) + .then(() => { + return deployer.deploy(DaoStructs); + }) + .then(() => { + console.log('Deployed libraries'); + }); +}; diff --git a/migrations/2_deploy_tokens.js b/migrations/2_deploy_tokens.js deleted file mode 100644 index 115dc11..0000000 --- a/migrations/2_deploy_tokens.js +++ /dev/null @@ -1,35 +0,0 @@ -const DGDToken = artifacts.require('./MockDgd.sol'); -const DGDBadgeToken = artifacts.require('./MockBadge.sol'); -const MockDgxStorage = artifacts.require('./MockDgxStorage.sol'); -const MockDgx = artifacts.require('./MockDgx.sol'); -const Types = artifacts.require('./Types.sol'); -const MockDgxDemurrageReporter = artifacts.require('./MockDgxDemurrageReporter.sol'); -const MockNumberCarbonVoting1 = artifacts.require('./NumberCarbonVoting1.sol'); -const MockNumberCarbonVoting2 = artifacts.require('./NumberCarbonVoting2.sol'); - -module.exports = async function (deployer, network, accounts) { - if ((network !== 'development' && network !== 'kovan') || process.env.SKIP) { return null; } - deployer.deploy(DGDToken) - .then(() => { - return deployer.deploy(DGDBadgeToken); - }) - .then(() => { - return deployer.deploy(MockDgxStorage); - }) - .then(() => { - return deployer.deploy(MockDgx, MockDgxStorage.address, accounts[15]); - }) - .then(() => { - return deployer.deploy(Types); - }) - .then(() => { - return deployer.link(Types, MockDgxDemurrageReporter); - }) - .then(() => { - return deployer.deploy(MockDgxDemurrageReporter, MockDgx.address); - }) - .then(() => { - deployer.deploy(MockNumberCarbonVoting1, 'carbonVoting1'); - return deployer.deploy(MockNumberCarbonVoting2, 'carbonVoting2'); - }); -}; diff --git a/migrations/3_deploy_contracts.js b/migrations/3_deploy_contracts.js deleted file mode 100644 index 1881090..0000000 --- a/migrations/3_deploy_contracts.js +++ /dev/null @@ -1,99 +0,0 @@ -const DGDToken = artifacts.require('./MockDgd.sol'); -const DGDBadgeToken = artifacts.require('./MockBadge.sol'); -const MockDgx = artifacts.require('./MockDgx.sol'); -const MockDgxDemurrageReporter = artifacts.require('./MockDgxDemurrageReporter.sol'); -const MockNumberCarbonVoting1 = artifacts.require('./NumberCarbonVoting1.sol'); -const MockNumberCarbonVoting2 = artifacts.require('./NumberCarbonVoting2.sol'); - -const ContractResolver = artifacts.require('ContractResolver.sol'); -const DoublyLinkedList = artifacts.require('DoublyLinkedList.sol'); -const DaoStructs = artifacts.require('DaoStructs.sol'); - -const DaoIdentityStorage = artifacts.require('DaoIdentityStorage.sol'); -const DaoConfigsStorage = artifacts.require('MockDaoConfigsStorage.sol'); -const DaoStakeStorage = artifacts.require('DaoStakeStorage.sol'); -const DaoPointsStorage = artifacts.require('DaoPointsStorage.sol'); -const DaoStorage = artifacts.require('DaoStorage.sol'); -const DaoProposalCounterStorage = artifacts.require('DaoProposalCounterStorage.sol'); -const DaoUpgradeStorage = artifacts.require('DaoUpgradeStorage.sol'); -const DaoSpecialStorage = artifacts.require('DaoSpecialStorage.sol'); -const DaoRewardsStorage = artifacts.require('DaoRewardsStorage.sol'); -const DaoWhitelistingStorage = artifacts.require('DaoWhitelistingStorage.sol'); -const IntermediateResultsStorage = artifacts.require('IntermediateResultsStorage.sol'); - -const DaoListingService = artifacts.require('DaoListingService.sol'); -const DaoCalculatorService = artifacts.require('DaoCalculatorService.sol'); - -const DaoStakeLocking = artifacts.require('DaoStakeLocking.sol'); -const DaoIdentity = artifacts.require('DaoIdentity.sol'); -const DaoInformation = artifacts.require('DaoInformation.sol'); -const DaoFundingManager = artifacts.require('DaoFundingManager.sol'); -const Dao = artifacts.require('Dao.sol'); -const DaoSpecialProposal = artifacts.require('DaoSpecialProposal.sol'); -const DaoVoting = artifacts.require('DaoVoting.sol'); -const DaoVotingClaims = artifacts.require('DaoVotingClaims.sol'); -const DaoSpecialVotingClaims = artifacts.require('DaoSpecialVotingClaims.sol'); -const DaoRewardsManager = artifacts.require('DaoRewardsManager.sol'); -const DaoRewardsManagerExtras = artifacts.require('DaoRewardsManagerExtras.sol'); - -module.exports = async function (deployer, network, accounts) { - if ((network !== 'development' && network !== 'kovan') || process.env.SKIP) { return null; } - deployer.deploy(ContractResolver) - .then(() => { - return deployer.deploy(DoublyLinkedList); - }) - .then(() => { - return deployer.link(DoublyLinkedList, DaoStructs); - }) - .then(() => { - return deployer.deploy(DaoStructs); - }) - .then(() => { - deployer.link(DoublyLinkedList, DaoIdentityStorage); - deployer.link(DoublyLinkedList, DaoStakeStorage); - deployer.link(DoublyLinkedList, DaoStorage); - deployer.link(DaoStructs, DaoStorage); - deployer.link(DaoStructs, DaoSpecialStorage); - return deployer.link(DoublyLinkedList, DaoSpecialStorage); - }) - .then(() => { - deployer.deploy(DaoIdentityStorage, ContractResolver.address); - deployer.deploy(DaoConfigsStorage, ContractResolver.address); - deployer.deploy(DaoStakeStorage, ContractResolver.address); - deployer.deploy(DaoPointsStorage, ContractResolver.address); - deployer.deploy(DaoStorage, ContractResolver.address); - deployer.deploy(DaoProposalCounterStorage, ContractResolver.address); - deployer.deploy(DaoUpgradeStorage, ContractResolver.address); - deployer.deploy(DaoSpecialStorage, ContractResolver.address); - deployer.deploy(DaoWhitelistingStorage, ContractResolver.address); - deployer.deploy(IntermediateResultsStorage, ContractResolver.address); - return deployer.deploy(DaoRewardsStorage, ContractResolver.address); - }) - .then(() => { - deployer.deploy(DaoListingService, ContractResolver.address); - return deployer.deploy(DaoCalculatorService, ContractResolver.address, MockDgxDemurrageReporter.address); - }) - .then(() => { - deployer.deploy( - DaoStakeLocking, - ContractResolver.address, - DGDToken.address, - DGDBadgeToken.address, - MockNumberCarbonVoting1.address, - MockNumberCarbonVoting2.address, - ); - deployer.deploy(DaoIdentity, ContractResolver.address); - deployer.deploy(DaoInformation, ContractResolver.address); - deployer.deploy(DaoFundingManager, ContractResolver.address, accounts[0]); - deployer.deploy(DaoVoting, ContractResolver.address); - deployer.deploy(Dao, ContractResolver.address); - deployer.deploy(DaoSpecialProposal, ContractResolver.address); - deployer.deploy(DaoVotingClaims, ContractResolver.address); - deployer.deploy(DaoRewardsManager, ContractResolver.address, MockDgx.address); - deployer.deploy(DaoRewardsManagerExtras, ContractResolver.address); - return deployer.deploy(DaoSpecialVotingClaims, ContractResolver.address); - }) - .then(() => { - console.log('Deployment Completed'); - }); -}; diff --git a/migrations/3_deploy_storage_a.js b/migrations/3_deploy_storage_a.js new file mode 100644 index 0000000..981caea --- /dev/null +++ b/migrations/3_deploy_storage_a.js @@ -0,0 +1,30 @@ +const DoublyLinkedList = artifacts.require('DoublyLinkedList.sol'); + +const ContractResolver = artifacts.require('ContractResolver.sol'); +const DaoIdentityStorage = artifacts.require('DaoIdentityStorage.sol'); +const DaoUpgradeStorage = artifacts.require('DaoUpgradeStorage.sol'); +const DaoConfigsStorage = artifacts.require('DaoConfigsStorage.sol'); +const DaoPointsStorage = artifacts.require('DaoPointsStorage.sol'); + +module.exports = async (deployer, network) => { + if (network !== 'mainnet' && network !== 'kovan') { return null; } + deployer.deploy(ContractResolver) + .then(() => { + return deployer.link(DoublyLinkedList, DaoIdentityStorage); + }) + .then(() => { + return deployer.deploy(DaoUpgradeStorage, ContractResolver.address); + }) + .then(() => { + return deployer.deploy(DaoIdentityStorage, ContractResolver.address); + }) + .then(() => { + return deployer.deploy(DaoConfigsStorage, ContractResolver.address); + }) + .then(() => { + return deployer.deploy(DaoPointsStorage, ContractResolver.address); + }) + .then(() => { + console.log('Deployed Storage Part A'); + }); +}; diff --git a/migrations/4_deploy_storage_b.js b/migrations/4_deploy_storage_b.js new file mode 100644 index 0000000..201d156 --- /dev/null +++ b/migrations/4_deploy_storage_b.js @@ -0,0 +1,30 @@ +const ContractResolver = artifacts.require('ContractResolver.sol'); +const DoublyLinkedList = artifacts.require('DoublyLinkedList.sol'); +const DaoStructs = artifacts.require('DaoStructs.sol'); + +const DaoStakeStorage = artifacts.require('DaoStakeStorage.sol'); +const DaoStorage = artifacts.require('DaoStorage.sol'); +const DaoSpecialStorage = artifacts.require('DaoSpecialStorage.sol'); + +module.exports = async (deployer, network) => { + if (network !== 'mainnet' && network !== 'kovan') { return null; } + deployer.link(DaoStructs, DaoStorage) + .then(() => { + deployer.link(DaoStructs, DaoSpecialStorage); + deployer.link(DoublyLinkedList, DaoStorage); + deployer.link(DoublyLinkedList, DaoStakeStorage); + return deployer.link(DoublyLinkedList, DaoSpecialStorage); + }) + .then(() => { + return deployer.deploy(DaoSpecialStorage, ContractResolver.address); + }) + .then(() => { + return deployer.deploy(DaoStorage, ContractResolver.address); + }) + .then(() => { + return deployer.deploy(DaoStakeStorage, ContractResolver.address); + }) + .then(() => { + console.log('Deployed Storage Part B'); + }); +}; diff --git a/migrations/5_deploy_storage_c.js b/migrations/5_deploy_storage_c.js new file mode 100644 index 0000000..37c6604 --- /dev/null +++ b/migrations/5_deploy_storage_c.js @@ -0,0 +1,26 @@ +const ContractResolver = artifacts.require('ContractResolver.sol'); +const DaoStructs = artifacts.require('DaoStructs.sol'); + +const DaoRewardsStorage = artifacts.require('DaoRewardsStorage.sol'); +const DaoWhitelistingStorage = artifacts.require('DaoWhitelistingStorage.sol'); +const IntermediateResultsStorage = artifacts.require('IntermediateResultsStorage.sol'); + +module.exports = async (deployer, network) => { + if (network !== 'mainnet' && network !== 'kovan') { return null; } + deployer.link(DaoStructs, IntermediateResultsStorage) + .then(() => { + return deployer.link(DaoStructs, DaoRewardsStorage); + }) + .then(() => { + return deployer.deploy(DaoWhitelistingStorage, ContractResolver.address); + }) + .then(() => { + return deployer.deploy(DaoRewardsStorage, ContractResolver.address); + }) + .then(() => { + return deployer.deploy(IntermediateResultsStorage, ContractResolver.address); + }) + .then(() => { + console.log('Deployed Storage Part C'); + }); +}; diff --git a/migrations/6_deploy_services.js b/migrations/6_deploy_services.js new file mode 100644 index 0000000..f585e4b --- /dev/null +++ b/migrations/6_deploy_services.js @@ -0,0 +1,15 @@ +const ContractResolver = artifacts.require('ContractResolver.sol'); + +const DaoListingService = artifacts.require('DaoListingService.sol'); +const DaoCalculatorService = artifacts.require('DaoCalculatorService.sol'); + +module.exports = async (deployer, network) => { + if (network !== 'mainnet' && network !== 'kovan') { return null; } + deployer.deploy(DaoListingService, ContractResolver.address) + .then(() => { + return deployer.deploy(DaoCalculatorService, ContractResolver.address, process.env.DGX_DEMURRAGE_REPORTER); + }) + .then(() => { + console.log('Deployed Services'); + }); +}; diff --git a/migrations/7_deploy_interactive_a.js b/migrations/7_deploy_interactive_a.js new file mode 100644 index 0000000..7934197 --- /dev/null +++ b/migrations/7_deploy_interactive_a.js @@ -0,0 +1,26 @@ +const ContractResolver = artifacts.require('ContractResolver.sol'); + +const DaoStakeLocking = artifacts.require('DaoStakeLocking.sol'); +const DaoIdentity = artifacts.require('DaoIdentity.sol'); +const DaoFundingManager = artifacts.require('DaoFundingManager.sol'); + +module.exports = async (deployer, network) => { + if (network !== 'mainnet' && network !== 'kovan') { return null; } + deployer.deploy( + DaoStakeLocking, + ContractResolver.address, + process.env.DGD, + process.env.DGD_BADGE, + process.env.CV_1, + process.env.CV_2, + ) + .then(() => { + return deployer.deploy(DaoFundingManager, ContractResolver.address, process.env.FUNDING_SOURCE); + }) + .then(() => { + return deployer.deploy(DaoIdentity, ContractResolver.address); + }) + .then(() => { + console.log('Deployed Interactive Part A'); + }); +}; diff --git a/migrations/8_deploy_interactive_b.js b/migrations/8_deploy_interactive_b.js new file mode 100644 index 0000000..4aa2ba8 --- /dev/null +++ b/migrations/8_deploy_interactive_b.js @@ -0,0 +1,15 @@ +const ContractResolver = artifacts.require('ContractResolver.sol'); + +const Dao = artifacts.require('Dao.sol'); +const DaoSpecialProposal = artifacts.require('DaoSpecialProposal.sol'); + +module.exports = async (deployer, network) => { + if (network !== 'mainnet' && network !== 'kovan') { return null; } + deployer.deploy(Dao, ContractResolver.address) + .then(() => { + return deployer.deploy(DaoSpecialProposal, ContractResolver.address); + }) + .then(() => { + console.log('Deployed Interactive Part B'); + }); +}; diff --git a/migrations/9_deploy_interactive_c.js b/migrations/9_deploy_interactive_c.js new file mode 100644 index 0000000..4de254c --- /dev/null +++ b/migrations/9_deploy_interactive_c.js @@ -0,0 +1,19 @@ +const ContractResolver = artifacts.require('ContractResolver.sol'); + +const DaoVoting = artifacts.require('DaoVoting.sol'); +const DaoVotingClaims = artifacts.require('DaoVotingClaims.sol'); +const DaoSpecialVotingClaims = artifacts.require('DaoSpecialVotingClaims.sol'); + +module.exports = async (deployer, network) => { + if (network !== 'mainnet' && network !== 'kovan') { return null; } + deployer.deploy(DaoVoting, ContractResolver.address) + .then(() => { + return deployer.deploy(DaoSpecialVotingClaims, ContractResolver.address); + }) + .then(() => { + return deployer.deploy(DaoVotingClaims, ContractResolver.address); + }) + .then(() => { + console.log('Deployed Interactive Part C'); + }); +}; diff --git a/package-lock.json b/package-lock.json index 881ef03..cb86e30 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,13 +4,28 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@babel/runtime": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.4.tgz", + "integrity": "sha512-IvfvnMdSaLBateu0jfsYIpZTxAc2cKEXEMiezGGN75QcBcecDUKd3PgLAncT0oOgxKy8dd8hrJKj9MfzgfZd6g==", + "requires": { + "regenerator-runtime": "0.12.1" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", + "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" + } + } + }, "@digix/bitcore-mnemonic": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/@digix/bitcore-mnemonic/-/bitcore-mnemonic-1.5.2.tgz", "integrity": "sha512-hYnqKwxGvI0g8nPauXyE8BLHc5NlOepoOtRCvPWsITWk6RB6GT9M1b6iKbZ8DJGMqY5Cbry+t5n+gqmqxGPIyw==", "requires": { "bitcore-lib": "0.15.0", - "unorm": "1.4.1" + "unorm": "1.5.0" } }, "@digix/cacp-contracts-dao": { @@ -20,7 +35,7 @@ }, "@digix/cdap": { "version": "0.1.0", - "resolved": "http://registry.npmjs.org/@digix/cdap/-/cdap-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/@digix/cdap/-/cdap-0.1.0.tgz", "integrity": "sha512-y/fNXFTCgdcBXofjnZOB4txG/oTPRVQuscIIk78mtfDMtYA9H9qmdO/DozwAlmibKlm8wqoH2svKq13TLcuKmQ==", "requires": { "@digix/solidity-collections": "1.1.1" @@ -33,15 +48,15 @@ "requires": { "@digix/truffle-compile": "3.0.14", "glob": "7.1.3", - "keccakjs": "0.2.1", + "keccakjs": "0.2.3", "minimist": "1.2.0", "mkdirp": "0.5.1", "request": "2.88.0", - "rimraf": "2.6.2", + "rimraf": "2.6.3", "tar.gz": "1.0.7", - "toml": "2.3.3", + "toml": "2.3.6", "tomlify-j0.4": "1.0.4", - "truffle-config": "1.0.6", + "truffle-config": "1.1.4", "truffle-resolver": "3.0.1" } }, @@ -57,12 +72,38 @@ "elliptic": "3.1.0", "ethereumjs-tx": "1.3.7", "ethereumjs-util": "5.2.0", - "rlp": "2.1.0", + "rlp": "2.2.2", "scrypt-async": "1.3.1", "tweetnacl": "0.13.2", "web3": "0.20.2" }, "dependencies": { + "bn.js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-2.2.0.tgz", + "integrity": "sha1-EhYrwq5x/EClYmwzQ486h1zTdiU=" + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "requires": { + "base64-js": "1.3.0", + "ieee754": "1.1.12", + "isarray": "1.0.0" + } + }, + "elliptic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-3.1.0.tgz", + "integrity": "sha1-whaC73YnabVqdCAWCRBdoR1fYMw=", + "requires": { + "bn.js": "2.2.0", + "brorand": "1.1.0", + "hash.js": "1.1.7", + "inherits": "2.0.3" + } + }, "tweetnacl": { "version": "0.13.2", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.2.tgz", @@ -75,7 +116,7 @@ "requires": { "bignumber.js": "git+https://github.com/frozeman/bignumber.js-nolookahead.git#57692b3ecfc98bbdd6b3a516cb2353652ea49934", "crypto-js": "3.1.8", - "utf8": "2.1.2", + "utf8": "2.1.1", "xhr2": "0.1.4", "xmlhttprequest": "1.8.0" } @@ -104,9 +145,14 @@ "solc": "0.4.25" }, "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + }, "dotenv": { "version": "4.0.0", - "resolved": "http://registry.npmjs.org/dotenv/-/dotenv-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-4.0.0.tgz", "integrity": "sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0=" }, "ethjs-abi": { @@ -150,7 +196,7 @@ }, "@digix/solidity-core-libraries": { "version": "0.2.3", - "resolved": "http://registry.npmjs.org/@digix/solidity-core-libraries/-/solidity-core-libraries-0.2.3.tgz", + "resolved": "https://registry.npmjs.org/@digix/solidity-core-libraries/-/solidity-core-libraries-0.2.3.tgz", "integrity": "sha512-fTu1T+nk1Nl/0JKrC37cgnkjbzsHrVK3yY5QvqZMa1OyXjYHDW1tkuyzUo15Lz9Fwe9L8OMXMF93kXN3fCewRA==", "requires": { "@digix/truffle-lightwallet-provider": "0.1.7" @@ -158,7 +204,7 @@ }, "@digix/solidity-statemachine": { "version": "0.2.0", - "resolved": "http://registry.npmjs.org/@digix/solidity-statemachine/-/solidity-statemachine-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/@digix/solidity-statemachine/-/solidity-statemachine-0.2.0.tgz", "integrity": "sha512-YDBvAZJ7pkAm5nAxdD5xzJX+xMayc9bHbx9wdy6WMKLruYVUhvNrkQ7VfxQidtitDqo4+U0t4vVa/qmrxopEBQ==", "requires": { "@digix/solidity-collections": "1.1.1", @@ -176,11 +222,11 @@ "integrity": "sha512-HcrgWdUWvCsCzJed1r8LmSlZDex1wWJcMGgOtVu0y/FZLDX1Rh/ZIEQVf+q7CBxOyhpYNe3f+NqUK6fZKOKYaA==", "requires": { "async": "2.6.1", - "colors": "1.3.2", + "colors": "1.3.3", "debug": "3.2.6", - "graphlib": "2.1.5", + "graphlib": "2.1.7", "solc": "0.4.25", - "truffle-config": "1.0.6", + "truffle-config": "1.1.4", "truffle-contract-sources": "0.0.2", "truffle-error": "0.0.3", "truffle-expect": "0.0.4" @@ -204,8 +250,28 @@ "integrity": "sha512-bHjA8P1cURiQsg6HUAM+f9xAiBVpKI239vZZrZJKlu0xEp1Dmfa+4H0BORY+nnMeHULcQE8mB1BvV4Soo2k0Vg==", "requires": { "file-type": "6.2.0" + }, + "dependencies": { + "file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" + } + } + }, + "@types/bn.js": { + "version": "4.11.4", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.4.tgz", + "integrity": "sha512-AO8WW+aRcKWKQAYTfKLzwnpL6U+TfPqS+haRrhCy5ff04Da8WZud3ZgVjspQXaEXJDcTlsjUEVvL39wegDek5w==", + "requires": { + "@types/node": "10.12.27" } }, + "@types/node": { + "version": "10.12.27", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.27.tgz", + "integrity": "sha512-e9wgeY6gaY21on3ve0xAjgBVjGDWq/xUteK0ujsE53bUoxycMkqfnkUgMt6ffZtykZ5X12Mg3T7Pw4TRCObDKg==" + }, "abstract-leveldown": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", @@ -219,7 +285,7 @@ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "requires": { - "mime-types": "2.1.21", + "mime-types": "2.1.22", "negotiator": "0.6.1" } }, @@ -231,7 +297,7 @@ }, "acorn-jsx": { "version": "3.0.1", - "resolved": "http://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "requires": { @@ -240,16 +306,21 @@ "dependencies": { "acorn": { "version": "3.3.0", - "resolved": "http://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", "dev": true } } }, + "aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=" + }, "ajv": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz", - "integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==", + "version": "6.9.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.9.2.tgz", + "integrity": "sha512-4UFy0/LgDo7Oa/+wOAlj44tp9K78u38E5/359eSrqEp1Z5PdVfimCcs7SluXMP755RUQu6d2b4AvF0R1C9RZjg==", "requires": { "fast-deep-equal": "2.0.1", "fast-json-stable-stringify": "2.0.0", @@ -258,14 +329,14 @@ } }, "ajv-keywords": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", - "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=" + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz", + "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==" }, "ansi-escapes": { - "version": "3.1.0", - "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", - "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true }, "ansi-regex": { @@ -278,6 +349,11 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" + }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -295,11 +371,19 @@ "requires": { "ast-types-flow": "0.0.7", "commander": "2.19.0" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + } } }, "array-flatten": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, "array-includes": { @@ -309,7 +393,7 @@ "dev": true, "requires": { "define-properties": "1.1.3", - "es-abstract": "1.12.0" + "es-abstract": "1.13.0" } }, "asn1": { @@ -321,11 +405,11 @@ } }, "asn1.js": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.0.1.tgz", - "integrity": "sha512-aO8EaEgbgqq77IEw+1jfx5c9zTbzvkfuRBuZsSsPnTHMkmd5AI4J6OtITLZFa381jReeaQL67J0GBTUu0+ZTVw==", + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "requires": { - "bn.js": "4.11.6", + "bn.js": "4.11.8", "inherits": "2.0.3", "minimalistic-assert": "1.0.1" } @@ -457,7 +541,7 @@ "dependencies": { "jsesc": { "version": "1.3.0", - "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" } } @@ -605,12 +689,12 @@ }, "babel-plugin-syntax-async-functions": { "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" }, "babel-plugin-syntax-exponentiation-operator": { "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=" }, "babel-plugin-syntax-trailing-function-commas": { @@ -919,7 +1003,7 @@ "requires": { "babel-core": "6.26.3", "babel-runtime": "6.26.0", - "core-js": "2.6.0", + "core-js": "2.6.5", "home-or-tmp": "2.0.0", "lodash": "4.17.11", "mkdirp": "0.5.1", @@ -931,7 +1015,7 @@ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "requires": { - "core-js": "2.6.0", + "core-js": "2.6.5", "regenerator-runtime": "0.11.1" } }, @@ -991,7 +1075,7 @@ }, "babelify": { "version": "7.3.0", - "resolved": "http://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz", + "resolved": "https://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz", "integrity": "sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU=", "requires": { "babel-core": "6.26.3", @@ -1010,7 +1094,7 @@ }, "base-x": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/base-x/-/base-x-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-1.1.0.tgz", "integrity": "sha1-QtPXF0dPnqAiB/bRqh9CaRPut6w=" }, "base64-js": { @@ -1027,17 +1111,20 @@ } }, "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" }, "bignumber.js": { "version": "git+https://github.com/frozeman/bignumber.js-nolookahead.git#57692b3ecfc98bbdd6b3a516cb2353652ea49934" }, "bindings": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.1.tgz", - "integrity": "sha512-i47mqjF9UbjxJhxGf+pZ6kSxrnI3wBLlnGI2ArWJ4r0VrvDS7ZYXkprq/pLaBWYq4GM0r4zdHY+NNRqEMU7uew==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.4.0.tgz", + "integrity": "sha512-7znEVX22Djn+nYjxCWKDne0RRloa9XfYa84yk3s+HkE3LpDYZmhArYr9O9huBoHY3/oXispx5LorIX7Sl2CgSQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } }, "bip66": { "version": "1.1.5", @@ -1068,11 +1155,6 @@ "safe-buffer": "5.1.2" } }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, "bs58": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", @@ -1102,14 +1184,14 @@ }, "lodash": { "version": "4.17.4", - "resolved": "http://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" } } }, "bl": { "version": "1.2.2", - "resolved": "http://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", "requires": { "readable-stream": "2.3.6", @@ -1130,14 +1212,14 @@ } }, "bluebird": { - "version": "2.11.0", - "resolved": "http://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", - "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=" + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", + "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==" }, "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" }, "body-parser": { "version": "1.18.3", @@ -1164,14 +1246,6 @@ "ms": "2.0.0" } }, - "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", - "requires": { - "safer-buffer": "2.1.2" - } - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -1200,7 +1274,7 @@ }, "browserify-aes": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "requires": { "buffer-xor": "1.0.3", @@ -1211,12 +1285,57 @@ "safe-buffer": "5.1.2" } }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "requires": { + "browserify-aes": "1.2.0", + "browserify-des": "1.0.2", + "evp_bytestokey": "1.0.3" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "requires": { + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "requires": { + "bn.js": "4.11.8", + "randombytes": "2.1.0" + } + }, "browserify-sha3": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/browserify-sha3/-/browserify-sha3-0.0.1.tgz", - "integrity": "sha1-P/NKMAbvFcD7NWflQbkaI0ASPRE=", + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/browserify-sha3/-/browserify-sha3-0.0.4.tgz", + "integrity": "sha1-CGxHuMgjFsnUcCLCYYWVRXbdjiY=", + "requires": { + "js-sha3": "0.6.1", + "safe-buffer": "5.1.2" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "requires": { - "js-sha3": "0.3.1" + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "elliptic": "6.4.1", + "inherits": "2.0.3", + "parse-asn1": "5.1.4" } }, "browserslist": { @@ -1224,8 +1343,8 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", "requires": { - "caniuse-lite": "1.0.30000915", - "electron-to-chromium": "1.3.88" + "caniuse-lite": "1.0.30000939", + "electron-to-chromium": "1.3.113" } }, "bs58": { @@ -1237,13 +1356,12 @@ } }, "buffer": { - "version": "4.9.1", - "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", "requires": { "base64-js": "1.3.0", - "ieee754": "1.1.12", - "isarray": "1.0.0" + "ieee754": "1.1.12" } }, "buffer-alloc": { @@ -1265,6 +1383,11 @@ "resolved": "https://registry.npmjs.org/buffer-compare/-/buffer-compare-1.1.1.tgz", "integrity": "sha1-W+e+hTr4kZjR9N3AkNHWakiu9ZY=" }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, "buffer-fill": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", @@ -1277,7 +1400,7 @@ }, "buffer-loader": { "version": "0.0.1", - "resolved": "http://registry.npmjs.org/buffer-loader/-/buffer-loader-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/buffer-loader/-/buffer-loader-0.0.1.tgz", "integrity": "sha1-TWd8qS3YiTEIeLAqL7z6txICTPI=" }, "buffer-to-arraybuffer": { @@ -1290,11 +1413,6 @@ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" - }, "builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", @@ -1316,7 +1434,7 @@ }, "callsites": { "version": "0.2.0", - "resolved": "http://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", "dev": true }, @@ -1326,9 +1444,9 @@ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" }, "caniuse-lite": { - "version": "1.0.30000915", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000915.tgz", - "integrity": "sha512-6MmDHxeFfue8DYmcIKVosSK5ySNZxeZhsVEsGnOZREtqAe9EBYW5wKkjZou73KXMFlIcYsm1MdXSgRfraN79dw==" + "version": "1.0.30000939", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000939.tgz", + "integrity": "sha512-oXB23ImDJOgQpGjRv1tCtzAvJr4/OvrHi5SO2vUgB0g0xpdZZoA/BxfImiWfdwoYdUTtQrPsXsvYU/dmCSM8gg==" }, "canvas": { "version": "1.6.13", @@ -1345,7 +1463,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { "ansi-styles": "2.2.1", @@ -1370,9 +1488,9 @@ } }, "cids": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.5.6.tgz", - "integrity": "sha512-YoI5XDPsN4Na/BjbHQ6M2j6kwAu/oKklw7p1GIoQsd/rm6c+VpyIJrtEsGzK720hn4dw8+7AYvrJPqOQ0BJzGQ==", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.5.7.tgz", + "integrity": "sha512-SlAz4p8XMEW3mhwiYbzfjn+5+Y//+kIuHqzRUytK0a3uGBnsjJb76xHliehv0HcVMCjRKv2vZnPTwd4QX+IcMA==", "requires": { "class-is": "1.1.0", "multibase": "0.6.0", @@ -1397,7 +1515,7 @@ }, "class-is": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==" }, "cli-cursor": { @@ -1457,9 +1575,9 @@ "dev": true }, "colors": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.2.tgz", - "integrity": "sha512-rhP0JSBGYvpcNQj4s5AdShMeE5ahMop96cTeDl/v9qQQm2fYClE2QXZRi8wLzc+GmXSxdIqqbOIAhyObEXDbfQ==" + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", + "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==" }, "combined-stream": { "version": "1.0.7", @@ -1470,9 +1588,12 @@ } }, "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", + "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", + "requires": { + "graceful-readlink": "1.0.1" + } }, "concat-map": { "version": "0.0.1", @@ -1490,6 +1611,19 @@ "typedarray": "0.0.6" } }, + "configstore": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-4.0.0.tgz", + "integrity": "sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==", + "requires": { + "dot-prop": "4.2.0", + "graceful-fs": "4.1.15", + "make-dir": "1.3.0", + "unique-string": "1.0.0", + "write-file-atomic": "2.4.2", + "xdg-basedir": "3.0.0" + } + }, "contains-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", @@ -1524,10 +1658,15 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, + "cookiejar": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", + "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" + }, "core-js": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.0.tgz", - "integrity": "sha512-kLRC6ncVpuEW/1kwrOXYX6KQASCVtrh1gQr/UiaVgFlf9WE5Vp+lNe5+h3LuMr5PAucWnnEXwH0nQHRH/gpGtw==" + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz", + "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A==" }, "core-util-is": { "version": "1.0.2", @@ -1543,9 +1682,18 @@ "vary": "1.1.2" } }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "requires": { + "bn.js": "4.11.8", + "elliptic": "6.4.1" + } + }, "create-hash": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "requires": { "cipher-base": "1.0.4", @@ -1557,7 +1705,7 @@ }, "create-hmac": { "version": "1.1.7", - "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "requires": { "cipher-base": "1.0.4", @@ -1579,11 +1727,34 @@ "which": "1.3.1" } }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "requires": { + "browserify-cipher": "1.0.1", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.3", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "diffie-hellman": "5.0.3", + "inherits": "2.0.3", + "pbkdf2": "3.0.17", + "public-encrypt": "4.0.3", + "randombytes": "2.1.0", + "randomfill": "1.0.4" + } + }, "crypto-js": { "version": "3.1.8", "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.1.8.tgz", "integrity": "sha1-cV8HC/YBTyrpkqmLOSkli3E/CNU=" }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=" + }, "damerau-levenshtein": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz", @@ -1616,6 +1787,21 @@ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" }, + "decompress": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", + "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", + "requires": { + "decompress-tar": "4.1.1", + "decompress-tarbz2": "4.1.1", + "decompress-targz": "4.1.1", + "decompress-unzip": "4.0.1", + "graceful-fs": "4.1.15", + "make-dir": "1.3.0", + "pify": "2.3.0", + "strip-dirs": "2.1.0" + } + }, "decompress-response": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", @@ -1624,6 +1810,72 @@ "mimic-response": "1.0.1" } }, + "decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "requires": { + "file-type": "5.2.0", + "is-stream": "1.1.0", + "tar-stream": "1.6.2" + } + }, + "decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "requires": { + "decompress-tar": "4.1.1", + "file-type": "6.2.0", + "is-stream": "1.1.0", + "seek-bzip": "1.0.5", + "unbzip2-stream": "1.3.3" + }, + "dependencies": { + "file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" + } + } + }, + "decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "requires": { + "decompress-tar": "4.1.1", + "file-type": "5.2.0", + "is-stream": "1.1.0" + } + }, + "decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", + "requires": { + "file-type": "3.9.0", + "get-stream": "2.3.1", + "pify": "2.3.0", + "yauzl": "2.10.0" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "requires": { + "object-assign": "4.1.1", + "pinkie-promise": "2.0.1" + } + } + } + }, "deep-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", @@ -1648,7 +1900,7 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "requires": { - "object-keys": "1.0.12" + "object-keys": "1.1.0" } }, "defined": { @@ -1666,6 +1918,15 @@ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, "destroy": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", @@ -1689,6 +1950,16 @@ "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==" }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "requires": { + "bn.js": "4.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.1.0" + } + }, "dijix": { "version": "0.0.15", "resolved": "https://registry.npmjs.org/dijix/-/dijix-0.0.15.tgz", @@ -1701,6 +1972,13 @@ "get-installed-path": "3.0.3", "ipfs-api": "14.3.7", "isomorphic-fetch": "2.2.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + } } }, "dijix-attestation": { @@ -1748,9 +2026,17 @@ "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "requires": { + "is-obj": "1.0.1" + } + }, "dotenv": { "version": "5.0.1", - "resolved": "http://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz", "integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==" }, "drbg.js": { @@ -1763,6 +2049,11 @@ "create-hmac": "1.1.7" } }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -1778,32 +2069,28 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "electron-to-chromium": { - "version": "1.3.88", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.88.tgz", - "integrity": "sha512-UPV4NuQMKeUh1S0OWRvwg0PI8ASHN9kBC8yDTk1ROXLC85W5GnhTRu/MZu3Teqx3JjlQYuckuHYXSUSgtb3J+A==" + "version": "1.3.113", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz", + "integrity": "sha512-De+lPAxEcpxvqPTyZAXELNpRZXABRxf+uL/rSykstQhzj/B0l1150G/ExIIxKc16lI89Hgz81J0BHAcbTqK49g==" }, "elliptic": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-3.1.0.tgz", - "integrity": "sha1-whaC73YnabVqdCAWCRBdoR1fYMw=", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", + "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", "requires": { - "bn.js": "2.2.0", + "bn.js": "4.11.8", "brorand": "1.1.0", "hash.js": "1.1.7", - "inherits": "2.0.3" - }, - "dependencies": { - "bn.js": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-2.2.0.tgz", - "integrity": "sha1-EhYrwq5x/EClYmwzQ486h1zTdiU=" - } + "hmac-drbg": "1.0.1", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" } }, "emoji-regex": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.5.1.tgz", - "integrity": "sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, "emojis-list": { @@ -1821,7 +2108,7 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "iconv-lite": "0.4.24" + "iconv-lite": "0.4.23" } }, "end-of-stream": { @@ -1849,15 +2136,16 @@ } }, "es-abstract": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", - "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", + "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", "requires": { "es-to-primitive": "1.2.0", "function-bind": "1.1.1", "has": "1.0.3", "is-callable": "1.1.4", - "is-regex": "1.0.4" + "is-regex": "1.0.4", + "object-keys": "1.1.0" } }, "es-to-primitive": { @@ -1882,13 +2170,13 @@ }, "eslint": { "version": "4.19.1", - "resolved": "http://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", "dev": true, "requires": { "ajv": "5.5.2", "babel-code-frame": "6.26.0", - "chalk": "2.4.1", + "chalk": "2.4.2", "concat-stream": "1.6.2", "cross-spawn": "5.1.0", "debug": "3.2.6", @@ -1901,12 +2189,12 @@ "file-entry-cache": "2.0.0", "functional-red-black-tree": "1.0.1", "glob": "7.1.3", - "globals": "11.9.0", + "globals": "11.11.0", "ignore": "3.3.10", "imurmurhash": "0.1.4", "inquirer": "3.3.0", "is-resolvable": "1.1.0", - "js-yaml": "3.12.0", + "js-yaml": "3.12.1", "json-stable-stringify-without-jsonify": "1.0.1", "levn": "0.3.0", "lodash": "4.17.11", @@ -1954,9 +2242,9 @@ } }, "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "3.2.1", @@ -1966,14 +2254,14 @@ }, "fast-deep-equal": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", "dev": true }, "globals": { - "version": "11.9.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz", - "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==", + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz", + "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==", "dev": true }, "has-flag": { @@ -2033,7 +2321,7 @@ "dev": true, "requires": { "debug": "2.6.9", - "resolve": "1.7.1" + "resolve": "1.10.0" }, "dependencies": { "debug": { @@ -2054,13 +2342,13 @@ } }, "eslint-module-utils": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz", - "integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.3.0.tgz", + "integrity": "sha512-lmDJgeOOjk8hObTysjqH7wyMi+nsHwwvfBykwfhjR1LNdd7C2uFJBvx4OpWYpXOw4df1yE1cDEVd1yLHitk34w==", "dev": true, "requires": { "debug": "2.6.9", - "pkg-dir": "1.0.0" + "pkg-dir": "2.0.0" }, "dependencies": { "debug": { @@ -2081,21 +2369,21 @@ } }, "eslint-plugin-import": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz", - "integrity": "sha512-FpuRtniD/AY6sXByma2Wr0TXvXJ4nA/2/04VPlfpmUDPOpOY264x+ILiwnrk/k4RINgDAyFZByxqPUbSQ5YE7g==", + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.16.0.tgz", + "integrity": "sha512-z6oqWlf1x5GkHIFgrSvtmudnqM6Q60KM4KvpWi5ubonMjycLjndvd5+8VAZIsTlHC03djdgJuyKG6XO577px6A==", "dev": true, "requires": { "contains-path": "0.1.0", "debug": "2.6.9", "doctrine": "1.5.0", "eslint-import-resolver-node": "0.3.2", - "eslint-module-utils": "2.2.0", + "eslint-module-utils": "2.3.0", "has": "1.0.3", "lodash": "4.17.11", "minimatch": "3.0.4", "read-pkg-up": "2.0.0", - "resolve": "1.7.1" + "resolve": "1.10.0" }, "dependencies": { "debug": { @@ -2109,7 +2397,7 @@ }, "doctrine": { "version": "1.5.0", - "resolved": "http://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "requires": { @@ -2128,7 +2416,7 @@ }, "load-json-file": { "version": "2.0.0", - "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { @@ -2160,7 +2448,7 @@ "dev": true, "requires": { "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", + "normalize-package-data": "2.5.0", "path-type": "2.0.0" } }, @@ -2183,9 +2471,9 @@ } }, "eslint-plugin-jsx-a11y": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.1.2.tgz", - "integrity": "sha512-7gSSmwb3A+fQwtw0arguwMdOdzmKUgnUcbSNlo+GjKLAQFuC2EZxWqG9XHRI8VscBJD5a8raz3RuxQNFW+XJbw==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.1.tgz", + "integrity": "sha512-cjN2ObWrRz0TTw7vEcGQrx+YltMvZoOEx4hWU8eEERDnBIU00OTq7Vr+jA7DFKxiwLNv4tTh5Pq2GUNEa8b6+w==", "dev": true, "requires": { "aria-query": "3.0.0", @@ -2193,22 +2481,24 @@ "ast-types-flow": "0.0.7", "axobject-query": "2.0.2", "damerau-levenshtein": "1.0.4", - "emoji-regex": "6.5.1", + "emoji-regex": "7.0.3", "has": "1.0.3", "jsx-ast-utils": "2.0.1" } }, "eslint-plugin-react": { - "version": "7.11.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.11.1.tgz", - "integrity": "sha512-cVVyMadRyW7qsIUh3FHp3u6QHNhOgVrLQYdQEB1bPWBsgbNCHdFAeNMquBMCcZJu59eNthX053L70l7gRt4SCw==", + "version": "7.12.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz", + "integrity": "sha512-1puHJkXJY+oS1t467MjbqjvX53uQ05HXwjqDgdbGBqf5j9eeydI54G3KwiJmWciQ0HTBacIKw2jgwSBSH3yfgQ==", "dev": true, "requires": { "array-includes": "3.0.3", "doctrine": "2.1.0", "has": "1.0.3", "jsx-ast-utils": "2.0.1", - "prop-types": "15.6.2" + "object.fromentries": "2.0.0", + "prop-types": "15.7.2", + "resolve": "1.10.0" } }, "eslint-restricted-globals": { @@ -2235,7 +2525,7 @@ }, "espree": { "version": "3.5.4", - "resolved": "http://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "requires": { @@ -2295,7 +2585,23 @@ "ethjs-util": "0.1.6", "json-rpc-engine": "3.8.0", "pify": "2.3.0", - "tape": "4.9.1" + "tape": "4.10.1" + } + }, + "eth-ens-namehash": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", + "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=", + "requires": { + "idna-uts46-hx": "2.3.1", + "js-sha3": "0.5.7" + }, + "dependencies": { + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" + } } }, "eth-lib": { @@ -2303,29 +2609,13 @@ "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.27.tgz", "integrity": "sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA==", "requires": { - "bn.js": "4.11.6", + "bn.js": "4.11.8", "elliptic": "6.4.1", - "keccakjs": "0.2.1", + "keccakjs": "0.2.3", "nano-json-stream-parser": "0.1.2", "servify": "0.1.12", "ws": "3.3.3", "xhr-request-promise": "0.1.2" - }, - "dependencies": { - "elliptic": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", - "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", - "requires": { - "bn.js": "4.11.6", - "brorand": "1.1.0", - "hash.js": "1.1.7", - "hmac-drbg": "1.0.1", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.1", - "minimalistic-crypto-utils": "1.0.1" - } - } } }, "eth-query": { @@ -2342,7 +2632,7 @@ "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-1.4.2.tgz", "integrity": "sha1-jZWCAsftuq6Dlwf7pvCf8ydgYhA=", "requires": { - "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git#2863c40e0982acfc0b7163f0285d4c56427c7799", + "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git#d84a96796079c8595a0c78accd1e7709f2277215", "ethereumjs-util": "5.2.0" } }, @@ -2352,9 +2642,9 @@ "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" }, "ethereumjs-abi": { - "version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#2863c40e0982acfc0b7163f0285d4c56427c7799", + "version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#d84a96796079c8595a0c78accd1e7709f2277215", "requires": { - "bn.js": "4.11.6", + "bn.js": "4.11.8", "ethereumjs-util": "5.2.0" } }, @@ -2364,13 +2654,13 @@ "integrity": "sha512-bgDojnXGjhMwo6eXQC0bY6UK2liSFUSMwwylOmQvZbSl/D7NXQ3+vrGO46ZeOgjGfxXmgIeVNDIiHw7fNZM4VA==", "requires": { "ethereumjs-util": "5.2.0", - "rlp": "2.1.0", + "rlp": "2.2.2", "safe-buffer": "5.1.2" } }, "ethereumjs-block": { "version": "1.7.1", - "resolved": "http://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz", + "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz", "integrity": "sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg==", "requires": { "async": "2.6.1", @@ -2388,9 +2678,9 @@ } }, "ethereumjs-common": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-0.6.1.tgz", - "integrity": "sha512-4jOrfDu9qOBTTGGb3zrfT1tE1Hyc6a8LJpEk0Vk9AYlLkBY7crjVICyJpRvjNI+KLDMpMITMw3eWVZOLMtZdhw==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-1.1.0.tgz", + "integrity": "sha512-LUmYkKV/HcZbWRyu3OU9YOevsH3VJDXtI6kEd8VZweQec+JjDGKCmAVKUyzhYUHqxRJu7JNALZ3A/b3NXOP6tA==" }, "ethereumjs-testrpc": { "version": "3.9.2", @@ -2411,26 +2701,26 @@ "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz", "integrity": "sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA==", "requires": { - "bn.js": "4.11.6", + "bn.js": "4.11.8", "create-hash": "1.2.0", "ethjs-util": "0.1.6", "keccak": "1.4.0", - "rlp": "2.1.0", + "rlp": "2.2.2", "safe-buffer": "5.1.2", - "secp256k1": "3.5.2" + "secp256k1": "3.6.2" } }, "ethereumjs-vm": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/ethereumjs-vm/-/ethereumjs-vm-2.5.0.tgz", - "integrity": "sha512-Cp1do4J2FIJFnbofqLsKb/aoZKG+Q8NBIbTa1qwZPQkQxzeR3DZVpFk/VbE1EUO6Ha0kSClJ1jzfj07z3cScSQ==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz", + "integrity": "sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw==", "requires": { "async": "2.6.1", "async-eventemitter": "github:ahultgren/async-eventemitter#fa06e39e56786ba541c180061dbf2c0a5bbf951c", "ethereumjs-account": "2.0.5", - "ethereumjs-block": "2.1.0", - "ethereumjs-common": "0.6.1", - "ethereumjs-util": "6.0.0", + "ethereumjs-block": "2.2.0", + "ethereumjs-common": "1.1.0", + "ethereumjs-util": "6.1.0", "fake-merkle-patricia-tree": "1.0.1", "functional-red-black-tree": "1.0.1", "merkle-patricia-tree": "2.3.2", @@ -2439,12 +2729,12 @@ }, "dependencies": { "ethereumjs-block": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-2.1.0.tgz", - "integrity": "sha512-ip+x4/7hUInX+TQfhEKsQh9MJK1Dbjp4AuPjf1UdX3udAV4beYD4EMCNIPzBLCsGS8WQZYXLpo83tVTISYNpow==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-2.2.0.tgz", + "integrity": "sha512-Ye+uG/L2wrp364Zihdlr/GfC3ft+zG8PdHcRtsBFNNH1CkOhxOwdB8friBU85n89uRZ9eIMAywCq0F4CwT1wAw==", "requires": { "async": "2.6.1", - "ethereumjs-common": "0.6.1", + "ethereumjs-common": "1.1.0", "ethereumjs-tx": "1.3.7", "ethereumjs-util": "5.2.0", "merkle-patricia-tree": "2.3.2" @@ -2455,30 +2745,84 @@ "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz", "integrity": "sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA==", "requires": { - "bn.js": "4.11.6", + "bn.js": "4.11.8", "create-hash": "1.2.0", "ethjs-util": "0.1.6", "keccak": "1.4.0", - "rlp": "2.1.0", + "rlp": "2.2.2", "safe-buffer": "5.1.2", - "secp256k1": "3.5.2" + "secp256k1": "3.6.2" } } } }, "ethereumjs-util": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.0.0.tgz", - "integrity": "sha512-E3yKUyl0Fs95nvTFQZe/ZSNcofhDzUsDlA5y2uoRmf1+Ec7gpGhNCsgKkZBRh7Br5op8mJcYF/jFbmjj909+nQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.1.0.tgz", + "integrity": "sha512-URESKMFbDeJxnAxPppnk2fN6Y3BIatn9fwn76Lm8bQlt+s52TpG8dN9M66MLPuRAiAOIqL3dfwqWJf0sd0fL0Q==", "requires": { - "bn.js": "4.11.6", + "bn.js": "4.11.8", "create-hash": "1.2.0", "ethjs-util": "0.1.6", "keccak": "1.4.0", - "rlp": "2.1.0", + "rlp": "2.2.2", "safe-buffer": "5.1.2", - "secp256k1": "3.5.2" + "secp256k1": "3.6.2" + } + } + } + }, + "ethers": { + "version": "4.0.0-beta.1", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.0-beta.1.tgz", + "integrity": "sha512-SoYhktEbLxf+fiux5SfCEwdzWENMvgIbMZD90I62s4GZD9nEjgEWy8ZboI3hck193Vs0bDoTohDISx84f2H2tw==", + "requires": { + "@types/node": "10.12.27", + "aes-js": "3.0.0", + "bn.js": "4.11.8", + "elliptic": "6.3.3", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.3", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + }, + "dependencies": { + "elliptic": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", + "integrity": "sha1-VILZZG1UvLif19mU/J4ulWiHbj8=", + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.3", + "inherits": "2.0.3" + } + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" } + }, + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" + }, + "setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=" + }, + "uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=" } } }, @@ -2492,6 +2836,11 @@ "number-to-bn": "1.7.0" }, "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + }, "js-sha3": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.5.tgz", @@ -2506,6 +2855,13 @@ "requires": { "bn.js": "4.11.6", "number-to-bn": "1.7.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + } } }, "ethjs-util": { @@ -2517,6 +2873,11 @@ "strip-hex-prefix": "1.0.0" } }, + "eventemitter3": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.1.1.tgz", + "integrity": "sha1-R3hr2qCHyvext15zq8XH1UAVjNA=" + }, "events": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", @@ -2536,7 +2897,7 @@ "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", "requires": { - "homedir-polyfill": "1.0.1" + "homedir-polyfill": "1.0.3" } }, "express": { @@ -2603,12 +2964,12 @@ }, "external-editor": { "version": "2.2.0", - "resolved": "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { "chardet": "0.4.2", - "iconv-lite": "0.4.24", + "iconv-lite": "0.4.23", "tmp": "0.0.33" } }, @@ -2641,7 +3002,15 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, - "fetch-ponyfill": { + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "requires": { + "pend": "1.2.0" + } + }, + "fetch-ponyfill": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/fetch-ponyfill/-/fetch-ponyfill-4.1.0.tgz", "integrity": "sha1-rjzl9zLGReq4fkroeTQUcJsjmJM=", @@ -2669,13 +3038,18 @@ } }, "file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "finalhandler": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", "requires": { "debug": "2.6.9", @@ -2688,5473 +3062,293 @@ }, "dependencies": { "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" - } - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - } - }, - "flat-cache": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", - "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", - "dev": true, - "requires": { - "circular-json": "0.3.3", - "graceful-fs": "4.1.15", - "rimraf": "2.6.2", - "write": "0.2.1" - } - }, - "flatmap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/flatmap/-/flatmap-0.0.3.tgz", - "integrity": "sha1-Hxik2TgVLUlZZfnJWNkjqy3WabQ=" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "1.1.4" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.7", - "mime-types": "2.1.21" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs-extra": { - "version": "0.30.0", - "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "requires": { - "graceful-fs": "4.1.15", - "jsonfile": "2.4.0", - "klaw": "1.3.1", - "path-is-absolute": "1.0.1", - "rimraf": "2.6.2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "requires": { - "graceful-fs": "4.1.15", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.2" - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" - }, - "ganache-cli": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ganache-cli/-/ganache-cli-6.2.3.tgz", - "integrity": "sha512-+FYzINouw+yHHG6bT8m6O5xCw5NP6rpSL2keChKlcwgRRFz8SrZS6Q26iJ7ixBp6bk+UMMua8IPZgNFizbdZlQ==", - "requires": { - "bn.js": "4.11.8", - "ganache-core": "2.3.1", - "source-map-support": "0.5.9", - "yargs": "11.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.1" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "requires": { - "locate-path": "2.0.0" - } - }, - "ganache-core": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/ganache-core/-/ganache-core-2.3.1.tgz", - "integrity": "sha512-I4t4P+LYUZRnGbxDseqSa5vIJ8C5e35vw5Fr7f2iMMN6jmO5TVjWWgNib60G2iL+XTbYUFmou040hHxrTaNtnA==", - "requires": { - "abstract-leveldown": "3.0.0", - "async": "2.6.1", - "bip39": "2.5.0", - "bn.js": "4.11.8", - "cachedown": "1.0.0", - "clone": "2.1.2", - "debug": "3.1.0", - "encoding-down": "5.0.4", - "eth-sig-util": "2.0.2", - "ethereumjs-abi": "0.6.5", - "ethereumjs-account": "2.0.5", - "ethereumjs-block": "1.2.2", - "ethereumjs-tx": "1.3.7", - "ethereumjs-util": "5.2.0", - "ethereumjs-vm": "2.4.0", - "ethereumjs-wallet": "0.6.2", - "heap": "0.2.6", - "level-sublevel": "6.6.4", - "levelup": "3.1.1", - "lodash": "4.17.10", - "merkle-patricia-tree": "2.3.1", - "seedrandom": "2.4.4", - "tmp": "0.0.33", - "web3": "1.0.0-beta.35", - "web3-provider-engine": "14.1.0", - "websocket": "1.0.26" - }, - "dependencies": { - "abstract-leveldown": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-3.0.0.tgz", - "integrity": "sha512-KUWx9UWGQD12zsmLNj64/pndaz4iJh/Pj7nopgkfDG6RlCcbMZvT6+9l7dchK4idog2Is8VdC/PvNbFuFmalIQ==", - "requires": { - "xtend": "4.0.1" - } - }, - "accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", - "requires": { - "mime-types": "2.1.21", - "negotiator": "0.6.1" - } - }, - "aes-js": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz", - "integrity": "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==", - "optional": true - }, - "ajv": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", - "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", - "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" - } - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "requires": { - "safer-buffer": "2.1.2" - } - }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "requires": { - "bn.js": "4.11.8", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.1" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - }, - "async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", - "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", - "requires": { - "lodash": "4.17.10" - } - }, - "async-eventemitter": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", - "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", - "requires": { - "async": "2.6.1" - } - }, - "async-limiter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" - }, - "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" - } - }, - "babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", - "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.1", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.6.0", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.10", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", - "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" - }, - "dependencies": { - "jsesc": { - "version": "1.3.0", - "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" - } - } - }, - "babel-helper-builder-binary-assignment-operator-visitor": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", - "requires": { - "babel-helper-explode-assignable-expression": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-call-delegate": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", - "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-define-map": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", - "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", - "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.10" - } - }, - "babel-helper-explode-assignable-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", - "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", - "requires": { - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-hoist-variables": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-optimise-call-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-regex": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", - "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.10" - } - }, - "babel-helper-remap-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", - "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-replace-supers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", - "requires": { - "babel-helper-optimise-call-expression": "6.24.1", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" - }, - "babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=" - }, - "babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=" - }, - "babel-plugin-transform-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", - "requires": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-block-scoping": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", - "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", - "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.10" - } - }, - "babel-plugin-transform-es2015-classes": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", - "requires": { - "babel-helper-define-map": "6.26.0", - "babel-helper-function-name": "6.24.1", - "babel-helper-optimise-call-expression": "6.24.1", - "babel-helper-replace-supers": "6.24.1", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-es2015-computed-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", - "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - } - }, - "babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", - "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-modules-amd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", - "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - } - }, - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", - "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", - "requires": { - "babel-plugin-transform-strict-mode": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-es2015-modules-systemjs": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", - "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - } - }, - "babel-plugin-transform-es2015-modules-umd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", - "requires": { - "babel-plugin-transform-es2015-modules-amd": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - } - }, - "babel-plugin-transform-es2015-object-super": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", - "requires": { - "babel-helper-replace-supers": "6.24.1", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", - "requires": { - "babel-helper-call-delegate": "6.24.1", - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", - "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", - "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "regexpu-core": "2.0.0" - } - }, - "babel-plugin-transform-exponentiation-operator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", - "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", - "babel-plugin-syntax-exponentiation-operator": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-regenerator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", - "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", - "requires": { - "regenerator-transform": "0.10.1" - } - }, - "babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-preset-env": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", - "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", - "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-async-to-generator": "6.24.1", - "babel-plugin-transform-es2015-arrow-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoping": "6.26.0", - "babel-plugin-transform-es2015-classes": "6.24.1", - "babel-plugin-transform-es2015-computed-properties": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", - "babel-plugin-transform-es2015-for-of": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-amd": "6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", - "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", - "babel-plugin-transform-es2015-modules-umd": "6.24.1", - "babel-plugin-transform-es2015-object-super": "6.24.1", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-template-literals": "6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-exponentiation-operator": "6.24.1", - "babel-plugin-transform-regenerator": "6.26.0", - "browserslist": "3.2.8", - "invariant": "2.2.4", - "semver": "5.4.1" - } - }, - "babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "requires": { - "babel-core": "6.26.3", - "babel-runtime": "6.26.0", - "core-js": "2.5.7", - "home-or-tmp": "2.0.0", - "lodash": "4.17.10", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" - }, - "dependencies": { - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "requires": { - "source-map": "0.5.7" - } - } - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.7", - "regenerator-runtime": "0.11.1" - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.10" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.4", - "lodash": "4.17.10" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "1.0.3" - } - }, - "babelify": { - "version": "7.3.0", - "resolved": "http://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz", - "integrity": "sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU=", - "requires": { - "babel-core": "6.26.3", - "object-assign": "4.1.1" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" - }, - "backoff": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/backoff/-/backoff-2.5.0.tgz", - "integrity": "sha1-9hbtqdPktmuMp/ynn2lXIsX44m8=", - "requires": { - "precond": "0.2.3" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base-x": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.5.tgz", - "integrity": "sha512-C3picSgzPSLE+jW3tcBzJoGwitOtazb5B+5YmAxZm2ybmTi9LNgAtDO/jjVEBZwHoXmDBZ9m/IELj3elJVRBcA==", - "optional": true, - "requires": { - "safe-buffer": "5.1.2" - } - }, - "base64-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", - "optional": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "requires": { - "tweetnacl": "0.14.5" - } - }, - "bindings": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.0.tgz", - "integrity": "sha512-DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw==" - }, - "bip39": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/bip39/-/bip39-2.5.0.tgz", - "integrity": "sha512-xwIx/8JKoT2+IPJpFEfXoWdYwP7UVAoUxxLNfGCfVowaJE7yg1Y5B1BVPqlUNsBq5/nGwmFkwRJ8xDW4sX8OdA==", - "requires": { - "create-hash": "1.2.0", - "pbkdf2": "3.0.17", - "randombytes": "2.0.6", - "safe-buffer": "5.1.2", - "unorm": "1.4.1" - } - }, - "bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "bl": { - "version": "1.2.2", - "resolved": "http://registry.npmjs.org/bl/-/bl-1.2.2.tgz", - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", - "requires": { - "readable-stream": "2.3.6", - "safe-buffer": "5.1.2" - } - }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "optional": true, - "requires": { - "inherits": "2.0.3" - } - }, - "bluebird": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", - "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==", - "optional": true - }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "body-parser": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", - "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", - "requires": { - "bytes": "3.0.0", - "content-type": "1.0.4", - "debug": "2.6.9", - "depd": "1.1.2", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", - "on-finished": "2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "1.6.16" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "requires": { - "buffer-xor": "1.0.3", - "cipher-base": "1.0.4", - "create-hash": "1.2.0", - "evp_bytestokey": "1.0.3", - "inherits": "2.0.3", - "safe-buffer": "5.1.2" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "optional": true, - "requires": { - "browserify-aes": "1.2.0", - "browserify-des": "1.0.2", - "evp_bytestokey": "1.0.3" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "optional": true, - "requires": { - "cipher-base": "1.0.4", - "des.js": "1.0.0", - "inherits": "2.0.3", - "safe-buffer": "5.1.2" - } - }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "requires": { - "bn.js": "4.11.8", - "randombytes": "2.0.6" - } - }, - "browserify-sha3": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/browserify-sha3/-/browserify-sha3-0.0.1.tgz", - "integrity": "sha1-P/NKMAbvFcD7NWflQbkaI0ASPRE=", - "requires": { - "js-sha3": "0.3.1" - } - }, - "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "optional": true, - "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.2.0", - "create-hmac": "1.1.7", - "elliptic": "6.4.1", - "inherits": "2.0.3", - "parse-asn1": "5.1.1" - } - }, - "browserslist": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", - "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", - "requires": { - "caniuse-lite": "1.0.30000907", - "electron-to-chromium": "1.3.84" - } - }, - "bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", - "optional": true, - "requires": { - "base-x": "3.0.5" - } - }, - "bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "optional": true, - "requires": { - "bs58": "4.0.1", - "create-hash": "1.2.0", - "safe-buffer": "5.1.2" - } - }, - "buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", - "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", - "optional": true, - "requires": { - "base64-js": "1.3.0", - "ieee754": "1.1.12" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "requires": { - "buffer-alloc-unsafe": "1.1.0", - "buffer-fill": "1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "optional": true - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "buffer-to-arraybuffer": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", - "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=" - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" - }, - "bytewise": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/bytewise/-/bytewise-1.1.0.tgz", - "integrity": "sha1-HRPL/3F65xWAlKqIGzXQgbOHJT4=", - "requires": { - "bytewise-core": "1.2.3", - "typewise": "1.0.3" - } - }, - "bytewise-core": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bytewise-core/-/bytewise-core-1.2.3.tgz", - "integrity": "sha1-P7QQx+kVWOsasiqCg0V3qmvWHUI=", - "requires": { - "typewise-core": "1.2.0" - } - }, - "cachedown": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cachedown/-/cachedown-1.0.0.tgz", - "integrity": "sha1-1D8DbkUQaWsxJG19sx6/D3rDLRU=", - "requires": { - "abstract-leveldown": "2.7.2", - "lru-cache": "3.2.0" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", - "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", - "requires": { - "xtend": "4.0.1" - } - } - } - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" - }, - "caniuse-lite": { - "version": "1.0.30000907", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000907.tgz", - "integrity": "sha512-No5sQ/OB2Nmka8MNOOM6nJx+Hxt6MQ6h7t7kgJFu9oTuwjykyKRSBP/+i/QAyFHxeHB+ddE0Da1CG5ihx9oehQ==" - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "chalk": { - "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "checkpoint-store": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/checkpoint-store/-/checkpoint-store-1.1.0.tgz", - "integrity": "sha1-BOTLUWuRQziTWB5tRgGnjpVS6gY=", - "requires": { - "functional-red-black-tree": "1.0.1" - } - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.2" - } - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" - } - }, - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "coinstring": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/coinstring/-/coinstring-2.3.0.tgz", - "integrity": "sha1-zbYzY6lhUCQEolr7gsLibV/2J6Q=", - "optional": true, - "requires": { - "bs58": "2.0.1", - "create-hash": "1.2.0" - }, - "dependencies": { - "bs58": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-2.0.1.tgz", - "integrity": "sha1-VZCNWPGYKrogCPob7Y+RmYopv40=", - "optional": true - } - } - }, - "combined-stream": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", - "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", - "requires": { - "delayed-stream": "1.0.0" - } - }, - "commander": { - "version": "2.8.1", - "resolved": "http://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", - "requires": { - "graceful-readlink": "1.0.1" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "typedarray": "0.0.6" - } - }, - "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "convert-source-map": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", - "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "cookiejar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", - "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" - }, - "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "requires": { - "object-assign": "4.1.1", - "vary": "1.1.2" - } - }, - "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", - "optional": true, - "requires": { - "bn.js": "4.11.8", - "elliptic": "6.4.1" - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "requires": { - "cipher-base": "1.0.4", - "inherits": "2.0.3", - "md5.js": "1.3.5", - "ripemd160": "2.0.2", - "sha.js": "2.4.11" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "requires": { - "cipher-base": "1.0.4", - "create-hash": "1.2.0", - "inherits": "2.0.3", - "ripemd160": "2.0.2", - "safe-buffer": "5.1.2", - "sha.js": "2.4.11" - } - }, - "cross-fetch": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.2.3.tgz", - "integrity": "sha512-PrWWNH3yL2NYIb/7WF/5vFG3DCQiXDOVf8k3ijatbrtnwNuhMWLC7YF7uqf53tbTFDzHIUD8oITw4Bxt8ST3Nw==", - "requires": { - "node-fetch": "2.1.2", - "whatwg-fetch": "2.0.4" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "optional": true, - "requires": { - "browserify-cipher": "1.0.1", - "browserify-sign": "4.0.4", - "create-ecdh": "4.0.3", - "create-hash": "1.2.0", - "create-hmac": "1.1.7", - "diffie-hellman": "5.0.3", - "inherits": "2.0.3", - "pbkdf2": "3.0.17", - "public-encrypt": "4.0.3", - "randombytes": "2.0.6", - "randomfill": "1.0.4" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "1.0.0" - } - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "decompress": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", - "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", - "optional": true, - "requires": { - "decompress-tar": "4.1.1", - "decompress-tarbz2": "4.1.1", - "decompress-targz": "4.1.1", - "decompress-unzip": "4.0.1", - "graceful-fs": "4.1.15", - "make-dir": "1.3.0", - "pify": "2.3.0", - "strip-dirs": "2.1.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "optional": true - } - } - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "requires": { - "mimic-response": "1.0.1" - } - }, - "decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", - "requires": { - "file-type": "5.2.0", - "is-stream": "1.1.0", - "tar-stream": "1.6.2" - } - }, - "decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", - "optional": true, - "requires": { - "decompress-tar": "4.1.1", - "file-type": "6.2.0", - "is-stream": "1.1.0", - "seek-bzip": "1.0.5", - "unbzip2-stream": "1.3.1" - }, - "dependencies": { - "file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", - "optional": true - } - } - }, - "decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", - "optional": true, - "requires": { - "decompress-tar": "4.1.1", - "file-type": "5.2.0", - "is-stream": "1.1.0" - } - }, - "decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", - "optional": true, - "requires": { - "file-type": "3.9.0", - "get-stream": "2.3.1", - "pify": "2.3.0", - "yauzl": "2.10.0" - }, - "dependencies": { - "file-type": { - "version": "3.9.0", - "resolved": "http://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", - "optional": true - }, - "get-stream": { - "version": "2.3.1", - "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", - "optional": true, - "requires": { - "object-assign": "4.1.1", - "pinkie-promise": "2.0.1" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "optional": true - } - } - }, - "deep-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=" - }, - "deferred-leveldown": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz", - "integrity": "sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA==", - "requires": { - "abstract-leveldown": "2.6.3" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz", - "integrity": "sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA==", - "requires": { - "xtend": "4.0.1" - } - } - } - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "requires": { - "object-keys": "1.0.12" - }, - "dependencies": { - "object-keys": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", - "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==" - } - } - }, - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", - "optional": true, - "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.1" - } - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "requires": { - "repeating": "2.0.1" - } - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "optional": true, - "requires": { - "bn.js": "4.11.8", - "miller-rabin": "4.0.1", - "randombytes": "2.0.6" - } - }, - "dom-walk": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", - "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" - }, - "drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha1-Pja2xCs3BDgjzbwzLVjzHiRFSAs=", - "requires": { - "browserify-aes": "1.2.0", - "create-hash": "1.2.0", - "create-hmac": "1.1.7" - } - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "requires": { - "jsbn": "0.1.1", - "safer-buffer": "2.1.2" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "electron-to-chromium": { - "version": "1.3.84", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.84.tgz", - "integrity": "sha512-IYhbzJYOopiTaNWMBp7RjbecUBsbnbDneOP86f3qvS0G0xfzwNSvMJpTrvi5/Y1gU7tg2NAgeg8a8rCYvW9Whw==" - }, - "elliptic": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", - "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", - "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0", - "hash.js": "1.1.5", - "hmac-drbg": "1.0.1", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.1", - "minimalistic-crypto-utils": "1.0.1" - } - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "requires": { - "iconv-lite": "0.4.23" - } - }, - "encoding-down": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-5.0.4.tgz", - "integrity": "sha512-8CIZLDcSKxgzT+zX8ZVfgNbu8Md2wq/iqa1Y7zyVR18QBEAc0Nmzuvj/N5ykSKpfGzjM8qxbaFntLPwnVoUhZw==", - "requires": { - "abstract-leveldown": "5.0.0", - "inherits": "2.0.3", - "level-codec": "9.0.0", - "level-errors": "2.0.0", - "xtend": "4.0.1" - }, - "dependencies": { - "abstract-leveldown": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz", - "integrity": "sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A==", - "requires": { - "xtend": "4.0.1" - } - } - } - }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "requires": { - "once": "1.4.0" - } - }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "requires": { - "prr": "1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "0.2.1" - } - }, - "es-abstract": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", - "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", - "requires": { - "es-to-primitive": "1.2.0", - "function-bind": "1.1.1", - "has": "1.0.3", - "is-callable": "1.1.4", - "is-regex": "1.0.4" - } - }, - "es-to-primitive": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", - "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", - "requires": { - "is-callable": "1.1.4", - "is-date-object": "1.0.1", - "is-symbol": "1.0.2" - } - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - }, - "eth-block-tracker": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-3.0.1.tgz", - "integrity": "sha512-WUVxWLuhMmsfenfZvFO5sbl1qFY2IqUlw/FPVmjjdElpqLsZtSG+wPe9Dz7W/sB6e80HgFKknOmKk2eNlznHug==", - "requires": { - "eth-query": "2.1.2", - "ethereumjs-tx": "1.3.7", - "ethereumjs-util": "5.2.0", - "ethjs-util": "0.1.6", - "json-rpc-engine": "3.8.0", - "pify": "2.3.0", - "tape": "4.9.1" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } - } - }, - "eth-json-rpc-infura": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eth-json-rpc-infura/-/eth-json-rpc-infura-3.1.2.tgz", - "integrity": "sha512-IuK5Iowfs6taluA/3Okmu6EfZcFMq6MQuyrUL1PrCoJstuuBr3TvVeSy3keDyxfbrjFB34nCo538I8G+qMtsbw==", - "requires": { - "cross-fetch": "2.2.3", - "eth-json-rpc-middleware": "1.6.0", - "json-rpc-engine": "3.8.0", - "json-rpc-error": "2.0.0", - "tape": "4.9.1" - } - }, - "eth-json-rpc-middleware": { - "version": "1.6.0", - "resolved": "http://registry.npmjs.org/eth-json-rpc-middleware/-/eth-json-rpc-middleware-1.6.0.tgz", - "integrity": "sha512-tDVCTlrUvdqHKqivYMjtFZsdD7TtpNLBCfKAcOpaVs7orBMS/A8HWro6dIzNtTZIR05FAbJ3bioFOnZpuCew9Q==", - "requires": { - "async": "2.6.1", - "eth-query": "2.1.2", - "eth-tx-summary": "3.2.3", - "ethereumjs-block": "1.7.1", - "ethereumjs-tx": "1.3.7", - "ethereumjs-util": "5.2.0", - "ethereumjs-vm": "2.4.0", - "fetch-ponyfill": "4.1.0", - "json-rpc-engine": "3.8.0", - "json-rpc-error": "2.0.0", - "json-stable-stringify": "1.0.1", - "promise-to-callback": "1.0.0", - "tape": "4.9.1" - }, - "dependencies": { - "ethereum-common": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.2.0.tgz", - "integrity": "sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA==" - }, - "ethereumjs-block": { - "version": "1.7.1", - "resolved": "http://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz", - "integrity": "sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg==", - "requires": { - "async": "2.6.1", - "ethereum-common": "0.2.0", - "ethereumjs-tx": "1.3.7", - "ethereumjs-util": "5.2.0", - "merkle-patricia-tree": "2.3.1" - } - } - } - }, - "eth-lib": { - "version": "0.1.27", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.27.tgz", - "integrity": "sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA==", - "requires": { - "bn.js": "4.11.8", - "elliptic": "6.4.1", - "keccakjs": "0.2.1", - "nano-json-stream-parser": "0.1.2", - "servify": "0.1.12", - "ws": "3.3.3", - "xhr-request-promise": "0.1.2" - } - }, - "eth-query": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/eth-query/-/eth-query-2.1.2.tgz", - "integrity": "sha1-1nQdkAAQa1FRDHLbktY2VFam2l4=", - "requires": { - "json-rpc-random-id": "1.0.1", - "xtend": "4.0.1" - } - }, - "eth-sig-util": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-2.0.2.tgz", - "integrity": "sha512-tB6E8jf/aZQ943bo3+iojl8xRe3Jzcl+9OT6v8K7kWis6PdIX19SB2vYvN849cB9G9m/XLjYFK381SgdbsnpTA==", - "requires": { - "ethereumjs-abi": "0.6.5", - "ethereumjs-util": "5.2.0" - } - }, - "eth-tx-summary": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/eth-tx-summary/-/eth-tx-summary-3.2.3.tgz", - "integrity": "sha512-1gZpA5fKarJOVSb5OUlPnhDQuIazqAkI61zlVvf5LdG47nEgw+/qhyZnuj3CUdE/TLTKuRzPLeyXLjaB4qWTRQ==", - "requires": { - "async": "2.6.1", - "bn.js": "4.11.8", - "clone": "2.1.2", - "concat-stream": "1.6.2", - "end-of-stream": "1.4.1", - "eth-query": "2.1.2", - "ethereumjs-block": "1.7.1", - "ethereumjs-tx": "1.3.7", - "ethereumjs-util": "5.2.0", - "ethereumjs-vm": "2.3.4", - "through2": "2.0.5", - "treeify": "1.1.0", - "web3-provider-engine": "13.8.0" - }, - "dependencies": { - "eth-block-tracker": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/eth-block-tracker/-/eth-block-tracker-2.3.1.tgz", - "integrity": "sha512-NamWuMBIl8kmkJFVj8WzGatySTzQPQag4Xr677yFxdVtIxACFbL/dQowk0MzEqIKk93U1TwY3MjVU6mOcwZnKA==", - "requires": { - "async-eventemitter": "github:ahultgren/async-eventemitter#fa06e39e56786ba541c180061dbf2c0a5bbf951c", - "eth-query": "2.1.2", - "ethereumjs-tx": "1.3.7", - "ethereumjs-util": "5.2.0", - "ethjs-util": "0.1.6", - "json-rpc-engine": "3.8.0", - "pify": "2.3.0", - "tape": "4.9.1" - }, - "dependencies": { - "async-eventemitter": { - "version": "github:ahultgren/async-eventemitter#fa06e39e56786ba541c180061dbf2c0a5bbf951c", - "requires": { - "async": "2.6.1" - } - } - } - }, - "eth-sig-util": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-1.4.2.tgz", - "integrity": "sha1-jZWCAsftuq6Dlwf7pvCf8ydgYhA=", - "requires": { - "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git#2863c40e0982acfc0b7163f0285d4c56427c7799", - "ethereumjs-util": "5.2.0" - } - }, - "ethereum-common": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.2.0.tgz", - "integrity": "sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA==" - }, - "ethereumjs-abi": { - "version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#2863c40e0982acfc0b7163f0285d4c56427c7799", - "requires": { - "bn.js": "4.11.8", - "ethereumjs-util": "5.2.0" - } - }, - "ethereumjs-block": { - "version": "1.7.1", - "resolved": "http://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz", - "integrity": "sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg==", - "requires": { - "async": "2.6.1", - "ethereum-common": "0.2.0", - "ethereumjs-tx": "1.3.7", - "ethereumjs-util": "5.2.0", - "merkle-patricia-tree": "2.3.1" - } - }, - "ethereumjs-vm": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/ethereumjs-vm/-/ethereumjs-vm-2.3.4.tgz", - "integrity": "sha512-Y4SlzNDqxrCO58jhp98HdnZVdjOqB+HC0hoU+N/DEp1aU+hFkRX/nru5F7/HkQRPIlA6aJlQp/xIA6xZs1kspw==", - "requires": { - "async": "2.6.1", - "async-eventemitter": "0.2.4", - "ethereum-common": "0.2.0", - "ethereumjs-account": "2.0.5", - "ethereumjs-block": "1.7.1", - "ethereumjs-util": "5.2.0", - "fake-merkle-patricia-tree": "1.0.1", - "functional-red-black-tree": "1.0.1", - "merkle-patricia-tree": "2.3.1", - "rustbn.js": "0.1.2", - "safe-buffer": "5.1.2" - } - }, - "fs-extra": { - "version": "0.30.0", - "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "requires": { - "graceful-fs": "4.1.15", - "jsonfile": "2.4.0", - "klaw": "1.3.1", - "path-is-absolute": "1.0.1", - "rimraf": "2.6.2" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - }, - "rustbn.js": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.1.2.tgz", - "integrity": "sha512-bAkNqSHYdJdFsBC7Z11JgzYktL31HIpB2o70jZcGiL1U1TVtPyvaVhDrGWwS8uZtaqwW2k6NOPGZCqW/Dgh5Lg==" - }, - "web3-provider-engine": { - "version": "13.8.0", - "resolved": "http://registry.npmjs.org/web3-provider-engine/-/web3-provider-engine-13.8.0.tgz", - "integrity": "sha512-fZXhX5VWwWpoFfrfocslyg6P7cN3YWPG/ASaevNfeO80R+nzgoPUBXcWQekSGSsNDkeRTis4aMmpmofYf1TNtQ==", - "requires": { - "async": "2.6.1", - "clone": "2.1.2", - "eth-block-tracker": "2.3.1", - "eth-sig-util": "1.4.2", - "ethereumjs-block": "1.7.1", - "ethereumjs-tx": "1.3.7", - "ethereumjs-util": "5.2.0", - "ethereumjs-vm": "2.3.4", - "fetch-ponyfill": "4.1.0", - "json-rpc-error": "2.0.0", - "json-stable-stringify": "1.0.1", - "promise-to-callback": "1.0.0", - "readable-stream": "2.3.6", - "request": "2.88.0", - "semaphore": "1.1.0", - "solc": "0.4.24", - "tape": "4.9.1", - "xhr": "2.5.0", - "xtend": "4.0.1" - } - } - } - }, - "ethereum-common": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.16.tgz", - "integrity": "sha1-mh4Wnq00q3XgifUMpRK/0PvRJlU=" - }, - "ethereumjs-abi": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.5.tgz", - "integrity": "sha1-WmN+8Wq0NHP6cqKa2QhxQFs/UkE=", - "requires": { - "bn.js": "4.11.8", - "ethereumjs-util": "4.5.0" - }, - "dependencies": { - "ethereumjs-util": { - "version": "4.5.0", - "resolved": "http://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-4.5.0.tgz", - "integrity": "sha1-PpQosxfuvaPXJg2FT93alUsfG8Y=", - "requires": { - "bn.js": "4.11.8", - "create-hash": "1.2.0", - "keccakjs": "0.2.1", - "rlp": "2.1.0", - "secp256k1": "3.5.2" - } - } - } - }, - "ethereumjs-account": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/ethereumjs-account/-/ethereumjs-account-2.0.5.tgz", - "integrity": "sha512-bgDojnXGjhMwo6eXQC0bY6UK2liSFUSMwwylOmQvZbSl/D7NXQ3+vrGO46ZeOgjGfxXmgIeVNDIiHw7fNZM4VA==", - "requires": { - "ethereumjs-util": "5.2.0", - "rlp": "2.1.0", - "safe-buffer": "5.1.2" - } - }, - "ethereumjs-block": { - "version": "1.2.2", - "resolved": "http://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-1.2.2.tgz", - "integrity": "sha1-LsdTSlkCG47JuDww5JaQxuuu3aE=", - "requires": { - "async": "1.5.2", - "ethereum-common": "0.0.16", - "ethereumjs-tx": "1.3.7", - "ethereumjs-util": "4.5.0", - "merkle-patricia-tree": "2.3.1" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" - }, - "ethereumjs-util": { - "version": "4.5.0", - "resolved": "http://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-4.5.0.tgz", - "integrity": "sha1-PpQosxfuvaPXJg2FT93alUsfG8Y=", - "requires": { - "bn.js": "4.11.8", - "create-hash": "1.2.0", - "keccakjs": "0.2.1", - "rlp": "2.1.0", - "secp256k1": "3.5.2" - } - } - } - }, - "ethereumjs-common": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/ethereumjs-common/-/ethereumjs-common-0.4.1.tgz", - "integrity": "sha512-ywYGsOeGCsMNWso5Y4GhjWI24FJv9FK7+VyVKiQgXg8ZRDPXJ7F/kJ1CnjtkjTvDF4e0yqU+FWswlqR3bmZQ9Q==" - }, - "ethereumjs-tx": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", - "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", - "requires": { - "ethereum-common": "0.0.18", - "ethereumjs-util": "5.2.0" - }, - "dependencies": { - "ethereum-common": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", - "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" - } - } - }, - "ethereumjs-util": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz", - "integrity": "sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA==", - "requires": { - "bn.js": "4.11.8", - "create-hash": "1.2.0", - "ethjs-util": "0.1.6", - "keccak": "1.4.0", - "rlp": "2.1.0", - "safe-buffer": "5.1.2", - "secp256k1": "3.5.2" - } - }, - "ethereumjs-vm": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/ethereumjs-vm/-/ethereumjs-vm-2.4.0.tgz", - "integrity": "sha512-MJ4lCWa5c6LhahhhvoDKW+YGjK00ZQn0RHHLh4L+WaH1k6Qv7/q3uTluew6sJGNCZdlO0yYMDXYW9qyxLHKlgQ==", - "requires": { - "async": "2.6.1", - "async-eventemitter": "0.2.4", - "ethereumjs-account": "2.0.5", - "ethereumjs-block": "1.7.1", - "ethereumjs-common": "0.4.1", - "ethereumjs-util": "5.2.0", - "fake-merkle-patricia-tree": "1.0.1", - "functional-red-black-tree": "1.0.1", - "merkle-patricia-tree": "2.3.1", - "rustbn.js": "0.2.0", - "safe-buffer": "5.1.2" - }, - "dependencies": { - "ethereum-common": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.2.0.tgz", - "integrity": "sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA==" - }, - "ethereumjs-block": { - "version": "1.7.1", - "resolved": "http://registry.npmjs.org/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz", - "integrity": "sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg==", - "requires": { - "async": "2.6.1", - "ethereum-common": "0.2.0", - "ethereumjs-tx": "1.3.7", - "ethereumjs-util": "5.2.0", - "merkle-patricia-tree": "2.3.1" - } - } - } - }, - "ethereumjs-wallet": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/ethereumjs-wallet/-/ethereumjs-wallet-0.6.2.tgz", - "integrity": "sha512-DHEKPV9lYORM7dL8602dkb+AgdfzCYz2lxpdYQoD3OwG355LLDuivW9rGuLpDMCry/ORyBYV6n+QCo/71SwACg==", - "optional": true, - "requires": { - "aes-js": "3.1.2", - "bs58check": "2.1.2", - "ethereumjs-util": "5.2.0", - "hdkey": "1.1.0", - "safe-buffer": "5.1.2", - "scrypt.js": "0.2.0", - "utf8": "3.0.0", - "uuid": "3.3.2" - } - }, - "ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", - "requires": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - } - } - }, - "ethjs-util": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", - "requires": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - } - }, - "eventemitter3": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.1.1.tgz", - "integrity": "sha1-R3hr2qCHyvext15zq8XH1UAVjNA=" - }, - "events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", - "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==" - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "requires": { - "md5.js": "1.3.5", - "safe-buffer": "5.1.2" - } - }, - "express": { - "version": "4.16.4", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", - "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", - "requires": { - "accepts": "1.3.5", - "array-flatten": "1.1.1", - "body-parser": "1.18.3", - "content-disposition": "0.5.2", - "content-type": "1.0.4", - "cookie": "0.3.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "1.1.2", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", - "finalhandler": "1.1.1", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "1.1.2", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.4", - "qs": "6.5.2", - "range-parser": "1.2.0", - "safe-buffer": "5.1.2", - "send": "0.16.2", - "serve-static": "1.13.2", - "setprototypeof": "1.1.0", - "statuses": "1.4.0", - "type-is": "1.6.16", - "utils-merge": "1.0.1", - "vary": "1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - }, - "fake-merkle-patricia-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fake-merkle-patricia-tree/-/fake-merkle-patricia-tree-1.0.1.tgz", - "integrity": "sha1-S4w6z7Ugr635hgsfFM2M40As3dM=", - "requires": { - "checkpoint-store": "1.1.0" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" - }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "optional": true, - "requires": { - "pend": "1.2.0" - } - }, - "fetch-ponyfill": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/fetch-ponyfill/-/fetch-ponyfill-4.1.0.tgz", - "integrity": "sha1-rjzl9zLGReq4fkroeTQUcJsjmJM=", - "requires": { - "node-fetch": "1.7.3" - }, - "dependencies": { - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "requires": { - "encoding": "0.1.12", - "is-stream": "1.1.0" - } - } - } - }, - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" - }, - "finalhandler": { - "version": "1.1.1", - "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", - "requires": { - "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.4.0", - "unpipe": "1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" - } - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - } - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "1.1.4" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.7", - "mime-types": "2.1.21" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs-extra": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz", - "integrity": "sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU=", - "requires": { - "graceful-fs": "4.1.15", - "jsonfile": "2.4.0" - } - }, - "fs-promise": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/fs-promise/-/fs-promise-2.0.3.tgz", - "integrity": "sha1-9k5PhUvPaJqovdy6JokW2z20aFQ=", - "optional": true, - "requires": { - "any-promise": "1.3.0", - "fs-extra": "2.1.2", - "mz": "2.7.0", - "thenify-all": "1.6.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "requires": { - "graceful-fs": "4.1.15", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.2" - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" - }, - "get-stream": { - "version": "3.0.0", - "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "requires": { - "assert-plus": "1.0.0" - } - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "global": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", - "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", - "requires": { - "min-document": "2.19.0", - "process": "0.5.2" - } - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" - }, - "got": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", - "requires": { - "decompress-response": "3.3.0", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "is-plain-obj": "1.1.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "isurl": "1.0.0", - "lowercase-keys": "1.0.1", - "p-cancelable": "0.3.0", - "p-timeout": "1.2.1", - "safe-buffer": "5.1.2", - "timed-out": "4.0.1", - "url-parse-lax": "1.0.0", - "url-to-options": "1.0.1" - } - }, - "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "requires": { - "ajv": "6.5.5", - "har-schema": "2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "2.1.1" - } - }, - "has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" - }, - "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" - }, - "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "requires": { - "has-symbol-support-x": "1.4.2" - } - }, - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.2" - } - }, - "hash.js": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz", - "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", - "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.1" - } - }, - "hdkey": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hdkey/-/hdkey-1.1.0.tgz", - "integrity": "sha512-E7aU8pNlWUJbXGjTz/+lKf1LkMcA3hUrC5ZleeizrmLSd++kvf8mSOe3q8CmBDA9j4hdfXO5iY6hGiTUCOV2jQ==", - "optional": true, - "requires": { - "coinstring": "2.3.0", - "safe-buffer": "5.1.2", - "secp256k1": "3.5.2" - } - }, - "heap": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.6.tgz", - "integrity": "sha1-CH4fELBGky/IWU3Z5tN4r8nR5aw=" - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "requires": { - "hash.js": "1.1.5", - "minimalistic-assert": "1.0.1", - "minimalistic-crypto-utils": "1.0.1" - } - }, - "home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==" - }, - "http-errors": { - "version": "1.6.3", - "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "requires": { - "depd": "1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": "1.5.0" - } - }, - "http-https": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", - "integrity": "sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs=" - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.15.2" - } - }, - "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", - "requires": { - "safer-buffer": "2.1.2" - } - }, - "ieee754": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", - "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" - }, - "immediate": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", - "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "requires": { - "loose-envify": "1.4.0" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" - }, - "ipaddr.js": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", - "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=" - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "requires": { - "builtin-modules": "1.1.1" - } - }, - "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" - }, - "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-fn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fn/-/is-fn-1.0.0.tgz", - "integrity": "sha1-lUPV3nvPWwiiLsiiC65uKG1RDYw=" - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-function": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", - "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" - }, - "is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" - }, - "is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=", - "optional": true - }, - "is-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", - "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" - }, - "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "requires": { - "has": "1.0.3" - } - }, - "is-retry-allowed": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-symbol": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", - "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", - "requires": { - "has-symbols": "1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "requires": { - "has-to-string-tag-x": "1.4.1", - "is-object": "1.0.1" - } - }, - "js-sha3": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.3.1.tgz", - "integrity": "sha1-hhIoAhQvCChQKg0d7h2V4lO7AkM=" - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - }, - "jsesc": { - "version": "0.5.0", - "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" - }, - "json-rpc-engine": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-3.8.0.tgz", - "integrity": "sha512-6QNcvm2gFuuK4TKU1uwfH0Qd/cOSb9c1lls0gbnIhciktIUQJwz6NQNAW4B1KiGPenv7IKu97V222Yo1bNhGuA==", - "requires": { - "async": "2.6.1", - "babel-preset-env": "1.7.0", - "babelify": "7.3.0", - "json-rpc-error": "2.0.0", - "promise-to-callback": "1.0.0", - "safe-event-emitter": "1.0.1" - } - }, - "json-rpc-error": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/json-rpc-error/-/json-rpc-error-2.0.0.tgz", - "integrity": "sha1-p6+cICg4tekFxyUOVH8a/3cligI=", - "requires": { - "inherits": "2.0.3" - } - }, - "json-rpc-random-id": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz", - "integrity": "sha1-uknZat7RRE27jaPSA3SKy7zeyMg=" - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "json5": { - "version": "0.5.1", - "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "requires": { - "graceful-fs": "4.1.15" - } - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "keccak": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", - "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", - "requires": { - "bindings": "1.3.0", - "inherits": "2.0.3", - "nan": "2.10.0", - "safe-buffer": "5.1.2" - } - }, - "keccakjs": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/keccakjs/-/keccakjs-0.2.1.tgz", - "integrity": "sha1-HWM6+QfvMFu/ny+mFtVsRFYd+k0=", - "requires": { - "browserify-sha3": "0.0.1", - "sha3": "1.2.2" - } - }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", - "requires": { - "graceful-fs": "4.1.15" - } - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "requires": { - "invert-kv": "1.0.0" - } - }, - "level-codec": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.0.tgz", - "integrity": "sha512-OIpVvjCcZNP5SdhcNupnsI1zo5Y9Vpm+k/F1gfG5kXrtctlrwanisakweJtE0uA0OpLukRfOQae+Fg0M5Debhg==" - }, - "level-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.0.tgz", - "integrity": "sha512-AmY4HCp9h3OiU19uG+3YWkdELgy05OTP/r23aNHaQKWv8DO787yZgsEuGVkoph40uwN+YdUKnANlrxSsoOaaxg==", - "requires": { - "errno": "0.1.7" - } - }, - "level-iterator-stream": { - "version": "1.3.1", - "resolved": "http://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", - "integrity": "sha1-5Dt4sagUPm+pek9IXrjqUwNS8u0=", - "requires": { - "inherits": "2.0.3", - "level-errors": "1.1.2", - "readable-stream": "1.1.14", - "xtend": "4.0.1" - }, - "dependencies": { - "level-errors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.1.2.tgz", - "integrity": "sha512-Sw/IJwWbPKF5Ai4Wz60B52yj0zYeqzObLh8k1Tk88jVmD51cJSKWSYpRyhVIvFzZdvsPqlH5wfhp/yxdsaQH4w==", - "requires": { - "errno": "0.1.7" - } - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - } - } - }, - "level-post": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/level-post/-/level-post-1.0.7.tgz", - "integrity": "sha512-PWYqG4Q00asOrLhX7BejSajByB4EmG2GaKHfj3h5UmmZ2duciXLPGYWIjBzLECFWUGOZWlm5B20h/n3Gs3HKew==", - "requires": { - "ltgt": "2.2.1" - } - }, - "level-sublevel": { - "version": "6.6.4", - "resolved": "https://registry.npmjs.org/level-sublevel/-/level-sublevel-6.6.4.tgz", - "integrity": "sha512-pcCrTUOiO48+Kp6F1+UAzF/OtWqLcQVTVF39HLdZ3RO8XBoXt+XVPKZO1vVr1aUoxHZA9OtD2e1v7G+3S5KFDA==", - "requires": { - "bytewise": "1.1.0", - "level-codec": "9.0.0", - "level-errors": "2.0.0", - "level-iterator-stream": "2.0.3", - "ltgt": "2.1.3", - "pull-defer": "0.2.3", - "pull-level": "2.0.4", - "pull-stream": "3.6.9", - "typewiselite": "1.0.0", - "xtend": "4.0.1" - }, - "dependencies": { - "level-iterator-stream": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-2.0.3.tgz", - "integrity": "sha512-I6Heg70nfF+e5Y3/qfthJFexhRw/Gi3bIymCoXAlijZdAcLaPuWSJs3KXyTYf23ID6g0o2QF62Yh+grOXY3Rig==", - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "xtend": "4.0.1" - } - }, - "ltgt": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.1.3.tgz", - "integrity": "sha1-EIUaBtmWS5cReEQcI8nlJpjuzjQ=" - } - } - }, - "level-ws": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-0.0.0.tgz", - "integrity": "sha1-Ny5RIXeSSgBCSwtDrvK7QkltIos=", - "requires": { - "readable-stream": "1.0.34", - "xtend": "2.1.2" - }, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", - "requires": { - "object-keys": "0.4.0" - } - } - } - }, - "levelup": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-3.1.1.tgz", - "integrity": "sha512-9N10xRkUU4dShSRRFTBdNaBxofz+PGaIZO962ckboJZiNmLuhVT6FZ6ZKAsICKfUBO76ySaYU6fJWX/jnj3Lcg==", - "requires": { - "deferred-leveldown": "4.0.2", - "level-errors": "2.0.0", - "level-iterator-stream": "3.0.1", - "xtend": "4.0.1" - }, - "dependencies": { - "abstract-leveldown": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz", - "integrity": "sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A==", - "requires": { - "xtend": "4.0.1" - } - }, - "deferred-leveldown": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-4.0.2.tgz", - "integrity": "sha512-5fMC8ek8alH16QiV0lTCis610D1Zt1+LA4MS4d63JgS32lrCjTFDUFz2ao09/j2I4Bqb5jL4FZYwu7Jz0XO1ww==", - "requires": { - "abstract-leveldown": "5.0.0", - "inherits": "2.0.3" - } - }, - "level-iterator-stream": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-3.0.1.tgz", - "integrity": "sha512-nEIQvxEED9yRThxvOrq8Aqziy4EGzrxSZK+QzEFAVuJvQ8glfyZ96GB6BoI4sBbLfjMXm2w4vu3Tkcm9obcY0g==", - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "xtend": "4.0.1" - } - } - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "requires": { - "graceful-fs": "4.1.15", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } - } - }, - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" - }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" - }, - "looper": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-2.0.0.tgz", - "integrity": "sha1-Zs0Md0rz1P7axTeU90LbVtqPCew=" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "3.0.2" - } - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" - }, - "lru-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-3.2.0.tgz", - "integrity": "sha1-cXibO39Tmb7IVl3aOKow0qCX7+4=", - "requires": { - "pseudomap": "1.0.2" - } - }, - "ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=" - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "optional": true, - "requires": { - "pify": "3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "optional": true - } - } - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "requires": { - "hash-base": "3.0.4", - "inherits": "2.0.3", - "safe-buffer": "5.1.2" - } - }, - "media-typer": { - "version": "0.3.0", - "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "memdown": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-1.4.1.tgz", - "integrity": "sha1-tOThkhdGZP+65BNhqlAPMRnv4hU=", - "requires": { - "abstract-leveldown": "2.7.2", - "functional-red-black-tree": "1.0.1", - "immediate": "3.2.3", - "inherits": "2.0.3", - "ltgt": "2.2.1", - "safe-buffer": "5.1.2" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz", - "integrity": "sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==", - "requires": { - "xtend": "4.0.1" - } - } - } - }, - "memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=" - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "merkle-patricia-tree": { - "version": "2.3.1", - "resolved": "http://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.1.tgz", - "integrity": "sha512-Qp9Mpb3xazznXzzGQBqHbqCpT2AR9joUOHYYPiQjYCarrdCPCnLWXo4BFv77y4xN26KR224xoU1n/qYY7RYYgw==", - "requires": { - "async": "1.5.2", - "ethereumjs-util": "5.2.0", - "level-ws": "0.0.0", - "levelup": "1.3.9", - "memdown": "1.4.1", - "readable-stream": "2.3.6", - "rlp": "2.1.0", - "semaphore": "1.1.0" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" - }, - "level-codec": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-7.0.1.tgz", - "integrity": "sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ==" - }, - "level-errors": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-1.0.5.tgz", - "integrity": "sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig==", - "requires": { - "errno": "0.1.7" - } - }, - "levelup": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-1.3.9.tgz", - "integrity": "sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ==", - "requires": { - "deferred-leveldown": "1.2.2", - "level-codec": "7.0.1", - "level-errors": "1.0.5", - "level-iterator-stream": "1.3.1", - "prr": "1.0.1", - "semver": "5.4.1", - "xtend": "4.0.1" - } - } - } - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "optional": true, - "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0" - } - }, - "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" - }, - "mime-db": { - "version": "1.37.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" - }, - "mime-types": { - "version": "2.1.21", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", - "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", - "requires": { - "mime-db": "1.37.0" - } - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - }, - "min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "requires": { - "dom-walk": "0.1.1" - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "1.1.11" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - } - }, - "mkdirp-promise": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", - "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=", - "optional": true, - "requires": { - "mkdirp": "0.5.1" - } - }, - "mock-fs": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.7.0.tgz", - "integrity": "sha512-WlQNtUlzMRpvLHf8dqeUmNqfdPjGY29KrJF50Ldb4AcL+vQeR8QH3wQcFMgrhTwb1gHjZn9xggho+84tBskLgA==", - "optional": true - }, - "mout": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/mout/-/mout-0.11.1.tgz", - "integrity": "sha1-ujYR318OWx/7/QEWa48C0fX6K5k=", - "optional": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "optional": true, - "requires": { - "any-promise": "1.3.0", - "object-assign": "4.1.1", - "thenify-all": "1.6.0" - } - }, - "nan": { - "version": "2.10.0", - "resolved": "http://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==" - }, - "nano-json-stream-parser": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", - "integrity": "sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18=" - }, - "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" - }, - "node-fetch": { - "version": "2.1.2", - "resolved": "http://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", - "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=" - }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "requires": { - "hosted-git-info": "2.7.1", - "is-builtin-module": "1.0.0", - "semver": "5.4.1", - "validate-npm-package-license": "3.0.4" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", - "requires": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - } - } - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-inspect": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", - "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==" - }, - "object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=" - }, - "oboe": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.3.tgz", - "integrity": "sha1-K0hl29Rr6BIlcT9Om/5Lz09oCk8=", - "requires": { - "http-https": "1.0.0" - } - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1.0.2" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - }, - "os-locale": { - "version": "1.4.0", - "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "requires": { - "lcid": "1.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, - "p-timeout": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", - "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", - "requires": { - "p-finally": "1.0.0" - } - }, - "parse-asn1": { - "version": "5.1.1", - "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", - "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", - "requires": { - "asn1.js": "4.10.1", - "browserify-aes": "1.2.0", - "create-hash": "1.2.0", - "evp_bytestokey": "1.0.3", - "pbkdf2": "3.0.17" - } - }, - "parse-headers": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.1.tgz", - "integrity": "sha1-aug6eqJanZtwCswoaYzR8e1+lTY=", - "requires": { - "for-each": "0.3.3", - "trim": "0.0.1" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "requires": { - "error-ex": "1.3.2" - } - }, - "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "requires": { - "pinkie-promise": "2.0.1" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "requires": { - "graceful-fs": "4.1.15", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } - } - }, - "pbkdf2": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", - "requires": { - "create-hash": "1.2.0", - "create-hmac": "1.1.7", - "ripemd160": "2.0.2", - "safe-buffer": "5.1.2", - "sha.js": "2.4.11" - } - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "optional": true - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { - "pinkie": "2.0.4" - } - }, - "precond": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/precond/-/precond-0.2.3.tgz", - "integrity": "sha1-qpWRvKokkj8eD0hJ0kD0fvwQdaw=" - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" - }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" - }, - "process": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", - "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" - }, - "promise-to-callback": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/promise-to-callback/-/promise-to-callback-1.0.0.tgz", - "integrity": "sha1-XSp0kBC/tn2WNZj805YHRqaP7vc=", - "requires": { - "is-fn": "1.0.0", - "set-immediate-shim": "1.0.1" - } - }, - "proxy-addr": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", - "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", - "requires": { - "forwarded": "0.1.2", - "ipaddr.js": "1.8.0" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" - }, - "psl": { - "version": "1.1.29", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", - "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==" - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "optional": true, - "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.2.0", - "parse-asn1": "5.1.1", - "randombytes": "2.0.6", - "safe-buffer": "5.1.2" - } - }, - "pull-cat": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/pull-cat/-/pull-cat-1.1.11.tgz", - "integrity": "sha1-tkLdElXaN2pwa220+pYvX9t0wxs=" - }, - "pull-defer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/pull-defer/-/pull-defer-0.2.3.tgz", - "integrity": "sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA==" - }, - "pull-level": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pull-level/-/pull-level-2.0.4.tgz", - "integrity": "sha512-fW6pljDeUThpq5KXwKbRG3X7Ogk3vc75d5OQU/TvXXui65ykm+Bn+fiktg+MOx2jJ85cd+sheufPL+rw9QSVZg==", - "requires": { - "level-post": "1.0.7", - "pull-cat": "1.1.11", - "pull-live": "1.0.1", - "pull-pushable": "2.2.0", - "pull-stream": "3.6.9", - "pull-window": "2.1.4", - "stream-to-pull-stream": "1.7.2" - } - }, - "pull-live": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/pull-live/-/pull-live-1.0.1.tgz", - "integrity": "sha1-pOzuAeMwFV6RJLu89HYfIbOPUfU=", - "requires": { - "pull-cat": "1.1.11", - "pull-stream": "3.6.9" - } - }, - "pull-pushable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/pull-pushable/-/pull-pushable-2.2.0.tgz", - "integrity": "sha1-Xy867UethpGfAbEqLpnW8b13ZYE=" - }, - "pull-stream": { - "version": "3.6.9", - "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.9.tgz", - "integrity": "sha512-hJn4POeBrkttshdNl0AoSCVjMVSuBwuHocMerUdoZ2+oIUzrWHFTwJMlbHND7OiKLVgvz6TFj8ZUVywUMXccbw==" - }, - "pull-window": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/pull-window/-/pull-window-2.1.4.tgz", - "integrity": "sha1-/DuG/uvRkgx64pdpHiP3BfiFUvA=", - "requires": { - "looper": "2.0.0" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" - }, - "query-string": { - "version": "5.1.1", - "resolved": "http://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "requires": { - "decode-uri-component": "0.2.0", - "object-assign": "4.1.1", - "strict-uri-encode": "1.1.0" - } - }, - "randombytes": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", - "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "optional": true, - "requires": { - "randombytes": "2.0.6", - "safe-buffer": "5.1.2" - } - }, - "randomhex": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/randomhex/-/randomhex-0.1.5.tgz", - "integrity": "sha1-us7vmCMpCRQA8qKRLGzQLxCU9YU=" - }, - "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" - }, - "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", - "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", - "unpipe": "1.0.0" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "5.1.2" - } - } - } - }, - "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - }, - "regenerator-transform": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", - "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "private": "0.1.8" - } - }, - "regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", - "requires": { - "regenerate": "1.4.0", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" - } - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "http://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "requires": { - "jsesc": "0.5.0" - } - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "requires": { - "is-finite": "1.0.2" - } - }, - "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.8.0", - "caseless": "0.12.0", - "combined-stream": "1.0.7", - "extend": "3.0.2", - "forever-agent": "0.6.1", - "form-data": "2.3.3", - "har-validator": "5.1.3", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.21", - "oauth-sign": "0.9.0", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.1.2", - "tough-cookie": "2.4.3", - "tunnel-agent": "0.6.0", - "uuid": "3.3.2" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "require-from-string": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", - "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=" - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" - }, - "resolve": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", - "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", - "requires": { - "path-parse": "1.0.6" - } - }, - "resumer": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz", - "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", - "requires": { - "through": "2.3.8" - } - }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "requires": { - "glob": "7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "requires": { - "hash-base": "3.0.4", - "inherits": "2.0.3" - } - }, - "rlp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.1.0.tgz", - "integrity": "sha512-93U7IKH5j7nmXFVg19MeNBGzQW5uXW1pmCuKY8veeKIhYTE32C2d0mOegfiIAfXcHOKJjjPlJisn8iHDF5AezA==", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "rustbn.js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", - "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safe-event-emitter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz", - "integrity": "sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg==", - "requires": { - "events": "3.0.0" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "scrypt": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/scrypt/-/scrypt-6.0.3.tgz", - "integrity": "sha1-BOAUpWgrU/pQwtXM4WfXGcBthw0=", - "optional": true, - "requires": { - "nan": "2.10.0" - } - }, - "scrypt.js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/scrypt.js/-/scrypt.js-0.2.0.tgz", - "integrity": "sha1-r40UZbcemZARC+38WTuUeeA6ito=", - "optional": true, - "requires": { - "scrypt": "6.0.3", - "scryptsy": "1.2.1" - } - }, - "scryptsy": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-1.2.1.tgz", - "integrity": "sha1-oyJfpLJST4AnAHYeKFW987LZIWM=", - "optional": true, - "requires": { - "pbkdf2": "3.0.17" - } - }, - "secp256k1": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.5.2.tgz", - "integrity": "sha512-iin3kojdybY6NArd+UFsoTuapOF7bnJNf2UbcWXaY3z+E1sJDipl60vtzB5hbO/uquBu7z0fd4VC4Irp+xoFVQ==", - "requires": { - "bindings": "1.3.0", - "bip66": "1.1.5", - "bn.js": "4.11.8", - "create-hash": "1.2.0", - "drbg.js": "1.0.1", - "elliptic": "6.4.1", - "nan": "2.10.0", - "safe-buffer": "5.1.2" - } - }, - "seedrandom": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-2.4.4.tgz", - "integrity": "sha512-9A+PDmgm+2du77B5i0Ip2cxOqqHjgNxnBgglxLcX78A2D6c2rTo61z4jnVABpF4cKeDMDG+cmXXvdnqse2VqMA==" - }, - "seek-bzip": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", - "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", - "optional": true, - "requires": { - "commander": "2.8.1" - } - }, - "semaphore": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/semaphore/-/semaphore-1.1.0.tgz", - "integrity": "sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==" - }, - "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" - }, - "send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", - "requires": { - "debug": "2.6.9", - "depd": "1.1.2", - "destroy": "1.0.4", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", - "fresh": "0.5.2", - "http-errors": "1.6.3", - "mime": "1.4.1", - "ms": "2.0.0", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.4.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" - } - } - }, - "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", - "requires": { - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "parseurl": "1.3.2", - "send": "0.16.2" - } - }, - "servify": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", - "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", - "requires": { - "body-parser": "1.18.3", - "cors": "2.8.5", - "express": "4.16.4", - "request": "2.88.0", - "xhr": "2.5.0" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "optional": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "sha.js": { - "version": "2.4.11", - "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.2" - } - }, - "sha3": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/sha3/-/sha3-1.2.2.tgz", - "integrity": "sha1-pmxQmN5MJbyIM27ItIF9AFvKe6k=", - "requires": { - "nan": "2.10.0" - } - }, - "simple-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", - "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=" - }, - "simple-get": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", - "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", - "requires": { - "decompress-response": "3.3.0", - "once": "1.4.0", - "simple-concat": "1.0.0" - } - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" - }, - "solc": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.24.tgz", - "integrity": "sha512-2xd7Cf1HeVwrIb6Bu1cwY2/TaLRodrppCq3l7rhLimFQgmxptXhTC3+/wesVLpB09F1A2kZgvbMOgH7wvhFnBQ==", - "requires": { - "fs-extra": "0.30.0", - "memorystream": "0.3.1", - "require-from-string": "1.2.1", - "semver": "5.4.1", - "yargs": "4.8.1" - }, - "dependencies": { - "fs-extra": { - "version": "0.30.0", - "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "requires": { - "graceful-fs": "4.1.15", - "jsonfile": "2.4.0", - "klaw": "1.3.1", - "path-is-absolute": "1.0.1", - "rimraf": "2.6.2" - } - } - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "spdx-correct": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.2.tgz", - "integrity": "sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ==", - "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.2" - } - }, - "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==" - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "requires": { - "spdx-exceptions": "2.2.0", - "spdx-license-ids": "3.0.2" - } - }, - "spdx-license-ids": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz", - "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg==" - }, - "sshpk": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz", - "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==", - "requires": { - "asn1": "0.2.4", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.2", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.2", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "safer-buffer": "2.1.2", - "tweetnacl": "0.14.5" - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, - "stream-to-pull-stream": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.2.tgz", - "integrity": "sha1-dXYJrhzr0zx0MtSvvjH/eGULnd4=", - "requires": { - "looper": "3.0.0", - "pull-stream": "3.6.9" - }, - "dependencies": { - "looper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz", - "integrity": "sha1-LvpUw7HLq6m5Su4uWRSwvlf7t0k=" - } - } - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string.prototype.trim": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz", - "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=", - "requires": { - "define-properties": "1.1.3", - "es-abstract": "1.12.0", - "function-bind": "1.1.1" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "requires": { - "is-utf8": "0.2.1" - } - }, - "strip-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", - "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", - "optional": true, - "requires": { - "is-natural-number": "4.0.1" - } - }, - "strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", - "requires": { - "is-hex-prefixed": "1.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - }, - "swarm-js": { - "version": "0.1.37", - "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.37.tgz", - "integrity": "sha512-G8gi5fcXP/2upwiuOShJ258sIufBVztekgobr3cVgYXObZwJ5AXLqZn52AI+/ffft29pJexF9WNdUxjlkVehoQ==", - "optional": true, - "requires": { - "bluebird": "3.5.3", - "buffer": "5.2.1", - "decompress": "4.2.0", - "eth-lib": "0.1.27", - "fs-extra": "2.1.2", - "fs-promise": "2.0.3", - "got": "7.1.0", - "mime-types": "2.1.21", - "mkdirp-promise": "5.0.1", - "mock-fs": "4.7.0", - "setimmediate": "1.0.5", - "tar.gz": "1.0.7", - "xhr-request-promise": "0.1.2" - } - }, - "tape": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/tape/-/tape-4.9.1.tgz", - "integrity": "sha512-6fKIXknLpoe/Jp4rzHKFPpJUHDHDqn8jus99IfPnHIjyz78HYlefTGD3b5EkbQzuLfaEvmfPK3IolLgq2xT3kw==", - "requires": { - "deep-equal": "1.0.1", - "defined": "1.0.0", - "for-each": "0.3.3", - "function-bind": "1.1.1", - "glob": "7.1.3", - "has": "1.0.3", - "inherits": "2.0.3", - "minimist": "1.2.0", - "object-inspect": "1.6.0", - "resolve": "1.7.1", - "resumer": "0.0.0", - "string.prototype.trim": "1.1.2", - "through": "2.3.8" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - } - } - }, - "tar": { - "version": "2.2.1", - "resolved": "http://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", - "optional": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "requires": { - "bl": "1.2.2", - "buffer-alloc": "1.2.0", - "end-of-stream": "1.4.1", - "fs-constants": "1.0.0", - "readable-stream": "2.3.6", - "to-buffer": "1.1.1", - "xtend": "4.0.1" - } - }, - "tar.gz": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/tar.gz/-/tar.gz-1.0.7.tgz", - "integrity": "sha512-uhGatJvds/3diZrETqMj4RxBR779LKlIE74SsMcn5JProZsfs9j0QBwWO1RW+IWNJxS2x8Zzra1+AW6OQHWphg==", - "optional": true, - "requires": { - "bluebird": "2.11.0", - "commander": "2.8.1", - "fstream": "1.0.11", - "mout": "0.11.1", - "tar": "2.2.1" - }, - "dependencies": { - "bluebird": { - "version": "2.11.0", - "resolved": "http://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", - "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", - "optional": true - } - } - }, - "thenify": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", - "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", - "requires": { - "any-promise": "1.3.0" - } - }, - "thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", - "requires": { - "thenify": "3.3.0" - } - }, - "through": { - "version": "2.3.8", - "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "requires": { - "readable-stream": "2.3.6", - "xtend": "4.0.1" - } - }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "1.0.2" - } - }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" - }, - "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "requires": { - "psl": "1.1.29", - "punycode": "1.4.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - } - } - }, - "treeify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz", - "integrity": "sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==" - }, - "trim": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" - }, - "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "2.1.21" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "1.0.0" - } - }, - "typewise": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typewise/-/typewise-1.0.3.tgz", - "integrity": "sha1-EGeTZUCvl5N8xdz5kiSG6fooRlE=", - "requires": { - "typewise-core": "1.2.0" - } - }, - "typewise-core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/typewise-core/-/typewise-core-1.2.0.tgz", - "integrity": "sha1-l+uRgFx/VdL5QXSPpQ0xXZke8ZU=" - }, - "typewiselite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typewiselite/-/typewiselite-1.0.0.tgz", - "integrity": "sha1-yIgvobsQksBgBal/NO9chQjjZk4=" - }, - "ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" - }, - "unbzip2-stream": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.1.tgz", - "integrity": "sha512-fIZnvdjblYs7Cru/xC6tCPVhz7JkYcVQQkePwMLyQELzYTds2Xn8QefPVnvdVhhZqubxNA1cASXEH5wcK0Bucw==", - "optional": true, - "requires": { - "buffer": "3.6.0", - "through": "2.3.8" - }, - "dependencies": { - "base64-js": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", - "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=", - "optional": true - }, - "buffer": { - "version": "3.6.0", - "resolved": "http://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz", - "integrity": "sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=", - "optional": true, - "requires": { - "base64-js": "0.0.8", - "ieee754": "1.1.12", - "isarray": "1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "optional": true - } - } - }, - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" - }, - "unorm": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz", - "integrity": "sha1-NkIA1fE2RsqLzURJAnEzVhR5IwA=" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "requires": { - "punycode": "2.1.1" - } - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "requires": { - "prepend-http": "1.0.4" - } - }, - "url-set-query": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", - "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=" - }, - "url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" - }, - "utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", - "optional": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "requires": { - "spdx-correct": "3.0.2", - "spdx-expression-parse": "3.0.0" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "requires": { - "assert-plus": "1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "1.3.0" - } - }, - "web3": { - "version": "1.0.0-beta.35", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.0.0-beta.35.tgz", - "integrity": "sha512-xwDmUhvTcHQvvNnOPcPZZgCxKUsI2e+GbHy7JkTK3/Rmnutazy8x7fsAXT9myw7V1qpi3GgLoZ3fkglSUbg1Mg==", - "optional": true, - "requires": { - "web3-bzz": "1.0.0-beta.35", - "web3-core": "1.0.0-beta.35", - "web3-eth": "1.0.0-beta.35", - "web3-eth-personal": "1.0.0-beta.35", - "web3-net": "1.0.0-beta.35", - "web3-shh": "1.0.0-beta.35", - "web3-utils": "1.0.0-beta.35" - } - }, - "web3-bzz": { - "version": "1.0.0-beta.35", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.0.0-beta.35.tgz", - "integrity": "sha512-BhAU0qhlr8zltm4gs/+P1gki2VkxHJaM2Rrh4DGesDW0lzwufRoNvWFlwx1bKHoFPWNbSmm9PRkHOYOINL/Tgw==", - "optional": true, - "requires": { - "got": "7.1.0", - "swarm-js": "0.1.37", - "underscore": "1.8.3" - } - }, - "web3-core": { - "version": "1.0.0-beta.35", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.0.0-beta.35.tgz", - "integrity": "sha512-ayGavbgVk4KL9Y88Uv411fBJ0SVgVfKhKEBweKYzmP0zOqneMzWt6YsyD1n6kRvjAbqA0AfUPEOKyMNjcx2tjw==", - "requires": { - "web3-core-helpers": "1.0.0-beta.35", - "web3-core-method": "1.0.0-beta.35", - "web3-core-requestmanager": "1.0.0-beta.35", - "web3-utils": "1.0.0-beta.35" - } - }, - "web3-core-helpers": { - "version": "1.0.0-beta.35", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.35.tgz", - "integrity": "sha512-APOu3sEsamyqWt//8o4yq9KF25/uqGm+pQShson/sC4gKzmfJB07fLo2ond0X30E8fIqAPeVCotPXQxGciGUmA==", - "requires": { - "underscore": "1.8.3", - "web3-eth-iban": "1.0.0-beta.35", - "web3-utils": "1.0.0-beta.35" - } - }, - "web3-core-method": { - "version": "1.0.0-beta.35", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.0.0-beta.35.tgz", - "integrity": "sha512-jidImCide8q0GpfsO4L73qoHrbkeWgwU3uOH5DKtJtv0ccmG086knNMRgryb/o9ZgetDWLmDEsJnHjBSoIwcbA==", - "requires": { - "underscore": "1.8.3", - "web3-core-helpers": "1.0.0-beta.35", - "web3-core-promievent": "1.0.0-beta.35", - "web3-core-subscriptions": "1.0.0-beta.35", - "web3-utils": "1.0.0-beta.35" - } - }, - "web3-core-promievent": { - "version": "1.0.0-beta.35", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.0.0-beta.35.tgz", - "integrity": "sha512-GvqXqKq07OmHuVi5uNRg6k79a1/CI0ViCC+EtNv4CORHtDRmYEt5Bvdv6z6FJEiaaQkD0lKbFwNhLxutx7HItw==", - "requires": { - "any-promise": "1.3.0", - "eventemitter3": "1.1.1" - } - }, - "web3-core-requestmanager": { - "version": "1.0.0-beta.35", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.0.0-beta.35.tgz", - "integrity": "sha512-S+zW2h17ZZQU9oe3yaCJE0E7aJS4C3Kf4kGPDv+nXjW0gKhQQhgVhw1Doq/aYQGqNSWJp7f1VHkz5gQWwg6RRg==", - "requires": { - "underscore": "1.8.3", - "web3-core-helpers": "1.0.0-beta.35", - "web3-providers-http": "1.0.0-beta.35", - "web3-providers-ipc": "1.0.0-beta.35", - "web3-providers-ws": "1.0.0-beta.35" - } - }, - "web3-core-subscriptions": { - "version": "1.0.0-beta.35", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.35.tgz", - "integrity": "sha512-gXzLrWvcGkGiWq1y33Z4Y80XI8XMrwowiQJkrPSjQ81K5PBKquOGwcMffLaKcwdmEy/NpsOXDeFo3eLE1Ghvvw==", - "requires": { - "eventemitter3": "1.1.1", - "underscore": "1.8.3", - "web3-core-helpers": "1.0.0-beta.35" - } - }, - "web3-eth": { - "version": "1.0.0-beta.35", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.0.0-beta.35.tgz", - "integrity": "sha512-04mcb2nGPXThawuuYICPOxv0xOHofvQKsjZeIq+89nyOC8DQMGTAErDkGyMHQYtjpth5XDhic0wuEsA80AmFZA==", - "optional": true, - "requires": { - "underscore": "1.8.3", - "web3-core": "1.0.0-beta.35", - "web3-core-helpers": "1.0.0-beta.35", - "web3-core-method": "1.0.0-beta.35", - "web3-core-subscriptions": "1.0.0-beta.35", - "web3-eth-abi": "1.0.0-beta.35", - "web3-eth-accounts": "1.0.0-beta.35", - "web3-eth-contract": "1.0.0-beta.35", - "web3-eth-iban": "1.0.0-beta.35", - "web3-eth-personal": "1.0.0-beta.35", - "web3-net": "1.0.0-beta.35", - "web3-utils": "1.0.0-beta.35" - } - }, - "web3-eth-abi": { - "version": "1.0.0-beta.35", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.35.tgz", - "integrity": "sha512-KUDC+EtFFYG8z01ZleKrASdjj327/rtWHzEt6RWsEj7bBa0bGp9nEh+nqdZx/Sdgz1O8tnfFzJlrRcXpfr1vGg==", - "requires": { - "bn.js": "4.11.6", - "underscore": "1.8.3", - "web3-core-helpers": "1.0.0-beta.35", - "web3-utils": "1.0.0-beta.35" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - } - } - }, - "web3-eth-accounts": { - "version": "1.0.0-beta.35", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.35.tgz", - "integrity": "sha512-duIgRsfht/0kAW/eQ0X9lKtVIykbETrnM2H7EnvplCzPHtQLodpib4o9JXfh9n6ZDgdDC7cuJoiVB9QJg089ew==", - "optional": true, - "requires": { - "any-promise": "1.3.0", - "crypto-browserify": "3.12.0", - "eth-lib": "0.2.7", - "scrypt.js": "0.2.0", - "underscore": "1.8.3", - "uuid": "2.0.1", - "web3-core": "1.0.0-beta.35", - "web3-core-helpers": "1.0.0-beta.35", - "web3-core-method": "1.0.0-beta.35", - "web3-utils": "1.0.0-beta.35" - }, - "dependencies": { - "eth-lib": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", - "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", - "optional": true, - "requires": { - "bn.js": "4.11.8", - "elliptic": "6.4.1", - "xhr-request-promise": "0.1.2" - } - }, - "uuid": { - "version": "2.0.1", - "resolved": "http://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", - "optional": true - } - } - }, - "web3-eth-contract": { - "version": "1.0.0-beta.35", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.35.tgz", - "integrity": "sha512-foPohOg5O1UCGKGZOIs+kQK5IZdV2QQ7pAWwNxH8WHplUA+fre1MurXNpoxknUmH6mYplFhXjqgYq2MsrBpHrA==", - "optional": true, - "requires": { - "underscore": "1.8.3", - "web3-core": "1.0.0-beta.35", - "web3-core-helpers": "1.0.0-beta.35", - "web3-core-method": "1.0.0-beta.35", - "web3-core-promievent": "1.0.0-beta.35", - "web3-core-subscriptions": "1.0.0-beta.35", - "web3-eth-abi": "1.0.0-beta.35", - "web3-utils": "1.0.0-beta.35" - } - }, - "web3-eth-iban": { - "version": "1.0.0-beta.35", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.35.tgz", - "integrity": "sha512-H5wkcNcAIc+h/WoDIKv7ZYmrM2Xqu3O7jBQl1IWo73EDVQji+AoB2i3J8tuwI1yZRInRwrfpI3Zuwuf54hXHmQ==", - "requires": { - "bn.js": "4.11.6", - "web3-utils": "1.0.0-beta.35" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - } - } - }, - "web3-eth-personal": { - "version": "1.0.0-beta.35", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.0.0-beta.35.tgz", - "integrity": "sha512-AcM9nnlxu7ZRRxPvkrFB9eLxMM4A2cPfj2aCg21Wb2EpMnhR+b/O1cT33k7ApRowoMpM+T9M8vx2oPNwXfaCOQ==", - "requires": { - "web3-core": "1.0.0-beta.35", - "web3-core-helpers": "1.0.0-beta.35", - "web3-core-method": "1.0.0-beta.35", - "web3-net": "1.0.0-beta.35", - "web3-utils": "1.0.0-beta.35" - } - }, - "web3-net": { - "version": "1.0.0-beta.35", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.0.0-beta.35.tgz", - "integrity": "sha512-bbwaQ/KohGjIJ6HAKbZ6KrklCAaG6/B7hIbAbVLSFLxF+Yz9lmAgQYaDInpidpC/NLb3WOmcbRF+P77J4qMVIA==", - "requires": { - "web3-core": "1.0.0-beta.35", - "web3-core-method": "1.0.0-beta.35", - "web3-utils": "1.0.0-beta.35" - } - }, - "web3-provider-engine": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/web3-provider-engine/-/web3-provider-engine-14.1.0.tgz", - "integrity": "sha512-vGZtqhSUzGTiMGhJXNnB/aRDlrPZLhLnBZ2NPArkZtr8XSrwg9m08tw4+PuWg5za0TJuoE/vuPQc501HddZZWw==", - "requires": { - "async": "2.6.1", - "backoff": "2.5.0", - "clone": "2.1.2", - "cross-fetch": "2.2.3", - "eth-block-tracker": "3.0.1", - "eth-json-rpc-infura": "3.1.2", - "eth-sig-util": "1.4.2", - "ethereumjs-block": "1.2.2", - "ethereumjs-tx": "1.3.7", - "ethereumjs-util": "5.2.0", - "ethereumjs-vm": "2.4.0", - "json-rpc-error": "2.0.0", - "json-stable-stringify": "1.0.1", - "promise-to-callback": "1.0.0", - "readable-stream": "2.3.6", - "request": "2.88.0", - "semaphore": "1.1.0", - "ws": "5.2.2", - "xhr": "2.5.0", - "xtend": "4.0.1" - }, - "dependencies": { - "eth-sig-util": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-1.4.2.tgz", - "integrity": "sha1-jZWCAsftuq6Dlwf7pvCf8ydgYhA=", - "requires": { - "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git#2863c40e0982acfc0b7163f0285d4c56427c7799", - "ethereumjs-util": "5.2.0" - } - }, - "ethereumjs-abi": { - "version": "git+https://github.com/ethereumjs/ethereumjs-abi.git#2863c40e0982acfc0b7163f0285d4c56427c7799", - "requires": { - "bn.js": "4.11.8", - "ethereumjs-util": "5.2.0" - } - }, - "ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", - "requires": { - "async-limiter": "1.0.0" - } - } - } - }, - "web3-providers-http": { - "version": "1.0.0-beta.35", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.0.0-beta.35.tgz", - "integrity": "sha512-DcIMFq52Fb08UpWyZ3ZlES6NsNqJnco4hBS/Ej6eOcASfuUayPI+GLkYVZsnF3cBYqlH+DOKuArcKSuIxK7jIA==", - "requires": { - "web3-core-helpers": "1.0.0-beta.35", - "xhr2-cookies": "1.1.0" - } - }, - "web3-providers-ipc": { - "version": "1.0.0-beta.35", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.0.0-beta.35.tgz", - "integrity": "sha512-iB0FG0HcpUnayfa8pn4guqEQ4Y1nrroi/jffdtQgFkrNt0sD3fMSwwC0AbmECqj3tDLl0e1slBR0RENll+ZF0g==", - "requires": { - "oboe": "2.1.3", - "underscore": "1.8.3", - "web3-core-helpers": "1.0.0-beta.35" - } - }, - "web3-providers-ws": { - "version": "1.0.0-beta.35", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.0.0-beta.35.tgz", - "integrity": "sha512-Cx64NgDStynKaUGDIIOfaCd0fZusL8h5avKTkdTjUu2aHhFJhZoVBGVLhoDtUaqZGWIZGcBJOoVf2JkGUOjDRQ==", - "requires": { - "underscore": "1.8.3", - "web3-core-helpers": "1.0.0-beta.35" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "websocket": { - "version": "git://github.com/frozeman/WebSocket-Node.git#6c72925e3f8aaaea8dc8450f97627e85263999f2", - "requires": { - "debug": "2.6.9", - "nan": "2.10.0", - "typedarray-to-buffer": "3.1.5", - "yaeti": "0.0.6" - } - } - } - }, - "web3-shh": { - "version": "1.0.0-beta.35", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.0.0-beta.35.tgz", - "integrity": "sha512-8qSonk/x0xabERS9Sr6AIADN/Ty+5KwARkkGIfSYHKqFpdMDz+76F7cUCxtoCZoS8K04xgZlDKYe0TJXLYA0Fw==", - "optional": true, - "requires": { - "web3-core": "1.0.0-beta.35", - "web3-core-method": "1.0.0-beta.35", - "web3-core-subscriptions": "1.0.0-beta.35", - "web3-net": "1.0.0-beta.35" - } - }, - "web3-utils": { - "version": "1.0.0-beta.35", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.35.tgz", - "integrity": "sha512-Dq6f0SOKj3BDFRgOPnE6ALbzBDCKVIW8mKWVf7tGVhTDHf+wQaWwQSC3aArFSqdExB75BPBPyDpuMTNszhljpA==", - "requires": { - "bn.js": "4.11.6", - "eth-lib": "0.1.27", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randomhex": "0.1.5", - "underscore": "1.8.3", - "utf8": "2.1.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - }, - "utf8": { - "version": "2.1.1", - "resolved": "http://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz", - "integrity": "sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g=" - } - } - }, - "websocket": { - "version": "1.0.26", - "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.26.tgz", - "integrity": "sha512-fjcrYDPIQxpTnqFQ9JjxUQcdvR89MFAOjPBlF+vjOt49w/XW4fJknUoMz/mDIn2eK1AdslVojcaOxOqyZZV8rw==", - "requires": { - "debug": "2.6.9", - "nan": "2.10.0", - "typedarray-to-buffer": "3.1.5", - "yaeti": "0.0.6" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "whatwg-fetch": { - "version": "2.0.4", - "resolved": "http://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", - "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" - }, - "window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=" - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "requires": { - "async-limiter": "1.0.0", - "safe-buffer": "5.1.2", - "ultron": "1.1.1" - } - }, - "xhr": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", - "integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==", - "requires": { - "global": "4.3.2", - "is-function": "1.0.1", - "parse-headers": "2.0.1", - "xtend": "4.0.1" - } - }, - "xhr-request": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", - "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", - "requires": { - "buffer-to-arraybuffer": "0.0.5", - "object-assign": "4.1.1", - "query-string": "5.1.1", - "simple-get": "2.8.1", - "timed-out": "4.0.1", - "url-set-query": "1.0.0", - "xhr": "2.5.0" - } - }, - "xhr-request-promise": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.2.tgz", - "integrity": "sha1-NDxE0e53JrhkgGloLQ+EDIO0Jh0=", - "requires": { - "xhr-request": "1.1.0" - } - }, - "xhr2-cookies": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", - "integrity": "sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg=", - "requires": { - "cookiejar": "2.1.2" - } - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" - }, - "yaeti": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", - "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=" - }, - "yargs": { - "version": "4.8.1", - "resolved": "http://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", - "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", - "requires": { - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.3", - "lodash.assign": "4.2.0", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "window-size": "0.2.0", - "y18n": "3.2.1", - "yargs-parser": "2.4.1" - } - }, - "yargs-parser": { - "version": "2.4.1", - "resolved": "http://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", - "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", - "requires": { - "camelcase": "3.0.0", - "lodash.assign": "4.2.0" - } - }, - "yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "optional": true, - "requires": { - "buffer-crc32": "0.2.13", - "fd-slicer": "1.1.0" - } - } + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + } + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "flat-cache": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", + "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", + "dev": true, + "requires": { + "circular-json": "0.3.3", + "graceful-fs": "4.1.15", + "rimraf": "2.6.3", + "write": "0.2.1" + } + }, + "flatmap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/flatmap/-/flatmap-0.0.3.tgz", + "integrity": "sha1-Hxik2TgVLUlZZfnJWNkjqy3WabQ=" + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "1.1.4" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.7", + "mime-types": "2.1.22" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "requires": { + "graceful-fs": "4.1.15", + "jsonfile": "2.4.0", + "klaw": "1.3.1", + "path-is-absolute": "1.0.1", + "rimraf": "2.6.3" + } + }, + "fs-promise": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/fs-promise/-/fs-promise-2.0.3.tgz", + "integrity": "sha1-9k5PhUvPaJqovdy6JokW2z20aFQ=", + "requires": { + "any-promise": "1.3.0", + "fs-extra": "2.1.2", + "mz": "2.7.0", + "thenify-all": "1.6.0" + }, + "dependencies": { + "fs-extra": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz", + "integrity": "sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU=", + "requires": { + "graceful-fs": "4.1.15", + "jsonfile": "2.4.0" + } + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "requires": { + "graceful-fs": "4.1.15", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.3" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + }, + "ganache-cli": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/ganache-cli/-/ganache-cli-6.3.0.tgz", + "integrity": "sha512-8SyzfX2ipRVBx1fBZLg3j8I3E334U3Vazk5mEpYcWqnIjC2ace6jtOXHG4aTuAvSz3+HzQ8p8pRjOJxdDZ2pnQ==", + "requires": { + "bn.js": "4.11.8", + "source-map-support": "0.5.9", + "yargs": "11.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true + }, + "bn.js": { + "version": "4.11.8", + "bundled": true + }, + "buffer-from": { + "version": "1.1.1", + "bundled": true + }, + "camelcase": { + "version": "4.1.0", + "bundled": true + }, + "cliui": { + "version": "4.1.0", + "bundled": true, + "requires": { + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" + } + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true + }, + "cross-spawn": { + "version": "5.1.0", + "bundled": true, + "requires": { + "lru-cache": "4.1.4", + "shebang-command": "1.2.0", + "which": "1.3.1" + } + }, + "decamelize": { + "version": "1.2.0", + "bundled": true + }, + "execa": { + "version": "0.7.0", + "bundled": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "bundled": true, + "requires": { + "locate-path": "2.0.0" } }, "get-caller-file": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" + "bundled": true }, "get-stream": { "version": "3.0.0", - "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + "bundled": true }, "invert-kv": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + "bundled": true }, "is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + "bundled": true }, "is-stream": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + "bundled": true }, "isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "bundled": true }, "lcid": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "bundled": true, "requires": { "invert-kv": "1.0.0" } }, "locate-path": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "bundled": true, "requires": { "p-locate": "2.0.0", "path-exists": "3.0.0" } }, "lru-cache": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", - "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "version": "4.1.4", + "bundled": true, "requires": { "pseudomap": "1.0.2", - "yallist": "2.1.2" + "yallist": "3.0.2" } }, "mem": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "bundled": true, "requires": { "mimic-fn": "1.2.0" } }, "mimic-fn": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + "bundled": true }, "npm-run-path": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "bundled": true, "requires": { "path-key": "2.0.1" } }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + "bundled": true }, "os-locale": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "bundled": true, "requires": { "execa": "0.7.0", "lcid": "1.0.0", @@ -8163,87 +3357,72 @@ }, "p-finally": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + "bundled": true }, "p-limit": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "bundled": true, "requires": { "p-try": "1.0.0" } }, "p-locate": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "bundled": true, "requires": { "p-limit": "1.3.0" } }, "p-try": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + "bundled": true }, "path-exists": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + "bundled": true }, "path-key": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + "bundled": true }, "pseudomap": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + "bundled": true }, "require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "bundled": true }, "require-main-filename": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + "bundled": true }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "bundled": true }, "shebang-command": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "bundled": true, "requires": { "shebang-regex": "1.0.0" } }, "shebang-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + "bundled": true }, "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + "bundled": true }, "source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "bundled": true }, "source-map-support": { "version": "0.5.9", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", - "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", + "bundled": true, "requires": { "buffer-from": "1.1.1", "source-map": "0.6.1" @@ -8251,8 +3430,7 @@ }, "string-width": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "bundled": true, "requires": { "is-fullwidth-code-point": "2.0.0", "strip-ansi": "4.0.0" @@ -8260,34 +3438,29 @@ }, "strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "bundled": true, "requires": { "ansi-regex": "3.0.0" } }, "strip-eof": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + "bundled": true }, "which": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "bundled": true, "requires": { "isexe": "2.0.0" } }, "which-module": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + "bundled": true }, "wrap-ansi": { "version": "2.1.0", - "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "bundled": true, "requires": { "string-width": "1.0.2", "strip-ansi": "3.0.1" @@ -8295,21 +3468,18 @@ "dependencies": { "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "bundled": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "bundled": true, "requires": { "number-is-nan": "1.0.1" } }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "requires": { "code-point-at": "1.1.0", "is-fullwidth-code-point": "1.0.0", @@ -8318,8 +3488,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "bundled": true, "requires": { "ansi-regex": "2.1.1" } @@ -8328,18 +3497,15 @@ }, "y18n": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + "bundled": true }, "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + "version": "3.0.2", + "bundled": true }, "yargs": { "version": "11.1.0", - "resolved": "http://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", - "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "bundled": true, "requires": { "cliui": "4.1.0", "decamelize": "1.2.0", @@ -8357,8 +3523,7 @@ }, "yargs-parser": { "version": "9.0.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "bundled": true, "requires": { "camelcase": "4.1.0" } @@ -8378,6 +3543,11 @@ "global-modules": "1.0.0" } }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -8429,7 +3599,7 @@ "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", "requires": { "expand-tilde": "2.0.2", - "homedir-polyfill": "1.0.1", + "homedir-polyfill": "1.0.3", "ini": "1.3.5", "is-windows": "1.0.2", "which": "1.3.1" @@ -8440,15 +3610,41 @@ "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" }, + "got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "requires": { + "decompress-response": "3.3.0", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "is-plain-obj": "1.1.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "isurl": "1.0.0", + "lowercase-keys": "1.0.1", + "p-cancelable": "0.3.0", + "p-timeout": "1.2.1", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "url-parse-lax": "1.0.0", + "url-to-options": "1.0.1" + } + }, "graceful-fs": { "version": "4.1.15", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + }, "graphlib": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.5.tgz", - "integrity": "sha512-XvtbqCcw+EM5SqQrIetIKKD+uZVNQtDPD1goIg7K73RuRZtVI5rYMdcCVSHm/AS1sCBZ7vt0p5WgXouucHQaOA==", + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.7.tgz", + "integrity": "sha512-TyI9jIy2J4j0qgPmOOrHTCtpPqJGN/aurBwc6ZT+bRii+di1I+Wv3obRhVrmBEXet+qkMaEX67dXrwsd3QQM6w==", "requires": { "lodash": "4.17.11" } @@ -8468,7 +3664,7 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "requires": { - "ajv": "6.6.1", + "ajv": "6.9.2", "har-schema": "2.0.0" } }, @@ -8493,11 +3689,24 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" + }, "has-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "requires": { + "has-symbol-support-x": "1.4.2" + } + }, "hash-base": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", @@ -8541,9 +3750,9 @@ } }, "homedir-polyfill": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", - "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", "requires": { "parse-passwd": "1.0.0" } @@ -8555,7 +3764,7 @@ }, "http-errors": { "version": "1.6.3", - "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "requires": { "depd": "1.1.2", @@ -8564,6 +3773,11 @@ "statuses": "1.5.0" } }, + "http-https": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", + "integrity": "sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs=" + }, "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", @@ -8571,17 +3785,32 @@ "requires": { "assert-plus": "1.0.0", "jsprim": "1.4.1", - "sshpk": "1.15.2" + "sshpk": "1.16.1" } }, "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "requires": { "safer-buffer": "2.1.2" } }, + "idna-uts46-hx": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", + "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", + "requires": { + "punycode": "2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", + "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=" + } + } + }, "ieee754": { "version": "1.1.12", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", @@ -8601,8 +3830,7 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, "inflight": { "version": "1.0.6", @@ -8629,8 +3857,8 @@ "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", + "ansi-escapes": "3.2.0", + "chalk": "2.4.2", "cli-cursor": "2.1.0", "cli-width": "2.2.0", "external-editor": "2.2.0", @@ -8661,9 +3889,9 @@ } }, "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "3.2.1", @@ -8743,7 +3971,7 @@ "requires": { "async": "2.6.1", "bs58": "4.0.1", - "cids": "0.5.6", + "cids": "0.5.7", "concat-stream": "1.6.2", "detect-node": "2.0.4", "flatmap": "0.0.3", @@ -8794,7 +4022,7 @@ "resolved": "https://registry.npmjs.org/ipfs-block/-/ipfs-block-0.6.1.tgz", "integrity": "sha512-28dgGsb2YsYnFs+To4cVBX8e/lTCb8eWDzGhN5csj3a/sHMOYrHeK8+Ez0IV67CI3lqKGuG/ZD01Cmd6JUvKrQ==", "requires": { - "cids": "0.5.6" + "cids": "0.5.7" } }, "ipfs-unixfs": { @@ -8813,7 +4041,7 @@ "async": "2.6.1", "bs58": "4.0.1", "buffer-loader": "0.0.1", - "cids": "0.5.6", + "cids": "0.5.7", "ipfs-block": "0.6.1", "is-ipfs": "0.3.2", "multihashes": "0.4.14", @@ -8847,14 +4075,6 @@ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "requires": { - "builtin-modules": "1.1.1" - } - }, "is-callable": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", @@ -8902,7 +4122,7 @@ "integrity": "sha512-82V1j4LMkYy7H4seQQzOWqo7FiW3I64/1/ryo3dhtWKfOvm7ZolLMRQQfGKs4OXWauh5rAkPnamVcRISHwhmpQ==", "requires": { "bs58": "4.0.1", - "cids": "0.5.6", + "cids": "0.5.7", "multihashes": "0.4.14" }, "dependencies": { @@ -8924,6 +4144,26 @@ } } }, + "is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" + }, + "is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, "is-promise": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz", @@ -8943,6 +4183,11 @@ "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", "dev": true }, + "is-retry-allowed": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -8995,10 +4240,19 @@ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "requires": { + "has-to-string-tag-x": "1.4.1", + "is-object": "1.0.1" + } + }, "js-sha3": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.3.1.tgz", - "integrity": "sha1-hhIoAhQvCChQKg0d7h2V4lO7AkM=" + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.6.1.tgz", + "integrity": "sha1-W4n3enR3Z5h39YxKB1JAk0sflcA=" }, "js-tokens": { "version": "3.0.2", @@ -9006,9 +4260,9 @@ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" }, "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz", + "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==", "dev": true, "requires": { "argparse": "1.0.10", @@ -9022,7 +4276,7 @@ }, "jsesc": { "version": "0.5.0", - "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" }, "json-rpc-engine": { @@ -9082,12 +4336,12 @@ }, "json5": { "version": "0.5.1", - "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" }, "jsonfile": { "version": "2.4.0", - "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "requires": { "graceful-fs": "4.1.15" @@ -9123,18 +4377,18 @@ "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", "requires": { - "bindings": "1.3.1", + "bindings": "1.4.0", "inherits": "2.0.3", "nan": "2.10.0", "safe-buffer": "5.1.2" } }, "keccakjs": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/keccakjs/-/keccakjs-0.2.1.tgz", - "integrity": "sha1-HWM6+QfvMFu/ny+mFtVsRFYd+k0=", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/keccakjs/-/keccakjs-0.2.3.tgz", + "integrity": "sha512-BjLkNDcfaZ6l8HBG9tH0tpmDv3sS2mA7FNQxFHpCdzP3Gb2MVruXBSuoM66SnVxKJpAr5dKGdkHD+bDokt8fTg==", "requires": { - "browserify-sha3": "0.0.1", + "browserify-sha3": "0.0.4", "sha3": "1.2.2" } }, @@ -9174,7 +4428,7 @@ }, "level-iterator-stream": { "version": "1.3.1", - "resolved": "http://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz", "integrity": "sha1-5Dt4sagUPm+pek9IXrjqUwNS8u0=", "requires": { "inherits": "2.0.3", @@ -9190,7 +4444,7 @@ }, "readable-stream": { "version": "1.1.14", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { "core-util-is": "1.0.2", @@ -9198,6 +4452,11 @@ "isarray": "0.0.1", "string_decoder": "0.10.31" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" } } }, @@ -9222,7 +4481,7 @@ }, "readable-stream": { "version": "1.0.34", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "requires": { "core-util-is": "1.0.2", @@ -9231,6 +4490,11 @@ "string_decoder": "0.10.31" } }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, "xtend": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", @@ -9274,7 +4538,7 @@ }, "libp2p-crypto": { "version": "0.12.1", - "resolved": "http://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.12.1.tgz", + "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.12.1.tgz", "integrity": "sha512-1/z8rxZ0DcQNreZhEsl7PnLr7DWOioSvYbKBLGkRwNRiNh1JJLgh0PdTySBb44wkrOGT+TxcGRd7iq3/X6Wxwg==", "requires": { "asn1.js": "5.0.1", @@ -9282,16 +4546,26 @@ "browserify-aes": "1.2.0", "bs58": "4.0.1", "keypair": "1.0.1", - "libp2p-crypto-secp256k1": "0.2.2", + "libp2p-crypto-secp256k1": "0.2.3", "multihashing-async": "0.4.8", "node-forge": "0.7.6", "pem-jwk": "1.5.1", "protons": "1.0.1", "rsa-pem-to-jwk": "1.1.3", - "tweetnacl": "1.0.0", + "tweetnacl": "1.0.1", "webcrypto-shim": "github:dignifiedquire/webcrypto-shim#190bc9ec341375df6025b17ae12ddb2428ea49c8" }, "dependencies": { + "asn1.js": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.0.1.tgz", + "integrity": "sha512-aO8EaEgbgqq77IEw+1jfx5c9zTbzvkfuRBuZsSsPnTHMkmd5AI4J6OtITLZFa381jReeaQL67J0GBTUu0+ZTVw==", + "requires": { + "bn.js": "4.11.8", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, "base-x": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.5.tgz", @@ -9309,27 +4583,46 @@ } }, "tweetnacl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.0.tgz", - "integrity": "sha1-cT2LgY2kIGh0C/aDhtBHnmb8ins=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.1.tgz", + "integrity": "sha512-kcoMoKTPYnoeS50tzoqjPY3Uv9axeuuFAZY9M/9zFnhoVvRfxz9K29IMPD7jGmt2c8SW7i3gT9WqDl2+nV7p4A==" } } }, "libp2p-crypto-secp256k1": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.2.2.tgz", - "integrity": "sha1-DdUh8Yq8TjahUuJOmzYwewrpzwU=", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.2.3.tgz", + "integrity": "sha512-DFrK89VdboacqM3vqWV8yt8FH9Ni181JJAOU2tRkJfUN9tNEV7VfZEg390NJxEQQbLsyH4HZ7on3QTpPHMHQZQ==", "requires": { "async": "2.6.1", - "multihashing-async": "0.4.8", + "multihashing-async": "0.5.2", "nodeify": "1.0.1", "safe-buffer": "5.1.2", - "secp256k1": "3.5.2" + "secp256k1": "3.6.2" + }, + "dependencies": { + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "multihashing-async": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/multihashing-async/-/multihashing-async-0.5.2.tgz", + "integrity": "sha512-mmyG6M/FKxrpBh9xQDUvuJ7BbqT93ZeEeH5X6LeMYKoYshYLr9BDdCsvDtZvn+Egf+/Xi+aOznrWL4vp3s+p0Q==", + "requires": { + "blakejs": "1.1.0", + "js-sha3": "0.8.0", + "multihashes": "0.4.14", + "murmurhash3js": "3.0.1", + "nodeify": "1.0.1" + } + } } }, "load-json-file": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "requires": { "graceful-fs": "4.1.15", @@ -9340,13 +4633,23 @@ } }, "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", "requires": { - "big.js": "3.2.0", + "big.js": "5.2.2", "emojis-list": "2.1.0", - "json5": "0.5.1" + "json5": "1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "1.2.0" + } + } } }, "locate-path": { @@ -9398,6 +4701,11 @@ "js-tokens": "3.0.2" } }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + }, "lru-cache": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", @@ -9412,6 +4720,21 @@ "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=" }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -9424,7 +4747,7 @@ }, "media-typer": { "version": "0.3.0", - "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, "memdown": { @@ -9471,13 +4794,13 @@ "levelup": "1.3.9", "memdown": "1.4.1", "readable-stream": "2.3.6", - "rlp": "2.1.0", + "rlp": "2.2.2", "semaphore": "1.1.0" }, "dependencies": { "async": { "version": "1.5.2", - "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" } } @@ -9487,22 +4810,31 @@ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0" + } + }, "mime": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" }, "mime-db": { - "version": "1.37.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" + "version": "1.38.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz", + "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==" }, "mime-types": { - "version": "2.1.21", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", - "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", + "version": "2.1.22", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.22.tgz", + "integrity": "sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==", "requires": { - "mime-db": "1.37.0" + "mime-db": "1.38.0" } }, "mimic-fn": { @@ -9544,12 +4876,12 @@ }, "minimist": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, "mkdirp": { "version": "0.5.1", - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" @@ -9557,11 +4889,19 @@ "dependencies": { "minimist": { "version": "0.0.8", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" } } }, + "mkdirp-promise": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", + "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=", + "requires": { + "mkdirp": "0.5.1" + } + }, "mocha": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/mocha/-/mocha-4.1.0.tgz", @@ -9620,6 +4960,11 @@ } } }, + "mock-fs": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.8.0.tgz", + "integrity": "sha512-Gwj4KnJOW15YeTJKO5frFd/WDO5Mc0zxXqL9oHx3+e9rBqW8EVARqQHSaIXznUdljrD6pvbNGW2ZGXKPEfYJfw==" + }, "mout": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/mout/-/mout-0.11.1.tgz", @@ -9632,7 +4977,7 @@ }, "multiaddr": { "version": "3.1.0", - "resolved": "http://registry.npmjs.org/multiaddr/-/multiaddr-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-3.1.0.tgz", "integrity": "sha512-QhmsD/TufS5KB7brd1rkzLz2sJqybQlDT9prroiWacaw61DtHoe2X/vcAnOu8mZc7s7ZzevFPvY5tzv3yjBXlQ==", "requires": { "bs58": "4.0.1", @@ -9755,9 +5100,19 @@ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", "dev": true }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "requires": { + "any-promise": "1.3.0", + "object-assign": "4.1.1", + "thenify-all": "1.6.0" + } + }, "nan": { "version": "2.10.0", - "resolved": "http://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==" }, "nano-json-stream-parser": { @@ -9824,12 +5179,12 @@ } }, "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "requires": { "hosted-git-info": "2.7.1", - "is-builtin-module": "1.0.0", + "resolve": "1.10.0", "semver": "5.6.0", "validate-npm-package-license": "3.0.4" } @@ -9846,6 +5201,13 @@ "requires": { "bn.js": "4.11.6", "strip-hex-prefix": "1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + } } }, "oauth-sign": { @@ -9864,9 +5226,29 @@ "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==" }, "object-keys": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", - "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz", + "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==" + }, + "object.fromentries": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.0.tgz", + "integrity": "sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA==", + "dev": true, + "requires": { + "define-properties": "1.1.3", + "es-abstract": "1.13.0", + "function-bind": "1.1.1", + "has": "1.0.3" + } + }, + "oboe": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.3.tgz", + "integrity": "sha1-K0hl29Rr6BIlcT9Om/5Lz09oCk8=", + "requires": { + "http-https": "1.0.0" + } }, "on-finished": { "version": "2.3.0", @@ -9935,12 +5317,12 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-locale": { "version": "1.4.0", - "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { "lcid": "1.0.0" @@ -9948,9 +5330,19 @@ }, "os-tmpdir": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, "p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", @@ -9967,18 +5359,39 @@ "p-limit": "1.3.0" } }, + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "requires": { + "p-finally": "1.0.0" + } + }, "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" }, + "parse-asn1": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", + "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", + "requires": { + "asn1.js": "4.10.1", + "browserify-aes": "1.2.0", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.17", + "safe-buffer": "5.1.2" + } + }, "parse-headers": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.1.tgz", - "integrity": "sha1-aug6eqJanZtwCswoaYzR8e1+lTY=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.2.tgz", + "integrity": "sha512-/LypJhzFmyBIDYP9aDVgeyEb5sQfbfY5mnDq4hVhlQ69js87wXfmEI5V3xI6vvXasqebp0oCytYFLxsBVfCzSg==", "requires": { "for-each": "0.3.3", - "trim": "0.0.1" + "string.prototype.trim": "1.1.2" } }, "parse-json": { @@ -10009,7 +5422,7 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { @@ -10038,6 +5451,18 @@ "pinkie-promise": "2.0.1" } }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "requires": { + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" + } + }, "pdfjs-dist": { "version": "1.10.100", "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-1.10.100.tgz", @@ -10049,7 +5474,7 @@ }, "peer-id": { "version": "0.10.7", - "resolved": "http://registry.npmjs.org/peer-id/-/peer-id-0.10.7.tgz", + "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.10.7.tgz", "integrity": "sha512-VEpMFcL9q0NQijmR0jsj38OGbY4yzaWMEareVkDahopmlNT+Cpsot8btPgsgBBApP9NiZj2Enwvh8rZN30ocQw==", "requires": { "async": "2.6.1", @@ -10094,6 +5519,11 @@ } } }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -10101,7 +5531,7 @@ }, "pify": { "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" }, "pinkie": { @@ -10118,12 +5548,23 @@ } }, "pkg-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + } } }, "pluralize": { @@ -10138,6 +5579,11 @@ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + }, "private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", @@ -10161,7 +5607,7 @@ }, "promise": { "version": "1.3.0", - "resolved": "http://registry.npmjs.org/promise/-/promise-1.3.0.tgz", + "resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz", "integrity": "sha1-5cyaTIJ45GZP/twBx9qEhCsEAXU=", "requires": { "is-promise": "1.0.1" @@ -10182,13 +5628,14 @@ "integrity": "sha512-N9iVG+CGJsI4b4ZGazjwLnxErD2d9Pe4DPvvXSxYA9tFNu8ymXME4Qs5HIQ0LMJpNM7zj+m0NlNnNeqFpKzqnA==" }, "prop-types": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", - "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", "dev": true, "requires": { "loose-envify": "1.4.0", - "object-assign": "4.1.1" + "object-assign": "4.1.1", + "react-is": "16.8.3" } }, "protocol-buffers-schema": { @@ -10227,9 +5674,22 @@ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, "psl": { - "version": "1.1.29", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", - "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==" + "version": "1.1.31", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", + "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==" + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "parse-asn1": "5.1.4", + "randombytes": "2.1.0", + "safe-buffer": "5.1.2" + } }, "pull-stream": { "version": "3.6.9", @@ -10262,7 +5722,7 @@ }, "query-string": { "version": "5.1.1", - "resolved": "http://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", "requires": { "decode-uri-component": "0.2.0", @@ -10270,6 +5730,23 @@ "strict-uri-encode": "1.1.0" } }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "requires": { + "randombytes": "2.1.0", + "safe-buffer": "5.1.2" + } + }, "randomhex": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/randomhex/-/randomhex-0.1.5.tgz", @@ -10289,25 +5766,21 @@ "http-errors": "1.6.3", "iconv-lite": "0.4.23", "unpipe": "1.0.0" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", - "requires": { - "safer-buffer": "2.1.2" - } - } } }, + "react-is": { + "version": "16.8.3", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.3.tgz", + "integrity": "sha512-Y4rC1ZJmsxxkkPuMLwvKvlL1Zfpbcu+Bf4ZigkHup3v9EfdYhAlWAaVyA19olXq2o2mGn0w+dFKvk3pVVlYcIA==", + "dev": true + }, "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "requires": { "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", + "normalize-package-data": "2.5.0", "path-type": "1.1.0" } }, @@ -10322,7 +5795,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "1.0.2", @@ -10332,16 +5805,6 @@ "safe-buffer": "5.1.2", "string_decoder": "1.1.1", "util-deprecate": "1.0.2" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "5.1.2" - } - } } }, "regenerate": { @@ -10366,13 +5829,13 @@ }, "regexpp": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", "dev": true }, "regexpu-core": { "version": "2.0.0", - "resolved": "http://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "requires": { "regenerate": "1.4.0", @@ -10382,12 +5845,12 @@ }, "regjsgen": { "version": "0.2.0", - "resolved": "http://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" }, "regjsparser": { "version": "0.1.5", - "resolved": "http://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "requires": { "jsesc": "0.5.0" @@ -10418,7 +5881,7 @@ "is-typedarray": "1.0.0", "isstream": "0.1.2", "json-stringify-safe": "5.0.1", - "mime-types": "2.1.21", + "mime-types": "2.1.22", "oauth-sign": "0.9.0", "performance-now": "2.1.0", "qs": "6.5.2", @@ -10445,7 +5908,7 @@ }, "require-uncached": { "version": "1.0.3", - "resolved": "http://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { @@ -10454,9 +5917,9 @@ } }, "resolve": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", - "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", + "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", "requires": { "path-parse": "1.0.6" } @@ -10495,9 +5958,9 @@ } }, "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "requires": { "glob": "7.1.3" } @@ -10512,10 +5975,11 @@ } }, "rlp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.1.0.tgz", - "integrity": "sha512-93U7IKH5j7nmXFVg19MeNBGzQW5uXW1pmCuKY8veeKIhYTE32C2d0mOegfiIAfXcHOKJjjPlJisn8iHDF5AezA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.2.tgz", + "integrity": "sha512-Ng2kJEN731Sfv4ZAY2i0ytPMc0BbJKBsVNl0QZY8LxOWSwd+1xpg+fpSRfaMn0heHU447s6Kgy8qfHZR0XTyVw==", "requires": { + "bn.js": "4.11.8", "safe-buffer": "5.1.2" } }, @@ -10600,7 +6064,7 @@ }, "sandwich-stream": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/sandwich-stream/-/sandwich-stream-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/sandwich-stream/-/sandwich-stream-1.0.0.tgz", "integrity": "sha1-eDDkV5e1kzKH8fmyj4cZB0ViYvI=" }, "schema-utils": { @@ -10608,8 +6072,16 @@ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", "requires": { - "ajv": "6.6.1", - "ajv-keywords": "3.2.0" + "ajv": "6.9.2", + "ajv-keywords": "3.4.0" + } + }, + "scrypt": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/scrypt/-/scrypt-6.0.3.tgz", + "integrity": "sha1-BOAUpWgrU/pQwtXM4WfXGcBthw0=", + "requires": { + "nan": "2.10.0" } }, "scrypt-async": { @@ -10617,35 +6089,49 @@ "resolved": "https://registry.npmjs.org/scrypt-async/-/scrypt-async-1.3.1.tgz", "integrity": "sha1-oR/W+smBtLgj7gHe4CIRaVAN2uk=" }, + "scrypt-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.3.tgz", + "integrity": "sha1-uwBAvgMEPamgEqLOqfyfhSz8h9Q=" + }, + "scrypt.js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/scrypt.js/-/scrypt.js-0.2.0.tgz", + "integrity": "sha1-r40UZbcemZARC+38WTuUeeA6ito=", + "requires": { + "scrypt": "6.0.3", + "scryptsy": "1.2.1" + } + }, + "scryptsy": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-1.2.1.tgz", + "integrity": "sha1-oyJfpLJST4AnAHYeKFW987LZIWM=", + "requires": { + "pbkdf2": "3.0.17" + } + }, "secp256k1": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.5.2.tgz", - "integrity": "sha512-iin3kojdybY6NArd+UFsoTuapOF7bnJNf2UbcWXaY3z+E1sJDipl60vtzB5hbO/uquBu7z0fd4VC4Irp+xoFVQ==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.6.2.tgz", + "integrity": "sha512-90nYt7yb0LmI4A2jJs1grglkTAXrBwxYAjP9bpeKjvJKOjG2fOeH/YI/lchDMIvjrOasd5QXwvV2jwN168xNng==", "requires": { - "bindings": "1.3.1", + "bindings": "1.4.0", "bip66": "1.1.5", - "bn.js": "4.11.6", + "bn.js": "4.11.8", "create-hash": "1.2.0", "drbg.js": "1.0.1", "elliptic": "6.4.1", "nan": "2.10.0", "safe-buffer": "5.1.2" - }, - "dependencies": { - "elliptic": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", - "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", - "requires": { - "bn.js": "4.11.6", - "brorand": "1.1.0", - "hash.js": "1.1.7", - "hmac-drbg": "1.0.1", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.1", - "minimalistic-crypto-utils": "1.0.1" - } - } + } + }, + "seek-bzip": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", + "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", + "requires": { + "commander": "2.8.1" } }, "semaphore": { @@ -10731,6 +6217,11 @@ "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -10738,7 +6229,7 @@ }, "sha.js": { "version": "2.4.11", - "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "requires": { "inherits": "2.0.3", @@ -10771,8 +6262,7 @@ "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "signed-varint": { "version": "2.0.1", @@ -10845,12 +6335,12 @@ } }, "spdx-correct": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.2.tgz", - "integrity": "sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", "requires": { "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.2" + "spdx-license-ids": "3.0.3" } }, "spdx-exceptions": { @@ -10864,13 +6354,13 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "requires": { "spdx-exceptions": "2.2.0", - "spdx-license-ids": "3.0.2" + "spdx-license-ids": "3.0.3" } }, "spdx-license-ids": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz", - "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg==" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz", + "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==" }, "split2": { "version": "2.2.0", @@ -10887,9 +6377,9 @@ "dev": true }, "sshpk": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz", - "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==", + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "requires": { "asn1": "0.2.4", "assert-plus": "1.0.0", @@ -10950,18 +6440,21 @@ "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=", "requires": { "define-properties": "1.1.3", - "es-abstract": "1.12.0", + "es-abstract": "1.13.0", "function-bind": "1.1.1" } }, "string_decoder": { - "version": "0.10.31", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "5.1.2" + } }, "strip-ansi": { "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "2.1.1" @@ -10975,6 +6468,14 @@ "is-utf8": "0.2.1" } }, + "strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "requires": { + "is-natural-number": "4.0.1" + } + }, "strip-hex-prefix": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", @@ -10994,6 +6495,37 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" }, + "swarm-js": { + "version": "0.1.37", + "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.37.tgz", + "integrity": "sha512-G8gi5fcXP/2upwiuOShJ258sIufBVztekgobr3cVgYXObZwJ5AXLqZn52AI+/ffft29pJexF9WNdUxjlkVehoQ==", + "requires": { + "bluebird": "3.5.3", + "buffer": "5.2.1", + "decompress": "4.2.0", + "eth-lib": "0.1.27", + "fs-extra": "2.1.2", + "fs-promise": "2.0.3", + "got": "7.1.0", + "mime-types": "2.1.22", + "mkdirp-promise": "5.0.1", + "mock-fs": "4.8.0", + "setimmediate": "1.0.5", + "tar.gz": "1.0.7", + "xhr-request-promise": "0.1.2" + }, + "dependencies": { + "fs-extra": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz", + "integrity": "sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU=", + "requires": { + "graceful-fs": "4.1.15", + "jsonfile": "2.4.0" + } + } + } + }, "table": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", @@ -11002,7 +6534,7 @@ "requires": { "ajv": "5.5.2", "ajv-keywords": "2.1.1", - "chalk": "2.4.1", + "chalk": "2.4.2", "lodash": "4.17.11", "slice-ansi": "1.0.0", "string-width": "2.1.1" @@ -11042,9 +6574,9 @@ } }, "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "3.2.1", @@ -11054,7 +6586,7 @@ }, "fast-deep-equal": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", "dev": true }, @@ -11107,9 +6639,9 @@ } }, "tape": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/tape/-/tape-4.9.1.tgz", - "integrity": "sha512-6fKIXknLpoe/Jp4rzHKFPpJUHDHDqn8jus99IfPnHIjyz78HYlefTGD3b5EkbQzuLfaEvmfPK3IolLgq2xT3kw==", + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/tape/-/tape-4.10.1.tgz", + "integrity": "sha512-G0DywYV1jQeY3axeYnXUOt6ktnxS9OPJh97FGR3nrua8lhWi1zPflLxcAHavZ7Jf3qUfY7cxcVIVFa4mY2IY1w==", "requires": { "deep-equal": "1.0.1", "defined": "1.0.0", @@ -11120,7 +6652,7 @@ "inherits": "2.0.3", "minimist": "1.2.0", "object-inspect": "1.6.0", - "resolve": "1.7.1", + "resolve": "1.10.0", "resumer": "0.0.0", "string.prototype.trim": "1.1.2", "through": "2.3.8" @@ -11128,7 +6660,7 @@ }, "tar": { "version": "2.2.1", - "resolved": "http://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", "requires": { "block-stream": "0.0.9", @@ -11156,10 +6688,17 @@ "integrity": "sha512-uhGatJvds/3diZrETqMj4RxBR779LKlIE74SsMcn5JProZsfs9j0QBwWO1RW+IWNJxS2x8Zzra1+AW6OQHWphg==", "requires": { "bluebird": "2.11.0", - "commander": "2.19.0", + "commander": "2.8.1", "fstream": "1.0.11", "mout": "0.11.1", "tar": "2.2.1" + }, + "dependencies": { + "bluebird": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", + "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=" + } } }, "text-table": { @@ -11168,9 +6707,25 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, + "thenify": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", + "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", + "requires": { + "any-promise": "1.3.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "requires": { + "thenify": "3.3.0" + } + }, "through": { "version": "2.3.8", - "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, "through2": { @@ -11212,9 +6767,9 @@ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" }, "toml": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.3.tgz", - "integrity": "sha512-O7L5hhSQHxuufWUdcTRPfuTh3phKfAZ/dqfxZFoxPCj2RYmpaSGLEIs016FCXItQwNr08yefUB5TSjzRYnajTA==" + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.6.tgz", + "integrity": "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==" }, "tomlify-j0.4": { "version": "1.0.4", @@ -11226,7 +6781,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "requires": { - "psl": "1.1.29", + "psl": "1.1.31", "punycode": "1.4.1" }, "dependencies": { @@ -11237,38 +6792,19 @@ } } }, - "trim": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" - }, "trim-right": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" }, "truffle": { - "version": "4.1.14", - "resolved": "https://registry.npmjs.org/truffle/-/truffle-4.1.14.tgz", - "integrity": "sha512-e7tTLvKP3bN9dE7MagfWyFjy4ZgoEGbeujECy1me1ENBzbj/aO/+45gs72qsL3+3IkCNNcWNOJjjrm8BYZZNNg==", + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/truffle/-/truffle-4.1.15.tgz", + "integrity": "sha512-6gaNn9ZjvNjdalJMF/qEDUDoRdieKfdYcyFVpVxd+ogAta5kgJxI3XlEmS79Ih0vBhb00tKa9rBweVJ5892sYg==", "requires": { "mocha": "4.1.0", "original-require": "1.0.1", - "solc": "0.4.24" - }, - "dependencies": { - "solc": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.24.tgz", - "integrity": "sha512-2xd7Cf1HeVwrIb6Bu1cwY2/TaLRodrppCq3l7rhLimFQgmxptXhTC3+/wesVLpB09F1A2kZgvbMOgH7wvhFnBQ==", - "requires": { - "fs-extra": "0.30.0", - "memorystream": "0.3.1", - "require-from-string": "1.2.1", - "semver": "5.6.0", - "yargs": "4.8.1" - } - } + "solc": "0.4.25" } }, "truffle-blockchain-utils": { @@ -11276,19 +6812,34 @@ "resolved": "https://registry.npmjs.org/truffle-blockchain-utils/-/truffle-blockchain-utils-0.0.3.tgz", "integrity": "sha1-rooRHsEk2WUE8OBCxvIFwLOBfik=", "requires": { - "web3": "0.20.6" + "web3": "0.20.7" + }, + "dependencies": { + "web3": { + "version": "0.20.7", + "resolved": "https://registry.npmjs.org/web3/-/web3-0.20.7.tgz", + "integrity": "sha512-VU6/DSUX93d1fCzBz7WP/SGCQizO1rKZi4Px9j/3yRyfssHyFcZamMw2/sj4E8TlfMXONvZLoforR8B4bRoyTQ==", + "requires": { + "bignumber.js": "git+https://github.com/frozeman/bignumber.js-nolookahead.git#57692b3ecfc98bbdd6b3a516cb2353652ea49934", + "crypto-js": "3.1.8", + "utf8": "2.1.1", + "xhr2-cookies": "1.1.0", + "xmlhttprequest": "1.8.0" + } + } } }, "truffle-config": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/truffle-config/-/truffle-config-1.0.6.tgz", - "integrity": "sha1-GB2n0xnAxV6yeB1cGIapx/MvpHA=", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/truffle-config/-/truffle-config-1.1.4.tgz", + "integrity": "sha512-8ur8gYIUWBV8VN+JH4vRX2rk1pHmW+vpylPO2LT6HHWsRm6GbkPjeIjtGM70pR4DoihEJH0ZgJn14zLef83SVQ==", "requires": { + "configstore": "4.0.0", "find-up": "2.1.0", - "lodash": "4.17.10", + "lodash": "4.17.11", "original-require": "1.0.1", - "truffle-error": "0.0.3", - "truffle-provider": "0.0.6" + "truffle-error": "0.0.4", + "truffle-provider": "0.1.4" }, "dependencies": { "find-up": { @@ -11299,10 +6850,10 @@ "locate-path": "2.0.0" } }, - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" + "truffle-error": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/truffle-error/-/truffle-error-0.0.4.tgz", + "integrity": "sha512-hER0TNR4alBIhUp7SNrZRRiZtM/MBx+xBdM9qXP0tC3YASFmhNAxPuOyB8JDHFRNbDx12K7nvaqmyYGsI5c8BQ==" } } }, @@ -11314,7 +6865,21 @@ "ethjs-abi": "0.1.8", "truffle-blockchain-utils": "0.0.3", "truffle-contract-schema": "0.0.5", - "web3": "0.20.6" + "web3": "0.20.7" + }, + "dependencies": { + "web3": { + "version": "0.20.7", + "resolved": "https://registry.npmjs.org/web3/-/web3-0.20.7.tgz", + "integrity": "sha512-VU6/DSUX93d1fCzBz7WP/SGCQizO1rKZi4Px9j/3yRyfssHyFcZamMw2/sj4E8TlfMXONvZLoforR8B4bRoyTQ==", + "requires": { + "bignumber.js": "git+https://github.com/frozeman/bignumber.js-nolookahead.git#57692b3ecfc98bbdd6b3a516cb2353652ea49934", + "crypto-js": "3.1.8", + "utf8": "2.1.1", + "xhr2-cookies": "1.1.0", + "xmlhttprequest": "1.8.0" + } + } } }, "truffle-contract-schema": { @@ -11351,18 +6916,25 @@ "integrity": "sha1-1bJ63qTFUvQ7cNwAh3I2t7aMdcg=" }, "truffle-provider": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/truffle-provider/-/truffle-provider-0.0.6.tgz", - "integrity": "sha1-caku1nY2raXniQVpDXLqkirUphM=", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/truffle-provider/-/truffle-provider-0.1.4.tgz", + "integrity": "sha512-BE/3yhtarBqv5/o43UpwZ1ym2lQuF37cCpTBcHhb814T9iv5qXr8AsuwRhJSm/9x+Nu4wOvdd8TWzZeltjVdZQ==", "requires": { - "truffle-error": "0.0.3", - "web3": "0.20.6" + "truffle-error": "0.0.4", + "web3": "1.0.0-beta.37" + }, + "dependencies": { + "truffle-error": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/truffle-error/-/truffle-error-0.0.4.tgz", + "integrity": "sha512-hER0TNR4alBIhUp7SNrZRRiZtM/MBx+xBdM9qXP0tC3YASFmhNAxPuOyB8JDHFRNbDx12K7nvaqmyYGsI5c8BQ==" + } } }, "truffle-provisioner": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/truffle-provisioner/-/truffle-provisioner-0.1.1.tgz", - "integrity": "sha1-WoMn1iUR7yPJUNOqhiYQp8N34qo=" + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/truffle-provisioner/-/truffle-provisioner-0.1.2.tgz", + "integrity": "sha512-QziU27Sbg9fclexmczR8g4V6fBRNYhh5O5hXfel/Oy7XXYQPQG+gEAF4jhSdofYFU6laFfBObBgl92aN8FB20A==" }, "truffle-resolver": { "version": "3.0.1", @@ -11372,7 +6944,7 @@ "async": "2.6.1", "truffle-contract": "2.0.5", "truffle-expect": "0.0.3", - "truffle-provisioner": "0.1.1" + "truffle-provisioner": "0.1.2" }, "dependencies": { "truffle-expect": { @@ -11410,7 +6982,7 @@ "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.21" + "mime-types": "2.1.22" } }, "typedarray": { @@ -11418,20 +6990,45 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "1.0.0" + } + }, "ultron": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" }, + "unbzip2-stream": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz", + "integrity": "sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg==", + "requires": { + "buffer": "5.2.1", + "through": "2.3.8" + } + }, "underscore": { "version": "1.8.3", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "requires": { + "crypto-random-string": "1.0.0" + } + }, "unorm": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz", - "integrity": "sha1-NkIA1fE2RsqLzURJAnEzVhR5IwA=" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.5.0.tgz", + "integrity": "sha512-sMfSWoiRaXXeDZSXC+YRZ23H4xchQpwxjpw1tmfR+kgbBCaOgln4NI0LXejJIhnBuKINrB3WRn+ZI8IWssirVw==" }, "unpipe": { "version": "1.0.0", @@ -11446,15 +7043,28 @@ "punycode": "2.1.1" } }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "requires": { + "prepend-http": "1.0.4" + } + }, "url-set-query": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=" }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" + }, "utf8": { - "version": "2.1.2", - "resolved": "http://registry.npmjs.org/utf8/-/utf8-2.1.2.tgz", - "integrity": "sha1-H6DZJw6b6FDZsFAn9jUZv0ZFfZY=" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz", + "integrity": "sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g=" }, "util-deprecate": { "version": "1.0.2", @@ -11476,7 +7086,7 @@ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "requires": { - "spdx-correct": "3.0.2", + "spdx-correct": "3.1.0", "spdx-expression-parse": "3.0.0" } }, @@ -11501,20 +7111,487 @@ } }, "web3": { - "version": "0.20.6", - "resolved": "http://registry.npmjs.org/web3/-/web3-0.20.6.tgz", - "integrity": "sha1-PpcwauAk+yThCj11yIQwJWIhUSA=", + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.0.0-beta.37.tgz", + "integrity": "sha512-8XLgUspdzicC/xHG82TLrcF/Fxzj2XYNJ1KTYnepOI77bj5rvpsxxwHYBWQ6/JOjk0HkZqoBfnXWgcIHCDhZhQ==", + "requires": { + "web3-bzz": "1.0.0-beta.37", + "web3-core": "1.0.0-beta.37", + "web3-eth": "1.0.0-beta.37", + "web3-eth-personal": "1.0.0-beta.37", + "web3-net": "1.0.0-beta.37", + "web3-shh": "1.0.0-beta.37", + "web3-utils": "1.0.0-beta.37" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + }, + "web3-utils": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.37.tgz", + "integrity": "sha512-kA1fyhO8nKgU21wi30oJQ/ssvu+9srMdjOTKbHYbQe4ATPcr5YNwwrxG3Bcpbu1bEwRUVKHCkqi+wTvcAWBdlQ==", + "requires": { + "bn.js": "4.11.6", + "eth-lib": "0.1.27", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randomhex": "0.1.5", + "underscore": "1.8.3", + "utf8": "2.1.1" + } + } + } + }, + "web3-bzz": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.0.0-beta.37.tgz", + "integrity": "sha512-E+dho49Nsm/QpQvYWOF35YDsQrMvLB19AApENxhlQsu6HpWQt534DQul0t3Y/aAh8rlKD6Kanxt8LhHDG3vejQ==", "requires": { - "bignumber.js": "git+https://github.com/frozeman/bignumber.js-nolookahead.git#57692b3ecfc98bbdd6b3a516cb2353652ea49934", - "crypto-js": "3.1.8", - "utf8": "2.1.2", - "xhr2": "0.1.4", - "xmlhttprequest": "1.8.0" + "got": "7.1.0", + "swarm-js": "0.1.37", + "underscore": "1.8.3" + } + }, + "web3-core": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.0.0-beta.37.tgz", + "integrity": "sha512-cIwEqCj7OJyefQNauI0HOgW4sSaOQ98V99H2/HEIlnCZylsDzfw7gtQUdwnRFiIyIxjbWy3iWsjwDPoXNPZBYg==", + "requires": { + "web3-core-helpers": "1.0.0-beta.37", + "web3-core-method": "1.0.0-beta.37", + "web3-core-requestmanager": "1.0.0-beta.37", + "web3-utils": "1.0.0-beta.37" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + }, + "web3-utils": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.37.tgz", + "integrity": "sha512-kA1fyhO8nKgU21wi30oJQ/ssvu+9srMdjOTKbHYbQe4ATPcr5YNwwrxG3Bcpbu1bEwRUVKHCkqi+wTvcAWBdlQ==", + "requires": { + "bn.js": "4.11.6", + "eth-lib": "0.1.27", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randomhex": "0.1.5", + "underscore": "1.8.3", + "utf8": "2.1.1" + } + } + } + }, + "web3-core-helpers": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.37.tgz", + "integrity": "sha512-efaLOzN28RMnbugnyelgLwPWWaSwElQzcAJ/x3PZu+uPloM/lE5x0YuBKvIh7/PoSMlHqtRWj1B8CpuQOUQ5Ew==", + "requires": { + "underscore": "1.8.3", + "web3-eth-iban": "1.0.0-beta.37", + "web3-utils": "1.0.0-beta.37" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + }, + "web3-utils": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.37.tgz", + "integrity": "sha512-kA1fyhO8nKgU21wi30oJQ/ssvu+9srMdjOTKbHYbQe4ATPcr5YNwwrxG3Bcpbu1bEwRUVKHCkqi+wTvcAWBdlQ==", + "requires": { + "bn.js": "4.11.6", + "eth-lib": "0.1.27", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randomhex": "0.1.5", + "underscore": "1.8.3", + "utf8": "2.1.1" + } + } + } + }, + "web3-core-method": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.0.0-beta.37.tgz", + "integrity": "sha512-pKWFUeqnVmzx3VrZg+CseSdrl/Yrk2ioid/HzolNXZE6zdoITZL0uRjnsbqXGEzgRRd1Oe/pFndpTlRsnxXloA==", + "requires": { + "underscore": "1.8.3", + "web3-core-helpers": "1.0.0-beta.37", + "web3-core-promievent": "1.0.0-beta.37", + "web3-core-subscriptions": "1.0.0-beta.37", + "web3-utils": "1.0.0-beta.37" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + }, + "web3-utils": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.37.tgz", + "integrity": "sha512-kA1fyhO8nKgU21wi30oJQ/ssvu+9srMdjOTKbHYbQe4ATPcr5YNwwrxG3Bcpbu1bEwRUVKHCkqi+wTvcAWBdlQ==", + "requires": { + "bn.js": "4.11.6", + "eth-lib": "0.1.27", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randomhex": "0.1.5", + "underscore": "1.8.3", + "utf8": "2.1.1" + } + } + } + }, + "web3-core-promievent": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.0.0-beta.37.tgz", + "integrity": "sha512-GTF2r1lP8nJBeA5Gxq5yZpJy9l8Fb9CXGZPfF8jHvaRdQHtm2Z+NDhqYmF833lcdkokRSyfPcXlz1mlWeClFpg==", + "requires": { + "any-promise": "1.3.0", + "eventemitter3": "1.1.1" + } + }, + "web3-core-requestmanager": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.0.0-beta.37.tgz", + "integrity": "sha512-66VUqye5BGp1Zz1r8psCxdNH+GtTjaFwroum2Osx+wbC5oRjAiXkkadiitf6wRb+edodjEMPn49u7B6WGNuewQ==", + "requires": { + "underscore": "1.8.3", + "web3-core-helpers": "1.0.0-beta.37", + "web3-providers-http": "1.0.0-beta.37", + "web3-providers-ipc": "1.0.0-beta.37", + "web3-providers-ws": "1.0.0-beta.37" + } + }, + "web3-core-subscriptions": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.37.tgz", + "integrity": "sha512-FdXl8so9kwkRRWziuCSpFsAuAdg9KvpXa1fQlT16uoGcYYfxwFO/nkwyBGQzkZt7emShI2IRugcazyPCZDwkOA==", + "requires": { + "eventemitter3": "1.1.1", + "underscore": "1.8.3", + "web3-core-helpers": "1.0.0-beta.37" + } + }, + "web3-eth": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.0.0-beta.37.tgz", + "integrity": "sha512-Eb3aGtkz3G9q+Z9DKgSQNbn/u8RtcZQQ0R4sW9hy5KK47GoT6vab5c6DiD3QWzI0BzitHzR5Ji+3VHf/hPUGgw==", + "requires": { + "underscore": "1.8.3", + "web3-core": "1.0.0-beta.37", + "web3-core-helpers": "1.0.0-beta.37", + "web3-core-method": "1.0.0-beta.37", + "web3-core-subscriptions": "1.0.0-beta.37", + "web3-eth-abi": "1.0.0-beta.37", + "web3-eth-accounts": "1.0.0-beta.37", + "web3-eth-contract": "1.0.0-beta.37", + "web3-eth-ens": "1.0.0-beta.37", + "web3-eth-iban": "1.0.0-beta.37", + "web3-eth-personal": "1.0.0-beta.37", + "web3-net": "1.0.0-beta.37", + "web3-utils": "1.0.0-beta.37" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + }, + "web3-utils": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.37.tgz", + "integrity": "sha512-kA1fyhO8nKgU21wi30oJQ/ssvu+9srMdjOTKbHYbQe4ATPcr5YNwwrxG3Bcpbu1bEwRUVKHCkqi+wTvcAWBdlQ==", + "requires": { + "bn.js": "4.11.6", + "eth-lib": "0.1.27", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randomhex": "0.1.5", + "underscore": "1.8.3", + "utf8": "2.1.1" + } + } + } + }, + "web3-eth-abi": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.37.tgz", + "integrity": "sha512-g9DKZGM2OqwKp/tX3W/yihcj7mQCtJ6CXyZXEIZfuDyRBED/iSEIFfieDOd+yo16sokLMig6FG7ADhhu+19hdA==", + "requires": { + "ethers": "4.0.0-beta.1", + "underscore": "1.8.3", + "web3-utils": "1.0.0-beta.37" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + }, + "web3-utils": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.37.tgz", + "integrity": "sha512-kA1fyhO8nKgU21wi30oJQ/ssvu+9srMdjOTKbHYbQe4ATPcr5YNwwrxG3Bcpbu1bEwRUVKHCkqi+wTvcAWBdlQ==", + "requires": { + "bn.js": "4.11.6", + "eth-lib": "0.1.27", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randomhex": "0.1.5", + "underscore": "1.8.3", + "utf8": "2.1.1" + } + } + } + }, + "web3-eth-accounts": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.37.tgz", + "integrity": "sha512-uvbHL62/zwo4GDmwKdqH9c/EgYd8QVnAfpVw8D3epSISpgbONNY7Hr4MRMSd/CqAP12l2Ls9JVQGLhhC83bW6g==", + "requires": { + "any-promise": "1.3.0", + "crypto-browserify": "3.12.0", + "eth-lib": "0.2.7", + "scrypt.js": "0.2.0", + "underscore": "1.8.3", + "uuid": "2.0.1", + "web3-core": "1.0.0-beta.37", + "web3-core-helpers": "1.0.0-beta.37", + "web3-core-method": "1.0.0-beta.37", + "web3-utils": "1.0.0-beta.37" + }, + "dependencies": { + "eth-lib": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", + "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", + "requires": { + "bn.js": "4.11.8", + "elliptic": "6.4.1", + "xhr-request-promise": "0.1.2" + } + }, + "uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=" + }, + "web3-utils": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.37.tgz", + "integrity": "sha512-kA1fyhO8nKgU21wi30oJQ/ssvu+9srMdjOTKbHYbQe4ATPcr5YNwwrxG3Bcpbu1bEwRUVKHCkqi+wTvcAWBdlQ==", + "requires": { + "bn.js": "4.11.6", + "eth-lib": "0.1.27", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randomhex": "0.1.5", + "underscore": "1.8.3", + "utf8": "2.1.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + }, + "eth-lib": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.27.tgz", + "integrity": "sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA==", + "requires": { + "bn.js": "4.11.6", + "elliptic": "6.4.1", + "keccakjs": "0.2.3", + "nano-json-stream-parser": "0.1.2", + "servify": "0.1.12", + "ws": "3.3.3", + "xhr-request-promise": "0.1.2" + } + } + } + } + } + }, + "web3-eth-contract": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.37.tgz", + "integrity": "sha512-h1B3A8Z/C7BlnTCHkrWbXZQTViDxfR12lKMeTkT8Sqj5phFmxrBlPE4ORy4lf1Dk5b23mZYE0r/IRACx4ThCrQ==", + "requires": { + "underscore": "1.8.3", + "web3-core": "1.0.0-beta.37", + "web3-core-helpers": "1.0.0-beta.37", + "web3-core-method": "1.0.0-beta.37", + "web3-core-promievent": "1.0.0-beta.37", + "web3-core-subscriptions": "1.0.0-beta.37", + "web3-eth-abi": "1.0.0-beta.37", + "web3-utils": "1.0.0-beta.37" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + }, + "web3-utils": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.37.tgz", + "integrity": "sha512-kA1fyhO8nKgU21wi30oJQ/ssvu+9srMdjOTKbHYbQe4ATPcr5YNwwrxG3Bcpbu1bEwRUVKHCkqi+wTvcAWBdlQ==", + "requires": { + "bn.js": "4.11.6", + "eth-lib": "0.1.27", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randomhex": "0.1.5", + "underscore": "1.8.3", + "utf8": "2.1.1" + } + } + } + }, + "web3-eth-ens": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.0.0-beta.37.tgz", + "integrity": "sha512-dR3UkrVzdRrJhfP57xBPx0CMiVnCcYFvh+u2XMkGydrhHgupSUkjqGr89xry/j1T0BkuN9mikpbyhdCVMXqMbg==", + "requires": { + "eth-ens-namehash": "2.0.8", + "underscore": "1.8.3", + "web3-core": "1.0.0-beta.37", + "web3-core-helpers": "1.0.0-beta.37", + "web3-core-promievent": "1.0.0-beta.37", + "web3-eth-abi": "1.0.0-beta.37", + "web3-eth-contract": "1.0.0-beta.37", + "web3-utils": "1.0.0-beta.37" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + }, + "web3-utils": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.37.tgz", + "integrity": "sha512-kA1fyhO8nKgU21wi30oJQ/ssvu+9srMdjOTKbHYbQe4ATPcr5YNwwrxG3Bcpbu1bEwRUVKHCkqi+wTvcAWBdlQ==", + "requires": { + "bn.js": "4.11.6", + "eth-lib": "0.1.27", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randomhex": "0.1.5", + "underscore": "1.8.3", + "utf8": "2.1.1" + } + } + } + }, + "web3-eth-iban": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.37.tgz", + "integrity": "sha512-WQRniGJFxH/XCbd7miO6+jnUG+6bvuzfeufPIiOtCbeIC1ypp1kSqER8YVBDrTyinU1xnf1U5v0KBZ2yiWBJxQ==", + "requires": { + "bn.js": "4.11.6", + "web3-utils": "1.0.0-beta.37" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + }, + "web3-utils": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.37.tgz", + "integrity": "sha512-kA1fyhO8nKgU21wi30oJQ/ssvu+9srMdjOTKbHYbQe4ATPcr5YNwwrxG3Bcpbu1bEwRUVKHCkqi+wTvcAWBdlQ==", + "requires": { + "bn.js": "4.11.6", + "eth-lib": "0.1.27", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randomhex": "0.1.5", + "underscore": "1.8.3", + "utf8": "2.1.1" + } + } + } + }, + "web3-eth-personal": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.0.0-beta.37.tgz", + "integrity": "sha512-B4dZpGbD+nGnn48i6nJBqrQ+HB7oDmd+Q3wGRKOsHSK5HRWO/KwYeA7wgwamMAElkut50lIsT9EJl4Apfk3G5Q==", + "requires": { + "web3-core": "1.0.0-beta.37", + "web3-core-helpers": "1.0.0-beta.37", + "web3-core-method": "1.0.0-beta.37", + "web3-net": "1.0.0-beta.37", + "web3-utils": "1.0.0-beta.37" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + }, + "web3-utils": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.37.tgz", + "integrity": "sha512-kA1fyhO8nKgU21wi30oJQ/ssvu+9srMdjOTKbHYbQe4ATPcr5YNwwrxG3Bcpbu1bEwRUVKHCkqi+wTvcAWBdlQ==", + "requires": { + "bn.js": "4.11.6", + "eth-lib": "0.1.27", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randomhex": "0.1.5", + "underscore": "1.8.3", + "utf8": "2.1.1" + } + } + } + }, + "web3-net": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.0.0-beta.37.tgz", + "integrity": "sha512-xG/uBtMdDa1UMXw9KjDUgf3fXA/fDEJUYUS0TDn+U9PMgngA+UVECHNNvQTrVVDxEky38V3sahwIDiopNsQdsw==", + "requires": { + "web3-core": "1.0.0-beta.37", + "web3-core-method": "1.0.0-beta.37", + "web3-utils": "1.0.0-beta.37" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + }, + "web3-utils": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.37.tgz", + "integrity": "sha512-kA1fyhO8nKgU21wi30oJQ/ssvu+9srMdjOTKbHYbQe4ATPcr5YNwwrxG3Bcpbu1bEwRUVKHCkqi+wTvcAWBdlQ==", + "requires": { + "bn.js": "4.11.6", + "eth-lib": "0.1.27", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randomhex": "0.1.5", + "underscore": "1.8.3", + "utf8": "2.1.1" + } + } } }, "web3-provider-engine": { "version": "13.8.0", - "resolved": "http://registry.npmjs.org/web3-provider-engine/-/web3-provider-engine-13.8.0.tgz", + "resolved": "https://registry.npmjs.org/web3-provider-engine/-/web3-provider-engine-13.8.0.tgz", "integrity": "sha512-fZXhX5VWwWpoFfrfocslyg6P7cN3YWPG/ASaevNfeO80R+nzgoPUBXcWQekSGSsNDkeRTis4aMmpmofYf1TNtQ==", "requires": { "async": "2.6.1", @@ -11524,7 +7601,7 @@ "ethereumjs-block": "1.7.1", "ethereumjs-tx": "1.3.7", "ethereumjs-util": "5.2.0", - "ethereumjs-vm": "2.5.0", + "ethereumjs-vm": "2.6.0", "fetch-ponyfill": "4.1.0", "json-rpc-error": "2.0.0", "json-stable-stringify": "1.0.1", @@ -11533,35 +7610,107 @@ "request": "2.88.0", "semaphore": "1.1.0", "solc": "0.4.25", - "tape": "4.9.1", + "tape": "4.10.1", "xhr": "2.5.0", "xtend": "4.0.1" } }, + "web3-providers-http": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.0.0-beta.37.tgz", + "integrity": "sha512-FM/1YDB1jtZuTo78habFj7S9tNHoqt0UipdyoQV29b8LkGKZV9Vs3is8L24hzuj1j/tbwkcAH+ewIseHwu0DTg==", + "requires": { + "web3-core-helpers": "1.0.0-beta.37", + "xhr2-cookies": "1.1.0" + } + }, + "web3-providers-ipc": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.0.0-beta.37.tgz", + "integrity": "sha512-NdRPRxYMIU0C3u18NI8u4bwbhI9pCg5nRgDGYcmSAx5uOBxiYcQy+hb0WkJRRhBoyIXJmy+s26FoH8904+UnPg==", + "requires": { + "oboe": "2.1.3", + "underscore": "1.8.3", + "web3-core-helpers": "1.0.0-beta.37" + } + }, + "web3-providers-ws": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.0.0-beta.37.tgz", + "integrity": "sha512-8p6ZLv+1JYa5Vs8oBn33Nn3VGFBbF+wVfO+b78RJS1Qf1uIOzjFVDk3XwYDD7rlz9G5BKpxhaQw+6EGQ7L02aw==", + "requires": { + "underscore": "1.8.3", + "web3-core-helpers": "1.0.0-beta.37", + "websocket": "git://github.com/frozeman/WebSocket-Node.git#6c72925e3f8aaaea8dc8450f97627e85263999f2" + } + }, + "web3-shh": { + "version": "1.0.0-beta.37", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.0.0-beta.37.tgz", + "integrity": "sha512-h5STG/xqZNQWtCLYOu7NiMqwqPea8SfkKQUPUFxXKIPVCFVKpHuQEwW1qcPQRJMLhlQIv17xuoUe1A+RzDNbrw==", + "requires": { + "web3-core": "1.0.0-beta.37", + "web3-core-method": "1.0.0-beta.37", + "web3-core-subscriptions": "1.0.0-beta.37", + "web3-net": "1.0.0-beta.37" + } + }, "web3-utils": { - "version": "1.0.0-beta.36", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.36.tgz", - "integrity": "sha512-7ri74lG5fS2Th0fhYvTtiEHMB1Pmf2p7dQx1COQ3OHNI/CHNEMjzoNMEbBU6FAENrywfoFur40K4m0AOmEUq5A==", + "version": "1.0.0-beta.46", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.46.tgz", + "integrity": "sha512-mSz+NrAil2fDZkxTXHPntCclZ8DofMjv8Q+BYR0VAyzTzylpYNXAV0WDdxBp/sXgniWRZXZMF7OkQNWqhZ1J9g==", "requires": { - "bn.js": "4.11.6", - "eth-lib": "0.1.27", + "@babel/runtime": "7.3.4", + "@types/bn.js": "4.11.4", + "@types/node": "10.12.27", + "bn.js": "4.11.8", + "eth-lib": "0.2.8", "ethjs-unit": "0.1.6", + "lodash": "4.17.11", "number-to-bn": "1.7.0", "randomhex": "0.1.5", - "underscore": "1.8.3", "utf8": "2.1.1" }, "dependencies": { - "utf8": { - "version": "2.1.1", - "resolved": "http://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz", - "integrity": "sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g=" + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "requires": { + "bn.js": "4.11.8", + "elliptic": "6.4.1", + "xhr-request-promise": "0.1.2" + } } } }, "webcrypto-shim": { "version": "github:dignifiedquire/webcrypto-shim#190bc9ec341375df6025b17ae12ddb2428ea49c8" }, + "websocket": { + "version": "git://github.com/frozeman/WebSocket-Node.git#6c72925e3f8aaaea8dc8450f97627e85263999f2", + "requires": { + "debug": "2.6.9", + "nan": "2.10.0", + "typedarray-to-buffer": "3.1.5", + "yaeti": "0.0.6" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, "whatwg-fetch": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", @@ -11595,13 +7744,13 @@ "resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-1.1.1.tgz", "integrity": "sha512-qJZLVS/jMCBITDzPo/RuweYSIG8VJP5P67mP/71alGyTZRe1LYJFdwLjLalY3T5ifx0bMDRD3OB6P2p1escvlg==", "requires": { - "loader-utils": "1.1.0", + "loader-utils": "1.2.3", "schema-utils": "0.4.7" } }, "wrap-ansi": { "version": "2.1.0", - "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { "string-width": "1.0.2", @@ -11622,6 +7771,16 @@ "mkdirp": "0.5.1" } }, + "write-file-atomic": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.2.tgz", + "integrity": "sha512-s0b6vB3xIVRLWywa6X9TOMA7k9zio0TMOsl9ZnDkliA/cfJlpHXAscj0gbHVJiTdIuAYpIyqS5GW91fqm6gG5g==", + "requires": { + "graceful-fs": "4.1.15", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" + } + }, "ws": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", @@ -11632,6 +7791,11 @@ "ultron": "1.1.1" } }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=" + }, "xhr": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", @@ -11639,7 +7803,7 @@ "requires": { "global": "4.3.2", "is-function": "1.0.1", - "parse-headers": "2.0.1", + "parse-headers": "2.0.2", "xtend": "4.0.1" } }, @@ -11670,6 +7834,14 @@ "resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.1.4.tgz", "integrity": "sha1-f4dliEdxbbUCYyOBL4GMras4el8=" }, + "xhr2-cookies": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", + "integrity": "sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg=", + "requires": { + "cookiejar": "2.1.2" + } + }, "xmlhttprequest": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", @@ -11685,6 +7857,11 @@ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" }, + "yaeti": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", + "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=" + }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", @@ -11692,7 +7869,7 @@ }, "yargs": { "version": "4.8.1", - "resolved": "http://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", "requires": { "cliui": "3.2.0", @@ -11713,12 +7890,21 @@ }, "yargs-parser": { "version": "2.4.1", - "resolved": "http://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", "requires": { "camelcase": "3.0.0", "lodash.assign": "4.2.0" } + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "requires": { + "buffer-crc32": "0.2.13", + "fd-slicer": "1.1.0" + } } } } diff --git a/scripts/mainnet-deploy/0_print_relevant_accounts.js b/scripts/mainnet-deploy/0_print_relevant_accounts.js new file mode 100644 index 0000000..ddde187 --- /dev/null +++ b/scripts/mainnet-deploy/0_print_relevant_accounts.js @@ -0,0 +1,19 @@ +const { + getAccountsAndAddressOf, +} = require('./helpers'); + +module.exports = async () => { + web3.eth.getAccounts(async (e, accounts) => { + console.log('[1] SEED DIRECTORY'); + + const addressOf = {}; + getAccountsAndAddressOf(accounts, addressOf); + console.log('\tget accounts \u2713'); + + console.log('----------- ACCOUNTS -----------'); + console.log('ROOT = ', addressOf.root, ' TO FUND = ', web3.toWei(6, 'ether') / (10 ** 18), ' ETH'); + console.log('----------- ACCOUNTS -----------'); + + console.log('DONE'); + }); +}; diff --git a/scripts/mainnet-deploy/1_forever_lock_contract_resolver.js b/scripts/mainnet-deploy/1_forever_lock_contract_resolver.js new file mode 100644 index 0000000..68266f2 --- /dev/null +++ b/scripts/mainnet-deploy/1_forever_lock_contract_resolver.js @@ -0,0 +1,21 @@ +const { + getAccountsAndAddressOf, +} = require('./helpers'); + +const ContractResolver = artifacts.require('ContractResolver.sol'); + +module.exports = async () => { + web3.eth.getAccounts(async (e, accounts) => { + const addressOf = {}; + getAccountsAndAddressOf(accounts, addressOf); + console.log('\tget accounts \u2713'); + + const contractResolver = await ContractResolver.deployed(); + console.log('\tget contract instance \u2713'); + + await contractResolver.lock_resolver_forever({ from: addressOf.root }); + console.log('\tlock contract resolver \u2713'); + + console.log('DONE'); + }); +}; diff --git a/scripts/mainnet-deploy/2_add_ledgers_as_roles.js b/scripts/mainnet-deploy/2_add_ledgers_as_roles.js new file mode 100644 index 0000000..b58c47a --- /dev/null +++ b/scripts/mainnet-deploy/2_add_ledgers_as_roles.js @@ -0,0 +1,50 @@ +const assert = require('assert'); + +const { + getAccountsAndAddressOf, + isInvalid, +} = require('./helpers'); + +const DaoIdentity = artifacts.require('DaoIdentity.sol'); + +const bN = web3.toBigNumber; + +module.exports = async () => { + web3.eth.getAccounts(async (e, accounts) => { + const addressOf = {}; + getAccountsAndAddressOf(accounts, addressOf); + console.log('\tget accounts \u2713'); + + const daoIdentity = await DaoIdentity.deployed(); + console.log('\tget contract instance \u2713'); + + assert.ok(!isInvalid(process.env.LEDGER_FOUNDER), 'Please provide the address for LEDGER_FOUNDER'); + assert.ok(!isInvalid(process.env.LEDGER_PRL), 'Please provide the address for LEDGER_PRL'); + + const ledgerFounders = process.env.LEDGER_FOUNDER.split(','); + const ledgerPrls = process.env.LEDGER_PRL.split(','); + + for (const founder of ledgerFounders) { + assert.ok(!isInvalid(founder), 'One of the Founder addresses is invalid'); + await daoIdentity.addGroupUser( + bN(2), + founder, + 'add:ledger:founder', + { from: addressOf.root }, + ); + } + console.log('\tadd Founders \u2713'); + for (const prl of ledgerPrls) { + assert.ok(!isInvalid(prl), 'One of the PRL addresses is invalid'); + await daoIdentity.addGroupUser( + bN(3), + prl, + 'add:ledger:prl', + { from: addressOf.root }, + ); + } + console.log('\tadd PRLs \u2713'); + + console.log('DONE'); + }); +}; diff --git a/scripts/mainnet-deploy/3_add_root.js b/scripts/mainnet-deploy/3_add_root.js new file mode 100644 index 0000000..9210d5a --- /dev/null +++ b/scripts/mainnet-deploy/3_add_root.js @@ -0,0 +1,33 @@ +const assert = require('assert'); + +const { + getAccountsAndAddressOf, + isInvalid, +} = require('./helpers'); + +const DaoIdentity = artifacts.require('DaoIdentity.sol'); + +const bN = web3.toBigNumber; + +module.exports = async () => { + web3.eth.getAccounts(async (e, accounts) => { + const addressOf = {}; + getAccountsAndAddressOf(accounts, addressOf); + console.log('\tget accounts \u2713'); + + const daoIdentity = await DaoIdentity.deployed(); + console.log('\tget contract instance \u2713'); + + assert.ok(!isInvalid(process.env.MULTISIG), 'Please provide the address for MULTISIG'); + + await daoIdentity.addGroupUser( + bN(1), + process.env.MULTISIG, + 'add:multisig:root', + { from: addressOf.root }, + ); + console.log('\tadd multisig wallet as root \u2713'); + + console.log('DONE'); + }); +}; diff --git a/scripts/mainnet-deploy/4_recover_leftover_funds.js b/scripts/mainnet-deploy/4_recover_leftover_funds.js new file mode 100644 index 0000000..06765ac --- /dev/null +++ b/scripts/mainnet-deploy/4_recover_leftover_funds.js @@ -0,0 +1,45 @@ +const assert = require('assert'); + +const { + getAccountsAndAddressOf, + isInvalid, +} = require('./helpers'); + +const bN = web3.toBigNumber; + +module.exports = async () => { + web3.eth.getAccounts(async (e, accounts) => { + const addressOf = {}; + getAccountsAndAddressOf(accounts, addressOf); + console.log('\tget accounts \u2713'); + + assert.ok(!isInvalid(process.env.COLLECTOR), 'Please provide the address for COLLECTOR'); + + const collector = process.env.COLLECTOR; + const gasPriceInGwei = !isInvalid(process.env.GAS_PRICE_IN_GWEI) ? + parseInt(process.env.GAS_PRICE_IN_GWEI, 10) : 20; + + const gasNeededForTransfer = bN(21000 * gasPriceInGwei * (10 ** 9)); + + const collectEth = (sender) => { + web3.eth.getBalance(sender, (e, balance) => { + console.log('\tSending balance of ', balance, ' back to the collector'); + web3.eth.sendTransaction({ + from: sender, + to: collector, + value: balance.minus(gasNeededForTransfer), + gasPrice: gasPriceInGwei * (10 ** 9), + }, function (e, r) { + if (e) { + console.log('error : ', e); + } else { + console.log('\tsent eth, txn = ', r, ' \u2713'); + console.log('DONE'); + } + }); + }); + }; + + collectEth(addressOf.root); + }); +}; diff --git a/scripts/mainnet-deploy/helpers.js b/scripts/mainnet-deploy/helpers.js new file mode 100644 index 0000000..b49f43e --- /dev/null +++ b/scripts/mainnet-deploy/helpers.js @@ -0,0 +1,15 @@ +const getAccountsAndAddressOf = function (accounts, addressOf) { + const addressOfTemp = { + root: accounts[0], + }; + for (const key in addressOfTemp) addressOf[key] = addressOfTemp[key]; +}; + +const isInvalid = (param) => { + return (param === '' || param === undefined); +}; + +module.exports = { + getAccountsAndAddressOf, + isInvalid, +}; diff --git a/test/interactive/DaoIdentity.js b/test/interactive/DaoIdentity.js index f91f404..f458381 100644 --- a/test/interactive/DaoIdentity.js +++ b/test/interactive/DaoIdentity.js @@ -13,7 +13,9 @@ const { paddedHex, indexRange, randomAddress, + randomAddresses, randomBigNumber, + randomBigNumbers, getCurrentTimestamp, } = require('@digix/helpers/lib/helpers'); @@ -151,4 +153,41 @@ contract('DaoIdentity', function (accounts) { assert.deepEqual(user2[1], expiry2); }); }); + + describe('bulkUpdateKyc', function () { + const randomUsers = randomAddresses(3); + const randomExpiries = randomBigNumbers(bN, 3); + const docs = ['doc a', 'doc b', 'doc c']; + it('[called by non-kycadmin account]: revert', async function () { + assert(await a.failure(contracts.daoIdentity.bulkUpdateKyc.call( + randomUsers, + docs, + randomExpiries, + { from: addressOf.root }, + ))); + }); + it('[called by kycadmin]: success | verify storage layer', async function () { + assert.ok(await contracts.daoIdentity.bulkUpdateKyc.call( + randomUsers, + docs, + randomExpiries, + { from: addressOf.kycadmin }, + )); + await contracts.daoIdentity.bulkUpdateKyc( + randomUsers, + docs, + randomExpiries, + { from: addressOf.kycadmin }, + ); + const user1 = await contracts.daoIdentityStorage.read_kyc_info.call(randomUsers[0]); + const user2 = await contracts.daoIdentityStorage.read_kyc_info.call(randomUsers[1]); + const user3 = await contracts.daoIdentityStorage.read_kyc_info.call(randomUsers[2]); + assert.deepEqual(user1[0], paddedHex(web3, 'doc a')); + assert.deepEqual(user2[0], paddedHex(web3, 'doc b')); + assert.deepEqual(user3[0], paddedHex(web3, 'doc c')); + assert.deepEqual(user1[1], randomExpiries[0]); + assert.deepEqual(user2[1], randomExpiries[1]); + assert.deepEqual(user3[1], randomExpiries[2]); + }); + }); }); diff --git a/truffle.js b/truffle.js index c1b4942..2f33ece 100644 --- a/truffle.js +++ b/truffle.js @@ -12,7 +12,7 @@ module.exports = { provider: new LightWalletProvider({ keystore: KEYSTORE, password: PASSWORD, - rpcUrl: 'https://kovan.infura.io/', + rpcUrl: 'https://kovan.infura.io/v3/2a85a86547944f95a459766a3f3d1ab9', pollingInterval: 2000, // debug: true, }), @@ -36,25 +36,14 @@ module.exports = { provider: new LightWalletProvider({ keystore: KEYSTORE, password: PASSWORD, - rpcUrl: 'https://aethyr.digix.global/', + rpcUrl: 'https://mainnet.infura.io/v3/2a85a86547944f95a459766a3f3d1ab9', pollingInterval: 15000, // debug: true, }), - gas: 7900000, + gas: 8000000, gasPrice: 40 * (10 ** 9), network_id: '1', }, - classic: { - provider: new LightWalletProvider({ - keystore: KEYSTORE, - password: PASSWORD, - rpcUrl: 'https://digixparity04.digix.io/', - pollingInterval: 5000, - // debug: true, - }), - gas: 400000, - network_id: '61', - }, development: { host: 'localhost', port: 8545,